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

contracts: Allow stack height metering to be disabled #10877

Merged
merged 5 commits into from
Feb 22, 2022

Conversation

athei
Copy link
Member

@athei athei commented Feb 17, 2022

Stack height metering is only needed to combat indeterminism of different execution engine versions. Since we put wasmi inside the runtime for the time being we don't it anymore.

This PR allows stack height metering to be disabled by the runtime configuration and also disables it by default. This reduces the cached contract size by 20% to 40%.

@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 17, 2022
@github-actions github-actions bot 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 17, 2022
@athei
Copy link
Member Author

athei commented Feb 17, 2022

/benchmark runtime pallet pallet_contracts

@parity-benchapp
Copy link

parity-benchapp bot commented Feb 17, 2022

Benchmark Runtime Pallet for branch "at-disable-stack-height-metering" 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.548
              µs

Reads = 1
Writes = 0

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

Model:
Time ~=    1.548
              µ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 ~=    10.07
    + k    0.789
              µs

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

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

Data points distribution:
    k   mean µs  sigma µs       %
    0     10.07     0.065    0.6%
   20      27.4     0.253    0.9%
   40     42.85     0.165    0.3%
   60     57.33     0.261    0.4%
   80     69.65     0.113    0.1%
  100     85.61     0.226    0.2%
  120     100.3     0.183    0.1%
  140       117     0.417    0.3%
  160     132.3     0.221    0.1%
  180     149.5     0.458    0.3%
  200     162.6     0.343    0.2%
  220     180.6     0.352    0.1%
  240     197.6     0.606    0.3%
  260     214.1     1.295    0.6%
  280       230     0.617    0.2%
  300     243.6     1.122    0.4%
  320     261.8     1.204    0.4%
  340     278.1     0.812    0.2%
  360     295.7     0.542    0.1%
  380     313.3     0.975    0.3%
  400     330.3      1.02    0.3%
  420       346     1.059    0.3%
  440     363.3     3.355    0.9%
  460     379.9     7.296    1.9%
  480     394.7     2.763    0.6%
  500     408.7     0.809    0.1%
  520     425.9     1.081    0.2%
  540     443.1     1.506    0.3%
  560     459.6     1.891    0.4%
  580     474.5     1.377    0.2%
  600     491.5     4.346    0.8%
  620     501.5     0.783    0.1%
  640     515.8     1.488    0.2%
  660     534.1     1.118    0.2%
  680       548     1.091    0.1%
  700     562.2      1.18    0.2%
  720     578.1     1.341    0.2%
  740     594.5      1.77    0.2%
  760     609.2     1.758    0.2%
  780     623.2     1.281    0.2%
  800     638.3     1.101    0.1%
  820     655.8     2.418    0.3%
  840     670.6     2.302    0.3%
  860     686.2     2.827    0.4%
  880     702.7     2.374    0.3%
  900     721.6     6.539    0.9%
  920     731.5     4.686    0.6%
  940     746.5     2.863    0.3%
  960     758.1      9.28    1.2%
  980     772.4     1.603    0.2%
 1000     789.9     3.233    0.4%
 1020     806.9     2.471    0.3%

Quality and confidence:
param     error
k             0

Model:
Time ~=    11.35
    + k    0.786
              µ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 ~=    12.65
    + q    2.242
              µs

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

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

Data points distribution:
    q   mean µs  sigma µs       %
    0     1.561     0.011    0.7%
   20     58.19     0.235    0.4%
   40     102.7     0.241    0.2%
   60       149     0.303    0.2%
   80     193.7     0.515    0.2%
  100     238.3     0.946    0.3%
  120     291.9      0.93    0.3%
  140     340.5     1.259    0.3%
  160     372.8     4.157    1.1%
  180     405.7     2.105    0.5%
  200     463.7     2.628    0.5%
  220     498.2     6.188    1.2%
  240     574.5      7.93    1.3%
  260     613.2     8.275    1.3%
  280     651.3     4.774    0.7%
  300       685     3.915    0.5%
  320     705.4     6.321    0.8%
  340     774.9     7.268    0.9%
  360     811.9     9.348    1.1%
  380     851.5     11.17    1.3%
  400     902.6     7.562    0.8%
  420     937.8     7.021    0.7%
  440     992.3     10.38    1.0%
  460      1022     8.715    0.8%
  480      1060     7.552    0.7%
  500      1105     8.681    0.7%
  520      1142      8.91    0.7%
  540      1181     13.37    1.1%
  560      1250     11.51    0.9%
  580      1278     13.92    1.0%
  600      1284     11.51    0.8%
  620      1369     9.024    0.6%
  640      1417     6.735    0.4%
  660      1485     20.86    1.4%
  680      1526        15    0.9%
  700      1565     19.93    1.2%
  720      1631     21.68    1.3%
  740      1652     26.92    1.6%
  760      1723      21.9    1.2%
  780      1736     39.38    2.2%
  800      1804     12.36    0.6%
  820      1801     11.22    0.6%
  840      1871     26.15    1.3%
  860      1951     16.36    0.8%
  880      2004     21.13    1.0%
  900      2117     21.06    0.9%
  920      2096     23.24    1.1%
  940      2235     20.95    0.9%
  960      2276     8.909    0.3%
  980      2307     33.92    1.4%
 1000      2230     26.81    1.2%
 1020      2365     39.96    1.6%

Quality and confidence:
param     error
q         0.005

Model:
Time ~=        0
    + q    2.276
              µ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 ~=    23.73
    + c    0.049
              µs

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

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

Data points distribution:
    c   mean µs  sigma µs       %
    0     25.76     0.027    0.1%
 2621     156.3     0.223    0.1%
 5242     285.7     0.251    0.0%
 7863     417.6      0.65    0.1%
10484     544.7     7.808    1.4%
13105     680.2     0.585    0.0%
15726     810.1      9.98    1.2%
18347     930.7     0.876    0.0%
20968      1055     6.804    0.6%
23589      1183     11.34    0.9%
26210      1344     13.22    0.9%
28831      1462     14.43    0.9%
31452      1582     11.08    0.7%
34073      1736     14.26    0.8%
36694      1838     1.428    0.0%
39315      1968     12.75    0.6%
41936      2109     12.82    0.6%
44557      2229     13.19    0.5%
47178      2355     13.14    0.5%
49799      2521     11.35    0.4%
52420      2649     17.76    0.6%
55041      2779     12.28    0.4%
57662      2895     16.04    0.5%
60283      3032     17.72    0.5%
62904      3164      12.1    0.3%
65525      3278     16.28    0.4%
68146      3435     7.546    0.2%
70767      3555     9.742    0.2%
73388      3695     17.79    0.4%
76009      3807     15.95    0.4%
78630      3932     9.349    0.2%
81251      4059     13.13    0.3%
83872      4176     8.481    0.2%
86493      4316      13.6    0.3%
89114      4421      9.78    0.2%
91735      4555        14    0.3%
94356      4670     13.98    0.2%
96977      4767     15.16    0.3%
99598      5071     22.58    0.4%
102219      5168     16.41    0.3%
104840      5291     28.55    0.5%
107461      5415      20.3    0.3%
110082      5545     19.25    0.3%
112703      5672     18.99    0.3%
115324      5787     16.11    0.2%
117945      6119     33.55    0.5%
120566      6265     9.915    0.1%
123187      6178      22.3    0.3%
125808      6308      38.9    0.6%
128429      6404     19.25    0.3%
131050      6544     21.54    0.3%

Quality and confidence:
param     error
c             0

Model:
Time ~=    7.105
    + c     0.05
              µ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 ~=      305
    + 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     310.9     0.237    0.0%
 2621     454.7     0.718    0.1%
 5242     598.3     4.303    0.7%
 7863     750.5     9.462    1.2%
10484     886.8     5.312    0.5%
13105      1048     8.008    0.7%
15726      1189     10.84    0.9%
18347      1320     1.604    0.1%
20968      1463     8.708    0.5%
23589      1605     11.57    0.7%
26210      1782      13.3    0.7%
28831      1923     12.56    0.6%
31452      2062     11.17    0.5%
34073      2208     10.34    0.4%
36694      2333     11.99    0.5%
39315      2481     16.03    0.6%
41936      2611     16.33    0.6%
44557      2759     15.78    0.5%
47178      2893     23.51    0.8%
49799      3125     13.31    0.4%
52420      3256     12.68    0.3%
55041      3410     11.28    0.3%
57662      3559     16.68    0.4%
60283      3682     6.536    0.1%
62904      3809      10.4    0.2%
65525      3941     13.85    0.3%
68146      4107     22.13    0.5%
70767      4255     13.31    0.3%
73388      4375     17.97    0.4%
76009      4525     12.14    0.2%
78630      4657     12.14    0.2%
81251      4801     11.94    0.2%
83872      4933     20.41    0.4%
86493      5073     12.25    0.2%
89114      5214      15.7    0.3%
91735      5335     13.38    0.2%
94356      5481      13.5    0.2%
96977      5642     24.71    0.4%
99598      5960     20.48    0.3%
102219      6083     16.37    0.2%
104840      6222     18.01    0.2%
107461      6379     25.55    0.4%
110082      6501      14.6    0.2%
112703      6653     17.43    0.2%
115324      6895     33.78    0.4%
117945      6924     18.56    0.2%
120566      7048     18.34    0.2%
123187      7214     38.94    0.5%
125808      7333     17.76    0.2%
128429      7476     16.22    0.2%
131050      7630     27.15    0.3%

Quality and confidence:
param     error
c             0

Model:
Time ~=    291.5
    + 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 ~=    388.8
    + c    0.128
    + 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      2183     14.74    0.6%
 1284 1048576      2190     10.66    0.4%
 2568 1048576      2368     11.44    0.4%
 3852 1048576      2513      14.5    0.5%
 5136 1048576      2686     7.858    0.2%
 6420 1048576      2855     15.76    0.5%
 7704 1048576      3007     26.11    0.8%
 8988 1048576      3188     5.394    0.1%
10272 1048576      3337     16.91    0.5%
11556 1048576      3508     10.91    0.3%
12840 1048576      3667     12.78    0.3%
14124 1048576      3867     19.53    0.5%
15408 1048576      3994     13.26    0.3%
16692 1048576      4195     11.59    0.2%
17976 1048576      4354     11.07    0.2%
19260 1048576      4531     23.12    0.5%
20544 1048576      4675     22.11    0.4%
21828 1048576      4853     19.46    0.4%
23112 1048576      4982     14.53    0.2%
24396 1048576      5133     18.54    0.3%
25680 1048576      5346     15.76    0.2%
26964 1048576      5514     19.58    0.3%
28248 1048576      5670     26.81    0.4%
29532 1048576      5817     19.67    0.3%
30816 1048576      5983     23.38    0.3%
32100 1048576      6154      14.6    0.2%
33384 1048576      6379     16.28    0.2%
34668 1048576      6530     11.31    0.1%
35952 1048576      6687     14.04    0.2%
37236 1048576      6845     29.79    0.4%
38520 1048576      6993     21.16    0.3%
39804 1048576      7166        16    0.2%
41088 1048576      7305     23.82    0.3%
42372 1048576      7475     27.65    0.3%
43656 1048576      7646     21.21    0.2%
44940 1048576      7782     20.95    0.2%
46224 1048576      7939     13.64    0.1%
47508 1048576      8107     27.66    0.3%
48792 1048576      8253     25.98    0.3%
50076 1048576      8513      21.1    0.2%
51360 1048576      8688     23.09    0.2%
52644 1048576      8821     32.97    0.3%
53928 1048576      8990     19.17    0.2%
55212 1048576      9134     25.31    0.2%
56496 1048576      9307     28.45    0.3%
57780 1048576      9467     23.84    0.2%
59064 1048576      9619     29.63    0.3%
60348 1048576      9776     31.71    0.3%
61632 1048576      9955     36.33    0.3%
62916 1048576     10090     14.68    0.1%
64200 1048576     10230      20.6    0.2%
64226     0      8556     26.08    0.3%
64226 20971      8626     30.65    0.3%
64226 41942      8653     18.15    0.2%
64226 62913      8695     27.09    0.3%
64226 83884      8732     17.58    0.2%
64226 104855      8749     17.11    0.1%
64226 125826      8818     27.19    0.3%
64226 146797      8845     28.49    0.3%
64226 167768      8865      17.4    0.1%
64226 188739      8905     15.42    0.1%
64226 209710      8939     27.87    0.3%
64226 230681      8970      26.4    0.2%
64226 251652      9017     33.78    0.3%
64226 272623      9051     16.12    0.1%
64226 293594      9062      29.9    0.3%
64226 314565      9081     24.91    0.2%
64226 335536      9158     26.96    0.2%
64226 356507      9154     20.92    0.2%
64226 377478      9196     36.09    0.3%
64226 398449      9226      19.8    0.2%
64226 419420      9287     24.29    0.2%
64226 440391      9305     27.77    0.2%
64226 461362      9322     25.36    0.2%
64226 482333      9364      22.2    0.2%
64226 503304      9378     22.19    0.2%
64226 524275      9401     28.58    0.3%
64226 545246      9472     27.14    0.2%
64226 566217      9495     15.96    0.1%
64226 587188      9505     9.115    0.0%
64226 608159      9568     28.72    0.3%
64226 629130      9586     18.85    0.1%
64226 650101      9630     22.71    0.2%
64226 671072      9657      19.3    0.1%
64226 692043      9691     25.39    0.2%
64226 713014      9709      23.2    0.2%
64226 733985      9762     34.32    0.3%
64226 754956      9829     32.56    0.3%
64226 775927      9810     20.48    0.2%
64226 796898      9862     19.86    0.2%
64226 817869      9879     24.96    0.2%
64226 838840      9919      31.5    0.3%
64226 859811      9946     33.52    0.3%
64226 880782      9974     30.38    0.3%
64226 901753     10000     12.67    0.1%
64226 922724     10040     24.71    0.2%
64226 943695     10090     34.87    0.3%
64226 964666     10100      25.8    0.2%
64226 985637     10130      13.6    0.1%
64226 1006608     10200     37.26    0.3%
64226 1027579     10220      30.2    0.2%
64226 1048550     10230     31.85    0.3%

