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

Implemented seal_ecdsa_recovery function in the contract pallet #9686

Merged
16 commits merged into from Sep 10, 2021

Conversation

xgreenx
Copy link
Contributor

@xgreenx xgreenx commented Sep 3, 2021

This PR fixes #9609.

Based on the signature(65 bytes, where the last byte is recovery id) and the message hash(it is 32 bytes, so the developer must hash the message before using the recovery function), seal_ecdsa_recovery returns compressed ECDSA public key(33 bytes).

We know the input arguments size and output size, so the function doesn't take the length of buffers.

Benchmark and unit tests are added.
I set weights based on the result of my local machine, I will update it after CI.

@xgreenx xgreenx requested a review from athei as a code owner September 3, 2021 16:10
@cla-bot-2021
Copy link

cla-bot-2021 bot commented Sep 3, 2021

User @xgreenx, please sign the CLA here.

@athei athei added A0-please_review Pull request needs code review. 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 Sep 3, 2021
athei
athei previously requested changes Sep 6, 2021
Copy link
Member

@athei athei left a comment

Choose a reason for hiding this comment

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

Thanks for your great work. Looks very good already. Almost all of my comments are rather minor in nature. Please make sure to merge master and run cargo +nightly fmt in order to pass the CI. The unleash check can be ignored.

frame/contracts/Cargo.toml Show resolved Hide resolved
frame/contracts/Cargo.toml Show resolved Hide resolved
frame/contracts/src/benchmarking/code.rs Show resolved Hide resolved
frame/contracts/fixtures/ecdsa_recovery.wat Outdated Show resolved Hide resolved
frame/contracts/src/benchmarking/mod.rs Outdated Show resolved Hide resolved
frame/contracts/src/wasm/runtime.rs Show resolved Hide resolved
frame/contracts/src/wasm/runtime.rs Outdated Show resolved Hide resolved
frame/contracts/src/benchmarking/mod.rs Outdated Show resolved Hide resolved
Copy link
Member

@athei athei left a comment

Choose a reason for hiding this comment

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

Making good progress.

I set weights based on the result of my local machine, I will update it after CI.

I will run the benchbot on this PR once all comments are addressed and CI is green. No need for you to do anything in this department.

frame/contracts/src/wasm/runtime.rs Outdated Show resolved Hide resolved
frame/contracts/src/exec.rs Outdated Show resolved Hide resolved
frame/contracts/src/exec.rs Outdated Show resolved Hide resolved
frame/contracts/src/tests.rs Outdated Show resolved Hide resolved
frame/contracts/src/wasm/mod.rs Outdated Show resolved Hide resolved
frame/contracts/fixtures/ecdsa_recover.wat Outdated Show resolved Hide resolved
frame/contracts/src/wasm/runtime.rs Outdated Show resolved Hide resolved
frame/contracts/fixtures/ecdsa_recover.wat Outdated Show resolved Hide resolved
frame/contracts/fixtures/ecdsa_recover.wat Outdated Show resolved Hide resolved
frame/contracts/fixtures/ecdsa_recover.wat Outdated Show resolved Hide resolved
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
@athei athei self-requested a review September 7, 2021 17:00
Copy link
Member

@athei athei left a comment

Choose a reason for hiding this comment

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

Looks good to me. Before merging some stuff needs to be done:

frame/contracts/src/wasm/runtime.rs Outdated Show resolved Hide resolved
@athei athei dismissed their stale review September 7, 2021 17:03

LGTM. Want to hold off with merging a bit, though.

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

athei commented Sep 9, 2021

/benchmark runtime pallet pallet_contracts

@parity-benchapp
Copy link

parity-benchapp bot commented Sep 9, 2021

Benchmark Runtime Pallet for branch "feature/ecdsa_recovery" with command cargo run --quiet --release --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

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 ~=    3.226
              µs

Reads = 1
Writes = 0

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

Model:
Time ~=    3.226
              µ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 ~=        0
    + k    2.171
              µs

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

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

Data points distribution:
    k   mean µs  sigma µs       %
    0     59.74     0.653    1.0%
   20     59.76     0.243    0.4%
   40     97.21     0.814    0.8%
   60     133.7     1.158    0.8%
   80     169.4     1.178    0.6%
  100     207.5     1.886    0.9%
  120     249.8     4.275    1.7%
  140       293     3.781    1.2%
  160     330.7     3.172    0.9%
  180     375.3     3.648    0.9%
  200     415.7     3.501    0.8%
  220     458.1     3.908    0.8%
  240     509.3     4.531    0.8%
  260     545.4      5.68    1.0%
  280     588.7       3.7    0.6%
  300     639.8     4.548    0.7%
  320     683.2     3.834    0.5%
  340       727      2.44    0.3%
  360     772.7     3.199    0.4%
  380     822.7     5.337    0.6%
  400     878.6     14.04    1.5%
  420     910.1     5.307    0.5%
  440     986.4     11.99    1.2%
  460       998     6.448    0.6%
  480      1044     6.242    0.5%
  500      1067     9.033    0.8%
  520      1100     7.489    0.6%
  540      1157     8.116    0.7%
  560      1212     11.47    0.9%
  580      1244       8.5    0.6%
  600      1296     11.37    0.8%
  620      1337     4.466    0.3%
  640      1376     6.046    0.4%
  660      1428     10.04    0.7%
  680      1471      7.17    0.4%
  700      1499     11.83    0.7%
  720      1539     14.18    0.9%
  740      1602     7.406    0.4%
  760      1678      16.5    0.9%
  780      1733     16.18    0.9%
  800      1745     10.44    0.5%
  820      1791     11.84    0.6%
  840      1817     16.68    0.9%
  860      1885     14.77    0.7%
  880      1913     3.617    0.1%
  900      1968     14.83    0.7%
  920      2014     8.735    0.4%
  940      2028     18.37    0.9%
  960      2073     21.67    1.0%
  980      2165     16.68    0.7%
 1000      2150     10.57    0.4%
 1020      2210     24.88    1.1%

Quality and confidence:
param     error
k         0.002

Model:
Time ~=        0
    + k    2.178
              µ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 ~=    80.48
    + q    0.349
              µs

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

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

Data points distribution:
    q   mean µs  sigma µs       %
    0     3.168     0.026    0.8%
   20     74.97     0.546    0.7%
   40     87.28     0.509    0.5%
   60     98.96     2.575    2.6%
   80     108.1     1.038    0.9%
  100     116.4     0.839    0.7%
  120     125.7     0.748    0.5%
  140     136.2     2.805    2.0%
  160     145.7     1.603    1.0%
  180     154.4     1.362    0.8%
  200     163.3     1.204    0.7%
  220     171.8     0.499    0.2%
  240     160.1     4.251    2.6%
  260       192     1.236    0.6%
  280     171.9     1.416    0.8%
  300     202.8     2.134    1.0%
  320       185     0.939    0.5%
  340     192.8     1.591    0.8%
  360     201.1      2.02    1.0%
  380     226.1     13.68    6.0%
  400     218.8     1.734    0.7%
  420     227.9     5.193    2.2%
  440     250.6     8.416    3.3%
  460       240     1.137    0.4%
  480     247.5      1.56    0.6%
  500     259.3     6.109    2.3%
  520     261.5     0.713    0.2%
  540     266.8     2.261    0.8%
  560     275.2     1.109    0.4%
  580     286.4     3.927    1.3%
  600     287.9      1.87    0.6%
  620     296.7     1.317    0.4%
  640     304.8     1.531    0.5%
  660     313.5     1.494    0.4%
  680       320     2.356    0.7%
  700       327     1.127    0.3%
  720     332.1     2.686    0.8%
  740     339.4     1.514    0.4%
  760     350.4     3.205    0.9%
  780     355.4     1.885    0.5%
  800     362.3     1.116    0.3%
  820     370.3     3.982    1.0%
  840     374.9     5.061    1.3%
  860     380.4     1.366    0.3%
  880     387.7     1.371    0.3%
  900     396.2     0.805    0.2%
  920     399.9     1.335    0.3%
  940     405.6     0.826    0.2%
  960     412.3     1.374    0.3%
  980     416.8     1.042    0.2%
 1000     424.2     1.725    0.4%
 1020     432.7     2.265    0.5%

