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

contracts: Don't round to kilobyte for code size based weight #10863

Merged
merged 1 commit into from Feb 16, 2022

Conversation

athei
Copy link
Member

@athei athei commented Feb 16, 2022

Most of the contract benchmarks do denominate their components in kilobytes instead of bytes. This requires the user of the benchmark results (for example weight annotations) to divide the input. This is bad because it rounds down rather than up. That said, most of the time this is no problem because the benchmark results are not used directly but are post processed and put into the Schedule.

This PR changes the few benchmarks whose results are used directly to be denominated in bytes.

@athei athei added A3-in_progress Pull request is in progress. No review needed at this stage. B7-runtimenoteworthy C1-low PR touches the given topic and has a low impact on builders. D2-notlive 💤 PR contains changes in a runtime directory that is not deployed to a chain that requires an audit. labels Feb 16, 2022
@athei athei added this to In Progress in Smart Contracts via automation Feb 16, 2022
@athei
Copy link
Member Author

athei commented Feb 16, 2022

/benchmark runtime pallet pallet_contracts

@parity-benchapp
Copy link

parity-benchapp bot commented Feb 16, 2022

Benchmark Runtime Pallet for branch "at-fix-kb-cutoff" with command cargo run --quiet --profile=production --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic="*" --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Toolchain: stable-x86_64-unknown-linux-gnu (default)
rustc 1.57.0 (f1edd0429 2021-11-29)

Results
Pallet: "pallet_contracts", Extrinsic: "on_initialize", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Contracts DeletionQueue (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    1.588
              µs

Reads = 1
Writes = 0

Min Squares Analysis
========
-- Extrinsic Time --

Model:
Time ~=    1.588
              µs

Reads = 1
Writes = 0

Pallet: "pallet_contracts", Extrinsic: "on_initialize_per_trie_key", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    6.835
    + k    0.743
              µs

Reads = 1 + (0 * k)
Writes = 1 + (1 * k)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    k   mean µs  sigma µs       %
    0     9.739     0.056    0.5%
   20     25.56     0.106    0.4%
   40     40.01     0.098    0.2%
   60     52.54     0.255    0.4%
   80     63.72     0.185    0.2%
  100     78.49     0.367    0.4%
  120     92.92     0.256    0.2%
  140     108.9     0.357    0.3%
  160     122.9     0.504    0.4%
  180     138.5     0.527    0.3%
  200       152      0.73    0.4%
  220     168.5     0.738    0.4%
  240     184.2     1.142    0.6%
  260     198.2      0.47    0.2%
  280     212.2     1.306    0.6%
  300     227.4     1.659    0.7%
  320       243     0.911    0.3%
  340     258.3     0.941    0.3%
  360     273.8     0.639    0.2%
  380     289.5     0.361    0.1%
  400     306.7     0.938    0.3%
  420     321.4     1.466    0.4%
  440     336.6     0.597    0.1%
  460     349.6     0.729    0.2%
  480       365     1.276    0.3%
  500     380.7     1.823    0.4%
  520     396.2      2.46    0.6%
  540     410.9     1.009    0.2%
  560     426.6     1.621    0.3%
  580     442.2     3.207    0.7%
  600     454.3     1.846    0.4%
  620     470.7     2.212    0.4%
  640     484.4     2.018    0.4%
  660       498     2.343    0.4%
  680     514.9     2.346    0.4%
  700     527.7      1.25    0.2%
  720       545     7.098    1.3%
  740     555.7      2.18    0.3%
  760     570.6     1.135    0.1%
  780     586.8     3.069    0.5%
  800     597.7     1.605    0.2%
  820     619.7     3.419    0.5%
  840     631.3     1.446    0.2%
  860     649.8     7.157    1.1%
  880     659.7     3.366    0.5%
  900     673.4     2.448    0.3%
  920     685.8       1.6    0.2%
  940     700.4      4.63    0.6%
  960     711.4     2.082    0.2%
  980     739.2     9.497    1.2%
 1000     752.5     12.88    1.7%
 1020     761.7     3.914    0.5%

Quality and confidence:
param     error
k             0

Model:
Time ~=    6.994
    + k    0.743
              µs

Reads = 1 + (0 * k)
Writes = 1 + (1 * k)

Pallet: "pallet_contracts", Extrinsic: "on_initialize_per_queue_item", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Contracts DeletionQueue (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    10.15
    + q     2.22
              µs

Reads = 1 + (0 * q)
Writes = 1 + (0 * q)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    q   mean µs  sigma µs       %
    0     1.653     0.019    1.1%
   20     55.66     0.468    0.8%
   40     101.6     0.293    0.2%
   60     148.8     0.412    0.2%
   80     194.9      0.97    0.4%
  100     235.9     3.167    1.3%
  120     285.6     0.591    0.2%
  140     335.2      2.07    0.6%
  160     377.5     5.605    1.4%
  180     410.7     2.657    0.6%
  200     456.9     2.977    0.6%
  220     490.3     1.455    0.2%
  240     562.1     1.968    0.3%
  260     565.9     4.721    0.8%
  280     607.4     3.493    0.5%
  300     665.5     6.279    0.9%
  320     696.2     3.762    0.5%
  340     745.2     6.181    0.8%
  360       797     4.188    0.5%
  380     848.4      4.71    0.5%
  400     893.3      10.9    1.2%
  420     914.9     2.538    0.2%
  440     977.9     7.445    0.7%
  460      1041     10.91    1.0%
  480      1088     10.15    0.9%
  500      1134     8.403    0.7%
  520      1149     12.67    1.1%
  540      1218     14.91    1.2%
  560      1246     15.14    1.2%
  580      1277     5.204    0.4%
  600      1327     11.56    0.8%
  620      1372     11.95    0.8%
  640      1426      8.37    0.5%
  660      1461     8.191    0.5%
  680      1527     10.57    0.6%
  700      1533     12.58    0.8%
  720      1629     9.036    0.5%
  740      1638     15.89    0.9%
  760      1677     9.729    0.5%
  780      1717     10.54    0.6%
  800      1761     18.18    1.0%
  820      1807     14.87    0.8%
  840      1845     10.92    0.5%
  860      1921     20.41    1.0%
  880      1965     16.74    0.8%
  900      2048     13.67    0.6%
  920      2044     10.67    0.5%
  940      2138        17    0.7%
  960      2187      24.5    1.1%
  980      2261     15.67    0.6%
 1000      2270     25.99    1.1%
 1020      2257     11.89    0.5%

Quality and confidence:
param     error
q         0.003

Model:
Time ~=    2.831
    + q    2.232
              µs

Reads = 1 + (0 * q)
Writes = 1 + (0 * q)

Pallet: "pallet_contracts", Extrinsic: "reinstrument", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Contracts PristineCode (r:1 w:0)
Storage: Contracts CodeStorage (r:0 w:1)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    24.09
    + c    0.063
              µs

Reads = 1 + (0 * c)
Writes = 1 + (0 * c)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    c   mean µs  sigma µs       %
    0     25.55     0.174    0.6%
 2621     190.3     0.406    0.2%
 5242     354.9     0.935    0.2%
 7863     523.8     7.863    1.5%
10484     679.8     0.717    0.1%
13105     866.1     14.66    1.6%
15726      1037     9.293    0.8%
18347      1185     13.21    1.1%
20968      1335     9.406    0.7%
23589      1504     16.81    1.1%
26210      1693     15.69    0.9%
28831      1847     14.15    0.7%
31452      2024     11.59    0.5%
34073      2208      13.2    0.5%
36694      2344     15.93    0.6%
39315      2501      16.3    0.6%
41936      2660     13.58    0.5%
44557      2815     15.77    0.5%
47178      3002     16.91    0.5%
49799      3200     18.27    0.5%
52420      3365     14.72    0.4%
55041      3532     13.91    0.3%
57662      3699     22.55    0.6%
60283      3857     12.75    0.3%
62904      4000      14.1    0.3%
65525      4174      12.6    0.3%
68146      4342     16.12    0.3%
70767      4494     21.38    0.4%
73388      4681      16.7    0.3%
76009      4821      9.71    0.2%
78630      4980     21.72    0.4%
81251      5150     22.93    0.4%
83872      5284     6.607    0.1%
86493      5493     30.99    0.5%
89114      5602     17.32    0.3%
91735      5894     26.38    0.4%
94356      5956     22.75    0.3%
96977      6108      22.9    0.3%
99598      6398     17.17    0.2%
102219      6545     17.46    0.2%
104840      6737     33.01    0.4%
107461      6904     31.79    0.4%
110082      7035     17.41    0.2%
112703      7199     27.87    0.3%
115324      7372     18.09    0.2%
117945      7555     16.64    0.2%
120566      7669     31.94    0.4%
123187      7822     21.43    0.2%
125808      8015     23.33    0.2%
128429      8154     20.88    0.2%
131050      8306     20.67    0.2%

Quality and confidence:
param     error
c             0

Model:
Time ~=    17.83
    + c    0.064
              µs

Reads = 1 + (0 * c)
Writes = 1 + (0 * c)

Pallet: "pallet_contracts", Extrinsic: "call_with_code_per_byte", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)
Storage: System Account (r:1 w:1)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    229.7
    + c    0.055
              µs

Reads = 4 + (0 * c)
Writes = 2 + (0 * c)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    c   mean µs  sigma µs       %
    0     229.8     0.364    0.1%
 2621     372.8      0.74    0.1%
 5242     515.2     1.204    0.2%
 7863     668.2      7.95    1.1%
10484     812.8      12.1    1.4%
13105     967.3     8.134    0.8%
15726      1115     11.89    1.0%
18347      1295     7.907    0.6%
20968      1394     7.672    0.5%
23589      1538     9.115    0.5%
26210      1698     12.69    0.7%
28831      1880     6.677    0.3%
31452      1975     17.66    0.8%
34073      2116     13.62    0.6%
36694      2274     15.03    0.6%
39315      2400     13.26    0.5%
41936      2523     11.27    0.4%
44557      2654     9.102    0.3%
47178      2816     11.77    0.4%
49799      3031     18.81    0.6%
52420      3209     13.25    0.4%
55041      3310     12.48    0.3%
57662      3452     10.65    0.3%
60283      3549     3.309    0.0%
62904      3697     9.768    0.2%
65525      3859     15.93    0.4%
68146      4017      14.3    0.3%
70767      4166     12.05    0.2%
73388      4261     18.18    0.4%
76009      4414     23.76    0.5%
78630      4551      18.9    0.4%
81251      4682     17.79    0.3%
83872      4821     8.522    0.1%
86493      4954     23.18    0.4%
89114      5157     14.52    0.2%
91735      5246     21.66    0.4%
94356      5376     14.25    0.2%
96977      5507     14.71    0.2%
99598      5853     17.82    0.3%
102219      5987     26.78    0.4%
104840      6195     20.24    0.3%
107461      6240     10.66    0.1%
110082      6396     17.76    0.2%
112703      6523     10.74    0.1%
115324      6696     25.98    0.3%
117945      6828     28.27    0.4%
120566      6982     31.13    0.4%
123187      7076     18.56    0.2%
125808      7203     14.41    0.2%
128429      7337     15.33    0.2%
131050      7579     20.44    0.2%

Quality and confidence:
param     error
c             0

Model:
Time ~=    222.4
    + c    0.056
              µs

Reads = 4 + (0 * c)
Writes = 2 + (0 * c)

Pallet: "pallet_contracts", Extrinsic: "instantiate_with_code", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Contracts CodeStorage (r:1 w:1)
Storage: Contracts AccountCounter (r:1 w:1)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Timestamp Now (r:1 w:0)
Storage: System Account (r:1 w:1)
Storage: Contracts PristineCode (r:0 w:1)
Storage: Contracts OwnerInfoOf (r:0 w:1)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    304.8
    + c     0.14
    + s    0.001
              µs

Reads = 5 + (0 * c) + (0 * s)
Writes = 6 + (0 * c) + (0 * s)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    c     s   mean µs  sigma µs       %
    0 1048576      2063     14.48    0.7%
 1284 1048576      2101     12.16    0.5%
 2568 1048576      2298     16.52    0.7%
 3852 1048576      2449     9.118    0.3%
 5136 1048576      2640     15.06    0.5%
 6420 1048576      2825     18.03    0.6%
 7704 1048576      2993     9.699    0.3%
 8988 1048576      3194     15.65    0.4%
10272 1048576      3364     15.32    0.4%
11556 1048576      3523     17.54    0.4%
12840 1048576      3725     16.82    0.4%
14124 1048576      3926     14.85    0.3%
15408 1048576      4088      27.9    0.6%
16692 1048576      4297      11.5    0.2%
17976 1048576      4466      16.8    0.3%
19260 1048576      4643     21.55    0.4%
20544 1048576      4831     21.81    0.4%
21828 1048576      4982     18.69    0.3%
23112 1048576      5187     28.22    0.5%
24396 1048576      5339     15.31    0.2%
25680 1048576      5561     29.49    0.5%
26964 1048576      5722     31.93    0.5%
28248 1048576      5917     14.28    0.2%
29532 1048576      6076     24.49    0.4%
30816 1048576      6254     23.57    0.3%
32100 1048576      6416     24.38    0.3%
33384 1048576      6658     17.76    0.2%
34668 1048576      6858     17.62    0.2%
35952 1048576      7032     23.39    0.3%
37236 1048576      7200      28.2    0.3%
38520 1048576      7367     12.19    0.1%
39804 1048576      7551     18.81    0.2%
41088 1048576      7737     21.89    0.2%
42372 1048576      7904     34.07    0.4%
43656 1048576      8060     21.66    0.2%
44940 1048576      8226     27.11    0.3%
46224 1048576      8420     19.68    0.2%
47508 1048576      8598     33.18    0.3%
48792 1048576      8747     28.49    0.3%
50076 1048576      9041     29.15    0.3%
51360 1048576      9219     35.24    0.3%
52644 1048576      9370     19.18    0.2%
53928 1048576      9546     23.44    0.2%
55212 1048576      9731     22.27    0.2%
56496 1048576      9897     20.36    0.2%
57780 1048576     10080      35.5    0.3%
59064 1048576     10250     26.21    0.2%
60348 1048576     10410     24.22    0.2%
61632 1048576     10590     28.11    0.2%
62916 1048576     10770     36.75    0.3%
64200 1048576     10930     21.07    0.1%
64226     0      9297     45.88    0.4%
64226 20971      9299     25.88    0.2%
64226 41942      9362     29.73    0.3%
64226 62913      9380     21.28    0.2%
64226 83884      9406     29.53    0.3%
64226 104855      9465     35.44    0.3%
64226 125826      9504     30.18    0.3%
64226 146797      9498     17.46    0.1%
64226 167768      9545     32.74    0.3%
64226 188739      9584     21.89    0.2%
64226 209710      9627     26.11    0.2%
64226 230681      9653     26.22    0.2%
64226 251652      9667     19.49    0.2%
64226 272623      9730     31.37    0.3%
64226 293594      9732     15.58    0.1%
64226 314565      9778     34.36    0.3%
64226 335536      9812     14.69    0.1%
64226 356507     10030     18.66    0.1%
64226 377478      9901     43.15    0.4%
64226 398449      9927     37.45    0.3%
64226 419420      9937      21.2    0.2%
64226 440391      9993      29.1    0.2%
64226 461362     10000     23.55    0.2%
64226 482333     10040      25.6    0.2%
64226 503304     10070      19.7    0.1%
64226 524275     10100     27.48    0.2%
64226 545246     10150      30.3    0.2%
64226 566217     10190     49.11    0.4%
64226 587188     10240     26.78    0.2%
64226 608159     10230     21.54    0.2%
64226 629130     10250     32.53    0.3%
64226 650101     10280     20.85    0.2%
64226 671072     10310     19.87    0.1%
64226 692043     10380     27.57    0.2%
64226 713014     10390     28.95    0.2%
64226 733985     10430     27.13    0.2%
64226 754956     10480     37.79    0.3%
64226 775927     10490     30.47    0.2%
64226 796898     10560     37.35    0.3%
64226 817869     10550     29.02    0.2%
64226 838840     10600     24.97    0.2%
64226 859811     10590     31.54    0.2%
64226 880782     10630      23.3    0.2%
64226 901753     10690     30.89    0.2%
64226 922724     10700     32.69    0.3%
64226 943695     10800     34.78    0.3%
64226 964666     10790      32.1    0.2%
64226 985637     10820     32.93    0.3%
64226 1006608     10840     19.23    0.1%
64226 1027579     10850     21.54    0.1%
64226 1048550     10930     31.28    0.2%

Quality and confidence:
param     error
c             0
s             0

Model:
Time ~=    283.1
    + c     0.14
    + s    0.002
              µs

Reads = 5 + (0 * c) + (0 * s)
Writes = 6 + (0 * c) + (0 * s)

Pallet: "pallet_contracts", Extrinsic: "instantiate", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Contracts CodeStorage (r:1 w:1)
Storage: Contracts AccountCounter (r:1 w:1)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Timestamp Now (r:1 w:0)
Storage: System Account (r:1 w:1)
Storage: Contracts OwnerInfoOf (r:1 w:1)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    173.7
    + s    0.001
              µs

Reads = 6 + (0 * s)
Writes = 5 + (0 * s)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    s   mean µs  sigma µs       %
    0     171.7     0.447    0.2%
20971     208.4     0.728    0.3%
41942       243     0.425    0.1%
62913     278.3     0.267    0.0%
83884     313.8     0.594    0.1%
104855     348.7     0.611    0.1%
125826     383.6     0.549    0.1%
146797     417.4     0.509    0.1%
167768     453.3     0.789    0.1%
188739       489     1.337    0.2%
209710     526.9      10.5    1.9%
230681     558.9      0.82    0.1%
251652     595.9     10.76    1.8%
272623     629.7      8.31    1.3%
293594       675     15.75    2.3%
314565     699.7     9.205    1.3%
335536     736.7     10.06    1.3%
356507     766.3     0.774    0.1%
377478     805.9     9.132    1.1%
398449       844     11.48    1.3%
419420     884.8     12.54    1.4%
440391     914.9     14.98    1.6%
461362     946.7     10.35    1.0%
482333      1000     12.94    1.2%
503304      1010     0.598    0.0%
524275      1058     16.31    1.5%
545246      1093     15.96    1.4%
566217      1131      15.6    1.3%
587188      1158     12.11    1.0%
608159      1186     2.381    0.2%
629130      1236     13.65    1.1%
650101      1267      15.1    1.1%
671072      1305      14.4    1.1%
692043      1332     12.13    0.9%
713014      1382     15.42    1.1%
733985      1407     14.52    1.0%
754956      1442     14.82    1.0%
775927      1483     17.03    1.1%
796898      1511     17.15    1.1%
817869      1539     12.08    0.7%
838840      1572      8.85    0.5%
859811      1616      15.2    0.9%
880782      1652     11.83    0.7%
901753      1697     10.69    0.6%
922724      1723     12.01    0.6%
943695      1766     13.58    0.7%
964666      1802      16.4    0.9%
985637      1823      10.4    0.5%
1006608      1869     12.68    0.6%
1027579      1913     3.192    0.1%
1048550      1950     13.19    0.6%

Quality and confidence:
param     error
s             0

Model:
Time ~=    171.7
    + s    0.002
              µs

Reads = 6 + (0 * s)
Writes = 5 + (0 * s)

Pallet: "pallet_contracts", Extrinsic: "call", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)
Storage: System Account (r:1 w:1)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    140.2
              µs