Quality and confidence:
param     error
c             0
s             0

Model:
Time ~=    379.2
    + c    0.128
    + 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 ~=    224.5
    + 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     222.7     0.285    0.1%
20971       261     5.187    1.9%
41942       295     0.463    0.1%
62913     331.7     0.604    0.1%
83884     366.7     0.556    0.1%
104855     402.3     0.511    0.1%
125826     438.4      0.48    0.1%
146797     474.5     3.478    0.7%
167768     508.9     0.485    0.0%
188739     544.5     0.746    0.1%
209710     581.3     4.565    0.7%
230681     616.9     4.448    0.7%
251652     650.1     0.512    0.0%
272623       685     0.373    0.0%
293594     721.6     0.799    0.1%
314565       773      16.4    2.1%
335536     797.6     11.66    1.4%
356507     835.6     12.09    1.4%
377478     875.1      14.1    1.6%
398449     900.8     7.103    0.7%
419420     940.2     11.78    1.2%
440391     980.3      14.3    1.4%
461362      1004     0.571    0.0%
482333      1058     13.52    1.2%
503304      1087      14.2    1.3%
524275      1118     13.21    1.1%
545246      1155     13.53    1.1%
566217      1195     13.23    1.1%
587188      1230     13.59    1.1%
608159      1258     11.38    0.9%
629130      1289     4.566    0.3%
650101      1347     13.06    0.9%
671072      1377     13.46    0.9%
692043      1416     16.01    1.1%
713014      1449      14.9    1.0%
733985      1489      15.1    1.0%
754956      1511     12.35    0.8%
775927      1544     13.07    0.8%
796898      1593     16.14    1.0%
817869      1624      14.4    0.8%
838840      1663        16    0.9%
859811      1699     17.14    1.0%
880782      1741     13.05    0.7%
901753      1767     20.41    1.1%
922724      1809     15.79    0.8%
943695      1840     17.66    0.9%
964666      1862     12.94    0.6%
985637      1910     15.89    0.8%
1006608      1944     16.19    0.8%
1027579      1969     11.73    0.5%
1048550      2030     13.84    0.6%

Quality and confidence:
param     error
s             0

Model:
Time ~=    222.9
    + 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 ~=    189.9
              µs

Reads = 4
Writes = 2

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

Model:
Time ~=    189.9
              µ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 ~=    51.17
    + c    0.049
              µs

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

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

Data points distribution:
    c   mean µs  sigma µs       %
    0     49.11     0.194    0.3%
 1310     117.4     1.168    0.9%
 2620     183.4     1.767    0.9%
 3930     249.3     2.181    0.8%
 5240     309.8     0.258    0.0%
 6550       381     0.575    0.1%
 7860     450.8     2.562    0.5%
 9170       505     4.254    0.8%
10480     567.7     8.449    1.4%
11790     635.4     14.48    2.2%
13100     705.5      4.75    0.6%
14410     774.7     11.52    1.4%
15720     838.9     12.24    1.4%
17030     902.3     13.12    1.4%
18340     959.1     10.43    1.0%
19650      1028      13.9    1.3%
20960      1093     15.75    1.4%
22270      1152     13.49    1.1%
23580      1209     15.52    1.2%
24890      1311     14.79    1.1%
26200      1370     10.57    0.7%
27510      1428     11.09    0.7%
28820      1505     11.93    0.7%
30130      1567     14.98    0.9%
31440      1625     14.47    0.8%
32750      1687     12.39    0.7%
34060      1751     13.95    0.7%
35370      1827     10.51    0.5%
36680      1883     10.19    0.5%
37990      1936     15.26    0.7%
39300      2011     9.024    0.4%
40610      2072      12.4    0.5%
41920      2133     11.89    0.5%
43230      2194     10.79    0.4%
44540      2250     11.85    0.5%
45850      2321     7.147    0.3%
47160      2374      15.5    0.6%
48470      2433     14.31    0.5%
49780      2591     16.73    0.6%
51090      2667     19.82    0.7%
52400      2707     19.91    0.7%
53710      2769      14.2    0.5%
55020      2821     13.46    0.4%
56330      2884     12.54    0.4%
57640      2946     21.12    0.7%
58950      3025     21.95    0.7%
60260      3071     10.52    0.3%
61570      3136     21.04    0.6%
62880      3188     12.57    0.3%
64190      3263     11.26    0.3%
65500      3332     9.279    0.2%

Quality and confidence:
param     error
c             0

Model:
Time ~=    46.03
    + c     0.05
              µ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 ~=    25.03
              µs

Reads = 1
Writes = 3

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

Model:
Time ~=    25.03
              µ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 ~=    300.4
    + r    48.79
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     297.2     0.164    0.0%
    1     348.6     0.321    0.0%
    2     399.6      1.93    0.4%
    3     447.2     1.569    0.3%
    4       508     1.843    0.3%
    5     547.5     10.08    1.8%
    6     591.7     0.562    0.0%
    7     643.2       1.6    0.2%
    8     691.4     0.968    0.1%
    9     739.4     1.498    0.2%
   10     792.6     10.94    1.3%
   11     838.1     7.546    0.9%
   12     890.2     13.49    1.5%
   13     944.1     14.96    1.5%
   14     986.7     3.245    0.3%
   15      1042     11.72    1.1%
   16      1084     6.026    0.5%
   17      1135     8.944    0.7%
   18      1176     1.294    0.1%
   19      1243     13.92    1.1%
   20      1285     13.55    1.0%

Quality and confidence:
param     error
r         0.103

Model:
Time ~=    300.2
    + r    49.18
              µ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 ~=    165.6
    + r    379.9
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     297.2     0.126    0.0%
    1     619.6     0.766    0.1%
    2     974.3     10.86    1.1%
    3      1319      9.84    0.7%
    4      1660     13.37    0.8%
    5      2052     14.27    0.6%
    6      2415     14.04    0.5%
    7      2807     9.714    0.3%
    8      3128     11.95    0.3%
    9      3521     17.35    0.4%
   10      3959      9.76    0.2%
   11      4266     13.86    0.3%
   12      4661     19.55    0.4%
   13      5070     19.62    0.3%
   14      5483     17.34    0.3%
   15      5871     15.03    0.2%
   16      6223     14.27    0.2%
   17      6646     14.87    0.2%
   18      7129      28.3    0.3%
   19      7469      24.7    0.3%
   20      7875     29.32    0.3%

Quality and confidence:
param     error
r          0.74

Model:
Time ~=    164.8
    + r    380.9
              µ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 ~=      296
    + r    21.72
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     292.3      0.12    0.0%
    1     316.4       0.3    0.0%
    2     338.8     0.302    0.0%
    3     360.8     0.252    0.0%
    4     383.2     0.296    0.0%
    5     405.6      1.94    0.4%
    6     427.7     0.491    0.1%
    7     448.8     0.761    0.1%
    8     471.2     4.548    0.9%
    9     493.3     8.104    1.6%
   10     512.6     1.232    0.2%
   11     538.1      3.75    0.6%
   12     558.2     2.061    0.3%
   13     583.2     7.545    1.2%
   14     603.5     7.825    1.2%
   15     622.1     1.727    0.2%
   16     644.8     4.072    0.6%
   17     665.9     7.947    1.1%
   18     684.9     1.809    0.2%
   19     713.2     13.91    1.9%
   20     730.4     10.27    1.4%

Quality and confidence:
param     error
r         0.065

Model:
Time ~=    295.4
    + r    21.86
              µ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 ~=    300.8
    + r    48.77
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     297.3     0.189    0.0%
    1     349.2     0.367    0.1%
    2     398.5     0.338    0.0%
    3     450.7     6.243    1.3%
    4     496.3     0.295    0.0%
    5     543.9     0.321    0.0%
    6     592.5     1.992    0.3%
    7     646.8      8.84    1.3%
    8     700.4     8.817    1.2%
    9     744.1     10.27    1.3%
   10     791.4     8.239    1.0%
   11       843     14.07    1.6%
   12     909.6     12.81    1.4%
   13     934.8     10.38    1.1%
   14     990.3     10.31    1.0%
   15      1036     8.049    0.7%
   16      1088     11.67    1.0%
   17      1134     11.61    1.0%
   18      1190     13.74    1.1%
   19      1230     10.22    0.8%
   20      1279     11.35    0.8%

Quality and confidence:
param     error
r         0.118

Model:
Time ~=      301
    + r    49.18
              µ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 ~=    299.7
    + r    48.69
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     296.9     0.137    0.0%
    1     348.1     0.262    0.0%
    2     397.7     0.408    0.1%
    3     445.7     0.181    0.0%
    4     496.4     2.068    0.4%
    5       544     2.138    0.3%
    6     589.8     0.676    0.1%
    7     642.4      0.78    0.1%
    8       692     9.203    1.3%
    9     737.8     3.045    0.4%
   10     789.9     10.67    1.3%
   11     835.3     9.416    1.1%
   12     879.4     0.497    0.0%
   13     940.8     13.98    1.4%
   14     991.6     11.82    1.1%
   15      1034     7.531    0.7%
   16      1085     11.06    1.0%
   17      1127     3.736    0.3%
   18      1192     15.44    1.2%
   19      1226     12.23    0.9%
   20      1305      11.6    0.8%

Quality and confidence:
param     error
r         0.116

Model:
Time ~=      296
    + r    49.44
              µ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 ~=    303.5
    + r      145
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0       297      0.11    0.0%
    1     447.9     0.754    0.1%
    2     594.6     2.765    0.4%
    3     736.1      2.44    0.3%
    4     889.2     8.379    0.9%
    5      1034     8.481    0.8%
    6      1171      3.77    0.3%
    7      1322      11.2    0.8%
    8      1463      10.7    0.7%
    9      1608     7.779    0.4%
   10      1752      9.19    0.5%
   11      1901     4.698    0.2%
   12      2054      13.5    0.6%
   13      2196     12.81    0.5%
   14      2346     6.655    0.2%
   15      2480     14.11    0.5%
   16      2611     15.51    0.5%
   17      2775     8.184    0.2%
   18      2910     15.84    0.5%
   19      3068     16.54    0.5%
   20      3202     13.98    0.4%