Quality and confidence:
param     error
q         0.001

Model:
Time ~=    78.32
    + q    0.353
              µs

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

Pallet: "pallet_contracts", Extrinsic: "instrument", 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 ~=    51.47
    + c    72.66
              µs

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

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

Data points distribution:
    c   mean µs  sigma µs       %
    0     57.97     0.681    1.1%
    2     205.7     0.183    0.0%
    4     346.8     0.655    0.1%
    6     478.2     3.708    0.7%
    8     635.7     11.98    1.8%
   10     764.8     5.465    0.7%
   12     887.9     4.552    0.5%
   14      1067     3.785    0.3%
   16      1199     12.11    1.0%
   18      1366     14.46    1.0%
   20      1488     13.66    0.9%
   22      1615     13.27    0.8%
   24      1748     10.77    0.6%
   26      1985     16.55    0.8%
   28      2112     2.756    0.1%
   30      2222     15.04    0.6%
   32      2357     12.15    0.5%
   34      2535      10.4    0.4%
   36      2672     4.005    0.1%
   38      2807     20.98    0.7%
   40      2913     12.86    0.4%
   42      3041     11.24    0.3%
   44      3165     14.29    0.4%
   46      3294     19.09    0.5%
   48      3425     12.13    0.3%
   50      3762     11.77    0.3%
   52      3896     10.36    0.2%
   54      4016      4.23    0.1%
   56      4163     8.818    0.2%
   58      4269     14.05    0.3%
   60      4407     11.84    0.2%
   62      4522     3.421    0.0%
   64      4656     17.61    0.3%
   66      4921     19.46    0.3%
   68      5035     16.06    0.3%
   70      5193     9.448    0.1%
   72      5298     11.99    0.2%
   74      5429      11.7    0.2%
   76      5547     9.755    0.1%
   78      5682     16.26    0.2%
   80      5805     14.04    0.2%
   82      5949     9.545    0.1%
   84      6070     16.89    0.2%
   86      6210     24.69    0.3%
   88      6320     15.24    0.2%
   90      6449     11.29    0.1%
   92      6593     25.95    0.3%
   94      6727     9.682    0.1%
   96      6846      7.71    0.1%
   98      7358     24.58    0.3%
  100      7497     16.24    0.2%
  102      7615        14    0.1%
  104      7739     8.305    0.1%
  106      7854        13    0.1%
  108      8009      14.9    0.1%
  110      8146     34.92    0.4%
  112      8244     24.82    0.3%
  114      8362     6.887    0.0%
  116      8513     13.44    0.1%
  118      8642     20.58    0.2%
  120      8769     19.28    0.2%
  122      8891     17.84    0.2%
  124      9022     17.24    0.1%
  126      9141     20.21    0.2%
  128      9244     9.398    0.1%

Quality and confidence:
param     error
c          0.08

Model:
Time ~=    37.19
    + c    72.79
              µs

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

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

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

Model:
Time ~=    6.163
    + c    1.426
              µs

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

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

Data points distribution:
    c   mean µs  sigma µs       %
    0     5.401      0.07    1.2%
    2     8.774     0.063    0.7%
    4     11.81     0.043    0.3%
    6     14.73     0.093    0.6%
    8     17.21     0.056    0.3%
   10     20.05     0.194    0.9%
   12     23.11     0.068    0.2%
   14      25.7     0.257    0.9%
   16     29.11     0.082    0.2%
   18     32.32     0.086    0.2%
   20     34.56     0.077    0.2%
   22     38.23     0.046    0.1%
   24      40.5     0.099    0.2%
   26     43.39     0.131    0.3%
   28     47.04     0.133    0.2%
   30     48.82     0.058    0.1%
   32      51.8     0.079    0.1%
   34     54.97     0.039    0.0%
   36     57.73     0.232    0.4%
   38     60.08     0.104    0.1%
   40     62.86     0.082    0.1%
   42     66.18     0.142    0.2%
   44     68.83     0.061    0.0%
   46     71.73     0.088    0.1%
   48     74.59     0.088    0.1%
   50     77.62     0.083    0.1%
   52     80.48     0.124    0.1%
   54     84.98      0.14    0.1%
   56     86.37      0.08    0.0%
   58     88.87     0.041    0.0%
   60     91.64     0.112    0.1%
   62     94.51     0.111    0.1%
   64     97.37     0.116    0.1%
   66     100.1     0.072    0.0%
   68       103     0.106    0.1%
   70     105.8      0.15    0.1%
   72     108.7     0.142    0.1%
   74     111.6     0.042    0.0%
   76     114.6     0.057    0.0%
   78     117.6     0.148    0.1%
   80     120.6     0.192    0.1%
   82     123.4      0.26    0.2%
   84     126.1     0.127    0.1%
   86     128.7       0.1    0.0%
   88       132     0.101    0.0%
   90     134.3     0.113    0.0%
   92     136.9     0.059    0.0%
   94     139.9     0.152    0.1%
   96     142.1     0.165    0.1%
   98     145.9     0.376    0.2%
  100     148.8     0.172    0.1%
  102     151.4     0.294    0.1%
  104     154.4     0.228    0.1%
  106     157.3     0.252    0.1%
  108     160.1     0.245    0.1%
  110     162.9     0.159    0.0%
  112     165.9     0.174    0.1%
  114     168.7     0.118    0.0%
  116     171.4     0.148    0.0%
  118     174.9     1.253    0.7%
  120     177.2     0.114    0.0%
  122       180     0.224    0.1%
  124     182.9     0.164    0.0%
  126     185.9     0.148    0.0%
  128     188.7     0.237    0.1%

Quality and confidence:
param     error
c             0

Model:
Time ~=    6.191
    + c    1.426
              µs

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

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

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

Model:
Time ~=    10.23
    + c    2.272
              µs

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

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

Data points distribution:
    c   mean µs  sigma µs       %
    0     9.324     0.078    0.8%
    2     14.89     0.067    0.4%
    4     19.13     0.083    0.4%
    6     23.66     0.066    0.2%
    8     28.48     0.107    0.3%
   10     32.75     0.084    0.2%
   12     36.72     0.256    0.6%
   14     42.13     0.125    0.2%
   16     46.97     0.113    0.2%
   18     50.75     0.097    0.1%
   20     56.53     0.167    0.2%
   22     61.18     0.081    0.1%
   24      65.2     0.555    0.8%
   26      69.4     0.056    0.0%
   28      74.4     0.713    0.9%
   30     77.76     0.214    0.2%
   32     82.38     0.133    0.1%
   34      87.4     0.185    0.2%
   36     91.89     0.105    0.1%
   38     96.41     0.124    0.1%
   40     101.5     0.164    0.1%
   42       106     0.146    0.1%
   44     110.4     0.497    0.4%
   46     114.9     0.207    0.1%
   48     119.4     0.106    0.0%
   50     123.8     0.097    0.0%
   52     128.5     0.153    0.1%
   54     132.8     0.112    0.0%
   56     137.3      0.05    0.0%
   58       142     0.193    0.1%
   60     146.5     0.152    0.1%
   62     151.1     0.158    0.1%
   64     155.6     0.148    0.0%
   66     160.1      0.13    0.0%
   68     164.7     0.098    0.0%
   70     169.2     0.138    0.0%
   72     173.9     0.088    0.0%
   74     178.2     0.102    0.0%
   76     183.1     0.148    0.0%
   78     195.1     3.528    1.8%
   80     197.5     0.176    0.0%
   82       201     0.215    0.1%
   84     205.5     0.155    0.0%
   86     205.3     0.134    0.0%
   88     209.9     0.117    0.0%
   90     214.7     0.603    0.2%
   92     218.8     0.136    0.0%
   94     222.7     0.215    0.0%
   96     228.3     0.384    0.1%
   98     232.6     0.315    0.1%
  100     237.4     0.422    0.1%
  102     241.9     0.556    0.2%
  104     246.2     0.544    0.2%
  106     250.3     0.249    0.0%
  108     255.7     0.256    0.1%
  110       260     0.381    0.1%
  112       264     0.139    0.0%
  114       269     0.351    0.1%
  116     273.8      0.29    0.1%
  118     278.3     0.357    0.1%
  120       283     0.163    0.0%
  122     287.6     0.114    0.0%
  124     292.3     0.339    0.1%
  126     296.6     0.264    0.0%
  128     301.3      0.24    0.0%

Quality and confidence:
param     error
c         0.001

Model:
Time ~=    10.33
    + c    2.275
              µs

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

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

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

Model:
Time ~=    551.8
    + c    181.2
    + s    2.008
              µs

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

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

Data points distribution:
    c     s   mean µs  sigma µs       %
    0  1024      2602     17.72    0.6%
    1  1024      2799      15.2    0.5%
    2  1024      2965     12.93    0.4%
    3  1024      3150     12.58    0.3%
    4  1024      3336     11.82    0.3%
    5  1024      3505      22.4    0.6%
    6  1024      3659     2.647    0.0%
    7  1024      3864     14.33    0.3%
    8  1024      4012     12.78    0.3%
    9  1024      4245     14.78    0.3%
   10  1024      4407     12.46    0.2%
   11  1024      4569     13.24    0.2%
   12  1024      4751     23.83    0.5%
   13  1024      4967     16.11    0.3%
   14  1024      5109     14.33    0.2%
   15  1024      5282     28.14    0.5%
   16  1024      5435     22.97    0.4%
   17  1024      5743     13.82    0.2%
   18  1024      5912      11.9    0.2%
   19  1024      6052     11.91    0.1%
   20  1024      6243     19.12    0.3%
   21  1024      6360      10.5    0.1%
   22  1024      6554     22.48    0.3%
   23  1024      6709     14.32    0.2%
   24  1024      6865     21.56    0.3%
   25  1024      7222     32.66    0.4%
   26  1024      7342        10    0.1%
   27  1024      7517     21.02    0.2%
   28  1024      7667     30.16    0.3%
   29  1024      7830     28.83    0.3%
   30  1024      7974     19.52    0.2%
   31  1024      8143     17.24    0.2%
   32  1024      8281     35.55    0.4%
   33  1024      8769     17.93    0.2%
   34  1024      8943     20.79    0.2%
   35  1024      9117     25.17    0.2%
   36  1024      9262      30.9    0.3%
   37  1024      9419     37.76    0.4%
   38  1024      9580     37.76    0.3%
   39  1024      9745     29.06    0.2%
   40  1024      9923     19.63    0.1%
   41  1024     10060     30.78    0.3%
   42  1024     10210     17.84    0.1%
   43  1024     10370     22.39    0.2%
   44  1024     10510     24.31    0.2%
   45  1024     10710     26.84    0.2%
   46  1024     10870     29.94    0.2%
   47  1024     11010     37.28    0.3%
   48  1024     11160     34.64    0.3%
   49  1024     11640      24.2    0.2%
   50  1024     11830     48.14    0.4%
   51  1024     11990     25.13    0.2%
   52  1024     12140     26.62    0.2%
   53  1024     12310     26.03    0.2%
   54  1024     12460     17.29    0.1%
   55  1024     12670     26.28    0.2%
   56  1024     12770      30.5    0.2%
   57  1024     12920     25.16    0.1%
   58  1024     13100     34.79    0.2%
   59  1024     13260     28.16    0.2%
   60  1024     13400     28.56    0.2%
   61  1024     13590      43.6    0.3%
   62  1024     13720      17.7    0.1%
   63  1024     13890     40.04    0.2%
   64     0     11910     26.94    0.2%
   64    20     11930     37.47    0.3%
   64    40     12040     27.58    0.2%
   64    60     12100     27.14    0.2%
   64    80     12120     34.27    0.2%
   64   100     12150     30.54    0.2%
   64   120     12180     39.49    0.3%
   64   140     12230     17.42    0.1%
   64   160     12270     21.31    0.1%
   64   180     12300     31.78    0.2%
   64   200     12490        92    0.7%
   64   220     12420     47.17    0.3%
   64   240     12480     21.22    0.1%
   64   260     12500     37.33    0.2%
   64   280     12590     32.14    0.2%
   64   300     12540     46.32    0.3%
   64   320     12620     31.74    0.2%
   64   340     12650     24.38    0.1%
   64   360     12680     30.07    0.2%
   64   380     12720     24.66    0.1%
   64   400     12770     33.52    0.2%
   64   420     12790     21.88    0.1%
   64   440     12840     27.91    0.2%
   64   460     12890     29.96    0.2%
   64   480     12920     27.33    0.2%
   64   500     12950     31.74    0.2%
   64   520     13010     46.97    0.3%
   64   540     13040     34.48    0.2%
   64   560     13090     42.48    0.3%
   64   580     13130     32.58    0.2%
   64   600     13130     37.59    0.2%
   64   620     13170     28.36    0.2%
   64   640     13240     25.36    0.1%
   64   660     13280     35.89    0.2%
   64   680     13320     35.24    0.2%
   64   700     13390      32.8    0.2%
   64   720     13410     18.42    0.1%
   64   740     13440      35.5    0.2%
   64   760     13470     25.94    0.1%
   64   780     13520     30.91    0.2%
   64   800     13500     17.88    0.1%
   64   820     13570     21.52    0.1%
   64   840     13620     16.14    0.1%
   64   860     13720     31.06    0.2%
   64   880     13720      31.4    0.2%
   64   900     13770     31.21    0.2%
   64   920     13820     32.52    0.2%
   64   940     13850     42.52    0.3%
   64   960     13860     14.56    0.1%
   64   980     13930     44.15    0.3%
   64  1000     13990     28.39    0.2%
   64  1020     13990     36.77    0.2%
   64  1024     14050     23.72    0.1%

Quality and confidence:
param     error
c         0.147
s         0.009

Model:
Time ~=    438.5
    + c    179.3
    + s    2.159
              µs

Reads = 5 + (0 * c) + (0 * s)
Writes = 4 + (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:0)
Storage: Contracts ContractInfoOf (r:1 w:1)
Storage: Timestamp Now (r:1 w:0)
Storage: System Account (r:1 w:1)

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

Model:
Time ~=    190.5
    + s    2.013
              µs

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

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

Data points distribution:
    s   mean µs  sigma µs       %
    0     189.6     0.227    0.1%
   20     230.6     0.259    0.1%
   40     271.5     0.403    0.1%
   60     311.6     0.768    0.2%
   80     351.2      0.68    0.1%
  100       391     0.641    0.1%
  120     434.5     7.241    1.6%
  140     470.9     1.924    0.4%
  160     509.9     0.354    0.0%
  180     549.7     0.805    0.1%
  200     589.8     1.052    0.1%
  220     635.1      10.9    1.7%
  240     681.8     15.75    2.3%
  260     708.3     0.575    0.0%
  280     758.7     11.87    1.5%
  300     792.2     9.087    1.1%
  320     835.4     13.33    1.5%
  340     868.4      3.86    0.4%
  360     912.6     11.12    1.2%
  380     955.3     13.75    1.4%
  400       998     15.36    1.5%
  420      1038     15.31    1.4%
  440      1078     12.56    1.1%
  460      1120     14.81    1.3%
  480      1159     12.34    1.0%
  500      1193     14.39    1.2%
  520      1252     13.02    1.0%
  540      1284     12.74    0.9%
  560      1331      13.7    1.0%
  580      1371     15.28    1.1%
  600      1410     15.02    1.0%
  620      1454     14.79    1.0%
  640      1494     14.86    0.9%
  660      1525      13.8    0.9%
  680      1568     14.32    0.9%
  700      1615     12.91    0.7%
  720      1647     15.36    0.9%
  740      1685     14.39    0.8%
  760      1720     10.59    0.6%
  780      1779     11.09    0.6%
  800      1803     13.83    0.7%
  820      1838     12.16    0.6%
  840      1903     6.062    0.3%
  860      1944     14.44    0.7%
  880      1983     4.445    0.2%
  900      2032     9.477    0.4%
  920      2065     6.675    0.3%
  940      2086     12.21    0.5%
  960      2133     15.69    0.7%
  980      2186     8.931    0.4%
 1000      2212      14.3    0.6%
 1020      2253     10.25    0.4%

Quality and confidence:
param     error
s         0.001

Model:
Time ~=    186.7
    + s    2.033
              µs

Reads = 5 + (0 * s)
Writes = 3 + (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 ~=    159.2
              µs

Reads = 4
Writes = 2

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

Model:
Time ~=    159.2
              µs

Reads = 4
Writes = 2

Pallet: "pallet_contracts", Extrinsic: "seal_caller", 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)

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

Model:
Time ~=    424.4
    + r      125
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     417.6     1.634    0.3%
    1     544.3     1.342    0.2%
    2     669.9     1.454    0.2%
    3     795.9     6.433    0.8%
    4     923.3     5.113    0.5%
    5      1045     7.606    0.7%
    6      1177     11.37    0.9%
    7      1309     13.82    1.0%
    8      1430     12.59    0.8%
    9      1565      11.3    0.7%
   10      1671     12.03    0.7%
   11      1807     12.39    0.6%
   12      1922     12.96    0.6%
   13      2041      14.3    0.7%
   14      2186     12.63    0.5%
   15      2312     10.13    0.4%
   16      2446     10.58    0.4%
   17      2561     12.94    0.5%
   18      2672     11.61    0.4%
   19      2805      20.2    0.7%
   20      2915     15.31    0.5%

Quality and confidence:
param     error
r         0.159

Model:
Time ~=    422.2
    + r    125.4
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_address", 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)

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

Model:
Time ~=      425
    + r    125.1
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     416.3     0.256    0.0%
    1     544.3     1.292    0.2%
    2     669.8     0.391    0.0%
    3     803.3     14.04    1.7%
    4     922.9     1.543    0.1%
    5      1058     14.11    1.3%
    6      1181     15.89    1.3%
    7      1314     15.22    1.1%
    8      1435     16.91    1.1%
    9      1554      15.9    1.0%
   10      1685     13.87    0.8%
   11      1814     6.661    0.3%
   12      1926     14.77    0.7%
   13      2042     14.48    0.7%
   14      2183     11.01    0.5%
   15      2317     5.841    0.2%
   16      2426     14.12    0.5%
   17      2555     8.219    0.3%
   18      2680     7.823    0.2%
   19      2848     14.88    0.5%
   20      2919     7.818    0.2%

Quality and confidence:
param     error
r         0.183

Model:
Time ~=      423
    + r    125.7
              µs

Reads = 3 + (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: 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 ~=    431.6
    + r    123.9
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     417.2     1.166    0.2%
    1     544.4     4.057    0.7%
    2     676.3     11.38    1.6%
    3     788.5     0.481    0.0%
    4     938.4     14.58    1.5%
    5      1059      15.9    1.5%
    6      1167     9.082    0.7%
    7      1307     14.29    1.0%
    8      1434     15.49    1.0%
    9      1546     12.35    0.7%
   10      1686     13.41    0.7%
   11      1802     14.34    0.7%
   12      1915     12.86    0.6%
   13      2052     7.511    0.3%
   14      2176     9.802    0.4%
   15      2307     6.321    0.2%
   16      2414     15.69    0.6%
   17      2540      5.86    0.2%
   18      2662     8.674    0.3%
   19      2783     8.482    0.3%
   20      2901     13.03    0.4%

Quality and confidence:
param     error
r         0.164

Model:
Time ~=    429.2
    + r    124.3
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_balance", 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:0)

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

Model:
Time ~=    442.1
    + r    354.7
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     421.2     4.601    1.0%
    1     789.8     13.19    1.6%
    2      1147     10.33    0.9%
    3      1513     6.779    0.4%
    4      1862     13.68    0.7%
    5      2219     7.057    0.3%
    6      2579     12.15    0.4%
    7      2936     6.667    0.2%
    8      3303     14.51    0.4%
    9      3633     7.215    0.1%
   10      3984     13.67    0.3%
   11      4334     10.97    0.2%
   12      4690     13.57    0.2%
   13      5048     12.97    0.2%
   14      5417     6.689    0.1%
   15      5772     13.92    0.2%
   16      6131     10.02    0.1%
   17      6463     18.56    0.2%
   18      6823     19.49    0.2%
   19      7164     9.996    0.1%
   20      7532     21.58    0.2%

Quality and confidence:
param     error
r         0.187

Model:
Time ~=    442.3
    + r    354.6
              µs

Reads = 4 + (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: 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 ~=    416.9
    + r    125.4
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     417.7     0.973    0.2%
    1     543.2      15.6    2.8%
    2     661.8     8.486    1.2%
    3     782.8     7.282    0.9%
    4     911.5     5.994    0.6%
    5      1031     1.135    0.1%
    6      1159     8.429    0.7%
    7      1302     12.53    0.9%
    8      1434     15.43    1.0%
    9      1546     14.88    0.9%
   10      1671     15.88    0.9%
   11      1800     16.78    0.9%
   12      1911     14.34    0.7%
   13      2036     15.17    0.7%
   14      2184     13.55    0.6%
   15      2317     10.55    0.4%
   16      2430     10.36    0.4%
   17      2545     15.52    0.6%
   18      2678     19.99    0.7%
   19      2810     22.51    0.8%
   20      2923     10.64    0.3%

Quality and confidence:
param     error
r         0.178

Model:
Time ~=    411.8
    + r    125.9
              µs

Reads = 3 + (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: 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 ~=    417.1
    + r    124.6
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     417.5     0.207    0.0%
    1     530.7     0.269    0.0%
    2     654.6     1.158    0.1%
    3     775.9     1.698    0.2%
    4     908.3     4.911    0.5%
    5      1033     10.51    1.0%
    6      1170     12.84    1.0%
    7      1300     13.63    1.0%
    8      1423      13.8    0.9%
    9      1570     15.61    0.9%
   10      1659     13.14    0.7%
   11      1784      15.2    0.8%
   12      1914     15.98    0.8%
   13      2030     17.98    0.8%
   14      2167     13.29    0.6%
   15      2295     15.17    0.6%
   16      2411     13.68    0.5%
   17      2551     9.995    0.3%
   18      2654     14.32    0.5%
   19      2788     10.38    0.3%
   20      2905     12.92    0.4%

Quality and confidence:
param     error
r          0.18

Model:
Time ~=    413.2
    + r    125.1
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_tombstone_deposit", 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)

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

Model:
Time ~=    419.4
    + r    125.6
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     416.2     0.185    0.0%
    1       531     0.535    0.1%
    2     657.1     4.362    0.6%
    3     779.7     7.774    0.9%
    4     914.4      7.53    0.8%
    5      1048     14.91    1.4%
    6      1194     13.88    1.1%
    7      1333     4.269    0.3%
    8      1431     14.59    1.0%
    9      1550      13.8    0.8%
   10      1672      12.2    0.7%
   11      1792     12.74    0.7%
   12      1926      7.64    0.3%
   13      2041     15.46    0.7%
   14      2179     10.88    0.4%
   15      2324     2.533    0.1%
   16      2437     12.94    0.5%
   17      2553     19.76    0.7%
   18      2688      20.8    0.7%
   19      2809     13.33    0.4%
   20      2928     6.779    0.2%

Quality and confidence:
param     error
r         0.192

Model:
Time ~=    415.6
    + r    126.1
              µs

Reads = 3 + (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: 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 ~=      417
    + r    124.4
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     416.3     0.289    0.0%
    1     529.9     0.333    0.0%
    2     656.8     10.77    1.6%
    3     780.8     10.67    1.3%
    4     913.8     13.33    1.4%
    5      1045     14.97    1.4%
    6      1165     13.45    1.1%
    7      1300     12.68    0.9%
    8      1431     15.23    1.0%
    9      1544     14.55    0.9%
   10      1662     15.01    0.9%
   11      1789      12.7    0.7%
   12      1910     12.74    0.6%
   13      2027     14.59    0.7%
   14      2185     7.599    0.3%
   15      2292     12.25    0.5%
   16      2407     13.49    0.5%
   17      2529     13.71    0.5%
   18      2658     9.619    0.3%
   19      2790     8.445    0.3%
   20      2912     15.68    0.5%

Quality and confidence:
param     error
r          0.17

Model:
Time ~=    414.7
    + r    124.9
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_now", 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)

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

Model:
Time ~=    418.8
    + r    124.9
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     403.4     0.209    0.0%
    1     529.7     0.228    0.0%
    2     670.8     5.661    0.8%
    3       797     12.96    1.6%
    4     933.1     14.78    1.5%
    5      1050     10.51    1.0%
    6      1166     10.74    0.9%
    7      1306     15.35    1.1%
    8      1433     11.47    0.8%
    9      1542     14.78    0.9%
   10      1667     14.36    0.8%
   11      1787     13.83    0.7%
   12      1918     11.15    0.5%
   13      2035     12.42    0.6%
   14      2192     6.521    0.2%
   15      2306     9.525    0.4%
   16      2430     7.654    0.3%
   17      2555     12.93    0.5%
   18      2673     15.41    0.5%
   19      2784     8.199    0.2%
   20      2904     13.07    0.4%

Quality and confidence:
param     error
r         0.178

Model:
Time ~=    419.1
    + r    125.1
              µs

Reads = 3 + (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: 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 ~=    418.4
    + r    290.4
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     417.6     0.147    0.0%
    1     700.5     8.414    1.2%
    2      1001     10.85    1.0%
    3      1288     14.09    1.0%
    4      1586     12.06    0.7%
    5      1850     13.07    0.7%
    6      2172     9.906    0.4%
    7      2450     12.09    0.4%
    8      2755     13.73    0.4%
    9      3025     18.19    0.6%
   10      3317     17.18    0.5%
   11      3633     12.19    0.3%
   12      3927     11.17    0.2%
   13      4198     12.05    0.2%
   14      4481     18.04    0.4%
   15      4774      10.9    0.2%
   16      5097     14.96    0.2%
   17      5363     19.94    0.3%
   18      5639     10.87    0.1%
   19      5921     24.96    0.4%
   20      6219     18.22    0.2%

Quality and confidence:
param     error
r         0.216

Model:
Time ~=    419.1
    + r    290.5
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_gas", 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)

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

Model:
Time ~=    150.9
    + r    56.52
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     145.1     0.107    0.0%
    1     205.4     0.252    0.1%
    2     262.3     1.193    0.4%
    3     321.1      0.43    0.1%
    4     379.6     7.833    2.0%
    5     418.7     0.716    0.1%
    6     496.1     5.178    1.0%
    7     549.5      1.33    0.2%
    8     611.7     10.34    1.6%
    9     667.3      11.4    1.7%
   10     718.3     6.668    0.9%
   11     773.6     1.851    0.2%
   12     832.5     10.01    1.2%
   13     893.5     14.49    1.6%
   14     946.2     11.07    1.1%
   15      1008     15.05    1.4%
   16      1063     13.75    1.2%
   17      1110     3.277    0.2%
   18      1166     9.096    0.7%
   19      1228     11.14    0.9%
   20      1284     14.56    1.1%

Quality and confidence:
param     error
r         0.117

Model:
Time ~=    149.6
    + r    56.86
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_input", 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)

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

Model:
Time ~=    424.3
    + r    106.4
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     417.3     0.218    0.0%
    1     527.1     0.343    0.0%
    2       637     7.055    1.1%
    3     747.8     13.53    1.8%
    4       850     1.188    0.1%
    5       955     1.549    0.1%
    6      1063     8.687    0.8%
    7      1186     16.14    1.3%
    8      1281     11.64    0.9%
    9      1392     15.05    1.0%
   10      1484     11.64    0.7%
   11      1599     13.72    0.8%
   12      1712     12.42    0.7%
   13      1801     14.13    0.7%
   14      1920     12.73    0.6%
   15      2039     10.93    0.5%
   16      2144      14.7    0.6%
   17      2252     4.097    0.1%
   18      2338     12.55    0.5%
   19      2455     9.838    0.4%
   20      2552     12.81    0.5%

Quality and confidence:
param     error
r         0.151

Model:
Time ~=    423.5
    + r    106.9
              µs

Reads = 3 + (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: 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 ~=    564.5
    + n    38.08
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     530.7     7.967    1.5%
   20      1311     14.68    1.1%
   40      2074     13.95    0.6%
   60      2846     21.31    0.7%
   80      3615     15.11    0.4%
  100      4372     13.81    0.3%
  120      5129     15.87    0.3%
  140      5893     22.76    0.3%
  160      6678     12.74    0.1%
  180      7431     15.23    0.2%
  200      8194     12.35    0.1%
  220      8938     16.25    0.1%
  240      9695     25.37    0.2%
  260     10460     24.23    0.2%
  280     11250     41.16    0.3%
  300     11990     36.56    0.3%
  320     12750     25.26    0.1%
  340     13530     42.83    0.3%
  360     14290     31.44    0.2%
  380     15060     37.03    0.2%
  400     15800     27.85    0.1%
  420     16560     25.79    0.1%
  440     17330      32.1    0.1%
  460     18100     26.92    0.1%
  480     18840     31.44    0.1%
  500     19590     20.49    0.1%
  520     20350     29.97    0.1%
  540     21120     34.47    0.1%
  560     21880     47.23    0.2%
  580     22650     52.23    0.2%
  600     23430     31.96    0.1%
  620     24200     36.17    0.1%
  640     24920     20.41    0.0%
  660     25730     29.22    0.1%
  680     26460     25.01    0.0%
  700     27190     22.97    0.0%
  720     28120       187    0.6%
  740     28730     16.68    0.0%
  760     29500     24.21    0.0%
  780     30300     36.91    0.1%
  800     31010     39.82    0.1%
  820     31810     50.79    0.1%
  840     32520     26.25    0.0%
  860     33340     29.14    0.0%
  880     34090     39.13    0.1%
  900     34840     26.99    0.0%
  920     35630     36.24    0.1%
  940     36370     35.84    0.0%
  960     37070     20.85    0.0%
  980     37870     38.96    0.1%
 1000     38630     38.22    0.0%
 1020     39410     24.06    0.0%

Quality and confidence:
param     error
n         0.006

Model:
Time ~=    566.4
    + n    38.09
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_return", 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)

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

Model:
Time ~=    406.9
    + r    3.319
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     406.8     0.133    0.0%
    1     413.3       5.5    1.3%

Quality and confidence:
param     error
r         1.833

Model:
Time ~=    406.8
    + r    6.551
              µs

Reads = 3 + (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: 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 ~=    410.2
    + n    0.623
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     409.5     0.137    0.0%
   20     426.1     5.863    1.3%
   40     436.3     3.851    0.8%
   60     449.4     5.803    1.2%
   80     459.9     0.285    0.0%
  100     472.6     0.164    0.0%
  120     484.9     0.365    0.0%
  140     498.9     4.496    0.9%
  160     511.5     4.165    0.8%
  180     522.5     0.196    0.0%
  200     536.4      4.18    0.7%
  220     547.6     0.249    0.0%
  240     565.1      8.44    1.4%
  260     572.3      0.38    0.0%
  280     601.3     10.23    1.7%
  300     597.6      0.37    0.0%
  320     613.1     8.713    1.4%
  340     631.3     14.04    2.2%
  360     636.5      4.66    0.7%
  380     654.2     10.87    1.6%
  400     661.1     4.008    0.6%
  420     685.8     9.149    1.3%
  440     684.8     0.229    0.0%
  460     707.4     15.75    2.2%
  480     732.4     15.25    2.0%
  500     728.4     7.587    1.0%
  520     744.3     11.64    1.5%
  540     758.6     11.45    1.5%
  560     761.6     6.264    0.8%
  580     782.4     8.217    1.0%
  600     787.1     6.517    0.8%
  620     806.8     12.77    1.5%
  640     822.6      13.8    1.6%
  660     824.2     4.718    0.5%
  680       834     0.291    0.0%
  700     849.6     7.514    0.8%
  720     868.6     9.841    1.1%
  740       874     7.898    0.9%
  760     894.7      12.3    1.3%
  780     903.8      12.4    1.3%
  800     911.6     7.478    0.8%
  820     929.1     10.15    1.0%
  840     936.5     9.439    1.0%
  860     959.5        12    1.2%
  880     962.9     8.196    0.8%
  900     978.5     8.882    0.9%
  920     991.5     12.07    1.2%
  940      1005     14.69    1.4%
  960      1011     5.673    0.5%
  980      1034     13.93    1.3%
 1000      1045     14.19    1.3%
 1020      1057     13.29    1.2%

Quality and confidence:
param     error
n         0.001

Model:
Time ~=      412
    + n    0.631
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_terminate", 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: Contracts DeletionQueue (r:1 w:1)
Storage: System Account (r:2 w:2)

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

Model:
Time ~=    415.7
    + r    70.53
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     415.7     0.233    0.0%
    1     488.3     4.818    0.9%

Quality and confidence:
param     error
r         1.608

Model:
Time ~=    415.7
    + r    72.64
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_random", 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: RandomnessCollectiveFlip RandomMaterial (r:1 w:0)

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

Model:
Time ~=    422.5
    + r      393
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     416.6     0.319    0.0%
    1     816.5     9.961    1.2%
    2      1218     13.67    1.1%
    3      1607     15.09    0.9%
    4      1994     12.24    0.6%
    5      2406     10.35    0.4%
    6      2792     7.789    0.2%
    7      3169      17.5    0.5%
    8      3563     7.589    0.2%
    9      3972     12.98    0.3%
   10      4352     13.65    0.3%
   11      4751     9.228    0.1%
   12      5125     15.48    0.3%
   13      5507     9.838    0.1%
   14      5898     10.38    0.1%
   15      6304     19.55    0.3%
   16      6678     24.64    0.3%
   17      7147     24.85    0.3%
   18      7530     22.48    0.2%
   19      7923     13.47    0.1%
   20      8294     15.19    0.1%

Quality and confidence:
param     error
r         0.275

Model:
Time ~=    421.3
    + r    393.4
              µs

Reads = 4 + (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: 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 ~=    428.3
    + r    690.4
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     414.6     3.464    0.8%
    1      1124     18.65    1.6%
    2      1809     16.21    0.8%
    3      2507     15.08    0.6%
    4      3210     15.51    0.4%
    5      3892     16.11    0.4%
    6      4571     12.72    0.2%
    7      5265     12.23    0.2%
    8      5937     7.112    0.1%
    9      6658     18.42    0.2%
   10      7329     12.58    0.1%
   11      8020     17.96    0.2%
   12      8738     25.61    0.2%
   13      9396     19.87    0.2%
   14     10090     10.29    0.1%
   15     10760      13.7    0.1%
   16     11430     18.06    0.1%
   17     12180     27.28    0.2%
   18     12890     28.91    0.2%
   19     13580     28.16    0.2%
   20     14230     27.72    0.1%

Quality and confidence:
param     error
r         0.293

Model:
Time ~=    428.5
    + r    690.8
              µs

Reads = 3 + (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: 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 ~=     1270
    + t    491.5
    + n    164.8
              µs

Reads = 3 + (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      3819     23.91    0.6%
    1    16      4443     17.92    0.4%
    2    16      4915     21.66    0.4%
    3    16      5399     14.34    0.2%
    4     0      3189     17.86    0.5%
    4     1      3378     13.19    0.3%
    4     2      3518     13.36    0.3%
    4     3      3695     22.24    0.6%
    4     4      3852     17.39    0.4%
    4     5      4025     19.79    0.4%
    4     6      4154     22.85    0.5%
    4     7      4356     16.26    0.3%
    4     8      4471     14.44    0.3%
    4     9      4657     9.596    0.2%
    4    10      4841     15.82    0.3%
    4    11      4955     24.99    0.5%
    4    12      5173     15.41    0.2%
    4    13      5333     14.54    0.2%
    4    14      5525     14.15    0.2%
    4    15      5639     17.55    0.3%
    4    16      5842     19.14    0.3%

Quality and confidence:
param     error
t         2.636
n         0.519

Model:
Time ~=     1245
    + t    484.6
    + n    165.8
              µs

Reads = 3 + (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: 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.3
    + r    72.35
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     164.7     0.168    0.1%
    1     241.7      0.19    0.0%
    2     300.8     0.947    0.3%
    3     389.6     1.514    0.3%
    4       447     4.051    0.9%
    5     530.7     6.416    1.2%
    6     598.3     3.928    0.6%
    7     666.1     1.872    0.2%
    8     740.9     10.61    1.4%
    9     802.5     2.286    0.2%
   10     884.3     13.28    1.5%
   11     971.7     9.995    1.0%
   12      1043     12.22    1.1%
   13      1111     8.511    0.7%
   14      1188     12.21    1.0%
   15      1251     10.17    0.8%
   16      1324     11.43    0.8%
   17      1403     10.91    0.7%
   18      1482      12.6    0.8%
   19      1540     14.06    0.9%
   20      1614     12.39    0.7%

Quality and confidence:
param     error
r         0.127

Model:
Time ~=    162.1
    + r    72.82
              µs

Reads = 3 + (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 ~=    403.8
    + r    244.8
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     405.1     4.604    1.1%
    1     661.9      1.71    0.2%
    2     892.2     1.805    0.2%
    3      1135      6.58    0.5%
    4      1373     13.96    1.0%
    5      1610     13.19    0.8%
    6      1880      9.85    0.5%
    7      2095     12.64    0.6%
    8      2344      14.7    0.6%
    9      2597     7.641    0.2%
   10      2835     11.21    0.3%
   11      3134     19.74    0.6%
   12      3362     15.33    0.4%
   13      3588     16.54    0.4%
   14      3827     8.647    0.2%
   15      4070     12.44    0.3%
   16      4315     8.063    0.1%
   17      4548      12.7    0.2%
   18      4840     4.935    0.1%
   19      5062     21.87    0.4%
   20      5300     8.887    0.1%

Quality and confidence:
param     error
r         0.221

Model:
Time ~=    399.3
    + r    245.2
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_set_storage_per_kb", 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: unknown [0x7afa01283080ef247df84e0ba38ea5a587d25ce6633a6bfbba02068c14023441] (r:0 w:1)

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

Model:
Time ~=    625.2
    + n    71.61
              µs

Reads = 3 + (0 * n)
Writes = 2 + (0 * n)

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

Data points distribution:
    n   mean µs  sigma µs       %
    0       603     0.802    0.1%
    1     699.1     0.713    0.1%
    2       775     9.128    1.1%
    3     839.2     1.711    0.2%
    4     918.8     16.35    1.7%
    5     983.7     10.12    1.0%
    6      1047     3.971    0.3%
    7      1124     11.25    1.0%
    8      1218     10.21    0.8%
    9      1285     12.18    0.9%
   10      1337     4.761    0.3%
   11      1409     1.617    0.1%
   12      1464     2.952    0.2%
   13      1562     9.404    0.6%
   14      1653     13.88    0.8%
   15      1709     13.21    0.7%
   16      1757     13.91    0.7%

Quality and confidence:
param     error
n         0.246

Model:
Time ~=      623
    + n    72.05
              µs

Reads = 3 + (0 * n)
Writes = 2 + (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 ~=    451.3
    + r    223.9
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     416.7     0.413    0.0%
    1     698.7     13.13    1.8%
    2     901.9     2.858    0.3%
    3      1136     10.74    0.9%
    4      1341     9.563    0.7%
    5      1562     10.96    0.7%
    6      1793     12.81    0.7%
    7      2014     13.42    0.6%
    8      2209     9.458    0.4%
    9      2454     12.11    0.4%
   10      2675     9.389    0.3%
   11      2928     13.16    0.4%
   12      3169      15.7    0.4%
   13      3358     6.102    0.1%
   14      3582     11.44    0.3%
   15      3791     8.487    0.2%
   16      4030     8.882    0.2%
   17      4243     13.84    0.3%
   18      4507     12.72    0.2%
   19      4729     30.53    0.6%
   20      4920     15.26    0.3%

Quality and confidence:
param     error
r         0.247

Model:
Time ~=    445.1
    + r    224.3
              µs

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

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 ~=      297
    + r    545.6
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     417.7     0.939    0.2%
    1     917.8     9.258    1.0%
    2      1407     12.78    0.9%
    3      1939     15.05    0.7%
    4      2457     6.209    0.2%
    5      3007     13.79    0.4%
    6      3536     12.85    0.3%
    7      4075     26.47    0.6%
    8      4580      21.1    0.4%
    9      5168     14.36    0.2%
   10      5697     15.53    0.2%
   11      6313      18.1    0.2%
   12      6820     17.79    0.2%
   13      7356     22.58    0.3%
   14      7907     30.22    0.3%
   15      8519     25.15    0.2%
   16      9016     24.34    0.2%
   17      9589     26.66    0.2%
   18     10190     32.35    0.3%
   19     10730     42.48    0.3%
   20     11340     50.14    0.4%

Quality and confidence:
param     error
r         0.694

Model:
Time ~=    290.2
    + r    547.1
              µs

Reads = 3 + (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: Contracts ContractInfoOf (r:1 w:1)
Storage: Contracts CodeStorage (r:1 w:0)
Storage: Timestamp Now (r:1 w:0)
Storage: unknown [0x7afa01283080ef247df84e0ba38ea5a587d25ce6633a6bfbba02068c14023441] (r:1 w:0)

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

Model:
Time ~=    741.8
    + n    111.7
              µs

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

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

Data points distribution:
    n   mean µs  sigma µs       %
    0     712.2     2.432    0.3%
    1     848.2     9.581    1.1%
    2     976.3     13.75    1.4%
    3      1088     13.81    1.2%
    4      1188     1.972    0.1%
    5      1302     13.95    1.0%
    6      1417     8.099    0.5%
    7      1521     11.18    0.7%
    8      1637     12.18    0.7%
    9      1758     10.99    0.6%
   10      1850     14.86    0.8%
   11      1970     10.03    0.5%
   12      2074     15.86    0.7%
   13      2181     11.72    0.5%
   14      2299     12.25    0.5%
   15      2451      9.93    0.4%
   16      2525     10.35    0.4%

Quality and confidence:
param     error
n         0.267

Model:
Time ~=    737.7
    + n    112.2
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_transfer", 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:101 w:101)

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

Model:
Time ~=    373.6
    + r     4336
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     422.1     0.123    0.0%
    1      4720     16.08    0.3%
    2      9024     16.72    0.1%
    3     13300     37.42    0.2%
    4     17720      40.1    0.2%
    5     22000     18.25    0.0%
    6     26300     31.08    0.1%
    7     30670     29.08    0.0%
    8     35020     66.31    0.1%
    9     39350     41.47    0.1%
   10     43770     55.47    0.1%
   11     48260     31.15    0.0%
   12     52710     57.85    0.1%
   13     56970     40.56    0.0%
   14     61050     50.54    0.0%
   15     65300     91.52    0.1%
   16     69470     102.4    0.1%
   17     74230     57.18    0.0%
   18     78840     129.3    0.1%
   19     82330     67.26    0.0%
   20     86990     85.39    0.0%

Quality and confidence:
param     error
r         2.184

Model:
Time ~=    383.4
    + r     4335
              µs

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

Pallet: "pallet_contracts", Extrinsic: "seal_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)

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

Model:
Time ~=        0
    + r    39770
              µs

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

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

Data points distribution:
    r   mean µs  sigma µs       %
    0     422.1     0.464    0.1%
    1     38740     29.34    0.0%
    2     77100        66    0.0%
    3    115400      53.3    0.0%
    4    159100     84.56    0.0%
    5    198800      66.7    0.0%
    6    238300     142.3    0.0%
    7    277900       126    0.0%
    8    317600     158.6    0.0%
    9    358000     167.7    0.0%
   10    397700      88.4    0.0%
   11    437700     145.3    0.0%
   12    476400     265.9    0.0%
   13    516300     281.9    0.0%
   14    556100       367    0.0%
   15    595900       231    0.0%
   16    636400     236.1    0.0%
   17    676000     98.44    0.0%
   18    715100       352    0.0%
   19    755500     380.2    0.0%
   20    794100     260.6    0.0%

Quality and confidence:
param     error
r         11.01

Model:
Time ~=        0
    + r    39800
              µs

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

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

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

Model:
Time ~=    38740
    + t     3671
    + i    63.52
    + o    101.6
              µs

Reads = 104 + (101 * t) + (0 * i) + (0 * o)
Writes = 101 + (101 * t) + (0 * i) + (0 * o)

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

Data points distribution:
    t     i     o   mean µs  sigma µs       %
    0  1024   960    201300     74.62    0.0%
    1     0   960    140000     65.03    0.0%
    1    20   960    141300     73.65    0.0%
    1    40   960    142600     89.44    0.0%
    1    60   960    144000      60.1    0.0%
    1    80   960    145200     83.26    0.0%
    1   100   960    146300     86.37    0.0%
    1   120   960    147700     63.69    0.0%
    1   140   960    149000     42.16    0.0%
    1   160   960    150200     114.7    0.0%
    1   180   960    151600     63.32    0.0%
    1   200   960    152500     101.5    0.0%
    1   220   960    154000     72.63    0.0%
    1   240   960    155200     101.5    0.0%
    1   260   960    156600     94.83    0.0%
    1   280   960    157900     64.71    0.0%
    1   300   960    159000     81.86    0.0%
    1   320   960    160400     75.44    0.0%
    1   340   960    161600     72.96    0.0%
    1   360   960    162800     80.48    0.0%
    1   380   960    164200     78.83    0.0%
    1   400   960    165500     58.58    0.0%
    1   420   960    166700     102.3    0.0%
    1   440   960    168000     102.8    0.0%
    1   460   960    169100     91.46    0.0%
    1   480   960    170600      35.4    0.0%
    1   500   960    171900     93.35    0.0%
    1   520   960    173300     89.85    0.0%
    1   540   960    174600     60.61    0.0%
    1   560   960    175800     115.5    0.0%
    1   580   960    177100     107.7    0.0%
    1   600   960    178300     54.06    0.0%
    1   620   960    179500     49.98    0.0%
    1   640   960    180900     84.53    0.0%
    1   660   960    182200     87.75    0.0%
    1   680   960    183200     84.73    0.0%
    1   700   960    184400     103.4    0.0%
    1   720   960    185900     69.35    0.0%
    1   740   960    186900     82.16    0.0%
    1   760   960    188300        70    0.0%
    1   780   960    189700     55.68    0.0%
    1   800   960    190900     44.45    0.0%
    1   820   960    192100     82.03    0.0%
    1   840   960    193400     90.57    0.0%
    1   860   960    194600     43.18    0.0%
    1   880   960    196000     64.39    0.0%
    1   900   960    197300     46.49    0.0%
    1   920   960    198400     29.15    0.0%
    1   940   960    199900     103.8    0.0%
    1   960   960    201000     62.79    0.0%
    1   980   960    202200     75.25    0.0%
    1  1000   960    203500     72.33    0.0%
    1  1020   960    204800     58.44    0.0%
    1  1024     0    107400      60.3    0.0%
    1  1024    19    109500     85.72    0.0%
    1  1024    38    111500     63.26    0.0%
    1  1024    57    113500     50.25    0.0%
    1  1024    76    115400     59.62    0.0%
    1  1024    95    117600     57.73    0.0%
    1  1024   114    119200     96.81    0.0%
    1  1024   133    121300     63.92    0.0%
    1  1024   152    122900        63    0.0%
    1  1024   171    125000     81.83    0.0%
    1  1024   190    126900     109.5    0.0%
    1<truncated>...

ERROR: Unable to push ./frame/contracts/src/weights.rs

@athei
Copy link
Member

athei commented Sep 9, 2021

@xgreenx Can you please merge master? Also, can you please check the box to allow edits by maintainers. Otherwise the bot can't publish the results.

@xgreenx
Copy link
Contributor Author

xgreenx commented Sep 9, 2021

I don't see this checkbox=( Seems because I created PR from the organization isaacs/github#1681.
изображение

@xgreenx
Copy link
Contributor Author

xgreenx commented Sep 9, 2021

Maybe I can push weights from the bot manually? Or I can create this PR from my own account(not from the organization).

@athei
Copy link
Member

athei commented Sep 9, 2021

I don't see this checkbox=( Seems because I created PR from the organization isaacs/github#1681.

It is because the PR was created from a fork (the only way as an external contributor). There is a checkbox to allow edits when creating the PR: https://docs.github.com/en/github/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork

Not sure if you can never change that for an existing PR or whether this is because this is an organization account.

Maybe I can push weights from the bot manually?

I will send you the file.

@athei
Copy link
Member

athei commented Sep 9, 2021

@xgreenx This is the result from the benchbot. Kudos to @joao-paulo-parity for recovering this file. Extract the source file and overwrite the existing weight.rs in the contracts directory with it.
weights.rs.zip

@athei
Copy link
Member

athei commented Sep 9, 2021

CI is flaky at the moment. The failure is not related to the changes here.

// hash is placed. Should be decodable as a 32 bytes. Traps otherwise.
// - `output_ptr`: the pointer into the linear memory where the output
// data is placed. The buffer should be 33 bytes. Traps otherwise.
// The function will write the result directly into this buffer.
Copy link
Contributor

@cmichi cmichi Sep 10, 2021

Choose a reason for hiding this comment

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

The indentation in the lines above is messed up, probably tabs vs. spaces.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah the perils of function like macros. Someone really should convert this to an attribute macro so we can use rustfmt there 😅

frame/contracts/src/exec.rs Outdated Show resolved Hide resolved
Copy link
Contributor

@cmichi cmichi left a comment

Choose a reason for hiding this comment

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

Very nice that you implemented this, @xgreenx !

I just added some nitpicks regarding consistency of the comments, but it looks good to me besides that. Are you planning on doing the ink! side as well?

@xgreenx
Copy link
Contributor Author

xgreenx commented Sep 10, 2021

Yes, the change for ink! is ready, I will create PR after merging of this=)

Co-authored-by: Michael Müller <mich@elmueller.net>
@athei
Copy link
Member

athei commented Sep 10, 2021

Awesome! Can you merge master again? Just to make sure CI failing is not caused by this.

@athei
Copy link
Member

athei commented Sep 10, 2021

You need to merge master one last time. There was a change that is needed.

@athei
Copy link
Member

athei commented Sep 10, 2021

bot merge

@ghost
Copy link

ghost commented Sep 10, 2021

Trying merge.

@ghost ghost merged commit 7fa40a2 into paritytech:master Sep 10, 2021
atenjin added a commit to patractlabs/substrate that referenced this pull request Nov 22, 2021
…ritytech#9686)

* Implemented `seal_ecdsa_recovery` function in the contract pallet.
Added benchmark and unit test.

* Run `cargo fmt`

* Skip fmt for slices

* Changes according comments in pull request.

* Fix build without `unstable-interface` feature

* Applied suggestion from the review

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Changed RecoveryFailed to EcdsaRecoverFailed

* Manually updated weights.rs

* Apply suggestions from code review

Co-authored-by: Michael Müller <mich@elmueller.net>

Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Michael Müller <mich@elmueller.net>
This pull request was closed.
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
None yet
Development

Successfully merging this pull request may close these issues.

Contracts pallet - Add support for recovering public key from elliptic curve signatures (ECDSA)
3 participants