Reads = 4
Writes = 2

Min Squares Analysis
========
-- Extrinsic Time --

Model:
Time ~=    140.2
              µs

Reads = 4
Writes = 2

Pallet: "pallet_contracts", Extrinsic: "upload_code", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Contracts CodeStorage (r:1 w:1)
Storage: Contracts PristineCode (r:0 w:1)
Storage: Contracts OwnerInfoOf (r:0 w:1)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=       52
    + c    0.065
              µs

Reads = 1 + (0 * c)
Writes = 3 + (0 * c)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    c   mean µs  sigma µs       %
    0     49.24     0.378    0.7%
 1310       139     0.246    0.1%
 2620     222.1     0.221    0.0%
 3930     308.9     0.419    0.1%
 5240     401.1     11.05    2.7%
 6550     486.8     8.624    1.7%
 7860     566.5      0.62    0.1%
 9170     655.1      8.97    1.3%
10480     738.6     11.62    1.5%
11790     821.7     10.24    1.2%
13100     929.1     14.31    1.5%
14410      1010     16.56    1.6%
15720      1090     14.68    1.3%
17030      1177     13.28    1.1%
18340      1260     15.78    1.2%
19650      1345     13.75    1.0%
20960      1428     12.75    0.8%
22270      1505     13.72    0.9%
23580      1588      13.6    0.8%
24890      1717      8.16    0.4%
26200      1789     14.32    0.8%
27510      1881     13.42    0.7%
28820      1960     13.35    0.6%
30130      2049      9.41    0.4%
31440      2124     9.902    0.4%
32750      2210      2.43    0.1%
34060      2301     13.82    0.6%
35370      2392     6.843    0.2%
36680      2485     17.88    0.7%
37990      2558     7.005    0.2%
39300      2634     12.08    0.4%
40610      2712     15.22    0.5%
41920      2801     19.85    0.7%
43230      2879     10.33    0.3%
44540      2980     14.84    0.4%
45850      3038     15.27    0.5%
47160      3124     13.88    0.4%
48470      3217     9.583    0.2%
49780      3372     19.79    0.5%
51090      3461      18.1    0.5%
52400      3550     19.52    0.5%
53710      3622      8.06    0.2%
55020      3698     14.49    0.3%
56330      3793     16.25    0.4%
57640      3901     24.03    0.6%
58950      3961     16.09    0.4%
60260      4030     10.21    0.2%
61570      4118     16.56    0.4%
62880      4197      13.8    0.3%
64190      4268      21.4    0.5%
65500      4358     20.04    0.4%

Quality and confidence:
param     error
c             0

Model:
Time ~=    49.46
    + c    0.066
              µs

Reads = 1 + (0 * c)
Writes = 3 + (0 * c)

Pallet: "pallet_contracts", Extrinsic: "remove_code", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Contracts OwnerInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:0 w:1)
Storage: Contracts PristineCode (r:0 w:1)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    24.91
              µs

Reads = 1
Writes = 3

Min Squares Analysis
========
-- Extrinsic Time --

Model:
Time ~=    24.91
              µs

Reads = 1
Writes = 3

Pallet: "pallet_contracts", Extrinsic: "seal_caller", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=      219
    + r    49.46
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     216.8     1.512    0.6%
    1     267.3     0.187    0.0%
    2     318.3     0.819    0.2%
    3       366     0.416    0.1%
    4     417.7     0.873    0.2%
    5     465.5     0.648    0.1%
    6     513.5     0.919    0.1%
    7     568.9     5.693    1.0%
    8     617.5     6.155    0.9%
    9     689.6     3.252    0.4%
   10     726.2     1.707    0.2%
   11     778.5     2.415    0.3%
   12     807.4     1.152    0.1%
   13     854.2     0.476    0.0%
   14     915.9     7.017    0.7%
   15     972.1     11.11    1.1%
   16      1014     8.449    0.8%
   17      1056     3.356    0.3%
   18      1119     14.21    1.2%
   19      1169      13.5    1.1%
   20      1216     14.53    1.1%

Quality and confidence:
param     error
r         0.114

Model:
Time ~=    218.9
    + r    49.88
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_is_contract", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    85.76
    + r    373.5
              µs