Quality and confidence:
param     error
r         0.134

Model:
Time ~=    303.6
    + r    145.1
              µ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 ~=    300.5
    + r    48.27
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0       297     0.129    0.0%
    1     348.2     0.843    0.2%
    2     397.4      0.19    0.0%
    3     444.9     0.709    0.1%
    4     499.4     6.673    1.3%
    5     543.9     8.348    1.5%
    6     588.5      0.75    0.1%
    7     642.1     8.669    1.3%
    8     690.9     9.665    1.3%
    9     735.5     3.596    0.4%
   10     790.2     11.63    1.4%
   11     831.9     8.534    1.0%
   12     899.9     15.46    1.7%
   13     925.4     2.853    0.3%
   14       978      1.48    0.1%
   15      1027     7.246    0.7%
   16      1080     12.18    1.1%
   17      1120     2.062    0.1%
   18      1181     15.25    1.2%
   19      1232     15.88    1.2%
   20      1269     11.27    0.8%

Quality and confidence:
param     error
r         0.115

Model:
Time ~=    299.8
    + r     48.7
              µ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 ~=    300.8
    + r    48.17
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     297.1      0.27    0.0%
    1     348.8     0.138    0.0%
    2     397.2      0.18    0.0%
    3     445.3     0.635    0.1%
    4     494.9     1.457    0.2%
    5     544.5     7.856    1.4%
    6       590      4.46    0.7%
    7     639.8     0.505    0.0%
    8       689     8.054    1.1%
    9     735.9     4.902    0.6%
   10     784.2     8.299    1.0%
   11     830.7     5.104    0.6%
   12     878.7     8.331    0.9%
   13     922.2     0.384    0.0%
   14     983.3     9.568    0.9%
   15      1031     10.35    1.0%
   16      1086     14.56    1.3%
   17      1120     3.258    0.2%
   18      1167      2.65    0.2%
   19      1221      12.4    1.0%
   20      1272     15.27    1.1%

Quality and confidence:
param     error
r         0.095

Model:
Time ~=    299.4
    + r    48.55
              µ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 ~=    300.7
    + r    47.93
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     297.2     0.217    0.0%
    1     348.3     0.779    0.2%
    2     396.9      0.38    0.0%
    3     445.6     2.521    0.5%
    4     492.9     0.462    0.0%
    5     540.7     1.721    0.3%
    6     592.3     10.55    1.7%
    7     637.4     0.419    0.0%
    8     684.1     0.677    0.0%
    9     734.4     8.734    1.1%
   10     793.3     12.72    1.6%
   11     829.4     9.445    1.1%
   12     874.8     5.775    0.6%
   13     918.8     0.975    0.1%
   14       979      10.1    1.0%
   15      1036     14.87    1.4%
   16      1071     9.026    0.8%
   17      1129     14.91    1.3%
   18      1165      7.91    0.6%
   19      1213     9.398    0.7%
   20      1266     13.04    1.0%

Quality and confidence:
param     error
r         0.109

Model:
Time ~=    299.7
    + r    48.35
              µ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 ~=    300.3
    + r    48.14
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     297.2     0.204    0.0%
    1     347.7     0.307    0.0%
    2     397.3     0.767    0.1%
    3     444.6     0.363    0.0%
    4     493.6     0.332    0.0%
    5     541.2     1.723    0.3%
    6     591.1     7.752    1.3%
    7       638     0.574    0.0%
    8     693.6     11.65    1.6%
    9     742.1     14.16    1.9%
   10     783.8     9.709    1.2%
   11     838.3     12.55    1.4%
   12     873.3     0.334    0.0%
   13     921.9     2.575    0.2%
   14     980.5     7.885    0.8%
   15      1030     12.39    1.2%
   16      1077     12.03    1.1%
   17      1119     4.114    0.3%
   18      1177     15.73    1.3%
   19      1224     14.88    1.2%
   20      1270     12.77    1.0%

Quality and confidence:
param     error
r         0.111

Model:
Time ~=    299.1
    + r    48.58
              µ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 ~=    301.5
    + r    127.1
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     297.2     0.204    0.0%
    1       429      0.83    0.1%
    2     557.5     5.786    1.0%
    3       681     1.781    0.2%
    4     811.9     12.26    1.5%
    5     934.8      8.91    0.9%
    6      1081     14.39    1.3%
    7      1189     11.77    0.9%
    8      1321     13.97    1.0%
    9      1438      8.52    0.5%
   10      1570     11.27    0.7%
   11      1708     13.81    0.8%
   12      1835     12.47    0.6%
   13      1953     11.81    0.6%
   14      2090     14.31    0.6%
   15      2212     11.92    0.5%
   16      2360     13.55    0.5%
   17      2472     14.31    0.5%
   18      2598     12.36    0.4%
   19      2748     10.18    0.3%
   20      2849     14.04    0.4%

Quality and confidence:
param     error
r         0.157

Model:
Time ~=    298.1
    + r      128
              µ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 ~=    177.4
    + r    24.54
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     173.8     0.134    0.0%
    1       201     0.126    0.0%
    2     225.6     0.168    0.0%
    3     251.7     0.244    0.0%
    4       276     1.359    0.4%
    5     299.9     1.452    0.4%
    6     332.1     2.033    0.6%
    7     350.5     0.488    0.1%
    8     373.8     0.391    0.1%
    9     397.2     0.375    0.0%
   10     421.6     0.662    0.1%
   11     451.4     4.395    0.9%
   12     476.3     5.796    1.2%
   13     498.2     2.188    0.4%
   14     521.5     0.464    0.0%
   15     559.4      17.2    3.0%
   16     571.5     4.835    0.8%
   17     593.7     0.432    0.0%
   18     617.7     0.579    0.0%
   19       643     2.253    0.3%
   20     665.2     0.269    0.0%

Quality and confidence:
param     error
r         0.065

Model:
Time ~=    177.7
    + r    24.61
              µ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 ~=    300.1
    + r    47.63
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0       297     0.451    0.1%
    1     347.6      0.51    0.1%
    2       396     0.321    0.0%
    3     443.1     0.478    0.1%
    4       492     1.954    0.3%
    5     537.6     0.506    0.0%
    6     585.1     1.938    0.3%
    7       635     1.772    0.2%
    8     684.3     8.243    1.2%
    9     729.5     7.929    1.0%
   10     776.4      4.12    0.5%
   11     825.1     9.217    1.1%
   12     886.6     15.36    1.7%
   13     914.3     1.715    0.1%
   14       975     11.52    1.1%
   15      1017     8.634    0.8%
   16      1066     7.972    0.7%
   17      1123      12.5    1.1%
   18      1181     8.746    0.7%
   19      1210     13.51    1.1%
   20      1257     12.45    0.9%

Quality and confidence:
param     error
r         0.109

Model:
Time ~=    297.5
    + r    48.26
              µ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 ~=    378.8
    + n    11.91
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     347.5     0.183    0.0%
   20     589.7     2.327    0.3%
   40     830.5     1.588    0.1%
   60      1087     16.37    1.5%
   80      1333     16.45    1.2%
  100      1568     13.58    0.8%
  120      1800     12.33    0.6%
  140      2045     16.91    0.8%
  160      2303     10.06    0.4%
  180      2518     16.86    0.6%
  200      2765     14.23    0.5%
  220      2999     11.91    0.3%
  240      3248     9.486    0.2%
  260      3478     5.789    0.1%
  280      3729     13.02    0.3%
  300      3952     7.731    0.1%
  320      4208     9.179    0.2%
  340      4434     12.38    0.2%
  360      4748     43.29    0.9%
  380      4924     18.77    0.3%
  400      5143     12.13    0.2%
  420      5379     14.89    0.2%
  440      5609     10.19    0.1%
  460      5850     16.25    0.2%
  480      6087     17.68    0.2%
  500      6351      14.8    0.2%
  520      6592     16.16    0.2%
  540      6806     13.91    0.2%
  560      7050     20.15    0.2%
  580      7295     23.15    0.3%
  600      7534     22.36    0.2%
  620      7779     24.88    0.3%
  640      8000     28.35    0.3%
  660      8212     15.24    0.1%
  680      8493     38.42    0.4%
  700      8865     41.79    0.4%
  720      8956     20.85    0.2%
  740      9211     21.04    0.2%
  760      9451     30.33    0.3%
  780      9694     35.81    0.3%
  800      9908     13.69    0.1%
  820     10150     33.58    0.3%
  840     10380     13.64    0.1%
  860     10620     53.68    0.5%
  880     10870      30.7    0.2%
  900     11130     30.46    0.2%
  920     11310     22.65    0.2%
  940     11570     31.33    0.2%
  960     11810     25.77    0.2%
  980     12030     21.01    0.1%
 1000     12270     17.39    0.1%
 1020     12520     36.32    0.2%

Quality and confidence:
param     error
n         0.005

Model:
Time ~=    378.3
    + n    11.92
              µ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 ~=    292.5
    + r    1.922
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     292.5     0.297    0.1%
    1     294.8     1.326    0.4%

Quality and confidence:
param     error
r         0.453

Model:
Time ~=    292.5
    + r    2.268
              µ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 ~=    294.4
    + n    0.228
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     294.1      0.23    0.0%
   20     298.9     0.189    0.0%
   40     303.4     0.174    0.0%
   60     308.3     0.183    0.0%
   80     312.9     0.223    0.0%
  100     317.2     0.236    0.0%
  120       322     0.242    0.0%
  140     326.4     0.153    0.0%
  160     334.7      4.69    1.4%
  180     335.8     0.263    0.0%
  200     340.4     0.156    0.0%
  220     344.7     0.224    0.0%
  240       349     0.255    0.0%
  260       361     11.33    3.1%
  280       360     3.246    0.9%
  300     362.7      0.22    0.0%
  320     367.8     0.255    0.0%
  340       374      4.55    1.2%
  360     376.6     0.143    0.0%
  380     381.3     0.199    0.0%
  400     393.1     9.369    2.3%
  420     400.1     14.95    3.7%
  440       395     0.126    0.0%
  460     399.6     0.209    0.0%
  480     404.4     0.326    0.0%
  500     409.4     0.264    0.0%
  520     413.6     0.283    0.0%
  540     418.3     0.334    0.0%
  560     424.3     5.366    1.2%
  580     427.2      0.43    0.1%
  600     431.4     0.205    0.0%
  620     439.1     8.159    1.8%
  640     440.5     0.341    0.0%
  660     447.3     5.888    1.3%
  680     449.9     0.156    0.0%
  700     458.9     9.204    2.0%
  720     458.9     0.249    0.0%
  740     463.9     0.343    0.0%
  760     472.2     10.66    2.2%
  780       474     3.258    0.6%
  800     483.6         6    1.2%
  820     483.8     5.741    1.1%
  840     493.2     13.19    2.6%
  860     491.6     0.541    0.1%
  880     497.7     5.087    1.0%
  900     501.7     3.802    0.7%
  920     507.7     8.154    1.6%
  940     511.5     5.647    1.1%
  960     514.1      0.34    0.0%
  980     518.1     0.254    0.0%
 1000       523     0.216    0.0%
 1020     532.5     8.723    1.6%

Quality and confidence:
param     error
n             0

Model:
Time ~=      295
    + n     0.23
              µ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 ~=    297.1
    + r    54.13
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     297.1     0.154    0.0%
    1     351.3     0.365    0.1%

Quality and confidence:
param     error
r         0.132

Model:
Time ~=    297.1
    + r     54.2
              µ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 ~=    304.1
    + r    167.4
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     297.2     0.168    0.0%
    1       472     4.864    1.0%
    2     640.9     13.81    2.1%
    3     811.4     13.76    1.6%
    4     976.1     11.64    1.1%
    5      1135     7.968    0.7%
    6      1315     11.64    0.8%
    7      1473     13.64    0.9%
    8      1640     14.18    0.8%
    9      1811     9.843    0.5%
   10      1976     13.93    0.7%
   11      2149     14.93    0.6%
   12      2318     5.716    0.2%
   13      2491     6.435    0.2%
   14      2646     11.46    0.4%
   15      2816     17.58    0.6%
   16      2974     11.65    0.3%
   17      3161      9.11    0.2%
   18      3332     18.55    0.5%
   19      3501     10.75    0.3%
   20      3662     12.94    0.3%

Quality and confidence:
param     error
r         0.151

Model:
Time ~=    301.2
    + r      168
              µ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 ~=    303.7
    + r    299.9
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     292.8      0.18    0.0%
    1     605.7     4.157    0.6%
    2     904.7     2.545    0.2%
    3      1200     2.484    0.2%
    4      1505     9.396    0.6%
    5      1815     11.96    0.6%
    6      2102     12.55    0.5%
    7      2411     19.04    0.7%
    8      2700     10.19    0.3%
    9      3017      18.7    0.6%
   10      3304     7.119    0.2%
   11      3598     9.043    0.2%
   12      3917     12.17    0.3%
   13      4197     9.335    0.2%
   14      4510     13.62    0.3%
   15      4812     9.031    0.1%
   16      5097     26.99    0.5%
   17      5412     21.82    0.4%
   18      5704     12.35    0.2%
   19      6011     14.79    0.2%
   20      6306     25.33    0.4%

Quality and confidence:
param     error
r         0.176

Model:
Time ~=    303.3
    + r    300.2
              µ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 ~=    644.3
    + t    304.1
    + n    85.14
              µ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      1987     12.02    0.6%
    1    16      2313      5.64    0.2%
    2    16      2624     12.54    0.4%
    3    16      2928     14.23    0.4%
    4     0      1814      4.19    0.2%
    4     1      1943     5.556    0.2%
    4     2      1996     14.29    0.7%
    4     3      2090     16.19    0.7%
    4     4      2156     14.66    0.6%
    4     5      2237     12.89    0.5%
    4     6      2346     14.99    0.6%
    4     7      2414     13.74    0.5%
    4     8      2475     13.11    0.5%
    4     9      2556     17.99    0.7%
    4    10      2657     12.77    0.4%
    4    11      2734     13.61    0.4%
    4    12      2822     12.38    0.4%
    4    13      2938     10.08    0.3%
    4    14      3016     15.29    0.5%
    4    15      3115     13.31    0.4%
    4    16      3215     14.85    0.4%

Quality and confidence:
param     error
t         1.756
n         0.346

Model:
Time ~=    632.6
    + t    295.8
    + n    86.15
              µ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 ~=    185.9
    + r     40.3
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     183.1     0.118    0.0%
    1     227.2     0.125    0.0%
    2     267.2     0.203    0.0%
    3     307.7     0.287    0.0%
    4     346.2     0.116    0.0%
    5     385.5     0.482    0.1%
    6     428.6     0.759    0.1%
    7     472.3     9.168    1.9%
    8     505.7     0.583    0.1%
    9       548     8.219    1.4%
   10     585.5     4.434    0.7%
   11     636.2     8.797    1.3%
   12     674.4     5.732    0.8%
   13     708.8     2.054    0.2%
   14     746.5     1.388    0.1%
   15     792.3     9.695    1.2%
   16     825.4     3.179    0.3%
   17     875.6     2.975    0.3%
   18       914     2.929    0.3%
   19     969.8     15.08    1.5%
   20     991.4     1.099    0.1%

Quality and confidence:
param     error
r         0.082

Model:
Time ~=    184.5
    + r    40.55
              µ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 ~=    140.6
    + r    414.4
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     297.4     0.111    0.0%
    1     652.8     8.225    1.2%
    2      1023     10.33    1.0%
    3      1404     8.756    0.6%
    4      1783     17.16    0.9%
    5      2190     12.78    0.5%
    6      2573     14.03    0.5%
    7      2963     17.94    0.6%
    8      3343      9.52    0.2%
    9      3853     13.62    0.3%
   10      4226     26.07    0.6%
   11      4680     17.07    0.3%
   12      5066     27.74    0.5%
   13      5457     16.44    0.3%
   14      5883      25.6    0.4%
   15      6382     52.75    0.8%
   16      6729     29.02    0.4%
   17      7228      36.9    0.5%
   18      7745     17.78    0.2%
   19      8198     42.38    0.5%
   20      8602     31.97    0.3%

Quality and confidence:
param     error
r         1.018

Model:
Time ~=    128.7
    + r      417
              µ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 ~=      703
    + n       31
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     650.2      8.58    1.3%
    1     736.3     4.253    0.5%
    2     766.2     1.778    0.2%
    3       800     3.686    0.4%
    4     838.6     13.34    1.5%
    5     859.4     1.995    0.2%
    6     890.2     4.391    0.4%
    7     922.8     7.675    0.8%
    8     945.1     2.659    0.2%
    9     989.6      14.6    1.4%
   10      1004     7.338    0.7%
   11      1042     10.12    0.9%
   12      1062     7.252    0.6%
   13      1112     17.34    1.5%
   14      1146     11.13    0.9%
   15      1175     9.732    0.8%
   16      1197     10.97    0.9%

Quality and confidence:
param     error
n         0.256

Model:
Time ~=    693.8
    + n    31.95
              µ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 ~=    728.9
    + n    10.24
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     652.9      3.73    0.5%
    1     728.8     4.688    0.6%
    2     758.2     1.575    0.2%
    3     768.1     1.973    0.2%
    4       777     2.163    0.2%
    5     786.6     1.543    0.1%
    6     793.6     8.054    1.0%
    7     800.5     3.901    0.4%
    8     806.4     1.876    0.2%
    9     812.4     2.742    0.3%
   10     831.5     11.88    1.4%
   11     829.1     2.705    0.3%
   12       835     1.631    0.1%
   13     852.5     1.715    0.2%
   14     876.3     4.508    0.5%
   15     894.9     11.04    1.2%
   16     897.1     8.732    0.9%

Quality and confidence:
param     error
n         0.305

Model:
Time ~=    713.9
    + n     11.5
              µ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 ~=    198.6
    + r    389.4
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0       297     0.148    0.0%
    1     647.4     1.482    0.2%
    2      1006      7.39    0.7%
    3      1388     17.43    1.2%
    4      1732     10.31    0.5%
    5      2122     12.36    0.5%
    6      2510     14.42    0.5%
    7      2858      9.67    0.3%
    8      3215     25.59    0.7%
    9      3672     24.42    0.6%
   10      4039     11.75    0.2%
   11      4470      18.7    0.4%
   12      4867     28.73    0.5%
   13      5224     31.45    0.6%
   14      5594     15.45    0.2%
   15      5981     22.13    0.3%
   16      6377     37.36    0.5%
   17      6824     15.47    0.2%
   18      7362     24.78    0.3%
   19      7785     39.53    0.5%
   20      8204     37.38    0.4%

Quality and confidence:
param     error
r         0.957

Model:
Time ~=    169.8
    + r    393.4
              µ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 ~=    706.6
    + n    9.971
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     649.1     1.225    0.1%
    1       704     3.154    0.4%
    2     735.3     1.834    0.2%
    3     744.6     2.615    0.3%
    4     751.1     1.495    0.1%
    5     764.1     7.811    1.0%
    6     769.9     4.071    0.5%
    7       781     10.92    1.3%
    8     782.6     1.601    0.2%
    9     791.6     1.998    0.2%
   10     800.3      3.07    0.3%
   11     810.5     9.796    1.2%
   12     811.7     1.986    0.2%
   13     831.8     8.037    0.9%
   14     841.2     2.452    0.2%
   15       872     12.67    1.4%
   16     868.5     4.935    0.5%

Quality and confidence:
param     error
n         0.252

Model:
Time ~=    695.5
    + n    10.92
              µ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 ~=    199.2
    + r    324.1
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     299.4     0.115    0.0%
    1     578.4     1.563    0.2%
    2     871.1     3.557    0.4%
    3      1194     9.069    0.7%
    4      1481     10.34    0.6%
    5      1794     14.96    0.8%
    6      2107      10.8    0.5%
    7      2419     14.51    0.6%
    8      2718     13.82    0.5%
    9      3088     24.67    0.7%
   10      3393     18.46    0.5%
   11      3729     13.01    0.3%
   12      4052     12.34    0.3%
   13      4393     20.89    0.4%
   14      4710      24.1    0.5%
   15      5067      26.3    0.5%
   16      5366     15.51    0.2%
   17      5727     21.18    0.3%
   18      6108      30.7    0.5%
   19      6489     39.81    0.6%
   20      6793     46.56    0.6%

Quality and confidence:
param     error
r         0.673

Model:
Time ~=    185.9
    + r      326
              µ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 ~=    660.3
    + n    67.91
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0       581     2.408    0.4%
    1     706.3     2.272    0.3%
    2     816.4     4.873    0.5%
    3     873.5     3.062    0.3%
    4       940     0.905    0.0%
    5      1001     2.159    0.2%
    6      1065     8.262    0.7%
    7      1124     1.572    0.1%
    8      1194     11.77    0.9%
    9      1275     14.79    1.1%
   10      1331     10.49    0.7%
   11      1401     14.96    1.0%
   12      1454     11.55    0.7%
   13      1526     14.71    0.9%
   14      1598     13.88    0.8%
   15      1684     14.34    0.8%
   16      1757     11.41    0.6%

Quality and confidence:
param     error
n          0.36

Model:
Time ~=      644
    + n    69.01
              µ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 ~=    206.1
    + r      293
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     304.4     4.607    1.5%
    1     547.6     1.994    0.3%
    2     810.5     2.817    0.3%
    3      1092     9.169    0.8%
    4      1361     4.554    0.3%
    5      1647      9.53    0.5%
    6      1943     15.25    0.7%
    7      2220      8.59    0.3%
    8      2480     8.927    0.3%
    9      2828     15.09    0.5%
   10      3101     18.26    0.5%
   11      3429     15.42    0.4%
   12      3721     14.78    0.3%
   13      3995     23.01    0.5%
   14      4269     21.92    0.5%
   15      4613     31.02    0.6%
   16      4885     24.24    0.4%
   17      5170     28.09    0.5%
   18      5586     37.68    0.6%
   19      5894     27.92    0.4%
   20      6194     43.67    0.7%

Quality and confidence:
param     error
r         0.651

Model:
Time ~=    193.6
    + r    295.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 ~=    607.4
    + n    9.444
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     553.5     10.47    1.8%
    1     601.9     2.071    0.3%
    2     634.2     1.478    0.2%
    3     643.7     3.552    0.5%
    4     649.2     1.278    0.1%
    5     662.7     7.587    1.1%
    6       667      3.37    0.5%
    7     685.6     12.51    1.8%
    8       681     2.357    0.3%
    9     687.6      8.16    1.1%
   10     690.3     1.283    0.1%
   11     701.3     2.502    0.3%
   12     713.2     4.288    0.6%
   13       726     3.723    0.5%
   14     736.3     1.607    0.2%
   15     749.4      1.08    0.1%
   16     760.4      4.31    0.5%

Quality and confidence:
param     error
n         0.237

Model:
Time ~=      598
    + n    10.12
              µ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 ~=    184.3
    + r    423.2
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     299.3     0.279    0.0%
    1     682.8     1.676    0.2%
    2      1062     9.045    0.8%
    3      1468     12.47    0.8%
    4      1867     10.73    0.5%
    5      2274     12.73    0.5%
    6      2672     13.26    0.4%
    7      3092     16.72    0.5%
    8      3453      17.6    0.5%
    9      3976<truncated>...

Parity Bot added 2 commits February 17, 2022 17:04
…--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
frame/contracts/src/weights.rs Outdated Show resolved Hide resolved
frame/contracts/src/weights.rs Outdated Show resolved Hide resolved
frame/contracts/src/weights.rs Outdated Show resolved Hide resolved
frame/contracts/src/weights.rs Outdated Show resolved Hide resolved
@athei athei mentioned this pull request Feb 18, 2022
@athei
Copy link
Member Author

athei commented Feb 18, 2022

/benchmark runtime pallet pallet_contracts

@parity-benchapp
Copy link

parity-benchapp bot commented Feb 18, 2022

Benchmark Runtime Pallet for branch "at-disable-stack-height-metering" 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.512
              µs

Reads = 1
Writes = 0

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

Model:
Time ~=    1.512
              µ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 ~=    7.924
    + k    0.742
              µs

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

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

Data points distribution:
    k   mean µs  sigma µs       %
    0     10.11      0.05    0.4%
   20     26.12     0.124    0.4%
   40     39.96      0.25    0.6%
   60     51.99     0.242    0.4%
   80     64.25     0.261    0.4%
  100     79.45     0.519    0.6%
  120      92.2     0.407    0.4%
  140     107.7     0.393    0.3%
  160     122.7      0.67    0.5%
  180     137.8     0.679    0.4%
  200     152.1      0.47    0.3%
  220     166.6     0.933    0.5%
  240       182     0.953    0.5%
  260     197.1     0.543    0.2%
  280       213     0.275    0.1%
  300     227.9     1.033    0.4%
  320     243.3     0.546    0.2%
  340     260.3      0.69    0.2%
  360     276.3     1.147    0.4%
  380       291     1.219    0.4%
  400     309.2     1.318    0.4%
  420     322.7     1.047    0.3%
  440     337.3     0.929    0.2%
  460     351.6     1.073    0.3%
  480     365.4     0.906    0.2%
  500     383.7     1.597    0.4%
  520     397.4      0.96    0.2%
  540     411.3     1.693    0.4%
  560       427     1.182    0.2%
  580     439.5     0.973    0.2%
  600     455.5     1.509    0.3%
  620     471.4     7.016    1.4%
  640     486.3     2.781    0.5%
  660     500.9     1.544    0.3%
  680       515     1.775    0.3%
  700     530.8     4.571    0.8%
  720     544.1     2.011    0.3%
  740       557     1.208    0.2%
  760     571.3     1.335    0.2%
  780       586     1.575    0.2%
  800     609.5     9.905    1.6%
  820     617.5     2.482    0.4%
  840     634.3     3.482    0.5%
  860     646.7     2.347    0.3%
  880       660     1.523    0.2%
  900     672.8     2.084    0.3%
  920       686     1.956    0.2%
  940     696.4     1.688    0.2%
  960     708.9     1.835    0.2%
  980     729.1     2.909    0.3%
 1000     743.7      2.17    0.2%
 1020     758.8     2.286    0.3%

Quality and confidence:
param     error
k             0

Model:
Time ~=    8.089
    + k    0.741
              µ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 ~=    8.729
    + q    2.272
              µs

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

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

Data points distribution:
    q   mean µs  sigma µs       %
    0     1.507     0.025    1.6%
   20     57.48      0.14    0.2%
   40     102.2     0.742    0.7%
   60     151.4     0.591    0.3%
   80     195.6     2.141    1.0%
  100     233.2     1.855    0.7%
  120     287.6     1.886    0.6%
  140     334.2     5.042    1.5%
  160     367.5     2.394    0.6%
  180     417.8      2.65    0.6%
  200     452.3     2.103    0.4%
  220     508.6     8.117    1.5%
  240     573.1     5.073    0.8%
  260     604.6     7.919    1.3%
  280     673.5     7.802    1.1%
  300     703.8     7.499    1.0%
  320     745.1     8.544    1.1%
  340     763.4     11.21    1.4%
  360     811.2      9.08    1.1%
  380     871.1     8.885    1.0%
  400     890.1     13.54    1.5%
  420     927.9     13.36    1.4%
  440      1002     11.97    1.1%
  460      1046     11.61    1.1%
  480      1091      10.1    0.9%
  500      1093     9.337    0.8%
  520      1173     12.28    1.0%
  540      1220     30.28    2.4%
  560      1270     8.943    0.7%
  580      1308     9.402    0.7%
  600      1365     14.31    1.0%
  620      1371     15.33    1.1%
  640      1460     15.64    1.0%
  660      1511     11.73    0.7%
  680      1500     13.18    0.8%
  700      1540      16.7    1.0%
  720      1642     16.14    0.9%
  740      1589      13.3    0.8%
  760      1660     13.13    0.7%
  780      1774     14.28    0.8%
  800      1817      17.7    0.9%
  820      1792     10.35    0.5%
  840      1910     19.83    1.0%
  860      1966     18.15    0.9%
  880      1982     18.01    0.9%
  900      2112     11.36    0.5%
  920      2146     12.34    0.5%
  940      2195     12.18    0.5%
  960      2238     10.16    0.4%
  980      2266     19.95    0.8%
 1000      2366     19.06    0.8%
 1020      2411     22.99    0.9%

Quality and confidence:
param     error
q         0.005

Model:
Time ~=        0
    + q    2.287
              µ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 ~=     20.8
    + c     0.05
              µs

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

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

Data points distribution:
    c   mean µs  sigma µs       %
    0     20.45     0.116    0.5%
 2621     159.6     0.206    0.1%
 5242     287.3     0.402    0.1%
 7863     421.3     0.878    0.2%
10484     549.8     8.804    1.6%
13105     696.9     12.49    1.7%
15726     826.2      13.3    1.6%
18347     951.1     11.53    1.2%
20968      1075     10.39    0.9%
23589      1210     15.66    1.2%
26210      1360     10.17    0.7%
28831      1498     15.85    1.0%
31452      1623     16.23    0.9%
34073      1754     13.58    0.7%
36694      1886     14.64    0.7%
39315      2097      12.3    0.5%
41936      2133     14.98    0.7%
44557      2270        14    0.6%
47178      2404     9.745    0.4%
49799      2580     20.64    0.7%
52420      2712     15.78    0.5%
55041      2826     19.49    0.6%
57662      2958     14.01    0.4%
60283      3079     11.57    0.3%
62904      3211     15.05    0.4%
65525      3352     15.53    0.4%
68146      3512     10.55    0.3%
70767      3625     8.407    0.2%
73388      3753     3.211    0.0%
76009      3882     12.79    0.3%
78630      4014     13.74    0.3%
81251      4133     15.77    0.3%
83872      4272     15.37    0.3%
86493      4384     10.36    0.2%
89114      4523     19.62    0.4%
91735      4626     11.85    0.2%
94356      4773     16.92    0.3%
96977      4905     14.32    0.2%
99598      5140     19.18    0.3%
102219      5276     23.75    0.4%
104840      5398     18.42    0.3%
107461      5586     45.14    0.8%
110082      5662     23.21    0.4%
112703      5796     17.01    0.2%
115324      5912     20.63    0.3%
117945      6034     18.03    0.2%
120566      6156     15.82    0.2%
123187      6299     18.64    0.2%
125808      6534     12.82    0.1%
128429      6551      22.4    0.3%
131050      6684     19.23    0.2%

Quality and confidence:
param     error
c             0

Model:
Time ~=    15.21
    + c    0.051
              µ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 ~=    226.9
    + 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.4     0.129    0.0%
 2621     372.3     0.324    0.0%
 5242     518.1     5.287    1.0%
 7863     663.7     6.799    1.0%
10484     800.1     8.154    1.0%
13105     959.9     8.087    0.8%
15726      1102     10.94    0.9%
18347      1243      15.3    1.2%
20968      1377     14.54    1.0%
23589      1505     11.48    0.7%
26210      1693     13.49    0.7%
28831      1838     14.27    0.7%
31452      1963      12.6    0.6%
34073      2103     13.07    0.6%
36694      2237     15.22    0.6%
39315      2394      9.54    0.3%
41936      2525     17.16    0.6%
44557      2658     2.704    0.1%
47178      2802     12.18    0.4%
49799      3067     10.81    0.3%
52420      3160     14.89    0.4%
55041      3302     6.903    0.2%
57662      3413     11.68    0.3%
60283      3550     13.74    0.3%
62904      3691     13.71    0.3%
65525      3838     10.76    0.2%
68146      3986     16.95    0.4%
70767      4124     10.23    0.2%
73388      4273     26.54    0.6%
76009      4400     19.64    0.4%
78630      4549     23.79    0.5%
81251      4671      9.61    0.2%
83872      4813     13.88    0.2%
86493      4976     25.03    0.5%
89114      5076      20.7    0.4%
91735      5212     17.99    0.3%
94356      5343     11.75    0.2%
96977      5495     12.95    0.2%
99598      5818     16.76    0.2%
102219      5951        14    0.2%
104840      6097     14.61    0.2%
107461      6223     12.74    0.2%
110082      6362     14.91    0.2%
112703      6501     13.28    0.2%
115324      6635     19.65    0.2%
117945      6778     12.46    0.1%
120566      6932     18.83    0.2%
123187      7061        19    0.2%
125808      7186     10.81    0.1%
128429      7336     18.28    0.2%
131050      7463     21.91    0.2%

Quality and confidence:
param     error
c             0

Model:
Time ~=    218.4
    + c    0.055
              µ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 ~=      283
    + c    0.127
    + 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      2060     6.599    0.3%
 1284 1048576      2051     14.74    0.7%
 2568 1048576      2212     16.03    0.7%
 3852 1048576      2367     15.21    0.6%
 5136 1048576      2550     16.61    0.6%
 6420 1048576      2717     12.54    0.4%
 7704 1048576      2859     15.78    0.5%
 8988 1048576      3039     15.61    0.5%
10272 1048576      3206      13.3    0.4%
11556 1048576      3360     20.66    0.6%
12840 1048576      3533     12.77    0.3%
14124 1048576      3698     10.87    0.2%
15408 1048576      3852     17.34    0.4%
16692 1048576      4047     8.763    0.2%
17976 1048576      4207     10.35    0.2%
19260 1048576      4362     13.32    0.3%
20544 1048576      4524     12.55    0.2%
21828 1048576      4687     15.49    0.3%
23112 1048576      4832      16.6    0.3%
24396 1048576      4993     8.279    0.1%
25680 1048576      5189     15.82    0.3%
26964 1048576      5356     13.91    0.2%
28248 1048576      5514     20.24    0.3%
29532 1048576      5647     16.05    0.2%
30816 1048576      5810     14.53    0.2%
32100 1048576      5981      23.1    0.3%
33384 1048576      6207     16.74    0.2%
34668 1048576      6367     26.62    0.4%
35952 1048576      6511      13.8    0.2%
37236 1048576      6675     20.11    0.3%
38520 1048576      6822     22.98    0.3%
39804 1048576      6972      14.3    0.2%
41088 1048576      7157     39.57    0.5%
42372 1048576      7304     26.15    0.3%
43656 1048576      7462     22.59    0.3%
44940 1048576      7635     38.62    0.5%
46224 1048576      7789     38.54    0.4%
47508 1048576      7942     21.07    0.2%
48792 1048576      8060     18.19    0.2%
50076 1048576      8353     19.31    0.2%
51360 1048576      8511     37.55    0.4%
52644 1048576      8680     35.39    0.4%
53928 1048576      8813     31.85    0.3%
55212 1048576      8967      16.9    0.1%
56496 1048576      9163     46.27    0.5%
57780 1048576      9281     28.24    0.3%
59064 1048576      9445     31.78    0.3%
60348 1048576      9606     26.55    0.2%
61632 1048576      9750     28.26    0.2%
62916 1048576      9914      16.6    0.1%
64200 1048576     10050     32.91    0.3%
64226     0      8444     30.68    0.3%
64226 20971      8481     17.96    0.2%
64226 41942      8512     28.04    0.3%
64226 62913      8553     20.52    0.2%
64226 83884      8585     20.08    0.2%
64226 104855      8617     16.81    0.1%
64226 125826      8630     20.64    0.2%
64226 146797      8661     22.86    0.2%
64226 167768      8713     21.93    0.2%
64226 188739      8727     21.86    0.2%
64226 209710      8756     11.73    0.1%
64226 230681      8798      33.4    0.3%
64226 251652      8830     22.04    0.2%
64226 272623      8881     34.15    0.3%
64226 293594      8912     34.19    0.3%
64226 314565      8925     25.31    0.2%
64226 335536      8965     17.87    0.1%
64226 356507      8984     21.97    0.2%
64226 377478      9043     34.76    0.3%
64226 398449      9060     35.85    0.3%
64226 419420      9089     24.36    0.2%
64226 440391      9115     32.29    0.3%
64226 461362      9146      27.1    0.2%
64226 482333      9194     18.68    0.2%
64226 503304      9204     21.38    0.2%
64226 524275      9231     22.22    0.2%
64226 545246      9279     19.64    0.2%
64226 566217      9319     26.97    0.2%
64226 587188      9353     36.25    0.3%
64226 608159      9375     28.24    0.3%
64226 629130      9431     35.26    0.3%
64226 650101      9430     19.36    0.2%
64226 671072      9482     16.79    0.1%
64226 692043      9500     28.53    0.3%
64226 713014      9544     19.79    0.2%
64226 733985      9573        33    0.3%
64226 754956      9587     16.13    0.1%
64226 775927      9649     33.14    0.3%
64226 796898      9674      33.2    0.3%
64226 817869      9714     39.43    0.4%
64226 838840      9739     20.93    0.2%
64226 859811      9771      37.3    0.3%
64226 880782      9801     29.39    0.2%
64226 901753      9856     36.58    0.3%
64226 922724      9887      28.1    0.2%
64226 943695      9903     17.13    0.1%
64226 964666      9946     19.79    0.1%
64226 985637      9959     19.31    0.1%
64226 1006608     10000     23.43    0.2%
64226 1027579     10000     18.35    0.1%
64226 1048550     10060     26.33    0.2%

Quality and confidence:
param     error
c             0
s             0

Model:
Time ~=    265.7
    + c    0.127
    + 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 ~=    174.4
    + 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     173.4     1.319    0.7%
20971     209.1     1.454    0.6%
41942     243.1     0.554    0.2%
62913     278.3     0.371    0.1%
83884     313.4     0.644    0.2%
104855     348.1     0.937    0.2%
125826       383     0.917    0.2%
146797     417.1     0.979    0.2%
167768     452.5     1.664    0.3%
188739     488.4     6.651    1.3%
209710       525     9.401    1.7%
230681     561.4     11.42    2.0%
251652     592.9     8.452    1.4%
272623     625.5     4.517    0.7%
293594     660.8      4.37    0.6%
314565       697     6.507    0.9%
335536     736.5     13.94    1.8%
356507     774.7     8.301    1.0%
377478     802.9     9.912    1.2%
398449     838.7     14.58    1.7%
419420     875.2     13.82    1.5%
440391     915.9     15.97    1.7%
461362       941     13.12    1.3%
482333     968.1      0.91    0.0%
503304      1008     7.146    0.7%
524275      1051     17.14    1.6%
545246      1072     1.533    0.1%
566217      1114     11.96    1.0%
587188      1154     16.29    1.4%
608159      1202     13.78    1.1%
629130      1224     13.89    1.1%
650101      1260     14.64    1.1%
671072      1296     17.01    1.3%
692043      1333     16.55    1.2%
713014      1357      11.3    0.8%
733985      1398     14.96    1.0%
754956      1422      5.03    0.3%
775927      1456      0.88    0.0%
796898      1498     12.92    0.8%
817869      1529      9.32    0.6%
838840      1577     15.81    1.0%
859811      1606     15.02    0.9%
880782      1639     13.77    0.8%
901753      1675      13.3    0.7%
922724      1724     18.68    1.0%
943695      1766     18.05    1.0%
964666      1780     14.76    0.8%
985637      1815     14.76    0.8%
1006608      1844     13.11    0.7%
1027579      1892     14.08    0.7%
1048550      1911     8.309    0.4%

Quality and confidence:
param     error
s             0

Model:
Time ~=    173.8
    + 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
              µs

Reads = 4
Writes = 2

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

Model:
Time ~=      140
              µ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 ~=    47.28
    + c     0.05
              µs

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

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

Data points distribution:
    c   mean µs  sigma µs       %
    0     44.27     0.108    0.2%
 1310     112.9     0.792    0.7%
 2620     179.4     1.589    0.8%
 3930     244.7     0.827    0.3%
 5240       313     1.811    0.5%
 6550     381.3      5.53    1.4%
 7860     442.5     0.612    0.1%
 9170     506.5     7.594    1.4%
10480       565     0.435    0.0%
11790     638.5     15.23    2.3%
13100     712.2     8.192    1.1%
14410     775.2     10.07    1.2%
15720     842.9     14.75    1.7%
17030     909.7     16.27    1.7%
18340     961.8     10.83    1.1%
19650      1033     14.59    1.4%
20960      1098     15.75    1.4%
22270      1146     8.674    0.7%
23580      1217     14.52    1.1%
24890      1325     18.43    1.3%
26200      1389     13.81    0.9%
27510      1458     16.07    1.1%
28820      1513     13.68    0.9%
30130      1581     16.25    1.0%
31440      1641     12.73    0.7%
32750      1701     14.85    0.8%
34060      1768     13.47    0.7%
35370      1833     14.27    0.7%
36680      1904     10.08    0.5%
37990      1965     16.07    0.8%
39300      2014     15.47    0.7%
40610      2083     10.42    0.5%
41920      2142     15.53    0.7%
43230      2202     14.39    0.6%
44540      2269     11.78    0.5%
45850      2337     17.17    0.7%
47160      2393     20.52    0.8%
48470      2468     12.14    0.4%
49780      2598     9.496    0.3%
51090      2651     12.42    0.4%
52400      2720     11.36    0.4%
53710      2786     12.21    0.4%
55020      2853      15.1    0.5%
56330      2912     12.45    0.4%
57640      2980      12.4    0.4%
58950      3037     14.01    0.4%
60260      3090     8.679    0.2%
61570      3152     12.46    0.3%
62880      3222     7.272    0.2%
64190      3275      25.1    0.7%
65500      3343     17.65    0.5%

Quality and confidence:
param     error
c             0

Model:
Time ~=    44.29
    + c    0.051
              µ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.36
              µs

Reads = 1
Writes = 3

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

Model:
Time ~=    24.36
              µ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.4
    + r    49.99
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     219.6     0.278    0.1%
    1     267.3     0.254    0.0%
    2     321.7     7.661    2.3%
    3     368.2     0.359    0.0%
    4       420     1.143    0.2%
    5     469.2     1.399    0.2%
    6       519     1.123    0.2%
    7     584.7     17.87    3.0%
    8     623.8     7.836    1.2%
    9     673.4     8.861    1.3%
   10       727     12.33    1.6%
   11     771.4     9.336    1.2%
   12     817.2     1.669    0.2%
   13     885.2     9.725    1.0%
   14     923.5     8.603    0.9%
   15     971.8     4.134    0.4%
   16      1024     12.25    1.1%
   17      1077     12.96    1.2%
   18      1129     15.14    1.3%
   19      1176      14.1    1.1%
   20      1225     13.58    1.1%

Quality and confidence:
param     error
r         0.119

Model:
Time ~=    219.6
    + r     50.4
              µ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 ~=    113.8
    + r    366.8
              µ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.319    0.1%
    1     529.3     1.608    0.3%
    2       857     7.924    0.9%
    3      1215     10.98    0.9%
    4      1557     16.01    1.0%
    5      1941     8.516    0.4%
    6      2278     18.53    0.8%
    7      2633     14.85    0.5%
    8      2998     10.75    0.3%
    9      3395     6.698    0.1%
   10      3710     15.32    0.4%
   11      4152     8.899    0.2%
   12      4529     18.97    0.4%
   13      4906     23.74    0.4%
   14      5158     24.04    0.4%
   15      5546     16.73    0.3%
   16      6092     14.11    0.2%
   17      6377      20.5    0.3%
   18      6910     35.63    0.5%
   19      7232     26.82    0.3%
   20      7402     23.63    0.3%

Quality and confidence:
param     error
r         0.843

Model:
Time ~=      102
    + r      369
              µ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.2
    + r    21.31
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     211.9     0.363    0.1%
    1     235.4     0.262    0.1%
    2     256.9     0.287    0.1%
    3     278.4     0.208    0.0%
    4     299.4     0.347    0.1%
    5     320.2     0.259    0.0%
    6     344.1     0.382    0.1%
    7     363.6     0.309    0.0%
    8     383.9      0.34    0.0%
    9     406.4     3.873    0.9%
   10     430.4     5.362    1.2%
   11     450.1     0.538    0.1%
   12     470.7     0.931    0.1%
   13     495.4     5.883    1.1%
   14     513.4     0.992    0.1%
   15     542.2     10.63    1.9%
   16     557.8     6.878    1.2%
   17     580.6     10.17    1.7%
   18     597.5     3.046    0.5%
   19     623.7     11.94    1.9%
   20     640.3     7.612    1.1%

Quality and confidence:
param     error
r         0.063

Model:
Time ~=    213.5
    + r    21.51
              µ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 ~=    219.4
    + r    50.04
              µ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.14    0.0%
    1     268.1     0.176    0.0%
    2     322.8     8.422    2.6%
    3     373.9     5.293    1.4%
    4     420.1     0.747    0.1%
    5     476.3     8.525    1.7%
    6     521.2      1.54    0.2%
    7       587     12.75    2.1%
    8     620.9     2.315    0.3%
    9     670.8     2.466    0.3%
   10       719     1.244    0.1%
   11     769.5     4.403    0.5%
   12     818.8     4.735    0.5%
   13     866.1     0.881    0.1%
   14     922.7     2.434    0.2%
   15     973.7     8.249    0.8%
   16      1028     11.02    1.0%
   17      1078     10.43    0.9%
   18      1127     11.43    1.0%
   19      1169     5.271    0.4%
   20      1224     10.87    0.8%

Quality and confidence:
param     error
r         0.095

Model:
Time ~=    220.6
    + r    50.19
              µ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 ~=    218.9
    + r    49.45
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.2     0.263    0.1%
    1     267.2     0.385    0.1%
    2     317.5     0.469    0.1%
    3     366.3     0.404    0.1%
    4     420.3     2.555    0.6%
    5     467.8     0.629    0.1%
    6       516     0.588    0.1%
    7     575.6     11.67    2.0%
    8     615.2      2.27    0.3%
    9     667.5     6.914    1.0%
   10     711.4      0.79    0.1%
   11     765.8      8.44    1.1%
   12     814.7     9.328    1.1%
   13       858     0.822    0.0%
   14     919.2     10.08    1.0%
   15     967.8     8.406    0.8%
   16      1017     11.27    1.1%
   17      1072     13.69    1.2%
   18      1116     13.37    1.1%
   19      1164     10.84    0.9%
   20      1206     9.651    0.8%

Quality and confidence:
param     error
r         0.099

Model:
Time ~=    218.1
    + r    49.81
              µ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 ~=    222.8
    + r    141.9
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     214.8     0.252    0.1%
    1     361.6     0.652    0.1%
    2     508.7     9.505    1.8%
    3     649.5     8.914    1.3%
    4     797.5      11.5    1.4%
    5     940.2      9.94    1.0%
    6      1084     9.575    0.8%
    7      1234     9.849    0.7%
    8      1359     16.79    1.2%
    9      1496     14.61    0.9%
   10      1638     10.62    0.6%
   11      1783     11.59    0.6%
   12      1919      14.8    0.7%
   13      2066     7.945    0.3%
   14      2209     13.15    0.5%
   15      2350     11.36    0.4%
   16      2535     6.104    0.2%
   17      2659     14.75    0.5%
   18      2770     6.038    0.2%
   19      2936     18.34    0.6%
   20      3048     5.467    0.1%

Quality and confidence:
param     error
r         0.188

Model:
Time ~=    223.1
    + r    142.2
              µ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.2
    + r    49.47
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     214.8     0.071    0.0%
    1     267.2     0.372    0.1%
    2     318.1     0.409    0.1%
    3     366.4     0.483    0.1%
    4     417.8     0.895    0.2%
    5     466.2     0.816    0.1%
    6     516.8     7.015    1.3%
    7     565.3     0.737    0.1%
    8     617.8     9.813    1.5%
    9     668.6     9.579    1.4%
   10     714.8     8.223    1.1%
   11     760.6     2.267    0.2%
   12     808.1     0.888    0.1%
   13     865.5     9.057    1.0%
   14     921.9     12.94    1.4%
   15     965.5     11.13    1.1%
   16      1021     14.14    1.3%
   17      1067     13.34    1.2%
   18      1116      12.9    1.1%
   19      1161     10.61    0.9%
   20      1215     13.03    1.0%

Quality and confidence:
param     error
r         0.103

Model:
Time ~=    216.6
    + r    49.95
              µ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 ~=    219.1
    + r    49.34
              µ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.221    0.1%
    1     267.7     0.435    0.1%
    2     321.2     8.425    2.6%
    3     366.6     0.588    0.1%
    4       417     0.688    0.1%
    5     467.9      4.14    0.8%
    6     514.3     1.132    0.2%
    7     573.3     14.32    2.4%
    8     615.4     1.969    0.3%
    9     662.1     0.858    0.1%
   10       716     8.451    1.1%
   11     768.3     11.22    1.4%
   12     813.7     8.882    1.0%
   13     858.4     4.402    0.5%
   14       911     0.787    0.0%
   15     959.7     1.604    0.1%
   16      1012     8.358    0.8%
   17      1060     8.739    0.8%
   18      1109     7.895    0.7%
   19      1161     13.97    1.2%
   20      1220     12.51    1.0%

Quality and confidence:
param     error
r         0.093

Model:
Time ~=    218.3
    + r    49.65
              µ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 ~=    217.7
    + r    49.27
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     214.9     0.265    0.1%
    1     267.1     0.197    0.0%
    2     317.2     0.425    0.1%
    3     365.3     0.644    0.1%
    4     415.6     0.521    0.1%
    5     464.2     0.987    0.2%
    6     512.3     0.952    0.1%
    7     563.4     0.469    0.0%
    8     611.8     0.757    0.1%
    9     662.2     5.677    0.8%
   10       710     6.131    0.8%
   11     756.7     0.856    0.1%
   12       804     1.344    0.1%
   13     855.7     1.354    0.1%
   14     917.2     13.16    1.4%
   15     975.5      16.8    1.7%
   16      1015     13.37    1.3%
   17      1063     12.26    1.1%
   18      1108     13.34    1.2%
   19      1174     17.68    1.5%
   20      1221     3.523    0.2%

Quality and confidence:
param     error
r          0.11

Model:
Time ~=    213.1
    + r    50.09
              µ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 ~=    218.5
    + r    49.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     0.216    0.1%
    1     267.1     0.605    0.2%
    2     317.3     0.331    0.1%
    3     366.3     1.487    0.4%
    4     418.6     3.355    0.8%
    5       465     1.497    0.3%
    6       516     4.271    0.8%
    7     564.2      1.04    0.1%
    8     620.8     9.584    1.5%
    9     661.5     0.933    0.1%
   10     710.3     1.848    0.2%
   11     759.6     5.345    0.7%
   12       810     9.943    1.2%
   13       862      11.7    1.3%
   14     916.9     9.533    1.0%
   15     964.7     10.32    1.0%
   16      1012     12.51    1.2%
   17      1060     11.84    1.1%
   18      1109      10.5    0.9%
   19      1154     6.741    0.5%
   20      1222     10.57    0.8%

Quality and confidence:
param     error
r         0.095

Model:
Time ~=    216.8
    + r    49.72
              µ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 ~=    228.3
    + r    123.5
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     220.3     0.285    0.1%
    1     352.9     1.266    0.3%
    2     479.6     2.308    0.4%
    3     596.5     8.263    1.3%
    4     718.7     9.227    1.2%
    5     841.2     8.696    1.0%
    6     968.9     11.49    1.1%
    7      1088     6.538    0.6%
    8      1215      13.6    1.1%
    9      1336     13.54    1.0%
   10      1469        18    1.2%
   11      1586     11.19    0.7%
   12      1715     13.65    0.7%
   13      1841     16.79    0.9%
   14      1953     13.56    0.6%
   15      2086     16.05    0.7%
   16      2208     6.662    0.3%
   17      2327     16.57    0.7%
   18      2455     13.58    0.5%
   19      2595     11.43    0.4%
   20      2714     14.83    0.5%

Quality and confidence:
param     error
r         0.148

Model:
Time ~=      223
    + r    124.2
              µ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.3
    + r     25.6
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     123.7     0.179    0.1%
    1     152.1     0.236    0.1%
    2       178     0.159    0.0%
    3     205.3     1.732    0.8%
    4     229.7     0.203    0.0%
    5     254.9     0.158    0.0%
    6     282.5     0.304    0.1%
    7     307.5     0.454    0.1%
    8     331.9     0.726    0.2%
    9     357.8     1.527    0.4%
   10     382.4     0.672    0.1%
   11     411.5     0.459    0.1%
   12     435.5     0.422    0.0%
   13     461.6     2.291    0.4%
   14     485.6     0.701    0.1%
   15     513.7     0.311    0.0%
   16       536     0.269    0.0%
   17     561.3     0.354    0.0%
   18     589.5     6.561    1.1%
   19     612.4     3.761    0.6%
   20     636.1     0.389    0.0%

Quality and confidence:
param     error
r         0.027

Model:
Time ~=    127.2
    + r     25.6
              µ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 ~=    218.8
    + r     48.7
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     214.8     0.311    0.1%
    1     266.2     0.234    0.0%
    2     318.6     4.524    1.4%
    3     364.4     0.543    0.1%
    4     416.4      3.83    0.9%
    5     464.6     4.656    1.0%
    6     511.3     1.341    0.2%
    7     567.5     8.822    1.5%
    8       613     7.427    1.2%
    9     656.9     2.845    0.4%
   10       705     4.776    0.6%
   11     755.5     10.03    1.3%
   12     811.6     11.84    1.4%
   13     853.6     12.08    1.4%
   14     901.1      0.64    0.0%
   15       956     10.42    1.0%
   16     996.9     1.288    0.1%
   17      1046      6.73    0.6%
   18      1108     11.87    1.0%
   19      1148     12.63    1.0%
   20      1203     14.56    1.2%

Quality and confidence:
param     error
r         0.098

Model:
Time ~=      218
    + r    49.06
              µ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 ~=    295.4
    + n    11.87
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     266.5     0.253    0.0%
   20     508.7     0.366    0.0%
   40     745.1      1.67    0.2%
   60     995.7     15.28    1.5%
   80      1240     15.31    1.2%
  100      1474     14.56    0.9%
  120      1731     9.459    0.5%
  140      1966     8.772    0.4%
  160      2191     15.78    0.7%
  180      2436     11.79    0.4%
  200      2677     10.06    0.3%
  220      2915     10.32    0.3%
  240      3151     4.638    0.1%
  260      3379     11.96    0.3%
  280      3625      3.07    0.0%
  300      3858     5.962    0.1%
  320      4111     12.82    0.3%
  340      4337     11.76    0.2%
  360      4581     11.77    0.2%
  380      4813     18.46    0.3%
  400      5045     15.08    0.2%
  420      5287     13.84    0.2%
  440      5519     12.46    0.2%
  460      5775     22.65    0.3%
  480      5988     17.91    0.2%
  500      6234     14.66    0.2%
  520      6476     22.05    0.3%
  540      6717     11.86    0.1%
  560      6945     16.87    0.2%
  580      7198     15.68    0.2%
  600      7407     14.89    0.2%
  620      7666      25.5    0.3%
  640      7896     19.14    0.2%
  660      8142     12.99    0.1%
  680      8380     17.39    0.2%
  700      8617        19    0.2%
  720      8844     17.97    0.2%
  740      9085     20.68    0.2%
  760      9331     27.92    0.2%
  780      9514      16.5    0.1%
  800      9783      21.5    0.2%
  820     10010     18.42    0.1%
  840     10250     26.99    0.2%
  860     10500     29.49    0.2%
  880     10730     39.83    0.3%
  900     10980     27.84    0.2%
  920     11220     21.66    0.1%
  940     11440     48.37    0.4%
  960     11690     25.45    0.2%
  980     11930     31.63    0.2%
 1000     12150     13.43    0.1%
 1020     12430     33.48    0.2%

Quality and confidence:
param     error
n         0.003

Model:
Time ~=    293.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.5
    + r    2.059
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     211.5      0.14    0.0%
    1     213.5     0.156    0.0%

Quality and confidence:
param     error
r          0.07

Model:
Time ~=    211.5
    + r    2.085
              µ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 ~=    214.7
    + n    0.188
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     213.3     0.203    0.0%
   20     217.2     0.134    0.0%
   40     221.3     0.261    0.1%
   60     225.2     0.258    0.1%
   80     229.5     0.363    0.1%
  100     232.5     0.406    0.1%
  120     236.1     0.665    0.2%
  140     239.9     0.561    0.2%
  160     244.4     0.875    0.3%
  180     247.6     0.689    0.2%
  200     251.3     0.892    0.3%
  220       255     1.179    0.4%
  240     261.4     0.242    0.0%
  260     265.1     0.379    0.1%
  280     267.8     1.646    0.6%
  300     272.3     1.499    0.5%
  320     277.6     4.397    1.5%
  340     281.2     0.193    0.0%
  360     283.8     1.746    0.6%
  380     288.2     1.899    0.6%
  400     291.7     1.955    0.6%
  420     294.8     2.573    0.8%
  440     296.8     2.577    0.8%
  460       310      8.77    2.8%
  480     307.6     2.309    0.7%
  500     310.9     2.692    0.8%
  520       313       3.2    1.0%
  540     316.8     3.505    1.1%
  560     319.1     2.631    0.8%
  580     324.7      3.29    1.0%
  600     326.6     2.874    0.8%
  620     334.3     3.519    1.0%
  640     337.3     4.108    1.2%
  660     340.2     3.989    1.1%
  680     343.9     5.531    1.6%
  700       348     6.586    1.8%
  720       351     4.547    1.2%
  740       358     8.005    2.2%
  760       360     4.287    1.1%
  780       366     5.184    1.4%
  800     369.2      4.96    1.3%
  820     372.9     4.594    1.2%
  840     377.5      4.44    1.1%
  860     378.4     5.299    1.4%
  880     384.9     5.125    1.3%
  900       393     9.283    2.3%
  920     390.5     5.532    1.4%
  940     401.4     9.029    2.2%
  960     398.5     5.767    1.4%
  980     396.4     3.615    0.9%
 1000     404.4     6.092    1.5%
 1020     409.2     5.524    1.3%

Quality and confidence:
param     error
n             0

Model:
Time ~=    213.8
    + n    0.193
              µ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 ~=    214.7
    + r    53.46
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     214.7     0.168    0.0%
    1     268.3     0.595    0.2%

Quality and confidence:
param     error
r         0.206

Model:
Time ~=    214.7
    + r    53.63
              µ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 ~=    225.7
    + r    159.7
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     214.8     0.196    0.0%
    1     382.4     1.828    0.4%
    2     540.7     3.804    0.7%
    3       721     13.62    1.8%
    4     857.1     9.734    1.1%
    5      1017     8.697    0.8%
    6      1191     10.84    0.9%
    7      1331     12.77    0.9%
    8      1507     15.71    1.0%
    9      1675     13.26    0.7%
   10      1827        14    0.7%
   11      1977     16.73    0.8%
   12      2152     7.505    0.3%
   13      2304     15.88    0.6%
   14      2448        16    0.6%
   15      2609     23.34    0.8%
   16      2760     13.21    0.4%
   17      2951     11.42    0.3%
   18      3110     10.79    0.3%
   19      3266     11.75    0.3%
   20      3437     20.77    0.6%

Quality and confidence:
param     error
r         0.191

Model:
Time ~=      222
    + r    160.1
              µ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.1
    + r      296
              µ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.157    0.0%
    1       525     9.159    1.7%
    2     816.1     9.369    1.1%
    3      1110     13.48    1.2%
    4      1410      10.4    0.7%
    5      1702     11.37    0.6%
    6      2001     13.31    0.6%
    7      2298     15.66    0.6%
    8      2585     16.11    0.6%
    9      2891     10.87    0.3%
   10      3181     14.68    0.4%
   11      3494      12.2    0.3%
   12      3760      9.39    0.2%
   13      4080     18.64    0.4%
   14      4361     9.495    0.2%
   15      4666     18.53    0.3%
   16      4951     16.23    0.3%
   17      5257     11.56    0.2%
   18      5599     52.66    0.9%
   19      5862     14.47    0.2%
   20      6144     18.18    0.2%

Quality and confidence:
param     error
r         0.239

Model:
Time ~=    219.2
    + r    296.7
              µ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 ~=    525.1
    + t    310.5
    + n    81.72
              µ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      1800     12.72    0.7%
    1    16      2181     17.19    0.7%
    2    16      2451     11.93    0.4%
    3    16      2766     20.55    0.7%
    4     0      1724     10.51    0.6%
    4     1      1830     10.67    0.5%
    4     2      1917     9.702    0.5%
    4     3      1979     11.69    0.5%
    4     4      2057     12.64    0.6%
    4     5      2136     11.19    0.5%
    4     6      2188     10.94    0.5%
    4     7      2282     17.71    0.7%
    4     8      2377     19.84    0.8%
    4     9      2442     12.39    0.5%
    4    10      2519     10.74    0.4%
    4    11      2630     13.94    0.5%
    4    12      2704     18.91    0.6%
    4    13      2788     24.34    0.8%
    4    14      2860     15.07    0.5%
    4    15      2959     11.67    0.3%
    4    16      3067     13.77    0.4%

Quality and confidence:
param     error
t         1.842
n         0.363

Model:
Time ~=    519.6
    + t    300.8
    + n    82.57
              µ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.3
    + r     41.3
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     131.3     0.156    0.1%
    1     178.2      1.83    1.0%
    2     217.2     0.293    0.1%
    3     259.3     0.431    0.1%
    4     298.8     0.267    0.0%
    5     340.5     0.823    0.2%
    6     384.1     0.907    0.2%
    7     424.3     0.964    0.2%
    8     468.1     5.663    1.2%
    9     502.5     0.649    0.1%
   10       543     0.425    0.0%
   11     591.2     2.563    0.4%
   12     637.5     10.69    1.6%
   13     670.6     1.341    0.1%
   14     710.5     0.964    0.1%
   15     749.4     0.442    0.0%
   16     797.3     11.38    1.4%
   17     844.7     7.649    0.9%
   18     880.7     7.936    0.9%
   19     923.8     11.17    1.2%
   20     973.8      11.3    1.1%

Quality and confidence:
param     error
r         0.077

Model:
Time ~=    132.7
    + r    41.62
              µ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 ~=     55.5
    + r      409
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.5     0.296    0.1%
    1     558.4     1.291    0.2%
    2     916.5     2.665    0.2%
    3      1305     9.888    0.7%
    4      1669     6.179    0.3%
    5      2078     13.07    0.6%
    6      2477     12.36    0.4%
    7      2872     16.24    0.5%
    8      3217     10.12    0.3%
    9      3707     13.59    0.3%
   10      4089     18.91    0.4%
   11      4516     14.31    0.3%
   12      4943     32.28    0.6%
   13      5342     19.04    0.3%
   14      5695     16.73    0.2%
   15      6128     22.05    0.3%
   16      6573     38.87    0.5%
   17      7062     19.62    0.2%
   18      7583     40.02    0.5%
   19      8027     31.35    0.3%
   20      8456     16.97    0.2%

Quality and confidence:
param     error
r         1.072

Model:
Time ~=    40.64
    + r    412.3
              µ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 ~=    615.7
    + n    27.85
              µ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     4.211    0.7%
    1     645.9     4.547    0.7%
    2     678.3     9.294    1.3%
    3     707.9      7.13    1.0%
    4     748.5     9.632    1.2%
    5     756.6     6.093    0.8%
    6     783.9     4.682    0.5%
    7     811.6     7.086    0.8%
    8     835.9     6.708    0.8%
    9     867.9     7.446    0.8%
   10     886.3     2.611    0.2%
   11     922.7     3.387    0.3%
   12     943.3     3.306    0.3%
   13     974.5     4.944    0.5%
   14      1002     6.726    0.6%
   15      1057     12.14    1.1%
   16      1060     2.283    0.2%

Quality and confidence:
param     error
n         0.258

Model:
Time ~=      609
    + n    28.63
              µ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 ~=    641.3
    + 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     569.8     8.603    1.5%
    1     639.7     4.075    0.6%
    2     672.7     4.719    0.7%
    3     689.8     11.95    1.7%
    4     689.2     1.563    0.2%
    5     695.9     5.653    0.8%
    6     704.3     7.341    1.0%
    7       710     4.169    0.5%
    8     721.5     2.733    0.3%
    9     726.8     1.832    0.2%
   10     729.3     1.743    0.2%
   11     741.2     4.318    0.5%
   12     752.1     8.743    1.1%
   13     770.7     10.38    1.3%
   14     779.6     1.928    0.2%
   15       795     1.988    0.2%
   16     804.6     7.861    0.9%

Quality and confidence:
param     error
n           0.3

Model:
Time ~=    629.6
    + n    10.94
              µ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 ~=    113.2
    + r    383.4
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.2     0.216    0.1%
    1     564.1     1.907    0.3%
    2     902.2     1.431    0.1%
    3      1283     10.06    0.7%
    4      1622     10.26    0.6%
    5      1999     6.517    0.3%
    6      2377     11.82    0.4%
    7      2733     11.94    0.4%
    8      3104     20.88    0.6%
    9      3543     18.75    0.5%
   10      3873     19.86    0.5%
   11      4379     18.65    0.4%
   12      4686     24.63    0.5%
   13      5036     8.241    0.1%
   14      5413     18.43    0.3%
   15      5827     25.01    0.4%
   16      6245     25.57    0.4%
   17      6598     18.63    0.2%
   18      7163     39.91    0.5%
   19      7537     28.91    0.3%
   20      7976     25.85    0.3%

Quality and confidence:
param     error
r         0.889

Model:
Time ~=    91.51
    + r    386.4
              µ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 ~=    620.9
    + n    9.891
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     567.2     8.333    1.4%
    1     618.8       6.9    1.1%
    2     655.9     9.558    1.4%
    3     659.6     5.562    0.8%
    4     667.6     6.419    0.9%
    5     681.2     11.41    1.6%
    6     685.1     7.827    1.1%
    7       688     2.067    0.3%
    8       705     8.342    1.1%
    9     702.2     4.162    0.5%
   10     707.1     2.728    0.3%
   11     725.6     9.024    1.2%
   12     725.8     4.246    0.5%
   13     744.5     9.176    1.2%
   14     764.7     10.05    1.3%
   15     783.8     14.42    1.8%
   16     781.4     4.164    0.5%

Quality and confidence:
param     error
n         0.269

Model:
Time ~=    612.2
    + n     10.7
              µ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 ~=    122.5
    + r    325.9
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     216.6      0.29    0.1%
    1     502.1     6.768    1.3%
    2     797.6     7.039    0.8%
    3      1113       9.1    0.8%
    4      1410       6.4    0.4%
    5      1722     12.55    0.7%
    6      2060     13.14    0.6%
    7      2355     8.386    0.3%
    8      2669     16.17    0.6%
    9      3032     10.65    0.3%
   10      3343      19.8    0.5%
   11      3695     30.66    0.8%
   12      4006     16.81    0.4%
   13      4343     10.38    0.2%
   14      4645     24.04    0.5%
   15      5013     34.36    0.6%
   16      5318      24.4    0.4%
   17      5663     14.85    0.2%
   18      6086     25.22    0.4%
   19      6410     41.36    0.6%
   20      6757     28.97    0.4%

Quality and confidence:
param     error
r         0.624

Model:
Time ~=    112.2
    + r    327.6
              µ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 ~=    581.4
    + n    62.98
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     501.2     1.508    0.3%
    1     623.6      5.94    0.9%
    2     729.9     11.67    1.5%
    3     780.9     10.68    1.3%
    4     840.3     4.821    0.5%
    5     908.5     15.12    1.6%
    6       968     14.26    1.4%
    7      1023     12.35    1.2%
    8      1085      10.1    0.9%
    9      1130     8.736    0.7%
   10      1198      12.2    1.0%
   11      1255     8.715    0.6%
   12      1314     11.64    0.8%
   13      1404     4.105    0.2%
   14      1458     14.68    1.0%
   15      1539     16.82    1.0%
   16      1588     7.024    0.4%

Quality and confidence:
param     error
n         0.387

Model:
Time ~=    567.7
    + n    63.98
              µ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 ~=    129.2
    + r      296
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     215.2     0.236    0.1%
    1     467.9     0.772    0.1%
    2     736.7      5.88    0.7%
    3      1028     11.14    1.0%
    4      1300     13.38    1.0%
    5      1594     7.959    0.4%
    6      1872     9.037    0.4%
    7      2142     11.97    0.5%
    8      2427     10.42    0.4%
    9      2759     24.76    0.8%
   10      3038     16.79    0.5%
   11      3343     18.66    0.5%
   12      3672     19.06    0.5%
   13      3994     9.393    0.2%
   14      4235     23.56    0.5%
   15      4541     28.36    0.6%
   16      4839     22.93    0.4%
   17      5136     9.256    0.1%
   18      5541     16.59    0.2%
   19      5858      31.8    0.5%
   20      6209     27.51    0.4%

Quality and confidence:
param     error
r         0.681

Model:
Time ~=    109.9
    + r    298.3
              µ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 ~=    527.7
    + n    8.849
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     468.4     1.946    0.4%
    1     522.7     3.229    0.6%
    2     553.8     1.828    0.3%
    3       565     6.617    1.1%
    4     578.4     7.247    1.2%
    5     581.1     2.606    0.4%
    6     583.5     2.119    0.3%
    7     589.7     1.621    0.2%
    8     593.5     1.107    0.1%
    9     605.9     5.621    0.9%
   10     613.6     5.681    0.9%
   11     617.5     2.231    0.3%
   12     627.1     0.978    0.1%
   13     641.8     4.133    0.6%
   14     644.6     1.657    0.2%
   15     670.1     4.371    0.6%
   16     668.8      2.62    0.3%

Quality and confidence:
param     error
n         0.251

Model:
Time ~=    518.3
    + n    9.666
              µ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 ~=    96.05
    + r    414.2
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     216.3     0.127    0.0%
    1     592.3     1.733    0.2%
    2     964.2     7.089    0.7%
    3      1353     3.303    0.2%
    4      1736     7.926    0.4%
    5      2185     14.17    0.6%
    6      2536     13.66    0.5%
    7      2927     6.694    0.2%
    8      3310     12.68    0.3%
    9      3782<truncated>...

Parity Bot added 2 commits February 18, 2022 11:22
…--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
@athei
Copy link
Member Author

athei commented Feb 18, 2022

I did run the benchnarks against a unmodified master and they looked normal: #10881

I then ran the bot here again and they look like I expected them: Costs for instrumentation goes down the rest stays the same. I figured there was something going on with the benchmarking machine.

Comment on lines 185 to 191
fn reinstrument(c: u32, ) -> Weight {
(17_839_000 as Weight)
(15_212_000 as Weight)
// Standard Error: 0
.saturating_add((64_000 as Weight).saturating_mul(c as Weight))
.saturating_add((51_000 as Weight).saturating_mul(c as Weight))
.saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
Copy link
Member Author

Choose a reason for hiding this comment

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

Expected: Instrumentation weight per byte goes down by 30%.

.saturating_add((66_000 as Weight).saturating_mul(c as Weight))
.saturating_add((51_000 as Weight).saturating_mul(c as Weight))
Copy link
Member Author

Choose a reason for hiding this comment

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

Some improvement can be seen when uploading the code.

@athei athei requested a review from cmichi February 18, 2022 12:54
@athei athei requested a review from ascjones February 18, 2022 13:03
@athei
Copy link
Member Author

athei commented Feb 22, 2022

bot merge

@paritytech-processbot paritytech-processbot bot merged commit b46702e into master Feb 22, 2022
@paritytech-processbot paritytech-processbot bot deleted the at-disable-stack-height-metering branch February 22, 2022 09:10
grishasobol pushed a commit to gear-tech/substrate that referenced this pull request Mar 28, 2022
* 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>
grishasobol pushed a commit to gear-tech/substrate that referenced this pull request Mar 28, 2022
* 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>
grishasobol pushed a commit to gear-tech/substrate that referenced this pull request Mar 28, 2022
* 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>
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
* 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>
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.

3 participants