Reads = 4 + (100 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0       215      0.23    0.1%
    1     535.7     0.723    0.1%
    2     864.4     5.291    0.6%
    3      1242     5.564    0.4%
    4      1566     11.81    0.7%
    5      1924     6.226    0.3%
    6      2288     6.736    0.2%
    7      2637     22.15    0.8%
    8      3004      13.3    0.4%
    9      3401      14.1    0.4%
   10      3726     14.01    0.3%
   11      4140     11.95    0.2%
   12      4544     9.664    0.2%
   13      4941     25.92    0.5%
   14      5315     28.79    0.5%
   15      5593     25.21    0.4%
   16      6104     10.59    0.1%
   17      6445     25.77    0.3%
   18      6987      34.8    0.4%
   19      7260     19.89    0.2%
   20      7678     26.88    0.3%

Quality and confidence:
param     error
r         0.856

Model:
Time ~=    76.49
    + r    375.3
              µs

Reads = 4 + (100 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_caller_is_origin", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    214.6
    + r    21.76
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     212.1     0.213    0.1%
    1     235.7     0.145    0.0%
    2     257.7     0.228    0.0%
    3     280.1     0.406    0.1%
    4     301.9     0.667    0.2%
    5     323.2     0.398    0.1%
    6     345.9     0.331    0.0%
    7     367.1     0.305    0.0%
    8       388     0.414    0.1%
    9     409.6     0.717    0.1%
   10     430.9     0.778    0.1%
   11     456.4     1.093    0.2%
   12     477.6     0.929    0.1%
   13     499.1     1.511    0.3%
   14     527.7     13.03    2.4%
   15     559.2     13.71    2.4%
   16       562     0.765    0.1%
   17     583.8     2.783    0.4%
   18     606.1     4.472    0.7%
   19     626.2     3.291    0.5%
   20     655.9     12.38    1.8%

Quality and confidence:
param     error
r         0.076

Model:
Time ~=    213.4
    + r    22.02
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_address", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    218.7
    + r    49.11
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.1     0.241    0.1%
    1     267.6     0.172    0.0%
    2     318.1     0.785    0.2%
    3     366.9     1.792    0.4%
    4     415.9     0.402    0.0%
    5     465.5     1.763    0.3%
    6     511.5     0.737    0.1%
    7     564.5     2.774    0.4%
    8     622.5     13.11    2.1%
    9     659.9     0.787    0.1%
   10     707.4     0.907    0.1%
   11       768     9.484    1.2%
   12     810.9      13.2    1.6%
   13     863.5     12.85    1.4%
   14     913.9     10.16    1.1%
   15     964.5     12.84    1.3%
   16      1014     12.46    1.2%
   17      1059     12.64    1.1%
   18      1103     8.025    0.7%
   19      1159     13.26    1.1%
   20      1199     10.35    0.8%

Quality and confidence:
param     error
r         0.108

Model:
Time ~=    218.4
    + r    49.45
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_gas_left", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    219.5
    + r    48.53
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.4     0.399    0.1%
    1     267.8     2.192    0.8%
    2     316.1     0.223    0.0%
    3     368.7     7.779    2.1%
    4     415.4     0.607    0.1%
    5     462.9     1.549    0.3%
    6     513.5     7.212    1.4%
    7     560.4     0.324    0.0%
    8       608     0.828    0.1%
    9     657.5     4.347    0.6%
   10     702.5     0.998    0.1%
   11     761.1     12.93    1.6%
   12     807.5     13.01    1.6%
   13       850     9.904    1.1%
   14     907.7     11.53    1.2%
   15     949.8     3.137    0.3%
   16      1005     13.25    1.3%
   17      1057     15.42    1.4%
   18      1096      8.07    0.7%
   19      1142     7.896    0.6%
   20      1192     8.386    0.7%

Quality and confidence:
param     error
r         0.099

Model:
Time ~=    218.9
    + r    48.85
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_balance", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    225.1
    + r      142
              µs

Reads = 5 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.3     0.198    0.0%
    1     363.2     1.633    0.4%
    2       509     0.569    0.1%
    3     656.5      8.21    1.2%
    4     797.5     3.976    0.4%
    5     936.7     2.704    0.2%
    6      1078     1.777    0.1%
    7      1232     9.162    0.7%
    8      1363     3.658    0.2%
    9      1505     2.977    0.1%
   10      1659     9.947    0.5%
   11      1787     4.876    0.2%
   12      1927     5.034    0.2%
   13      2064     6.695    0.3%
   14      2208     8.176    0.3%
   15      2362      8.57    0.3%
   16      2497     5.838    0.2%
   17      2631     14.89    0.5%
   18      2777     15.12    0.5%
   19      2924     7.146    0.2%
   20      3065      14.2    0.4%

Quality and confidence:
param     error
r         0.111

Model:
Time ~=    226.7
    + r    141.9
              µs

Reads = 5 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_value_transferred", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    218.6
    + r    48.93
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.3     0.252    0.1%
    1     268.1     1.862    0.6%
    2     317.1     0.508    0.1%
    3     365.2     0.354    0.0%
    4     415.8     2.267    0.5%
    5     462.7     0.545    0.1%
    6     511.2     0.758    0.1%
    7     563.2     0.652    0.1%
    8       611     0.709    0.1%
    9     658.7     1.087    0.1%
   10       707     0.833    0.1%
   11     759.5     7.764    1.0%
   12     804.2      1.48    0.1%
   13     858.9     10.22    1.1%
   14     916.1      12.4    1.3%
   15     955.2     8.714    0.9%
   16      1009     12.67    1.2%
   17      1049     1.826    0.1%
   18      1106     11.75    1.0%
   19      1159     13.86    1.1%
   20      1202     14.19    1.1%

Quality and confidence:
param     error
r          0.09

Model:
Time ~=    216.6
    + r    49.36
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_minimum_balance", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    218.1
    + r    48.78
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0       215     0.219    0.1%
    1     267.1     0.237    0.0%
    2     316.5     0.273    0.0%
    3     364.4     0.327    0.0%
    4     413.8     0.389    0.0%
    5       462     1.473    0.3%
    6     508.5     0.442    0.0%
    7     564.2     3.857    0.6%
    8       611     4.435    0.7%
    9     665.6     8.795    1.3%
   10     709.8     10.18    1.4%
   11     753.5      1.61    0.2%
   12     800.5     1.425    0.1%
   13     848.7     1.288    0.1%
   14     902.2      0.82    0.0%
   15     955.2     9.391    0.9%
   16      1009     13.99    1.3%
   17      1060     13.93    1.3%
   18      1112     15.59    1.4%
   19      1154     16.27    1.4%
   20      1197      13.1    1.0%

Quality and confidence:
param     error
r         0.104

Model:
Time ~=    215.8
    + r    49.33
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_block_number", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    218.1
    + r    48.85
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.6     0.135    0.0%
    1     266.7     0.291    0.1%
    2     316.4     0.312    0.0%
    3       364     0.366    0.1%
    4     413.9     0.443    0.1%
    5     462.5     1.513    0.3%
    6     513.4     8.079    1.5%
    7     570.7     13.76    2.4%
    8     612.8     7.863    1.2%
    9     658.4     2.098    0.3%
   10       708     4.316    0.6%
   11     756.8     9.109    1.2%
   12     800.7      1.33    0.1%
   13     848.2     1.218    0.1%
   14     921.3     8.991    0.9%
   15     961.6     14.57    1.5%
   16      1005     10.53    1.0%
   17      1048     7.986    0.7%
   18      1116     3.959    0.3%
   19      1164     1.636    0.1%
   20      1194     12.44    1.0%

Quality and confidence:
param     error
r         0.109

Model:
Time ~=    216.4
    + r    49.41
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_now", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    219.2
    + r    48.26
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.5     0.197    0.0%
    1     266.8     0.446    0.1%
    2     318.1     4.418    1.3%
    3     364.6     2.129    0.5%
    4     413.3     0.638    0.1%
    5     464.1     9.934    2.1%
    6     509.1     1.941    0.3%
    7     564.2     11.65    2.0%
    8     608.8     6.591    1.0%
    9     653.7     1.868    0.2%
   10     702.4      4.06    0.5%
   11     749.9     7.316    0.9%
   12     804.7     13.31    1.6%
   13     852.9     15.33    1.7%
   14     896.2     1.001    0.1%
   15     946.8     4.156    0.4%
   16      1000     12.45    1.2%
   17      1045     12.14    1.1%
   18      1107      16.7    1.5%
   19      1133      1.42    0.1%
   20      1187     10.76    0.9%

Quality and confidence:
param     error
r         0.108

Model:
Time ~=    218.7
    + r    48.63
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_weight_to_fee", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)
Storage: TransactionPayment NextFeeMultiplier (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    218.8
    + r    122.3
              µs

Reads = 5 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.1     0.356    0.1%
    1     342.4     0.388    0.1%
    2     462.5     0.396    0.0%
    3     586.5     3.764    0.6%
    4     709.5     3.272    0.4%
    5     825.5     2.677    0.3%
    6     950.2     2.314    0.2%
    7      1085     14.63    1.3%
    8      1200     13.46    1.1%
    9      1312     12.92    0.9%
   10      1445      14.3    0.9%
   11      1566     10.33    0.6%
   12      1686     7.337    0.4%
   13      1820     9.289    0.5%
   14      1934     12.97    0.6%
   15      2065     14.77    0.7%
   16      2174     13.39    0.6%
   17      2331     14.81    0.6%
   18      2426     8.606    0.3%
   19      2552      12.1    0.4%
   20      2666     16.49    0.6%

Quality and confidence:
param     error
r         0.147

Model:
Time ~=    215.9
    + r    122.9
              µs

Reads = 5 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_gas", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    127.1
    + r    24.51
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     123.9     0.083    0.0%
    1     151.1     0.143    0.0%
    2     175.3     0.163    0.0%
    3     201.2     0.197    0.0%
    4     225.4     0.244    0.1%
    5     249.6     0.387    0.1%
    6     279.2     2.374    0.8%
    7     299.5     0.342    0.1%
    8     322.8     0.325    0.1%
    9     346.9     0.325    0.0%
   10     371.2     0.329    0.0%
   11       399     0.779    0.1%
   12     422.7     0.394    0.0%
   13     446.7     0.544    0.1%
   14     470.4      0.33    0.0%
   15     494.3     0.504    0.1%
   16     518.3     0.516    0.0%
   17     547.8     10.51    1.9%
   18       566     0.548    0.0%
   19     594.8     0.631    0.1%
   20     613.8     1.293    0.2%

Quality and confidence:
param     error
r         0.035

Model:
Time ~=    127.1
    + r    24.52
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_input", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    219.2
    + r    47.99
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     217.5     2.013    0.9%
    1     266.3     0.324    0.1%
    2     316.8     3.992    1.2%
    3     362.7     0.473    0.1%
    4     412.5      1.43    0.3%
    5     459.3     0.681    0.1%
    6     507.2     1.095    0.2%
    7     556.3     0.792    0.1%
    8     605.1     5.135    0.8%
    9     654.6     6.097    0.9%
   10     698.1     1.277    0.1%
   11     744.8     1.049    0.1%
   12     798.8     11.04    1.3%
   13     837.5     1.184    0.1%
   14     897.4     7.819    0.8%
   15     943.8      6.84    0.7%
   16     997.6      13.7    1.3%
   17      1043     12.49    1.1%
   18      1089     11.32    1.0%
   19      1143     14.24    1.2%
   20      1178     8.262    0.7%

Quality and confidence:
param     error
r         0.091

Model:
Time ~=    217.5
    + r     48.4
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_input_per_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    298.2
    + n    11.86
              µs

Reads = 4 + (0 * n)
Writes = 1 + (0 * n)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0       266     0.361    0.1%
   20     508.6     2.557    0.5%
   40       753     11.84    1.5%
   60      1000     13.28    1.3%
   80      1241     14.52    1.1%
  100      1487     16.78    1.1%
  120      1716     12.47    0.7%
  140      1966     6.958    0.3%
  160      2194     12.71    0.5%
  180      2448     3.522    0.1%
  200      2684     9.022    0.3%
  220      2915     5.294    0.1%
  240      3151     16.95    0.5%
  260      3385     10.28    0.3%
  280      3628      14.8    0.4%
  300      3900     18.25    0.4%
  320      4093     8.691    0.2%
  340      4335     14.67    0.3%
  360      4557     16.28    0.3%
  380      4807     10.35    0.2%
  400      5057     15.62    0.3%
  420      5282     18.48    0.3%
  440      5519     20.55    0.3%
  460      5746     13.13    0.2%
  480      6006      24.3    0.4%
  500      6226     16.31    0.2%
  520      6466        16    0.2%
  540      6727     23.83    0.3%
  560      6927     15.83    0.2%
  580      7164     18.31    0.2%
  600      7415     31.68    0.4%
  620      7652     15.84    0.2%
  640      7888     27.13    0.3%
  660      8146      18.4    0.2%
  680      8543     6.727    0.0%
  700      8598     15.52    0.1%
  720      8819     18.47    0.2%
  740      9066     26.07    0.2%
  760      9368     51.63    0.5%
  780      9517      22.7    0.2%
  800      9799     18.82    0.1%
  820     10020     23.14    0.2%
  840     10240     22.69    0.2%
  860     10490     32.73    0.3%
  880     10730     36.69    0.3%
  900     10970      27.7    0.2%
  920     11210     21.65    0.1%
  940     11450     30.97    0.2%
  960     11680     42.59    0.3%
  980     11920     26.99    0.2%
 1000     12160      37.5    0.3%
 1020     12390     27.51    0.2%

Quality and confidence:
param     error
n         0.005

Model:
Time ~=    297.5
    + n    11.87
              µs

Reads = 4 + (0 * n)
Writes = 1 + (0 * n)

Pallet: "pallet_contracts", Extrinsic: "seal_return", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    211.6
    + r    1.792
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     211.8     0.379    0.1%
    1     213.5     0.294    0.1%

Quality and confidence:
param     error
r          0.16

Model:
Time ~=    211.8
    + r    1.717
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_return_per_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    213.9
    + n    0.197
              µs

Reads = 4 + (0 * n)
Writes = 1 + (0 * n)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0     213.4       0.3    0.1%
   20     217.2     0.169    0.0%
   40     221.4     0.249    0.1%
   60     225.3     0.439    0.1%
   80     229.4      0.26    0.1%
  100     233.8      0.17    0.0%
  120     236.9     0.407    0.1%
  140     240.7     0.644    0.2%
  160     244.9     0.527    0.2%
  180     248.8     0.747    0.3%
  200       253     1.058    0.4%
  220     257.4     0.816    0.3%
  240     261.6     0.181    0.0%
  260       264     1.511    0.5%
  280     268.7     1.161    0.4%
  300     272.2     1.489    0.5%
  320     275.9     1.537    0.5%
  340     280.8     1.159    0.4%
  360     282.7     1.946    0.6%
  380     288.2     1.819    0.6%
  400     292.3     1.961    0.6%
  420     294.1     2.428    0.8%
  440     299.5      2.29    0.7%
  460     303.7     2.208    0.7%
  480     307.2     4.039    1.3%
  500     312.1     2.464    0.7%
  520     315.7     2.334    0.7%
  540     318.8     2.777    0.8%
  560     323.4      2.76    0.8%
  580     325.3     3.582    1.1%
  600     330.5     3.521    1.0%
  620     333.7      3.98    1.1%
  640     337.5     3.477    1.0%
  660       343     3.009    0.8%
  680     348.8     0.192    0.0%
  700     350.7     3.427    0.9%
  720     355.3     4.062    1.1%
  740     359.3     3.029    0.8%
  760     365.3       0.4    0.1%
  780     368.1     0.234    0.0%
  800     369.5     4.612    1.2%
  820       378     2.028    0.5%
  840       376     5.117    1.3%
  860     381.1     4.617    1.2%
  880     387.9     2.713    0.6%
  900     392.3     0.577    0.1%
  920     394.4     4.763    1.2%
  940     400.5     0.387    0.0%
  960     404.4     0.411    0.1%
  980     407.4     3.946    0.9%
 1000     409.7     5.294    1.2%
 1020     414.3     5.892    1.4%

Quality and confidence:
param     error
n             0

Model:
Time ~=    213.1
    + n    0.197
              µs

Reads = 4 + (0 * n)
Writes = 1 + (0 * n)

Pallet: "pallet_contracts", Extrinsic: "seal_terminate", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)
Storage: Contracts DeletionQueue (r:1 w:1)
Storage: Contracts OwnerInfoOf (r:1 w:1)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    215.2
    + r    52.44
              µs

Reads = 4 + (4 * r)
Writes = 1 + (5 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.2     0.231    0.1%
    1     268.1     1.149    0.4%

Quality and confidence:
param     error
r          0.39

Model:
Time ~=    215.2
    + r    52.83
              µs

Reads = 4 + (4 * r)
Writes = 1 + (5 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_random", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)
Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    219.2
    + r    158.5
              µs

Reads = 5 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.2     0.147    0.0%
    1     377.7     0.578    0.1%
    2       534     1.606    0.3%
    3     699.1     11.58    1.6%
    4     848.6     8.093    0.9%
    5      1010      5.82    0.5%
    6      1163     3.827    0.3%
    7      1321      10.3    0.7%
    8      1493     14.68    0.9%
    9      1650     11.21    0.6%
   10      1808      10.6    0.5%
   11      1969     13.24    0.6%
   12      2127     5.693    0.2%
   13      2283     7.492    0.3%
   14      2444     11.57    0.4%
   15      2590     13.55    0.5%
   16      2747     13.79    0.5%
   17      2923     5.213    0.1%
   18      3084      11.9    0.3%
   19      3247     15.19    0.4%
   20      3394     13.31    0.3%

Quality and confidence:
param     error
r         0.132

Model:
Time ~=    215.8
    + r      159
              µs

Reads = 5 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_deposit_event", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    222.5
    + r      292
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     212.2      0.13    0.0%
    1       514     0.534    0.1%
    2     807.5     8.918    1.1%
    3      1100     8.295    0.7%
    4      1394      11.2    0.8%
    5      1683      10.5    0.6%
    6      1989     25.86    1.3%
    7      2269     13.81    0.6%
    8      2562     6.218    0.2%
    9      2861     16.44    0.5%
   10      3166     16.19    0.5%
   11      3450     8.758    0.2%
   12      3727     15.43    0.4%
   13      4025     12.22    0.3%
   14      4320     17.05    0.3%
   15      4587      11.4    0.2%
   16      4879     23.75    0.4%
   17      5188     23.55    0.4%
   18      5488      15.6    0.2%
   19      5782      19.9    0.3%
   20      6065     13.53    0.2%

Quality and confidence:
param     error
r         0.201

Model:
Time ~=      225
    + r    292.1
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_deposit_event_per_topic_and_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)
Storage: System EventTopics (r:100 w:100)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    521.3
    + t    296.8
    + n    81.91
              µs

Reads = 4 + (100 * t) + (0 * n)
Writes = 1 + (100 * t) + (0 * n)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    t     n   mean µs  sigma µs       %
    0    16      1812     10.59    0.5%
    1    16      2158     13.45    0.6%
    2    16      2424     15.87    0.6%
    3    16      2743     13.98    0.5%
    4     0      1683     8.903    0.5%
    4     1      1798      11.4    0.6%
    4     2      1853     6.803    0.3%
    4     3      1947     8.669    0.4%
    4     4      2029      13.9    0.6%
    4     5      2083     11.87    0.5%
    4     6      2157      15.5    0.7%
    4     7      2232     11.65    0.5%
    4     8      2333     8.984    0.3%
    4     9      2445      10.7    0.4%
    4    10      2486     13.79    0.5%
    4    11      2553     11.02    0.4%
    4    12      2643      14.8    0.5%
    4    13      2747     12.75    0.4%
    4    14      2842     11.58    0.4%
    4    15      2948     14.48    0.4%
    4    16      3014     7.848    0.2%

Quality and confidence:
param     error
t         1.751
n         0.345

Model:
Time ~=    519.6
    + t    290.8
    + n    82.58
              µs

Reads = 4 + (100 * t) + (0 * n)
Writes = 1 + (100 * t) + (0 * n)

Pallet: "pallet_contracts", Extrinsic: "seal_debug_message", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: System Account (r:1 w:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    134.2
    + r    40.98
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     131.4     0.115    0.0%
    1     175.7     0.206    0.1%
    2     216.7     0.259    0.1%
    3     257.9     0.377    0.1%
    4     298.2     0.343    0.1%
    5     337.1     0.614    0.1%
    6     381.3     0.709    0.1%
    7       421     0.624    0.1%
    8     460.2     1.328    0.2%
    9       499     0.739    0.1%
   10     538.9     1.229    0.2%
   11     586.2     0.847    0.1%
   12     628.1     4.914    0.7%
   13     672.8     11.62    1.7%
   14       712     10.44    1.4%
   15     752.9     12.35    1.6%
   16     785.5     1.874    0.2%
   17       837     6.514    0.7%
   18     875.5     7.652    0.8%
   19     911.7     1.497    0.1%
   20     964.3     11.82    1.2%

Quality and confidence:
param     error
r         0.075

Model:
Time ~=    132.2
    + r    41.27
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_set_storage", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    62.99
    + r      405
              µs

Reads = 4 + (100 * r)
Writes = 1 + (100 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.2      0.19    0.0%
    1     558.5     1.751    0.3%
    2     914.6     3.516    0.3%
    3      1294     6.337    0.4%
    4      1669     9.866    0.5%
    5      2092     13.84    0.6%
    6      2464     9.088    0.3%
    7      2822     7.039    0.2%
    8      3175        15    0.4%
    9      3676     20.65    0.5%
   10      4075     29.74    0.7%
   11      4484     9.867    0.2%
   12      4905     18.39    0.3%
   13      5277     27.82    0.5%
   14      5682     15.61    0.2%
   15      6113     19.32    0.3%
   16      6506     18.89    0.2%
   17      6983     28.64    0.4%
   18      7500     15.85    0.2%
   19      7956     36.05    0.4%
   20      8379      20.4    0.2%

Quality and confidence:
param     error
r         1.024

Model:
Time ~=    48.28
    + r    408.2
              µs

Reads = 4 + (100 * r)
Writes = 1 + (100 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_set_storage_per_new_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    614.7
    + n    27.78
              µs

Reads = 105 + (0 * n)
Writes = 103 + (0 * n)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0     562.8     1.657    0.2%
    1     644.9     1.998    0.3%
    2     670.8     0.622    0.0%
    3     706.9     6.875    0.9%
    4     744.9     12.76    1.7%
    5     756.8     1.353    0.1%
    6     780.2     3.764    0.4%
    7     807.6     3.373    0.4%
    8     832.6     4.231    0.5%
    9     858.8     6.041    0.7%
   10     905.9     12.88    1.4%
   11     922.1      8.95    0.9%
   12     945.3     6.213    0.6%
   13     995.1      13.3    1.3%
   14      1002     5.708    0.5%
   15      1026     1.692    0.1%
   16      1064     10.08    0.9%

Quality and confidence:
param     error
n         0.252

Model:
Time ~=    607.2
    + n    28.72
              µs

Reads = 105 + (0 * n)
Writes = 103 + (0 * n)

Pallet: "pallet_contracts", Extrinsic: "seal_set_storage_per_old_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    638.6
    + n       10
              µs

Reads = 105 + (0 * n)
Writes = 103 + (0 * n)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0     562.1     2.409    0.4%
    1     637.9     2.926    0.4%
    2     667.3     3.948    0.5%
    3     677.5     1.628    0.2%
    4     686.2     2.644    0.3%
    5     698.1     9.452    1.3%
    6     700.4     2.533    0.3%
    7     710.2     1.744    0.2%
    8     716.8     1.879    0.2%
    9     724.9     5.293    0.7%
   10       729       2.2    0.3%
   11       743     7.879    1.0%
   12     747.9     2.784    0.3%
   13     776.2     14.54    1.8%
   14     774.4     2.302    0.2%
   15     798.6     9.446    1.1%
   16     802.9      10.8    1.3%

Quality and confidence:
param     error
n         0.305

Model:
Time ~=    623.9
    + n    11.37
              µs

Reads = 105 + (0 * n)
Writes = 103 + (0 * n)

Pallet: "pallet_contracts", Extrinsic: "seal_clear_storage", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    107.7
    + r    380.6
              µs

Reads = 5 + (100 * r)
Writes = 3 + (100 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.5     0.224    0.1%
    1     560.9     1.882    0.3%
    2     901.2     3.314    0.3%
    3      1272     10.01    0.7%
    4      1613     8.636    0.5%
    5      1987     5.653    0.2%
    6      2352     6.983    0.2%
    7      2718     13.78    0.5%
    8      3084     14.26    0.4%
    9      3512     15.14    0.4%
   10      3878     23.28    0.6%
   11      4280     16.72    0.3%
   12      4650     22.14    0.4%
   13      5018     17.53    0.3%
   14      5397     15.35    0.2%
   15      5773     29.88    0.5%
   16      6188     20.55    0.3%
   17      6573     10.43    0.1%
   18      7082      32.3    0.4%
   19      7524     23.98    0.3%
   20      7892     48.96    0.6%

Quality and confidence:
param     error
r         0.837

Model:
Time ~=    91.72
    + r    383.5
              µs

Reads = 5 + (100 * r)
Writes = 3 + (100 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_clear_storage_per_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    614.5
    + n     10.4
              µs

Reads = 105 + (0 * n)
Writes = 103 + (0 * n)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0     559.8     1.707    0.3%
    1     613.2     2.695    0.4%
    2     646.3     1.928    0.2%
    3     656.6     2.376    0.3%
    4     662.1     1.714    0.2%
    5     673.9     4.602    0.6%
    6     677.2     2.102    0.3%
    7     687.6     5.244    0.7%
    8     694.1     2.322    0.3%
    9     705.2     8.084    1.1%
   10       705     3.027    0.4%
   11     720.2     10.39    1.4%
   12     718.3     1.728    0.2%
   13     745.1     9.445    1.2%
   14     758.4     3.234    0.4%
   15     775.3     1.514    0.1%
   16     789.3     13.06    1.6%

Quality and confidence:
param     error
n         0.251

Model:
Time ~=    604.7
    + n    11.08
              µs

Reads = 105 + (0 * n)
Writes = 103 + (0 * n)

Pallet: "pallet_contracts", Extrinsic: "seal_get_storage", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    128.4
    + r    323.2
              µs

Reads = 4 + (100 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     217.2      0.21    0.0%
    1     501.4     5.068    1.0%
    2     788.7     2.453    0.3%
    3      1108     3.661    0.3%
    4      1416     5.178    0.3%
    5      1729     8.018    0.4%
    6      2037      8.22    0.4%
    7      2350     10.16    0.4%
    8      2660     16.21    0.6%
    9      3002     16.55    0.5%
   10      3320     16.94    0.5%
   11      3664     15.24    0.4%
   12      3957     24.39    0.6%
   13      4319     21.83    0.5%
   14      4637     27.03    0.5%
   15      4959     23.44    0.4%
   16      5300     39.64    0.7%
   17      5621     33.58    0.5%
   18      6071     35.49    0.5%
   19      6401     51.78    0.8%
   20      6759     30.25    0.4%

Quality and confidence:
param     error
r         0.722

Model:
Time ~=    107.8
    + r    326.4
              µs

Reads = 4 + (100 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_get_storage_per_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    578.8
    + n    64.05
              µs

Reads = 104 + (0 * n)
Writes = 1 + (0 * n)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0     499.8     1.734    0.3%
    1     626.6      8.75    1.3%
    2     719.3     3.316    0.4%
    3     785.6     11.76    1.4%
    4       850     10.76    1.2%
    5       900     4.742    0.5%
    6     957.9     3.153    0.3%
    7      1029     10.44    1.0%
    8      1084     9.557    0.8%
    9      1141     10.69    0.9%
   10      1211     11.28    0.9%
   11      1299     12.28    0.9%
   12      1352      2.83    0.2%
   13      1389     3.579    0.2%
   14      1465     12.42    0.8%
   15      1541     14.99    0.9%
   16      1608     12.86    0.7%

Quality and confidence:
param     error
n          0.36

Model:
Time ~=    564.6
    + n    65.18
              µs

Reads = 104 + (0 * n)
Writes = 1 + (0 * n)

Pallet: "pallet_contracts", Extrinsic: "seal_contains_storage", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    135.1
    + r    289.6
              µs

Reads = 4 + (100 * r)
Writes = 1 + (0 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.6     0.172    0.0%
    1     469.2     6.018    1.2%
    2     725.2     6.052    0.8%
    3      1003     6.818    0.6%
    4      1278     7.651    0.5%
    5      1557     5.568    0.3%
    6      1850     14.78    0.7%
    7      2125     12.29    0.5%
    8      2392     5.647    0.2%
    9      2723     18.17    0.6%
   10      3001     17.57    0.5%
   11      3318     15.81    0.4%
   12      3603     21.53    0.5%
   13      3899     15.41    0.3%
   14      4138     33.16    0.8%
   15      4440     18.69    0.4%
   16      4773     11.76    0.2%
   17      5071     31.26    0.6%
   18      5430     23.58    0.4%
   19      5700     30.29    0.5%
   20      6052     25.09    0.4%

Quality and confidence:
param     error
r          0.56

Model:
Time ~=    122.1
    + r    291.4
              µs

Reads = 4 + (100 * r)
Writes = 1 + (0 * r)

Pallet: "pallet_contracts", Extrinsic: "seal_contains_storage_per_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    523.3
    + n    9.432
              µs

Reads = 104 + (0 * n)
Writes = 1 + (0 * n)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0     464.9     1.415    0.3%
    1     515.5     1.107    0.2%
    2     555.2     8.598    1.5%
    3     557.2     1.578    0.2%
    4     571.6     4.287    0.7%
    5     572.3     1.612    0.2%
    6     583.4      4.17    0.7%
    7       591     2.324    0.3%
    8     597.3     1.824    0.3%
    9     602.4     4.134    0.6%
   10     604.6     2.208    0.3%
   11     623.1     7.992    1.2%
   12     623.1     3.056    0.4%
   13       641     6.237    0.9%
   14     652.5      4.17    0.6%
   15     664.6     3.468    0.5%
   16     676.5     2.011    0.2%

Quality and confidence:
param     error
n         0.245

Model:
Time ~=    512.5
    + n    10.17
              µs

Reads = 104 + (0 * n)
Writes = 1 + (0 * n)

Pallet: "pallet_contracts", Extrinsic: "seal_take_storage", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Skipped Metadata (r:0 w:0)

Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    104.6
    + r    415.1
              µs

Reads = 5 + (100 * r)
Writes = 3 + (100 * r)

Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     216.8     0.118    0.0%
    1     588.9     1.575    0.2%
    2     973.6     13.15    1.3%
    3      1356      3.01    0.2%
    4      1738      6.75    0.3%
    5      2162     12.83    0.5%
    6      2553     12.15    0.4%
    7      2942     14.51    0.4%
    8      3325     18.33    0.5%
    9      3830      11.7    0.<truncated>...

@athei athei added A0-please_review Pull request needs code review. and removed A3-in_progress Pull request is in progress. No review needed at this stage. labels Feb 16, 2022
@athei athei marked this pull request as ready for review February 16, 2022 10:01
@athei
Copy link
Member Author

athei commented Feb 16, 2022

bot merge

@paritytech-processbot
Copy link

Waiting for commit status.

@paritytech-processbot paritytech-processbot bot merged commit e6def65 into master Feb 16, 2022
Smart Contracts automation moved this from In Progress to Done Feb 16, 2022
@paritytech-processbot paritytech-processbot bot deleted the at-fix-kb-cutoff branch February 16, 2022 10:49
grishasobol pushed a commit to gear-tech/substrate that referenced this pull request Mar 28, 2022
driemworks added a commit to ideal-lab5/substrate-offchain-ipfs that referenced this pull request May 9, 2022
* Make some UI test expectations crisper (#10791)

* Make some UI test expectations crisper

* Update frame/support/test/tests/construct_runtime_ui/undefined_genesis_config_part.rs

* Update UI test expectations

* Missing newlines

* More whitespace issues

* contracts: `is_contract(address)` and `caller_is_origin()` are added to API (#10789)

* is_contract() and caller_is_origin() added to Ext API

* is_contract() exposed in wasm runtime.rs

* + test for is_contract()

* + seal_is_contract benchmark

* caller_is_origin() exposed to wasm/runtime.rs and covered by a test

* + seal_caller_is_origin benchmark

* Update frame/contracts/src/exec.rs

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Update frame/contracts/src/exec.rs

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Update frame/contracts/src/exec.rs

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Update frame/contracts/src/wasm/runtime.rs

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Update frame/contracts/src/wasm/runtime.rs

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Update frame/contracts/src/wasm/runtime.rs

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Update frame/contracts/src/exec.rs

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* identation fix for benchmark macroses; test cosmetic improvement

* benchmark fix

* + is_contract() wasm test

* + caller_is_origin() wasm test

* Apply suggestions from code review

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* is_contract() to borrow param instead of taking ownership

* phrasing improved

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* fixed wasm tests according to @athei feedback

* dead code warnings suppressed by unstable-interface attributes

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

Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
Co-authored-by: Parity Bot <admin@parity.io>

* maybe_total_supply in pallet-assets (#10799)

* maybe_total_supply in pallet-assets

* Update frame/assets/src/functions.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Referenda and Conviction Voting pallets (#10195)

* Initial draft of new referendum state machine.

* Docs

* Fixes

* Fixes

* Add conviction-voting pallet

* Basic build

* Building

* Some TODOs

* Tests building

* Add missing file

* Basic lifecycle test

* Add couple of tests

* Another test

* More tests

* Fixes

* Fixes

* Formatting

* Fixes

* Tests

* Fixes

* Fixes

* More tests

* Formatting

* First few benchmarks

* First few benchmarks

* Defered queue servicing

* More testing

* Benchmarks

* Fiddly benchmark

* Final nudge benchmarks

* Formatting

* Formatting

* Finished up benchmarks

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

* Events finished

* Missing file

* No GenesisConfig for Referenda

* Formatting

* Docs

* Docs

* Docs

* Per-class conviction voting

* New test & mock utils

* More tests

* Tests

* Tests finished 🎉

* Benchmarking stuff

* Fixes

* Test harness

* Test harness

* Benchmarks for Conviction=Voting

* Benchmarking pipeline complete

* Docs

* Formatting

* Remove unneeded warning

* Fix UI tests

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

* Docs

* Update frame/conviction-voting/src/vote.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* update sp-runtime version

* MEL Fixes for Referenda and Conviction Voting (#10725)

* free maxencodedlen

* more maxencodedlen

* more MEL

* more mel

* disable storage info

* More Referenda Patches (#10760)

* basic fixes

* fix benchmarking

* fix license

* prevent panic in curve math

* fmt

* bump crate versions

* Update mock.rs

Co-authored-by: Parity Bot <admin@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* More efficient WASM instance memory decommit on macos (#10801)

* More efficient WASM instance memory decommit on macos

* Apply suggestions from code review

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Updated error message

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* make inner field of IdentityFields pub (#10773)

* Corrected description of clear_attribute extrinsic (#10729)

* block validators after X sessions, update mock runtime for test

* sp-maybe-compressed-blob: reduce boilerplate code (#10814)

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* `seal_delegate_call` api function (support for library contracts)  (#10617)

* seal_call_code implementation

- tests
- benchmark

* Addressing @xgreenx's comments

* Fix test-linux-stable-int

* Rename seal_call_code to seal_delegate_call

* Pass value unchanged into lib contract

* Address @athei's comments

- whitespace .wat issues
- wrong/missing .wat comments
- redundant .wat calls/declarations

- change order of functions (seal_delegate_call right after seal_call)
  in decls, tests, benchmark
- fix comments, move doc comments to enum variants
- remove unnecessary empty lines

- rename runtime cost DelegateCall to DelegateCallBase
- do not set CallFlags::ALLOW_REENTRY for delegate_call

* Do not pass CallFlags::ALLOWS_REENTRY for delegate_call

* Update comment for seal_delegate_call and CallFlags

* Addressing @athei's comments (minor)

* Allow reentry for a new frame after delegate_call (revert)

* Same seal_caller and seal_value_transferred for lib contract

- test
- refactor frame args due to review
- logic for seal_caller (please review)

* Put caller on frame for delegate_call, minor fixes

* Update comment for delegate_call

* Addressing @athei's comments

* Update weights generated by benchmark

* Improve comments

* Address @HCastano's comments

* Update weights, thanks @joao-paulo-parity

* Improve InvalidCallFlags error comment

* Add Storage Info to Various Pallets (#10810)

* atomic swap

* bounties

* bounties fmt

* gilt

* indices

* nicks

* randomness-collective-flip

* recovery

* reuse maxapprovals

* Update tests.rs

* Update frame/randomness-collective-flip/src/lib.rs

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* use the correct bound

* complete recovery

* use `bounded_vec` macro

* Update tests.rs

* transaction payment

* uniques

* mmr

* example offchain worker

* beefy-mmr

* Update frame/recovery/src/lib.rs

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Use BoundedVec instead of a type-parameterized BoundedString

* cargo fmt

* Update frame/atomic-swap/src/lib.rs

* use config const

* Update lib.rs

* update mel_bound

* fmt

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>

* fixed regression in inline docs (#10819)

* try-runtime-cli: Add to docs (#10822)

* try-runtime-cli: Add to docs of pre/post hooks

* Add note about --ws-max-out-buffer-capacity 1000

* Bump serde from 1.0.132 to 1.0.136 (#10816)

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.132 to 1.0.136.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.132...v1.0.136)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* uodate tests, ipfs tests failing

* --dev implies --tmp (#10828)

* Add a new host function for reporting fatal errors; make WASM backtraces readable when printing out errors (#10741)

* Add a new host function for reporting fatal errors

* Fix one of the wasmtime executor tests

* Have `#[runtime_interface(wasm_only)]` actually mean WASM-only, and not no_std-only

* Print out errors through `Display` instead of `Debug`

* Switch one more trait to require `Error` for its error instead of only `Debug`

* Align to review comments

* specify ipfs version, update tests

* Add db params for export-state CLI command (#10830)

* update tests, cleanup

* Allow `SetBalance` to handle error when trying to kill acount with reference counter. (#10826)

* bug found

* fix logic

* a little simpler

* add test

* UncheckedExtrinsic: Harden decode and clarify `EXTRINSIC_FORMAT_VERSION` (#10829)

* UncheckedExtrinsic: Harden decode and clarify `EXTRINSIC_FORMAT_VERSION`

* Apply suggestions from code review

* fix typo

* pallet-staking: Add extrinsic `force_apply_min_commission` (#10786)

* pallet-staking: Add extrinsic `force_apply_min_commission`

* Add benchmarks

* cargo run --quiet --profile=production  --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

* Bound iteration by  max_validator_count

* cargo run --quiet --profile=production  --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

* Only apply to 1 validator

* Update doc comments

* Uncomment tests

* cargo run --quiet --profile=production  --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

* Accept signed origins

* cargo run --quiet --profile=production  --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

* Remove contains_key check

* Add test for try_mutate_exists

* Impove try_mutate_exists docs

* Delete redundant try_mutate_exists tests;

* Delete residual from removed test

* cargo run --quiet --profile=production  --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

* Return an error when the stash does not exist

* Update try_mutate_exist doc wording

* Update frame/staking/src/pallet/mod.rs

* Apply suggestions from code review

Co-authored-by: Parity Bot <admin@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Upgradable contracts using `set_code` function (#10690)

* poc logic

* set_code_hash impl, tests, benchmark

* Address @xgreenx's comments

* Move func defs closer to set_storage

* Check if code exists

- increment/decrement codehash refcount

* Document error for non-existing code hash

* Revert unrelated change

* Changes due to @athei's review

* Fix error handling

- comment errors: ReturnCodes
- update mock ext implementation
- return Error::CodeNotFound when no code for such hash

* Emit ContractCodeUpdated when setting new code_hash

* Address @athei's comments

* Move related defs to the bottom

* Minor comment update

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Improve docs

* Improve docs

* Update frame/contracts/src/wasm/runtime.rs

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Refactor set_code_hash test

* Minor change to benchmark

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Minor change to benchmark

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Minor comment refactor

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Address @HCastano's comments

* Update seal_set_code_hash comment

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* Move set_code_hash after delegate_call

* Move function to the bottom

* Moved and changed banchmark, added verify block

* Bring back previous benchmark

* Remove skip_meta for seal_set_code_hash

* Bring back skip_meta for seal_set_storage_per_new_kb

* Apply weights

Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* Separate wasmi and wasmer sandbox implementations into their own modules (#10563)

* Moves wasmi specific `ImportResolver` and `MemoryTransfer` impls to submodule

* Splits context store environmental, moves impl `Externals` to wasmi backend

* Adds wasmer sandbox backend stub module

* Move sandbox impl code to backend specific modules

* Moves wasmi stuff

* Fixes value conversion

* Makes it all compile

* Remove `with_context_store`

* Moves `WasmerBackend` to the impl

* Reformat the source

* Moves wasmer MemoryWrapper

* Reformats the source

* Fixes mutability

* Moves backend impls to a submodule

* Fix visibility

* Reformat the source

* Feature gate wasmer backend module

* Moves wasmi memory allocation to backend module

* Rename WasmerBackend to Backend

* Refactor dispatch result decoding, get rid of Wasmi types in common sandbox code

* Reformat the source

* Remove redundant prefixes in backend functions

* Remove wasmer-sandbox from default features

* Post-review changes

* Add conversion soundness proof

* Remove redundant prefix

* Removes now redundant clone_inner

* Add `Error::SandboxBackend`, refactor invoke result

* Fix comments

* Rename `Error::SandboxBackend` to `Sandbox`

* Simplifies logic in `wasmer_backend::invoke`

* Fixes memory management

* Show Network ID when creating and inspecting (#10838)

Signed-off-by: Antonio Yang <yanganto@gmail.com>

* Reduce overhead of generating network event metrics (#10839)

* Fix reentrancy of FrozenBalance::died hook (#10473)

* assets: execute `died` hook outside of mutate

Signed-off-by: Oliver Tale-Yazdi <oliver@tasty.limo>

* assets: extend tests for `died` hook

Signed-off-by: Oliver Tale-Yazdi <oliver@tasty.limo>

* assets: update doc of FrozenBalance::died

Signed-off-by: Oliver Tale-Yazdi <oliver@tasty.limo>

* assets: review fixes

- fix cases where `died` should not have been called
- use `Option<DeadConsequence>` instead of `DeadConsequence`

Signed-off-by: Oliver Tale-Yazdi <oliver@tasty.limo>

* assets: update comment in mock.rs

Signed-off-by: Oliver Tale-Yazdi <oliver@tasty.limo>

* assets: return `Remove` in dead_account

The return value is ignored in the only case that it is produced
by a call, but having it this way makes it more understandable.

Signed-off-by: Oliver Tale-Yazdi <oliver@tasty.limo>

* allow trailing comma (#10841)

* build-script-utils: allow reading the git commit hash from env var (#10845)

* build-script-utils: allow reading the git commit hash from env var

* build-script-utils: make the env var name substrate specific

* Don't create DB leaves when syncing historic blocks (#10844)

* Don't create DB leaves when syncing historic blocks

* Changed leaves check and added test

* fmt

* cleanup, use unsigned tx when appropriate

* add weights

* fix broken link (#10846)

* subkey: Support `--version` cli command (#10853)

* subkey: Support `--version` cli command

* FMT :facepalm:

* Remove `u32_trait` (#10850)

* Remove `u32_trait`

This trait only existed because there wasn't any const generic support at time of creation. However,
we now have support for it :)

* FMT

* wasm-builder: Support latest nightly (#10837)

* wasm-builder: Support latest nightly

With latest nightly, aka rust version 1.60+ namespaced features are added. This changes the handling
of optional dependencies. We currently have features that enable optional dependencies when `std` is
enabled. This was before no problem, but now the wasm-builder detects them as enabled. To support
the transition period until 1.60 is released as stable, this pr adds an heuristic to not enable these
optional crates in the wasm build when they are enabled in the `std` feature. This heuristic fails
when someones enables these optional dependencies from the outside as well as via the `std` feature,
however we hope that no one is doing this at the moment. When namespaced features are enabled, these
dependencies needs to be enabled using `dep:dependency-name` to solve this properly.

https://doc.rust-lang.org/cargo/reference/unstable.html#namespaced-features

* Remove accidentally added features

* update tests, remove unneeded params

* min authorities check before removal

* contracts: Fix `seal_call` weights (#10796)

* Fix call weights

* Fix instantiate benchmark

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

* Remove stale and superflous comments

* `decrement_refcount` should be infallible

* Don't hardcode increment_refcount, decrement_refcount

* Rename CopyIn/CopyOut

* Fix warning in tests

Co-authored-by: Parity Bot <admin@parity.io>

* Enable the `parking_lot` feature for `tokio` (#10855)

* [ci] fix publish-rustdocs (#10858)

* Fix beefy mock ecdsa keys (#10854)

Compressed ECDSA keys requires to have 0x02 or 0x03 as their first byte
in order to allow public key recovery.

Nevertheless the test was working because of the `unwrap_or_default()`
at the end of the conversion routine (i.e. the invalid keys were
converted to an empty vector).

* Mark sync_state_genSyncSpec JSON-RPC as safe (#10832)

* Mark sync_state_genSyncSpec JSON-RPC as safe

* Note that parameter is unused

* Ideally I'd wait for compilation to be finished before pushing, but it's really taking a long time

* Remove deny_unsafe parameter

* Remove unused dependency

* Reduce CPU overhead of gossip (#10859)

* sp-core-hashing: use the `digest::Digest` trait to handle the hashing function uniformly (#10835)

* sp-core-hashing: use sha3 instead of tiny-keccak

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* use blake2 instead of blake2-rfc

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* improve som hashing of sp-core and sp-api-proc-macro

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* Some nits

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* cargo fmt

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* Use fully qualified sytnax for `retain_mut` (#10865)

* add llvm (#10864)

* refactor election score (#10834)

* refactor election score

* Test for ord

* remove reference

* vec -> slice

* change iter to iter_by_significance

* improve doc

* fix typo

* add explanation about [u128; 3]

* consolidate threshold and epsilon

* random fixes

* rename

* remove Into

* make iter_by_sig private

* remove vec

* Fix tests

* Measure per byte and not kb for certain benchmarks (#10863)

* Tidy Democracy (#10867)

* add test

* Assorted refactorings

* complete test

* saturating math

* final check

* use `default`

Co-authored-by: Gav Wood <gavin@parity.io>

* cleanup storage maps, cleanup unused imports

* sc-executor: Improve logging (#10869)

Improves the logging by switching to `tracing` for a better log output. Besides that, it also adds a
trace for the function being executed.

* fix test issues

* Track allowed requests for state/warp sync (#10843)

* Track allowed requests for state/warp sync

* Added missing allowed_requests resets

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* fmt

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Slots: Ensure that a race betwen finalized and best number is taken care off (#10876)

* Remove old lock file (#10879)

* Further reduce the CPU overhead of networking metrics (#10875)

* Simplify `num_connected_peers`

* Track requested peer counts

* Revert "Track requested peer counts"

This reverts commit 9f1c8704353df6afc17ed7e9f4ab8d8e29466ae4.

* Remove `substrate_sub_libp2p_peerset_num_requested` metric

* Remove two unused functions that I forgot to get rid of in previous commit

* Introduce `BoundedVec::iter_mut` (#10884)

* Introduce iters into BoundedVec

* Fix

* Remove unneeded funcs

* Update frame/support/src/storage/bounded_vec.rs

* Update frame/support/src/storage/bounded_vec.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Slots: Log total proposing duration as milliseconds (#10886)

Parachains have currently a total proposing time of 500ms, so it this
currently always prints `0`. While actually the value is not `0` ;)

* staking: Clarify reward calc docs (#10890)

* tracing: Adds `init_for_tests` (#10893)

This function is useful for tests. It will enable `TRACE` logging and also uses the libtest aware writer.

* make submissions pub (#10899)

* contracts: Allow stack height metering to be disabled (#10877)

* Allow stack height metering to be disabled

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

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

Co-authored-by: Parity Bot <admin@parity.io>

* Rename Uniques Error::Unknown to something more sensible (#10895)

* Rename Uniques Error::Unknown to something more sensible

* Typos

* Typos

* fmt

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix tests

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* fmt

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* state-machine: Move all functionality from trie backend to the essence (#10904)

* state-machine: Move all functionality from trie backend to the essence

This is required for some future changes of me and it also makes more sense to have all the
functionality inside the essence. Besides that it changes the child root cache to directly
cache the hash.

* Update primitives/state-machine/src/trie_backend_essence.rs

Co-authored-by: cheme <emericchevalier.pro@gmail.com>

* FMT

Co-authored-by: cheme <emericchevalier.pro@gmail.com>

* staking: Remove `SessionInterface` supertrait (#10901)

* consensus-slots: cleanup SlotDuration config (#10878)

* consensus-slots: cleanup the SlotDuration config

* fix tests

* address review comments

* add contracts pallet + rpc to runtime

* Replace libsecp256k1 with k256 in FRAME related code (#10883)

* Replace libsecp256k1 with k256 in beefy-mmr

* Port of FRAME `contracts` benchmarking from `libsecp256k1` to `k256`

* Newtype to allow `Pcg32` rng usage with `k256` in contracts benchmarks

* Use `sp-io::crypto` to generate dummy keys in `contracts` bechmarks

* More compact code

* Cargo fmt

* Build `sp-keystore` only for dev profile

* Move public key generation back to the `map`

* Clean obsolete BABE's weight data (#10748)

* Clean obsolete BABE weight data
* Take out test assertion from check closure
* Optimize metadata access using `HeaderMetadata` trait
* Apply suggestions from code review
* Introduce finalize and import pre-commit synchronous actions
* Do not hold locks between internal methods calls
* Remove unused generic bound
* Apply suggestions from code review
* Register BABE's pre-commit actions on `block_import` instead of `start_babe`
* PreCommit actions should be `Fn` instead of `FnMut`
* More robust safenet in case of malformed finality notifications

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Factor DB weights out into their own files (#10908)

* Factor DB weights out into their own files

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Review fixes

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix CI

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Weights in own mod

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Get rid of unnecessary use of `async-std` in non-test code (#10891)

* No longer generate specs with consensus_engine field (#10346)

* No longer generate specs with consensus_engine field

* #[allow(unused)]

* Upgrading parity-scale-codec to v3 (#10825)

* Upgraded dependencies

* Adapting code to scale v3

* Empty commit to trigger CI

* Triggering CI

* Fixing UI test

* Remove superfluous dev-dep added by #9228

* Cryout for CI

* sc-cli: Fix bugs after switching to clap3 (#10920)

* sc-cli: Fix bugs after switching to clap3

Before switching to clap3 we support cli options like `--reserved-nodes A B` and after you needed to
pass `--reserved-nodes` cli option multiple times `--reserved-nodes A --reserved-nodes B`. This is
fixed by setting `multiple_occurrences(true)` option. This also done for all the other `Vec` cli
options in `sc-cli`. Besides that `--sync` wasn't supporting case insensitive parsing of the value.
This is now also supported. For both regressions a test is added. Besides that the pr removes all
the `rename_all = PascalCase` attributes, because they are not needed. All other `ArgEnum`s were
checked and all are already using `ignore_case(true)`.

* Bring back `PascalCase`, because otherwise it falls back to `kebab-case`...

* Storage benchmarking (#10897)

* WIP

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* WIP: DB benchmarking

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* WIP

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* WIP

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Simplify code

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove old files

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove old files

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Minimize changes

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Add license

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove dependencies

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Extend template

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Linter

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Linter

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Beauty fixes

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove default

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Add feature

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove seed

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* CI wakeup

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fmt

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Review fixes

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Adding doc

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Adding doc

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Improve template

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Do not expose columns

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix ColumnId

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Nicer template prints

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Cleanup

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix json path

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Simplify `bench_write` logic

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Invert tx before the second commit

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* add transfer assets extrinsic

* add chain ext

* Minor improvements to `bounded_vec` and `defensive`.  (#10873)

* Fix a few things in bounded_vec

* add test for try_extend

* Update frame/support/src/storage/bounded_vec.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* some review comments

* use swap

* remove clone

* use pop instead of truncate

* remove warn

* review comments

* Update frame/support/src/storage/bounded_vec.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* fix rustdoc

* fix links

* undo link

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Replace libsecp256k1 with secp256k1 (#10798)

* Replace libsecp256k1 with secp256k1

* Wipe ecdsa secret key from memory on drop

* Some comments for a known issue

* Safer core crypto primitives `from_slice` constructor

Previous version panics if slice lenght is not the expected one.

* Unit test fix

* Enable use of global secp256k1 context

* Better comments for ecdsa `Pair` drop

* Replace `libsecp256k1` with `seco256k1` in `beefy-mmr`

Used to convert ecdsa public key to ETH address

* Replace `libsecp256k1` with `secp256k1` in FRAME `contracts`benchmarks

* Temporary rollback of `beefy-mmr` to libsecp256k1

Check for detected build issues

* Cargo fmt

* Rollback of FRAME `contracts` benchmarks to `libsecp256k1`

* Rollback for unrelated changes

* Typo fix

* Add comments for deprecated `ecdsa_verify` and `secp256k1_ecdsa_recover`

* Integrate try-runtime into substrate node template (#10909)

* [10892-integrate-try-runtime-into-node-template] - Integrated try-runtime into node template

* [10892-integrate-try-runtime-into-node-template] Added match arms for try-runtime in command.rs

* [10892-integrate-try-runtime-into-node-template] Added match arms for try-runtime in command.rs

* Added feature flag for try-runtime in node-template/node and enabled try-runtime for node-template/runtime

* Added missing type annotations for try-runtime SubCommand in node-template

* Added missing type annotations for try-runtime SubCommand in node-template

* Implemented frame_try_runtime::TryRuntime<Block> for the node-template Runtime

* doc corrections (#10936)

* #10576: generic utility to unsubscribe from broadcast upon drop of the rx-side. (#10708)

* #10576: refactor `sc-utils::notification` and `sc-client-api::notifications`, so that they use common subscribe/unsubscribe routines

* Add some docs. Reorganise `sc-utils::notification`

* `sc-clent-api::notifications` and `sc-utils::notification` — ensure the SubscriptionGuard is dropped before the Rx-channel

* `sc-utils::pubsub::SubscriptionGuard` make it a bit more ergonomic.

Let the `Rx` to be put inside of the `SubscriptionGuard`, so that the latter shall guarantee the order:
- first unsubscribe;
- then drop the `Rx`.

* Being less zealous with splitting the modules into little pieces

* rework pubsub: the concrete usage should only define a good registry type

* sc-client-api::notifications: make it comply with the reworked pubsub

* cargo fmt

* make sc-client-api tests work

* Address the review notes

* cargo fmt

* Describe the behaviour of pubsub registry

* Doc-comments for module `sc-utils::pubsub`

* Fix: it used to send notifications regardless of the filter setup during subscription

* `sc-client-api::StorageNotifications` the API does not have to require mut-self-reference.

As a result `sc-service::Client` does not have to wrap its `storage_notifications` into a Mutex.

* cargo fmt

* Several changes addressing the notes by @bckhr.

- Remove the `impl Default for StorageNotifications<Block>`;
- no need for groupping the `remove_from` and `listen_from` into a separate `helpers` module;
- remove unnecessary import `use registry::SubscribeOp`.

* Add a doc-comment to the `sc-client::notifications::SubscribeOp`

* As per @bkchr note on the unproven assertion: behave gracefully upon receiving a duplicate subscription-ID.

* sc-utils::pubsub: log when a registry yields an ID that does point to an existing sink

* `sc-utils::notifications`: payload materialized lazily

* Update Cargo.lock (after adding `log` as a dependency to the `sc-utils`)

* `sc-client-api::notifications`: introduce a struct (instead of a type def) for the notification message

* Get rid of `sc-utils::pubsub::Channel` trait (instead just use the `sc-utils::mpsc`)

* The SubsID is no more generic: the fact it is a `Copy` is known — no need to pass it by ref

* sc-utils::pubsub internals do not have to be generic over the channel type

* Rename Hub::dispatch into Hub::send

* That method was unnecessary (`SubscriberSink::render_notification`)

* cargo fmt

* No need for a separate UnsubscribeGuard type

* Ditch the type-def of SubsID in the sc-utils::pubsub, instead — just use the crate::id_sequence::SeqID

* Return the <Registry as Dispatch>::Ret when sending an item

* Make the `Hub<M, R>::lock_registry(...)` method more ergonomic

* cargo doc links

* cargo doc links

* Use a simpler name for the type

* cargo doc links

* Derive `Default` rather than implement it

* Derive `Default` rather than implement it

* Remove an unnecessary usage of type_name

* Define a more cautious order between sinks.remove->registry.unsubscribe and registry.subscribe->sinks.insert

* Hub: lock_registry_for_tests->map_registry_for_tests — a safer choice for a public API

* Replace Mutex over the shared Registry with a ReentrableMutex+RefCell

* sc-utils::pubsub: add tests for a panicking registry

* Add the missing copyright headers

* Arc<Vec<_>> -> Arc<[_]>

* Bring back MaxNominations as a metadata constant (#10947)

* chain ext: parse params and call transfer func

* Bump futures from 0.3.16 to 0.3.19 (#10930)

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.16 to 0.3.19.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.16...0.3.19)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Clean up extra_constant renaming. (#10935)

Co-authored-by: Xiankun Cheng <xiankuncheng@Xiankuns-MacBook-Pro-2.local>

* Bump smallvec from 1.7.0 to 1.8.0 (#10949)

Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: smallvec
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* new pallet: whitelist pallet (#10159)

* pallet whitelist

* refactor a bit

* fmt

* address audit

* improve tests

* return Ok + refund

* add test for dispatching failing

* add dispatch_whitelisted_call_with_preimage

* fmt

* better name

* Consume all data on decode

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Add error docs

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove phantom data

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Use rust 2021

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Update crate features

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fmt

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Make compile

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

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

* Bump Preimage max size

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

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

* Fmt

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Parity Bot <admin@parity.io>

* Release primitive crates (#10937)

* cargo set-version --bump major -p pallet-contracts-primitives

* cargo set-version --bump major -p sp-core

* cargo set-version --bump major -p sp-runtime-interface

* cargo set-version --bump major -p sp-wasm-interface

* cargo set-version --bump major -p sp-runtime

* cargo set-version --bump major -p sp-storage

* cargo set-version --bump major -p sp-rpc

* cargo set-version --bump major -p sp-io

* cargo set-version --bump major -p sp-trie

* cargo set-version -p sp-state-machine  -- 0.12.0

* cargo set-version -p sp-externalities  -- 0.12.0

* cargo set-version -p sp-keystore -- 0.12.0

* cargo set-version --bump major -p sp-keyring

* cargo set-version --bump major -p sp-version

* cargo set-version --bump major -p sp-tracing

* cargo set-version --bump major -p sp-application-crypto

* cargo set-version --bump major -p sp-arithmetic

* cargo unleash version bump-major -p sp-runtime-interface-proc-macro

* Add codec max-encoded-len feature to sp-arithmetic

* cargo unleash version bump-major -p sp-core-hashing-proc-macro

* Update new whitelist pallet to new primitive versions (#10953)

* sp-trie: Switch to thiserror and some other small cleanups (#10954)

* sp-trie: Switch to thiserror and some other small cleanups

* Add some extra method for converting a compact proof to a memory db

* Only maintain at most 1 `UnlockChunk` per era (#10670)

* Only maintain at most 1 `UnlockChunk` per era

* Bound `unlocking`

* Run cargo +nightly-2021-10-29 fmt

* Make benchmarks stuff compile

* Update frame/staking/src/lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Remove DerefMut; Implement neccesary methods directly

* Doc comments for new BoundedVec methods

* Fix benchmarks

* wip bonded_vec macro

* Correct rust doc

* Apply suggestions from code review

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update staking::Config impls

* Add MaxUnlockingChunks to more places

* Use defensive saturating add

* FMT

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* staking: Expose `MaxUnlockingChunks` in metadata as a const (#10958)

* Allow trailing commas for `bounded_vec!` (#10959)

* SimpleSlotWorker: Do not implement `SlotWorker` for all types implementing `SimpleSlotWorker` (#10934)

Because Rust currently doesn't support specialization, it prevents users from implementing
`SlotWorker` for their own types. This pr solves this by removing the generic implementation of
`SlotWorker` for `SimpleSlotWorker` and providing some wrapper type for that.

* Bump digest from 0.10.2 to 0.10.3 (#10960)

Bumps [digest](https://github.com/RustCrypto/traits) from 0.10.2 to 0.10.3.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/digest-v0.10.2...digest-v0.10.3)

---
updated-dependencies:
- dependency-name: digest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump scale-info from 2.0.0 to 2.0.1 (#10965)

Bumps [scale-info](https://github.com/paritytech/scale-info) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/paritytech/scale-info/releases)
- [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paritytech/scale-info/commits)

---
updated-dependencies:
- dependency-name: scale-info
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add pr-custom-review config (#10968)

* Revise how staking configurations are set (#10955)

* Revise how staking configurations are set

fixes #10938

* Fix and add additional tests

* Format

* Formatting

* Add doc

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update frame/staking/src/tests.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Format

* Fix build

* Update weights.rs

* cargo run --quiet --profile=production  --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

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Parity Bot <admin@parity.io>

* Bump libc from 0.2.112 to 0.2.119 (#10967)

Bumps [libc](https://github.com/rust-lang/libc) from 0.2.112 to 0.2.119.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.112...0.2.119)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump parity-db from 0.3.5 to 0.3.8 (#10970)

Bumps [parity-db](https://github.com/paritytech/parity-db) from 0.3.5 to 0.3.8.
- [Release notes](https://github.com/paritytech/parity-db/releases)
- [Commits](https://github.com/paritytech/parity-db/commits/v0.3.8)

---
updated-dependencies:
- dependency-name: parity-db
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [EPM pallet]: remove `number of signed submissions` (#10945)

* [EPM pallet]: remove `number of signed submissions`

Closing #9229

* fix tests

* remove needless assert

* Update frame/election-provider-multi-phase/src/lib.rs

* cargo fmt

Signed-off-by: Niklas <niklasadolfsson1@gmail.com>

* fix grumbles

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* drop `num_signed_submissions` in WeightInfo too

* fix build

Co-authored-by: Parity Bot <admin@parity.io>

* Refactored block body database scheme (#10779)

* Refactored tx storage database scheme

* Bump parity-db

* fmt

* Fix handling invalid index size + test

* Removed superflous result

* Minor changes

* fmt

* Deprecate "paritydb-experimental" CLI in favour or "paritydb" (#10975)

* Deprecate paritydb-experimental

* Updated comment

* [contracts] Stabilize "seal0" `is_contract` and `caller_is_origin`  (#10971)

* stabilize `seal_is_contract`

* stabilize `seal_caller_is_origin`

* Trie version migration pallet  (#10073)

* starting

* Updated from other branch.

* setting flag

* flag in storage struct

* fix flagging to access and insert.

* added todo to fix

* also missing serialize meta to storage proof

* extract meta.

* Isolate old trie layout.

* failing test that requires storing in meta when old hash scheme is used.

* old hash compatibility

* Db migrate.

* runing tests with both states when interesting.

* fix chain spec test with serde default.

* export state (missing trie function).

* Pending using new branch, lacking genericity on layout resolution.

* extract and set global meta

* Update to branch 4

* fix iterator with root flag (no longer insert node).

* fix trie root hashing of root

* complete basic backend.

* Remove old_hash meta from proof that do not use inner_hashing.

* fix trie test for empty (force layout on empty deltas).

* Root update fix.

* debug on meta

* Use trie key iteration that do not include value in proofs.

* switch default test ext to use inner hash.

* small integration test, and fix tx cache mgmt in ext.
test  failing

* Proof scenario at state-machine level.

* trace for db upgrade

* try different param

* act more like iter_from.

* Bigger batches.

* Update trie dependency.

* drafting codec changes and refact

* before removing unused branch no value alt hashing.
more work todo rename all flag var to alt_hash, and remove extrinsic
replace by storage query at every storage_root call.

* alt hashing only for branch with value.

* fix trie tests

* Hash of value include the encoded size.

* removing fields(broken)

* fix trie_stream to also include value length in inner hash.

* triedbmut only using alt type if inner hashing.

* trie_stream to also only use alt hashing type when actually alt hashing.

* Refactor meta state, logic should work with change of trie treshold.

* Remove NoMeta variant.

* Remove state_hashed trigger specific functions.

* pending switching to using threshold, new storage root api does not
make much sense.

* refactoring to use state from backend (not possible payload changes).

* Applying from previous state

* Remove default from storage, genesis need a special build.

* rem empty space

* Catch problem: when using triedb with default: we should not revert
nodes: otherwhise thing as trie codec cannot decode-encode without
changing state.

* fix compilation

* Right logic to avoid switch on reencode when default layout.

* Clean up some todos

* remove trie meta from root upstream

* update upstream and fix benches.

* split some long lines.

* UPdate trie crate to work with new design.

* Finish update to refactored upstream.

* update to latest triedb changes.

* Clean up.

* fix executor test.

* rust fmt from master.

* rust format.

* rustfmt

* fix

* start host function driven versioning

* update state-machine part

* still need access to state version from runtime

* state hash in mem: wrong

* direction likely correct, but passing call to code exec for genesis
init seem awkward.

* state version serialize in runtime, wrong approach, just initialize it
with no threshold for core api < 4 seems more proper.

* stateversion from runtime version (core api >= 4).

* update trie, fix tests

* unused import

* clean some TODOs

* Require RuntimeVersionOf for executor

* use RuntimeVersionOf to resolve genesis state version.

* update runtime version test

* fix state-machine tests

* TODO

* Use runtime version from storage wasm with fast sync.

* rustfmt

* fmt

* fix test

* revert useless changes.

* clean some unused changes

* fmt

* removing useless trait function.

* remove remaining reference to state_hash

* fix some imports

* Follow chain state version management.

* trie update, fix and constant threshold for trie layouts.

* update deps

* Update to latest trie pr changes.

* fix benches

* Verify proof requires right layout.

* update trie_root

* Update trie deps to  latest

* Update to latest trie versioning

* Removing patch

* update lock

* extrinsic for sc-service-test using layout v0.

* Adding RuntimeVersionOf to CallExecutor works.

* fmt

* error when resolving version and no wasm in storage.

* use existing utils to instantiate runtime code.

* migration pallet

* Patch to delay runtime switch.

* Revert "Patch to delay runtime switch."

This reverts commit d35f273b7d67b1b85a9e72973cab13c5c156c1d3.

* fix test

* fix child migration calls.

* useless closure

* remove remaining state_hash variables.

* Fix and add more tests

* Remove outdated comment

* useless inner hash

* fmt

* remote tests

* finally ksm works

* batches are broken

* clean the benchmarks

* Apply suggestions from code review

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Apply suggestions from code review

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Update frame/state-trie-migration/src/lib.rs

Co-authored-by: Joshy Orndorff <JoshOrndorff@users.noreply.github.com>

* Update frame/state-trie-migration/src/lib.rs

* brand new version

* fix build

* Update frame/state-trie-migration/src/lib.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Update frame/state-trie-migration/src/lib.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Update primitives/storage/src/lib.rs

Co-authored-by: cheme <emericchevalier.pro@gmail.com>

* Update frame/state-trie-migration/src/lib.rs

Co-authored-by: cheme <emericchevalier.pro@gmail.com>

* Update frame/state-trie-migration/src/lib.rs

Co-authored-by: cheme <emericchevalier.pro@gmail.com>

* fmt and opt-in feature to apply state change.

* feature gate core version, use new test feature for node and test node

* Use a 'State' api version instead of Core one.

* fix merge of test function

* use blake macro.

* Fix state api (require declaring the api in runtime).

* Opt out feature, fix macro for io to select a given version
instead of latest.

* run test nodes on new state.

* fix

* new test structure

* new testing stuff from emeric

* Add commit_all, still not working

* Fix all tests

* add comment

* we have PoV tracking baby

* document stuff, but proof size is still wrong

* FUCK YEAH

* a big batch of review comments

* add more tests

* tweak test

* update config

* some remote-ext stuff

* delete some of the old stuff

* sync more files with master to minimize the diff

* Fix all tests

* make signed migration a bit more relaxed

* add witness check to signed submissions

* allow custom migration to also go above limit

* Fix these pesky tests

* ==== removal of the unsigned stuff ====

* Make all tests work again

* separate the tests from the logic so it can be reused easier

* fix overall build

* Update frame/state-trie-migration/src/lib.rs

Co-authored-by: cheme <emericchevalier.pro@gmail.com>

* Update frame/state-trie-migration/src/lib.rs

Co-authored-by: cheme <emericchevalier.pro@gmail.com>

* Slightly better termination

* some final tweaks

* Fix tests

* Restrict access to signed migrations

* address most of the review comments

* fix defensive

* New simplified code

* Fix weights

* fmt

* Update frame/state-trie-migration/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* make the tests correctly fail

* Fix build

* Fix build

* try and fix the benchmarks

* fix build

* Fix cargo file

* Fix runtime deposit

* make rustdoc happy

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_state_trie_migration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/state-trie-migration/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Co-authored-by: cheme <emericchevalier.pro@gmail.com>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Joshy Orndorff <JoshOrndorff@users.noreply.github.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Parity Bot <admin@parity.io>

* BEEFY and GRANDPA protocol names should use full genesis hash (#10974)

std::fmt::Display shows formats as reduced hash (e.g. 0xb0a8…dafe)

Use hex::encode to format full hash.

Signed-off-by: acatangiu <adrian@parity.io>

* Move weight constants to own mod (#10980)

* Move block+ext weights to own mod

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Unused import

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* add block usage logs to system pallet (#10940)

* add block usage logs to system pallet

* add Debug

* use % instead of default Debug impl

* change formatting

* revert

* update runtime storage, update chain extension

* cleanup chain ext

* Fix the undeterministic storage proof recorded for the same execution (#10915)

* Add a test case for the determinism of recorded proof

* Replace HashMap with BTreeMap for the actual proof records

* cargo +nightly fmt --all

* Store the trie nodes in BTreeSet for StorageProof

* Nit

* Revert the BTreeMap changes and sort when converting to storage proof

* Remove PartialEq from StorageProof

* Remove unnecessary change

* Add `compare` method to StorageProof

* FMT

* Dummy change to trigger CI

* Use `BTreeSet` for StorageProof and keep using `Vec` for CompactProof

* Update comment on `iter_nodes`

* Revert `PartialEq` removal

* create iris ledger pallet

* ledger funcs in chain ext

* rename Iris -> IrisAssets, update readmes

* Minor Uniques pallet improvements and XCM v3 preparations (#10896)

* Introduce Helper to Uniques for benchmark stuff

* Fixes

* Formatting

* Featuregate the Helper, include ContainsPair

* Introduce & use EnsureOriginWithArg

* Benchmarking

* Docs

* More ContainsBoth helpers

* Formatting

* Formatting

* Fixes

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* election provider support: Update some test only types (#10983)

* Feedback from @XLC for Referenda Pallet (#10991)

* feedback from @xlc

* english

* fmt

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Make bags-list generic over node value and instantiable (#10997)

* make instantiable

* update

* cargo fmt

* Clean up

* bags-list: Make it generic over node value

* Respond to some feedback

* Apply suggestions from code review

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Add back default impl for weight update worst case

* Update to Score in more places'

* Use VoteWeight, not u64 to reduce test diff

* FMT

* FullCodec implies Codec

* formatting

* Fixup bags list remote test

Co-authored-by: doordashcon <jesse.chejieh@gmail.com>
Co-authored-by: Doordashcon <90750465+Doordashcon@users.noreply.github.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* sc-finality-grandpa: use the #[from] attriute to remove boilerplate code (#11003)

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* contracts: Add test to verify unique trie ids (#10914)

* Add test to verify unique trie ids

* Rename trie_seed to nonce

* Rename AccountCounter -> Nonce

* fmt

* sp-core: `full_crypto` doesn't imply `std` (#11006)

* sp-core: `full_crypto` doesn't imply `std`

This pr changes the feature set of `secp256k1` to not use `global-context` when only the
`full_crypto` is enabled. It will be slower when the `std` feature is not enabled as the context
always needs to be recreated, but that is fine.

* Update client/cli/src/arg_enums.rs

Co-authored-by: Davide Galassi <davxy@datawok.net>

Co-authored-by: Davide Galassi <davxy@datawok.net>

* Remove unused `parent_hash` in `OverlayedChanges::into_storage_changes` (#11011)

Ref https://github.com/paritytech/substrate/pull/10922#issuecomment-1064258443

CC @cheme

* iris ledger pallet -> transfer not yet functioning

* sp-api: Don't be dirty (#11015)

Ensure that the sp api macros don't use functions without providing the full path to the function.
This hygiene ensures that we don't actually try to call a method of an imported trait for example.

* unlock and transfer works

* Update clap to the latest version (#11017)

* Update clap to the latest version

Besides that it also removes some `structopt` leftovers from some docs.

* Fix compile errors

* More fixes

* Move scripts used in CI to the new location (#11008)

Move scripts used in CI to the new location - **./scripts/ci/**

* Move github scripts

* Move more files

* Move ci scripts and fix dependencies

* Update docs/node-template-release.md

Co-authored-by: João Paulo Silva de Souza <77391175+joao-paulo-parity@users.noreply.github.com>

* Remove Cargo.lock

* Apply suggestions from code review

Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>

* Make more paths uniform

Co-authored-by: João Paulo Silva de Souza <77391175+joao-paulo-parity@users.noreply.github.com>
Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>

* Move `sp-npos-elections-solution-type` to `frame-election-provider-support` (#11016)

* Move `sp-npos-elections-solution-type`
to `frame-election-provider-support`
First stab at it, will need to amend some more stuff

* Fixing tests

* Fixing tests

* Fixing cargo.toml for std configuration

* fmt

* Committing suggested changes
renaming, and re exporting macro.

* Removing unneeded imports

* shell.nix: Update to a newer nightly (#11028)

* update chain ext

* update naming, formatting, start tests

* Update lockfile (#11035)

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Additional `benchmark-storage` flags (#11004)

* Fix typos

* Enable overwriting handlebars template

* Optionally name json output or disable json altogether

* Don't write to json by default

* Include block id in handlebars output

* Include warmups for write benchmarks

* PR comments

* Drop unnecessary file extension

* Use more appropriate types

* Use more appropriate error message

* More use of more appropriate types

* Rework write benchmark warmups

* Run same benchmark for both read and write

* SharedData: Update locks to mention possible deadlocks (#11034)

* SharedData: Update locks to mention possible deadlocks

* Update `Cargo.lock`

* Stabilize `seal_delegate_call` (#11037)

* add tests

* re-enumerate chain ext func ids

* Bump names from 0.12.0 to 0.13.0 (#11047)

Bumps [names](https://github.com/fnichol/names) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/fnichol/names/releases)
- [Changelog](https://github.com/fnichol/names/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fnichol/names/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: names
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* State migration rpc (#10981)

* setting flag

* flag in storage struct

* fix flagging to access and insert.

* added todo to fix

* also missing serialize meta to storage proof

* extract meta.

* Isolate old trie layout.

* failing test that requires storing in meta when old hash scheme is used.

* old hash compatibility

* Db migrate.

* runing tests with both states when interesting.

* fix chain spec test with serde default.

* export state (missing trie function).

* Pending using new branch, lacking genericity on layout resolution.

* extract and set global meta

* Update to branch 4

* fix iterator with root flag (no longer insert node).

* fix trie root hashing of root

* complete basic backend.

* Remove old_hash meta from proof that do not use inner_hashing.

* fix trie test for empty (force layout on empty deltas).

* Root update fix.

* debug on meta

* Use trie key iteration that do not include value in proofs.

* switch default test ext to use inner hash.

* small integration test, and fix tx cache mgmt in ext.
test  failing

* Proof scenario at state-machine level.

* trace for db upgrade

* try different param

* act more like iter_from.

* Bigger batches.

* Update trie dependency.

* drafting codec changes and refact

* before removing unused branch no value alt hashing.
more work todo rename all flag var to alt_hash, and remove extrinsic
replace by storage query at every storage_root call.

* alt hashing only for branch with value.

* fix trie tests

* Hash of value include the encoded size.

* removing fields(broken)

* fix trie_stream to also include value length in inner hash.

* triedbmut only using alt type if inner hashing.

* trie_stream to also only use alt hashing type when actually alt hashing.

* Refactor meta state, logic should work with change of trie treshold.

* Remove NoMeta variant.

* Remove state_hashed trigger specific functions.

* pending switching to using threshold, new storage root api does not
make much sense.

* refactoring to use state from backend (not possible payload changes).

* Applying from previous state

* Remove default from storage, genesis need a special build.

* rem empty space

* Catch problem: when using triedb with default: we should not revert
nodes: otherwhise thing as trie codec cannot decode-encode without
changing state.

* fix compilation

* Right …
ark0f pushed a commit to gear-tech/substrate that referenced this pull request Feb 27, 2023
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. D2-notlive 💤 PR contains changes in a runtime directory that is not deployed to a chain that requires an audit.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants