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

Remove a max supply record on collection's destruction #11593

Merged
merged 4 commits into from
Jun 7, 2022

Conversation

jsidorenko
Copy link
Contributor

@jsidorenko jsidorenko added A0-please_review Pull request needs code review. B0-silent Changes should not be mentioned in any release notes C1-low PR touches the given topic and has a low impact on builders. D5-nicetohaveaudit ⚠️ PR contains trivial changes to logic that should be properly reviewed. labels Jun 3, 2022
@jsidorenko jsidorenko requested review from shawntabrizi and ggwpez June 3, 2022 21:25
@paritytech paritytech deleted a comment from parity-benchapp bot Jun 3, 2022
@jsidorenko
Copy link
Contributor Author

/benchmark runtime pallet pallet_uniques

…--manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
@parity-benchapp
Copy link

parity-benchapp bot commented Jun 3, 2022

Benchmark Runtime Pallet for branch "js/remove-max-supply-on-destroy" with command cargo run --quiet --profile=production --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic="*" --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Toolchain: stable-x86_64-unknown-linux-gnu (default)
rustc 1.60.0 (7737e0b5c 2022-04-04)

Results
Pallet: "pallet_uniques", Extrinsic: "create", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques ClassAccount (r:0 w:1)

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

Model:
Time ~=    29.03
              µs

Reads = 1
Writes = 2

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

Model:
Time ~=    29.03
              µs

Reads = 1
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "force_create", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques ClassAccount (r:0 w:1)

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

Model:
Time ~=    16.85
              µs

Reads = 1
Writes = 2

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

Model:
Time ~=    16.85
              µs

Reads = 1
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "destroy", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques Asset (r:1 w:0)
Storage: Uniques ClassAccount (r:0 w:1)
Storage: Uniques Attribute (r:0 w:1000)
Storage: Uniques ClassMetadataOf (r:0 w:1)
Storage: Uniques InstanceMetadataOf (r:0 w:1000)
Storage: Uniques CollectionMaxSupply (r:0 w:1)
Storage: Uniques Account (r:0 w:20)

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

Model:
Time ~=        0
    + n    10.29
    + m    1.707
    + a     1.54
              µs

Reads = 2 + (1 * n) + (0 * m) + (0 * a)
Writes = 4 + (2 * n) + (1 * m) + (1 * a)

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

Data points distribution:
    n     m     a   mean µs  sigma µs       %
    0  1000  1000      2345     11.34    0.4%
   20  1000  1000      2574     23.28    0.9%
   40  1000  1000      2732     30.95    1.1%
   60  1000  1000      2934     13.59    0.4%
   80  1000  1000      3067     14.78    0.4%
  100  1000  1000      3260     18.06    0.5%
  120  1000  1000      3479     10.69    0.3%
  140  1000  1000      3672     11.77    0.3%
  160  1000  1000      3874     16.72    0.4%
  180  1000  1000      4076     12.61    0.3%
  200  1000  1000      4290     17.05    0.3%
  220  1000  1000      4432     26.97    0.6%
  240  1000  1000      4628     23.18    0.5%
  260  1000  1000      4847     20.26    0.4%
  280  1000  1000      5030     16.36    0.3%
  300  1000  1000      5227     32.26    0.6%
  320  1000  1000      5378     29.05    0.5%
  340  1000  1000      5546      23.9    0.4%
  360  1000  1000      5890     27.21    0.4%
  380  1000  1000      6023      28.3    0.4%
  400  1000  1000      6153     21.97    0.3%
  420  1000  1000      6454     38.43    0.5%
  440  1000  1000      6565     25.89    0.3%
  460  1000  1000      6784     17.31    0.2%
  480  1000  1000      6985     17.13    0.2%
  500  1000  1000      7247     17.53    0.2%
  520  1000  1000      7437     29.38    0.3%
  540  1000  1000      7671     28.62    0.3%
  560  1000  1000      7985     25.17    0.3%
  580  1000  1000      8231     36.58    0.4%
  600  1000  1000      8345     29.13    0.3%
  620  1000  1000      8546     35.91    0.4%
  640  1000  1000      8698     25.71    0.2%
  660  1000  1000      8829     36.76    0.4%
  680  1000  1000      9179     41.89    0.4%
  700  1000  1000      9323     42.99    0.4%
  720  1000  1000      9596     28.87    0.3%
  740  1000  1000      9583     42.27    0.4%
  760  1000  1000      9933     40.34    0.4%
  780  1000  1000     10170     14.93    0.1%
  800  1000  1000     10570     26.92    0.2%
  820  1000  1000     10950     47.88    0.4%
  840  1000  1000     11010     29.34    0.2%
  860  1000  1000     11260     38.19    0.3%
  880  1000  1000     11230     23.28    0.2%
  900  1000  1000     11680     54.32    0.4%
  920  1000  1000     11880     44.69    0.3%
  940  1000  1000     11950     76.36    0.6%
  960  1000  1000     12050     42.51    0.3%
  980  1000  1000     12440     94.08    0.7%
 1000     0  1000     10810     38.72    0.3%
 1000    20  1000     10880      52.3    0.4%
 1000    40  1000     11180     41.13    0.3%
 1000    60  1000     11170     65.03    0.5%
 1000    80  1000     11150     51.66    0.4%
 1000   100  1000     11050     55.71    0.5%
 1000   120  1000     11340     44.31    0.3%
 1000   140  1000     11150     39.14    0.3%
 1000   160  1000     11290     45.82    0.4%
 1000   180  1000     11400     31.83    0.2%
 1000   200  1000     11090      42.1    0.3%
 1000   220  1000     11440     41.64    0.3%
 1000   240  1000     11540     68.07    0.5%
 1000   260  1000     11570     35.36    0.3%
 1000   280  1000     11510     31.66    0.2%
 1000   300  1000     11390     22.23    0.1%
 1000   320  1000     11520     36.21    0.3%
 1000   340  1000     11650     42.78    0.3%
 1000   360  1000     11510     42.05    0.3%
 1000   380  1000     11540     53.87    0.4%
 1000   400  1000     11580     31.09    0.2%
 1000   420  1000     11470     62.35    0.5%
 1000   440  1000     11780     36.42    0.3%
 1000   460  1000     11990      66.4    0.5%
 1000   480  1000     11570     62.22    0.5%
 1000   500  1000     11750     50.81    0.4%
 1000   520  1000     11970     59.12    0.4%
 1000   540  1000     12020     49.12    0.4%
 1000   560  1000     11830     31.56    0.2%
 1000   580  1000     12050     43.59    0.3%
 1000   600  1000     12290        51    0.4%
 1000   620  1000     12170      38.9    0.3%
 1000   640  1000     11930     46.12    0.3%
 1000   660  1000     12270     41.08    0.3%
 1000   680  1000     12360     39.78    0.3%
 1000   700  1000     12220     34.83    0.2%
 1000   720  1000     12040     30.84    0.2%
 1000   740  1000     12460     51.27    0.4%
 1000   760  1000     12390     66.83    0.5%
 1000   780  1000     12130     51.15    0.4%
 1000   800  1000     12380     36.64    0.2%
 1000   820  1000     12320     31.08    0.2%
 1000   840  1000     12520     55.29    0.4%
 1000   860  1000     12620     86.88    0.6%
 1000   880  1000     12530     64.62    0.5%
 1000   900  1000     12620     66.58    0.5%
 1000   920  1000     12570     51.85    0.4%
 1000   940  1000     12380     38.35    0.3%
 1000   960  1000     12770      39.7    0.3%
 1000   980  1000     12580     62.62    0.4%
 1000  1000     0     11060     45.16    0.4%
 1000  1000    20     11160     35.37    0.3%
 1000  1000    40     11310     47.42    0.4%
 1000  1000    60     11420      33.5    0.2%
 1000  1000    80     11030     45.86    0.4%
 1000  1000   100     11550     52.97    0.4%
 1000  1000   120     11270     57.77    0.5%
 1000  1000   140     11430     38.14    0.3%
 1000  1000   160     11460     59.39    0.5%
 1000  1000   180     11190     69.23    0.6%
 1000  1000   200     11540     52.39    0.4%
 1000  1000   220     11530     20.02    0.1%
 1000  1000   240     11540     39.08    0.3%
 1000  1000   260     11650     57.95    0.4%
 1000  1000   280     11490     40.93    0.3%
 1000  1000   300     11740     46.09    0.3%
 1000  1000   320     11600     60.58    0.5%
 1000  1000   340     11730     41.79    0.3%
 1000  1000   360     11910     62.86    0.5%
 1000  1000   380     11560     70.69    0.6%
 1000  1000   400     11470     34.57    0.3%
 1000  1000   420     11660     36.57    0.3%
 1000  1000   440     11840     59.26    0.5%
 1000  1000   460     11960     40.87    0.3%
 1000  1000   480     11950     30.18    0.2%
 1000  1000   500     11640     23.25    0.1%
 1000  1000   520     11760     50.25    0.4%
 1000  1000   540     11660     52.86    0.4%
 1000  1000   560     11960      42.1    0.3%
 1000  1000   580     12010     48.56    0.4%
 1000  1000   600     11970     68.14    0.5%
 1000  1000   620     12190     59.25    0.4%
 1000  1000   640     12470     45.87    0.3%
 1000  1000   660     12270     59.59    0.4%
 1000  1000   680     12230     62.53    0.5%
 1000  1000   700     12340     53.83    0.4%
 1000  1000   720     12420     76.99    0.6%
 1000  1000   740     12160     56.54    0.4%
 1000  1000   760     12500     48.54    0.3%
 1000  1000   780     12240     48.21    0.3%
 1000  1000   800     12120     22.82    0.1%
 1000  1000   820     12340     36.18    0.2%
 1000  1000   840     12510     25.52    0.2%
 1000  1000   860     12550     31.07    0.2%
 1000  1000   880     12840     85.89    0.6%
 1000  1000   900     12680     75.55    0.5%
 1000  1000   920     12300        32    0.2%
 1000  1000   940     12720     72.03    0.5%
 1000  1000   960     12820     45.97    0.3%
 1000  1000   980     12590     55.87    0.4%
 1000  1000  1000     12600     62.52    0.4%

Quality and confidence:
param     error
n         0.016
m         0.016
a         0.016

Model:
Time ~=        0
    + n    10.54
    + m    1.632
    + a    1.483
              µs

Reads = 2 + (1 * n) + (0 * m) + (0 * a)
Writes = 4 + (2 * n) + (1 * m) + (1 * a)

Pallet: "pallet_uniques", Extrinsic: "mint", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Asset (r:1 w:1)
Storage: Uniques Class (r:1 w:1)
Storage: Uniques CollectionMaxSupply (r:1 w:0)
Storage: Uniques Account (r:0 w:1)

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

Model:
Time ~=    36.29
              µs

Reads = 3
Writes = 3

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

Model:
Time ~=    36.29
              µs

Reads = 3
Writes = 3

Pallet: "pallet_uniques", Extrinsic: "burn", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques Asset (r:1 w:1)
Storage: Uniques Account (r:0 w:1)

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

Model:
Time ~=    36.46
              µs

Reads = 2
Writes = 3

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

Model:
Time ~=    36.46
              µs

Reads = 2
Writes = 3

Pallet: "pallet_uniques", Extrinsic: "transfer", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:0)
Storage: Uniques Asset (r:1 w:1)
Storage: Uniques Account (r:0 w:2)

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

Model:
Time ~=    27.47
              µs

Reads = 2
Writes = 3

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

Model:
Time ~=    27.47
              µs

Reads = 2
Writes = 3

Pallet: "pallet_uniques", Extrinsic: "redeposit", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques Asset (r:100 w:100)

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

Model:
Time ~=        0
    + i     12.3
              µs

Reads = 1 + (1 * i)
Writes = 1 + (1 * i)

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

Data points distribution:
    i   mean µs  sigma µs       %
    0     18.18     0.096    0.5%
  100      1091     8.842    0.8%
  200      2193     7.062    0.3%
  300      3358        16    0.4%
  400      4404     8.566    0.1%
  500      5593     24.57    0.4%
  600      6762     45.39    0.6%
  700      7847     27.06    0.3%
  800      8981     24.74    0.2%
  900     10150     25.31    0.2%
 1000     11350     31.53    0.2%
 1100     12590     33.11    0.2%
 1200     13800     37.86    0.2%
 1300     14690     40.09    0.2%
 1400     15970     60.45    0.3%
 1500     17190     46.92    0.2%
 1600     18170     24.52    0.1%
 1700     19440     53.85    0.2%
 1800     20880     39.21    0.1%
 1900     22240     95.39    0.4%
 2000     23200     65.96    0.2%
 2100     24710     46.72    0.1%
 2200     25660     72.96    0.2%
 2300     26940     75.75    0.2%
 2400     28020     62.94    0.2%
 2500     29320     66.84    0.2%
 2600     30480     83.55    0.2%
 2700     31560     71.94    0.2%
 2800     32800     82.21    0.2%
 2900     34440     80.03    0.2%
 3000     35420     102.2    0.2%
 3100     36840     131.2    0.3%
 3200     37990     61.87    0.1%
 3300     39410     109.6    0.2%
 3400     40500     131.1    0.3%
 3500     41710     131.4    0.3%
 3600     43770     130.5    0.2%
 3700     44330     167.6    0.3%
 3800     46100     168.4    0.3%
 3900     47110       145    0.3%
 4000     48160     94.11    0.1%
 4100     50080     151.1    0.3%
 4200     50990     56.38    0.1%
 4300     52240     124.5    0.2%
 4400     54360     79.29    0.1%
 4500     55020     152.3    0.2%
 4600     56530     125.3    0.2%
 4700     57520       161    0.2%
 4800     59580     202.9    0.3%
 4900     60080     156.7    0.2%
 5000     60690     145.8    0.2%

Quality and confidence:
param     error
i         0.015

Model:
Time ~=        0
    + i    12.35
              µs

Reads = 1 + (1 * i)
Writes = 1 + (1 * i)

Pallet: "pallet_uniques", Extrinsic: "freeze", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Asset (r:1 w:1)
Storage: Uniques Class (r:1 w:0)

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

Model:
Time ~=    22.74
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    22.74
              µs

Reads = 2
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "thaw", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Asset (r:1 w:1)
Storage: Uniques Class (r:1 w:0)

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

Model:
Time ~=    21.76
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    21.76
              µs

Reads = 2
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "freeze_collection", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)

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

Model:
Time ~=    17.19
              µs

Reads = 1
Writes = 1

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

Model:
Time ~=    17.19
              µs

Reads = 1
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "thaw_collection", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)

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

Model:
Time ~=    17.15
              µs

Reads = 1
Writes = 1

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

Model:
Time ~=    17.15
              µs

Reads = 1
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "transfer_ownership", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques OwnershipAcceptance (r:1 w:1)
Storage: Uniques Class (r:1 w:1)
Storage: Uniques ClassAccount (r:0 w:2)

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

Model:
Time ~=     24.4
              µs

Reads = 2
Writes = 4

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

Model:
Time ~=     24.4
              µs

Reads = 2
Writes = 4

Pallet: "pallet_uniques", Extrinsic: "set_team", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)

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

Model:
Time ~=    17.85
              µs

Reads = 1
Writes = 1

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

Model:
Time ~=    17.85
              µs

Reads = 1
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "force_item_status", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques ClassAccount (r:0 w:1)

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

Model:
Time ~=     19.9
              µs

Reads = 1
Writes = 2

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

Model:
Time ~=     19.9
              µs

Reads = 1
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "set_attribute", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques InstanceMetadataOf (r:1 w:0)
Storage: Uniques Attribute (r:1 w:1)

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

Model:
Time ~=    41.83
              µs

Reads = 3
Writes = 2

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

Model:
Time ~=    41.83
              µs

Reads = 3
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "clear_attribute", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques InstanceMetadataOf (r:1 w:0)
Storage: Uniques Attribute (r:1 w:1)

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

Model:
Time ~=    39.24
              µs

Reads = 3
Writes = 2

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

Model:
Time ~=    39.24
              µs

Reads = 3
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "set_metadata", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques InstanceMetadataOf (r:1 w:1)

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

Model:
Time ~=    33.66
              µs

Reads = 2
Writes = 2

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

Model:
Time ~=    33.66
              µs

Reads = 2
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "clear_metadata", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques InstanceMetadataOf (r:1 w:1)

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

Model:
Time ~=    32.95
              µs

Reads = 2
Writes = 2

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

Model:
Time ~=    32.95
              µs

Reads = 2
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "set_collection_metadata", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques ClassMetadataOf (r:1 w:1)

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

Model:
Time ~=    32.18
              µs

Reads = 2
Writes = 2

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

Model:
Time ~=    32.18
              µs

Reads = 2
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "clear_collection_metadata", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:0)
Storage: Uniques ClassMetadataOf (r:1 w:1)

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

Model:
Time ~=    31.11
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    31.11
              µs

Reads = 2
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "approve_transfer", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:0)
Storage: Uniques Asset (r:1 w:1)

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

Model:
Time ~=    22.99
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    22.99
              µs

Reads = 2
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "cancel_approval", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:0)
Storage: Uniques Asset (r:1 w:1)

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

Model:
Time ~=    23.07
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    23.07
              µs

Reads = 2
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "set_accept_ownership", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques OwnershipAcceptance (r:1 w:1)

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

Model:
Time ~=    21.22
              µs

Reads = 1
Writes = 1

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

Model:
Time ~=    21.22
              µs

Reads = 1
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "set_collection_max_supply", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques CollectionMaxSupply (r:1 w:1)
Storage: Uniques Class (r:1 w:0)

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

Model:
Time ~=    19.68
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    19.68
              µs

Reads = 2
Writes = 1


…--manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs
@parity-benchapp
Copy link

parity-benchapp bot commented Jun 3, 2022

Benchmark Runtime Pallet for branch "js/remove-max-supply-on-destroy" with command cargo run --quiet --profile=production --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic="*" --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Toolchain: stable-x86_64-unknown-linux-gnu (default)
rustc 1.60.0 (7737e0b5c 2022-04-04)

Results
Pallet: "pallet_uniques", Extrinsic: "create", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques ClassAccount (r:0 w:1)

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

Model:
Time ~=    27.71
              µs

Reads = 1
Writes = 2

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

Model:
Time ~=    27.71
              µs

Reads = 1
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "force_create", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques ClassAccount (r:0 w:1)

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

Model:
Time ~=    16.92
              µs

Reads = 1
Writes = 2

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

Model:
Time ~=    16.92
              µs

Reads = 1
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "destroy", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques Asset (r:1 w:0)
Storage: Uniques ClassAccount (r:0 w:1)
Storage: Uniques Attribute (r:0 w:1000)
Storage: Uniques ClassMetadataOf (r:0 w:1)
Storage: Uniques InstanceMetadataOf (r:0 w:1000)
Storage: Uniques CollectionMaxSupply (r:0 w:1)
Storage: Uniques Account (r:0 w:20)

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

Model:
Time ~=        0
    + n    10.23
    + m    1.788
    + a    1.679
              µs

Reads = 2 + (1 * n) + (0 * m) + (0 * a)
Writes = 4 + (2 * n) + (1 * m) + (1 * a)

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

Data points distribution:
    n     m     a   mean µs  sigma µs       %
    0  1000  1000      2334     15.26    0.6%
   20  1000  1000      2520     16.96    0.6%
   40  1000  1000      2699     14.36    0.5%
   60  1000  1000      2906     18.45    0.6%
   80  1000  1000      3085     14.97    0.4%
  100  1000  1000      3263     26.83    0.8%
  120  1000  1000      3444      23.4    0.6%
  140  1000  1000      3659     19.45    0.5%
  160  1000  1000      3872     16.24    0.4%
  180  1000  1000      4040     19.29    0.4%
  200  1000  1000      4225     17.87    0.4%
  220  1000  1000      4414     20.51    0.4%
  240  1000  1000      4607     22.11    0.4%
  260  1000  1000      4843     22.61    0.4%
  280  1000  1000      4987     19.14    0.3%
  300  1000  1000      5219     28.25    0.5%
  320  1000  1000      5430     15.68    0.2%
  340  1000  1000      5608     12.65    0.2%
  360  1000  1000      5851     43.92    0.7%
  380  1000  1000      5952     25.42    0.4%
  400  1000  1000      6239      31.8    0.5%
  420  1000  1000      6415     24.66    0.3%
  440  1000  1000      6699     28.89    0.4%
  460  1000  1000      6872     43.02    0.6%
  480  1000  1000      7085     29.54    0.4%
  500  1000  1000      7251     48.13    0.6%
  520  1000  1000      7526     31.35    0.4%
  540  1000  1000      7691     27.29    0.3%
  560  1000  1000      7971     25.47    0.3%
  580  1000  1000      8128     36.95    0.4%
  600  1000  1000      8319     46.59    0.5%
  620  1000  1000      8530     32.32    0.3%
  640  1000  1000      8700     45.41    0.5%
  660  1000  1000      8757     22.73    0.2%
  680  1000  1000      8880     34.42    0.3%
  700  1000  1000      9235     28.11    0.3%
  720  1000  1000      9634     33.09    0.3%
  740  1000  1000      9745      58.3    0.5%
  760  1000  1000     10030     65.47    0.6%
  780  1000  1000     10200     49.76    0.4%
  800  1000  1000     10450     35.73    0.3%
  820  1000  1000     10850     60.08    0.5%
  840  1000  1000     10980     74.01    0.6%
  860  1000  1000     11260      46.4    0.4%
  880  1000  1000     11090     16.64    0.1%
  900  1000  1000     11410     38.32    0.3%
  920  1000  1000     11870      37.4    0.3%
  940  1000  1000     12050     40.74    0.3%
  960  1000  1000     11890     46.14    0.3%
  980  1000  1000     12480     34.25    0.2%
 1000     0  1000     10730     22.29    0.2%
 1000    20  1000     11160     19.53    0.1%
 1000    40  1000     10770     54.71    0.5%
 1000    60  1000     11110     36.44    0.3%
 1000    80  1000     10900     37.82    0.3%
 1000   100  1000     10930     38.74    0.3%
 1000   120  1000     11080     51.83    0.4%
 1000   140  1000     10930     46.94    0.4%
 1000   160  1000     11180     70.13    0.6%
 1000   180  1000     11110     32.66    0.2%
 1000   200  1000     11320     65.96    0.5%
 1000   220  1000     11050     27.56    0.2%
 1000   240  1000     11240      30.9    0.2%
 1000   260  1000     11270     42.45    0.3%
 1000   280  1000     11440     39.83    0.3%
 1000   300  1000     11410     33.36    0.2%
 1000   320  1000     11610     74.21    0.6%
 1000   340  1000     11310     54.85    0.4%
 1000   360  1000     11210     41.43    0.3%
 1000   380  1000     11310     43.94    0.3%
 1000   400  1000     11620     72.19    0.6%
 1000   420  1000     11340     48.06    0.4%
 1000   440  1000     11690     35.65    0.3%
 1000   460  1000     11580     44.97    0.3%
 1000   480  1000     11420     37.61    0.3%
 1000   500  1000     11780     31.32    0.2%
 1000   520  1000     11550     26.67    0.2%
 1000   540  1000     11710     35.45    0.3%
 1000   560  1000     12130     53.92    0.4%
 1000   580  1000     11910     22.88    0.1%
 1000   600  1000     12260     68.32    0.5%
 1000   620  1000     11820      40.4    0.3%
 1000   640  1000     11880     27.25    0.2%
 1000   660  1000     12180     60.96    0.5%
 1000   680  1000     12290     47.15    0.3%
 1000   700  1000     12030     48.62    0.4%
 1000   720  1000     12210     37.85    0.3%
 1000   740  1000     12300     62.48    0.5%
 1000   760  1000     12300     52.23    0.4%
 1000   780  1000     12000     29.81    0.2%
 1000   800  1000     12090     42.55    0.3%
 1000   820  1000     12400     41.94    0.3%
 1000   840  1000     12510     17.94    0.1%
 1000   860  1000     12490     69.74    0.5%
 1000   880  1000     12560     36.19    0.2%
 1000   900  1000     12340     58.86    0.4%
 1000   920  1000     12530     49.05    0.3%
 1000   940  1000     12570     74.08    0.5%
 1000   960  1000     12440      62.2    0.4%
 1000   980  1000     12460     71.04    0.5%
 1000  1000     0     10940     42.94    0.3%
 1000  1000    20     10920      27.1    0.2%
 1000  1000    40     10970     28.73    0.2%
 1000  1000    60     11120     40.86    0.3%
 1000  1000    80     11200     61.54    0.5%
 1000  1000   100     11140      57.9    0.5%
 1000  1000   120     11230     43.05    0.3%
 1000  1000   140     11280     23.77    0.2%
 1000  1000   160     11360     49.68    0.4%
 1000  1000   180     11290     48.65    0.4%
 1000  1000   200     11560     42.51    0.3%
 1000  1000   220     11230     68.06    0.6%
 1000  1000   240     11580     58.88    0.5%
 1000  1000   260     11560     44.34    0.3%
 1000  1000   280     11270     27.02    0.2%
 1000  1000   300     11600     54.76    0.4%
 1000  1000   320     11710     75.38    0.6%
 1000  1000   340     11320     44.13    0.3%
 1000  1000   360     11450     33.78    0.2%
 1000  1000   380     11580     27.53    0.2%
 1000  1000   400     11320     26.64    0.2%
 1000  1000   420     11510     37.49    0.3%
 1000  1000   440     11720     41.67    0.3%
 1000  1000   460     11770     47.96    0.4%
 1000  1000   480     11910     45.23    0.3%
 1000  1000   500     11490     39.32    0.3%
 1000  1000   520     11770      73.7    0.6%
 1000  1000   540     11540     62.35    0.5%
 1000  1000   560     11850     36.48    0.3%
 1000  1000   580     11870     35.05    0.2%
 1000  1000   600     12150      32.2    0.2%
 1000  1000   620     11830      28.7    0.2%
 1000  1000   640     12350     38.27    0.3%
 1000  1000   660     12210     67.55    0.5%
 1000  1000   680     12310     39.37    0.3%
 1000  1000   700     12130     71.32    0.5%
 1000  1000   720     12290     53.92    0.4%
 1000  1000   740     12000     48.03    0.4%
 1000  1000   760     12460     90.26    0.7%
 1000  1000   780     12160     39.74    0.3%
 1000  1000   800     12480     51.71    0.4%
 1000  1000   820     12570     61.41    0.4%
 1000  1000   840     12610     66.11    0.5%
 1000  1000   860     12200     65.43    0.5%
 1000  1000   880     12560     39.91    0.3%
 1000  1000   900     12650     71.03    0.5%
 1000  1000   920     12580     58.07    0.4%
 1000  1000   940     12740     94.43    0.7%
 1000  1000   960     12710     66.48    0.5%
 1000  1000   980     12430     47.15    0.3%
 1000  1000  1000     12490     74.02    0.5%

Quality and confidence:
param     error
n         0.016
m         0.016
a         0.016

Model:
Time ~=        0
    + n    10.48
    + m    1.762
    + a     1.59
              µs

Reads = 2 + (1 * n) + (0 * m) + (0 * a)
Writes = 4 + (2 * n) + (1 * m) + (1 * a)

Pallet: "pallet_uniques", Extrinsic: "mint", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Asset (r:1 w:1)
Storage: Uniques Class (r:1 w:1)
Storage: Uniques CollectionMaxSupply (r:1 w:0)
Storage: Uniques Account (r:0 w:1)

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

Model:
Time ~=    36.57
              µs

Reads = 3
Writes = 3

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

Model:
Time ~=    36.57
              µs

Reads = 3
Writes = 3

Pallet: "pallet_uniques", Extrinsic: "burn", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques Asset (r:1 w:1)
Storage: Uniques Account (r:0 w:1)

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

Model:
Time ~=    36.12
              µs

Reads = 2
Writes = 3

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

Model:
Time ~=    36.12
              µs

Reads = 2
Writes = 3

Pallet: "pallet_uniques", Extrinsic: "transfer", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:0)
Storage: Uniques Asset (r:1 w:1)
Storage: Uniques Account (r:0 w:2)

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

Model:
Time ~=    27.22
              µs

Reads = 2
Writes = 3

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

Model:
Time ~=    27.22
              µs

Reads = 2
Writes = 3

Pallet: "pallet_uniques", Extrinsic: "redeposit", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques Asset (r:100 w:100)

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

Model:
Time ~=        0
    + i    12.36
              µs

Reads = 1 + (1 * i)
Writes = 1 + (1 * i)

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

Data points distribution:
    i   mean µs  sigma µs       %
    0     18.15      0.16    0.8%
  100      1111     8.107    0.7%
  200      2221     8.754    0.3%
  300      3370     14.69    0.4%
  400      4454     16.33    0.3%
  500      5640     15.33    0.2%
  600      6756     22.91    0.3%
  700      7922      24.6    0.3%
  800      9005     18.91    0.2%
  900     10170     17.86    0.1%
 1000     11310     23.89    0.2%
 1100     12540     23.97    0.1%
 1200     13800     16.06    0.1%
 1300     14960     41.95    0.2%
 1400     16140     49.82    0.3%
 1500     17320     69.04    0.3%
 1600     18470     61.74    0.3%
 1700     19680     56.45    0.2%
 1800     20950      42.4    0.2%
 1900     22300     39.56    0.1%
 2000     23550     109.2    0.4%
 2100     24730      89.3    0.3%
 2200     25920     67.12    0.2%
 2300     27040     94.14    0.3%
 2400     28370        39    0.1%
 2500     29510     72.41    0.2%
 2600     30740      53.2    0.1%
 2700     32010     62.76    0.1%
 2800     33290     76.19    0.2%
 2900     34640     83.58    0.2%
 3000     35490     127.3    0.3%
 3100     36890     75.42    0.2%
 3200     38530     94.67    0.2%
 3300     39310     50.11    0.1%
 3400     40620     93.05    0.2%
 3500     42440     170.6    0.4%
 3600     43830     87.97    0.2%
 3700     44690     100.7    0.2%
 3800     46410     131.3    0.2%
 3900     46980     132.3    0.2%
 4000     49010       129    0.2%
 4100     50000     136.7    0.2%
 4200     51280     125.2    0.2%
 4300     52550       121    0.2%
 4400     54380     88.17    0.1%
 4500     55170     73.88    0.1%
 4600     56570       149    0.2%
 4700     57940     117.5    0.2%
 4800     59550     125.9    0.2%
 4900     59960     134.5    0.2%
 5000     61770     128.6    0.2%

Quality and confidence:
param     error
i         0.014

Model:
Time ~=        0
    + i     12.4
              µs

Reads = 1 + (1 * i)
Writes = 1 + (1 * i)

Pallet: "pallet_uniques", Extrinsic: "freeze", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Asset (r:1 w:1)
Storage: Uniques Class (r:1 w:0)

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

Model:
Time ~=    21.45
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    21.45
              µs

Reads = 2
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "thaw", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Asset (r:1 w:1)
Storage: Uniques Class (r:1 w:0)

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

Model:
Time ~=    22.15
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    22.15
              µs

Reads = 2
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "freeze_collection", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)

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

Model:
Time ~=    16.89
              µs

Reads = 1
Writes = 1

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

Model:
Time ~=    16.89
              µs

Reads = 1
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "thaw_collection", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)

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

Model:
Time ~=    16.65
              µs

Reads = 1
Writes = 1

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

Model:
Time ~=    16.65
              µs

Reads = 1
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "transfer_ownership", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques OwnershipAcceptance (r:1 w:1)
Storage: Uniques Class (r:1 w:1)
Storage: Uniques ClassAccount (r:0 w:2)

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

Model:
Time ~=    25.05
              µs

Reads = 2
Writes = 4

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

Model:
Time ~=    25.05
              µs

Reads = 2
Writes = 4

Pallet: "pallet_uniques", Extrinsic: "set_team", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)

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

Model:
Time ~=    17.25
              µs

Reads = 1
Writes = 1

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

Model:
Time ~=    17.25
              µs

Reads = 1
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "force_item_status", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques ClassAccount (r:0 w:1)

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

Model:
Time ~=    20.01
              µs

Reads = 1
Writes = 2

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

Model:
Time ~=    20.01
              µs

Reads = 1
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "set_attribute", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques InstanceMetadataOf (r:1 w:0)
Storage: Uniques Attribute (r:1 w:1)

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

Model:
Time ~=    41.15
              µs

Reads = 3
Writes = 2

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

Model:
Time ~=    41.15
              µs

Reads = 3
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "clear_attribute", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques InstanceMetadataOf (r:1 w:0)
Storage: Uniques Attribute (r:1 w:1)

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

Model:
Time ~=    39.59
              µs

Reads = 3
Writes = 2

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

Model:
Time ~=    39.59
              µs

Reads = 3
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "set_metadata", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques InstanceMetadataOf (r:1 w:1)

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

Model:
Time ~=    33.38
              µs

Reads = 2
Writes = 2

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

Model:
Time ~=    33.38
              µs

Reads = 2
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "clear_metadata", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques InstanceMetadataOf (r:1 w:1)

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

Model:
Time ~=     33.2
              µs

Reads = 2
Writes = 2

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

Model:
Time ~=     33.2
              µs

Reads = 2
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "set_collection_metadata", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:1)
Storage: Uniques ClassMetadataOf (r:1 w:1)

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

Model:
Time ~=    32.61
              µs

Reads = 2
Writes = 2

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

Model:
Time ~=    32.61
              µs

Reads = 2
Writes = 2

Pallet: "pallet_uniques", Extrinsic: "clear_collection_metadata", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:0)
Storage: Uniques ClassMetadataOf (r:1 w:1)

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

Model:
Time ~=    31.02
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    31.02
              µs

Reads = 2
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "approve_transfer", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:0)
Storage: Uniques Asset (r:1 w:1)

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

Model:
Time ~=    22.26
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    22.26
              µs

Reads = 2
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "cancel_approval", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques Class (r:1 w:0)
Storage: Uniques Asset (r:1 w:1)

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

Model:
Time ~=    22.91
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    22.91
              µs

Reads = 2
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "set_accept_ownership", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques OwnershipAcceptance (r:1 w:1)

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

Model:
Time ~=    20.71
              µs

Reads = 1
Writes = 1

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

Model:
Time ~=    20.71
              µs

Reads = 1
Writes = 1

Pallet: "pallet_uniques", Extrinsic: "set_collection_max_supply", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Raw Storage Info
========
Storage: Uniques CollectionMaxSupply (r:1 w:1)
Storage: Uniques Class (r:1 w:0)

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

Model:
Time ~=    19.38
              µs

Reads = 2
Writes = 1

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

Model:
Time ~=    19.38
              µs

Reads = 2
Writes = 1


…--manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs
@jsidorenko jsidorenko requested a review from joepetrowski June 4, 2022 07:45
@@ -117,6 +117,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
Attribute::<T, I>::remove_prefix((&collection,), None);
CollectionAccount::<T, I>::remove(&collection_details.owner, &collection);
T::Currency::unreserve(&collection_details.owner, collection_details.total_deposit);
Copy link
Member

Choose a reason for hiding this comment

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

I think it would make sense to have the collections ID not be user controlled, but have it be an ever increasing integer.
That way the ID of a unique collection is itself unique.

Copy link
Contributor

Choose a reason for hiding this comment

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

I've also considered this in the context of fungible assets, because there can be issues when they are used on other chains. For example, if some asset is in the reserve account of parachain A, the owner nukes it, that asset's reserve-backed mint is in use on parachain A, and someone creates a new asset in the same ID, the users on para A wouldn't necessarily know about it.

We could also go the route of anonymous proxy like ID where we hash some module prefix with the block number / extrinsic index and get a 32 byte identifier.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, I completely agree with you. In V2 I've made the ids auto-generated, so you won't be able to get the same ID twice.
At the same time, the main idea behind the current IDs model is that you can batch your call and execute different actions on your collection since you know its ID.

@@ -117,6 +117,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
Attribute::<T, I>::remove_prefix((&collection,), None);
CollectionAccount::<T, I>::remove(&collection_details.owner, &collection);
T::Currency::unreserve(&collection_details.owner, collection_details.total_deposit);
CollectionMaxSupply::<T, I>::remove(&collection);
Copy link
Member

Choose a reason for hiding this comment

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

What is the reason for not having the max supply be part or CollectionDetails but having it in an additional map?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's to avoid the unnecessary migrations, especially when we're going full speed ahead with Uniques V2

@jakoblell jakoblell added D1-audited 👍 PR contains changes to fund-managing logic that has been properly reviewed and externally audited and removed D5-nicetohaveaudit ⚠️ PR contains trivial changes to logic that should be properly reviewed. labels Jun 7, 2022
@@ -117,6 +117,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
Attribute::<T, I>::remove_prefix((&collection,), None);
CollectionAccount::<T, I>::remove(&collection_details.owner, &collection);
T::Currency::unreserve(&collection_details.owner, collection_details.total_deposit);
Copy link
Contributor

Choose a reason for hiding this comment

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

I've also considered this in the context of fungible assets, because there can be issues when they are used on other chains. For example, if some asset is in the reserve account of parachain A, the owner nukes it, that asset's reserve-backed mint is in use on parachain A, and someone creates a new asset in the same ID, the users on para A wouldn't necessarily know about it.

We could also go the route of anonymous proxy like ID where we hash some module prefix with the block number / extrinsic index and get a 32 byte identifier.

@jsidorenko
Copy link
Contributor Author

bot merge

@paritytech-processbot paritytech-processbot bot merged commit 3ca525d into master Jun 7, 2022
@paritytech-processbot paritytech-processbot bot deleted the js/remove-max-supply-on-destroy branch June 7, 2022 10:08
chevdor pushed a commit that referenced this pull request Jun 10, 2022
* Remove a max supply record on collection's destruction

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Co-authored-by: Parity Bot <[email protected]>
@chevdor chevdor mentioned this pull request Jun 10, 2022
shawntabrizi pushed a commit that referenced this pull request Jun 10, 2022
* Remove a max supply record on collection's destruction

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Co-authored-by: Parity Bot <[email protected]>

Co-authored-by: Jegor Sidorenko <[email protected]>
Co-authored-by: Parity Bot <[email protected]>
godcodehunter pushed a commit to sensoriumxr/substrate that referenced this pull request Jun 22, 2022
)

* Remove a max supply record on collection's destruction

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Co-authored-by: Parity Bot <[email protected]>
DaviRain-Su pushed a commit to octopus-network/substrate that referenced this pull request Aug 23, 2022
)

* Remove a max supply record on collection's destruction

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Co-authored-by: Parity Bot <[email protected]>
en added a commit to octopus-network/substrate that referenced this pull request Oct 5, 2022
* generate_storage_alias: Rewrite as proc macro attribute (#11387)

* generate_storage_alias: Rewrite as proc macro attribute

This rewrites the `generate_storage_alias!` declarative macro as proc-macro attribute. While doing
this the name is changed to `storage_alias`. The prefix can now also be the name of a pallet. This
makes storage aliases work in migrations for all kind of chains and not just for the ones that use
predefined prefixes.

* Fix compilation and FMT

* Moare fixes

* :facepalm:

* ......

* Rework the syntax and support instancing

* FMT

* Prefix variants with `Storage`

* Make it compile

* Fix where clause on rust stable

* Prune some duplicated dependencies in the dep graph (#11433)

Signed-off-by: koushiro <[email protected]>

* contracts: Get rid of `#[pallet::without_storage_info]` (#11414)

* Implement `MaxEncodeLen` for pallet-contracts storage

* Remove redundant debug println

* Move code len check to PrefabWasmModule::from_code

* Return a successful response on repeated small block request (#11429)

* [ci] Adjust job order in pipeline test stage with Gitlab DAG (#11442)

* [Do Not Merge] Test gitlab DAG in pipeline

* add jobs for pipeline cancel

* add check-tracing to cancel-pipeline

* Allow to set the max supply for collection (#11441)

* Allow to set the max supply for collection

* Update error

* Add weights info

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

* Update frame/uniques/src/lib.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

Co-authored-by: Parity Bot <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* disable check-dependent-cumulus (#11450)

* trie: Optimize `keys` function (#11457)

* trie: Optimize `keys` function

Instead of iterating the entire state and collecting all keys that match the given prefix, we can
directly use the optimized prefix iterator.

* Add a test

* add GHA support to dependabot (#11448)

* add GHA support to dependabot

* fix formatting

* add labels

* add label

* contracts: Add `set_code` root dispatchable (#11451)

* Add `set_code` dispatchable

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --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 <[email protected]>

* Switch to pooling copy-on-write instantiation strategy for WASM (#11232)

* Switch to pooling copy-on-write instantiation strategy for WASM

* Fix benchmark compilation

* Fix `cargo fmt`

* Fix compilation of another benchmark I've missed

* Cleanups according to review comments

* Move `max_memory_size` to `Semantics`

* Set `memory_guaranteed_dense_image_size` to `max_memory_size`

* Rename `wasm_instantiation_strategy` to `wasmtime_instantiation_strategy`

* Update the doc-comments regarding the instantiation strategy

* Extend the integration tests to test every instantiation strategy

* Don't drop the temporary directory until the runtime is dropped in benchmarks

* Don't drop the temporary directory until the runtime is dropped in tests

* Make fields of `EraRewardPoints` public (#11422)

* add missing events to elections fallback (#11436)

* add missing events to elections fallback

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

Co-authored-by: Bastian Köcher <[email protected]>

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

Co-authored-by: Bastian Köcher <[email protected]>

* add test

* fix

* fmt

* Update frame/support/src/storage/types/nmap.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Fix renaming artifacts (#11455)

* Add Score to Bags List (#11357)

* Add Score to Bags List

* fix ordering

* make compile

* in progress migration

* make migration compile

* remove old check

* remove runtime specific migration

* fix warning

* Apply suggestions from code review

Co-authored-by: Kian Paimani <[email protected]>

* improve migration

* fix

* fix merge

* fmt

* Update migrations.rs

Co-authored-by: Kian Paimani <[email protected]>

* Stabilize ecdsa_ functions (#11486)

* Bump actions/checkout from 2 to 3 (#11463)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Bump gaurav-nelson/github-action-markdown-link-check from 1.0.9 to 1.0.14 (#11464)

* Bump gaurav-nelson/github-action-markdown-link-check

Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.9 to 1.0.14.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/7481451f70251762f149d69596e3e276ebf2b236...58f84fd654812d0d8da4e4d4a559eda087daf8ce)

---
updated-dependencies:
- dependency-name: gaurav-nelson/github-action-markdown-link-check
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update .github/workflows/md-link-check.yml

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

* RPC: Mark storage methods as `blocking`  (#11459)

* client/api: Make `storage_keys` blocking

Signed-off-by: Alexandru Vasile <[email protected]>

* client/api: Ensure `state_*` RPC methods are blocking

Signed-off-by: Alexandru Vasile <[email protected]>

* client/rpc: Ensure `childstate_*` RPC methods are blocking

Signed-off-by: Alexandru Vasile <[email protected]>

* client/rpc: `ChainApi` make RPC methods sync

Signed-off-by: Alexandru Vasile <[email protected]>

* Remove unused async-traits

Signed-off-by: Alexandru Vasile <[email protected]>

* client/rpc-api: Make chain RPC methods blocking

Signed-off-by: Alexandru Vasile <[email protected]>

* Update client/rpc/src/state/state_full.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Add `blocking` to `state_getKeysPaged` RPC call

Signed-off-by: Alexandru Vasile <[email protected]>

* Fix build and warning

Signed-off-by: Alexandru Vasile <[email protected]>

* Remove `async_trait` tidyup

Signed-off-by: Alexandru Vasile <[email protected]>

Co-authored-by: Bastian Köcher <[email protected]>

* InMemoryBackend: Make it generic over the key hasher (#11488)

* InMemoryBackend: Make it generic over the key hasher

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

Co-authored-by: cheme <[email protected]>

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

Co-authored-by: cheme <[email protected]>

* FMT

Co-authored-by: cheme <[email protected]>

* Unify rpc api and implementation name (#11469)

* Unify rpc api and implementation name

Signed-off-by: koushiro <[email protected]>

* MauanlSeal ==> ManualSealRpc

Signed-off-by: koushiro <[email protected]>

* Remove extra Rpc naming in the structs

Signed-off-by: koushiro <[email protected]>

* Update doc

Signed-off-by: koushiro <[email protected]>

* fix merge

Co-authored-by: Shawn Tabrizi <[email protected]>

* rpc servers CLI: add `--max--subscriptions--per--connection` + fix a few bugs (#11461)

* cli: fix RPC CLI nits

* remove needless lines

* cargo fmt

* Update client/service/src/lib.rs

Co-authored-by: James Wilson <[email protected]>

Co-authored-by: James Wilson <[email protected]>

* Make `--dev` listen by default on `/ip4/0.0.0.0/tcp/30333` (#11492)

If `--validator` is passed we also listen on this address and as `--dev` is a shortcut for multiple
CLI args, including `--validator`, we should make it consistent.

* Fix State Trie Migration Benchmarks (#11502)

* enable signed migrations in benchmarks

* T instead of Test

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Remove 'mut'

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Use API for pr-custom-review (#11487)

* use API for pr-custom-review

* bump action tag

* temporary: disable draft skip

* temporary: use staging

* try it with the prod instance

* revert draft skip

* Introduce #[pallet::call_index] attribute to dispatchables (#11381)

* Introduce #[pallet::call_index] attribute to dispatchables

* cargo fmt

* Add more docs and prevent duplicates of call indices

* Add UI test for conflicting call indices

* cargo fmt

Co-authored-by: parity-processbot <>

* Create Script to Run All Benchmarks (#11493)

* Create run_all_benchmarks.sh

* Update run_all_benchmarks.sh

* Update run_all_benchmarks.sh

* Review fixes

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update scripts/run_all_benchmarks.sh

Co-authored-by: Bastian Köcher <[email protected]>

* typo

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* add default for $1

* Typo

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update run_all_benchmarks.sh

* new weights on benchmarking machine

* prefer `--chain=dev`

* fix compile

* fix command

* fmt

* dont use square brackets

* Extend doc

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Remove +nightly

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add error file an run execute everything optimistically

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>

* Adjust maximum memory pages hard limit for the pooling instantiation strategy (#11482)

* Run `sc-executor-wasmtime` unit tests for all instantiation strategies

* Adjust maximum memory pages hard limit for the pooling instantiation strategy

* Optimize offchain worker memory usage a bit.  (#11454)

* add missing events to elections fallback

* Merged

* add some logs and stuff

* undo a bunch of things

* undo lock file

* remove unused err

* fix build

* add rule to the ci job (#11511)

* Contracts pallet: removal on idle (#11202)

* on_initialize -> on_idle

* use remaining_weight info

* no weight_limit for on_idle

* call on_idle in tests

* attempt to fix tests

* run on_initiaize when queue full

* add on_idle to weight info

* add on_idle weight info to on_idle hook

* add basic test for on_initialize with full queue

* disbale check for all keys gone in full queue, full block test

* queue_deth as usize, add comment

* comment was removed by accident

* Update frame/contracts/src/lib.rs

Co-authored-by: Alexander Theißen <[email protected]>

* cargo +nightly fmt

* update lazy_removal_does_no_run_on_full_queue_and_full_block

* remove changes in weights.rs

* weights on_idle -> on_process_deletion_queue_batch

* use block number for on_idle

* use BlockNumber for on_initialize

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --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

* Update frame/contracts/src/lib.rs

Co-authored-by: Alexander Theißen <[email protected]>

* remove outcommented code

* add check that queue still full for test

* cargo fmt

* cargo +nightly fmt

* Update frame/contracts/src/benchmarking/mod.rs

Co-authored-by: Alexander Gryaznov <[email protected]>

* fix weights.rs

* add lazy_removal_does_no_run_on_low_remaining_weight test

* Apply suggestions from code review

Co-authored-by: Alexander Gryaznov <[email protected]>

Co-authored-by: Alexander Theißen <[email protected]>
Co-authored-by: Parity Bot <[email protected]>
Co-authored-by: Alexander Gryaznov <[email protected]>

* Fix Babe revert when last finalized block is a leaf (#11500)

* Fix Babe revert when a leaf is the last finalized block

Without this fix the last finalized block weight data is wrongly removed
on revert scenario where the last finalized block is a leaf.

* Remove redundant check

* Added test to exercise the fix

* Rename test

* Give variables better names

* Document benchmarking CLI (#11246)

* Decrese default repeats

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add benchmarking READMEs

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update docs

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update docs

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update README

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Review fixes

Co-authored-by: Shawn Tabrizi <[email protected]>

Co-authored-by: parity-processbot <>
Co-authored-by: Shawn Tabrizi <[email protected]>

* Introduce `WeightToFee` trait instead of `WeightToFeePolynomial` and make `WeightToFeePolynomial` implement it instead (#11415)

* Introduce `WeightToFee` trait instead of `WeightToFeePolynomial` and make `WeightToFeePolynomial` implement it instead

* Rename `WeightToFee::calc()` to `WeightToFee::wight_to_fee()`

* Fix typo

* Fix node lookup on fork-tree after a warp-sync (#11476)

* Fix node lookup on fork-tree after a warp-sync

After a warp-sync, the error condition was triggered by the absence
of the parent node of the first imported block.

The previous lookup implementation was traversing the tree using a
recursive **post-order** DFS, this technique doesn't trigger the issue.

In the last iterative implementation we were using a BFS instead.

* Added internal doc warning

* Small optimization

* Specify post-order DFS in the comment

* Test for the fork-tree post-order DFS traversal requirement (#11521)

* Test for the fork-tree post-order DFS traversal requirement

* Fixed typo

* Storage Layer for All FRAME Extrinsics (#11431)

* add new trait

* implement DispatchableWithStorageLayer

* at least one transactional

* all dispatch is at least transactional

* storage_layer api

* add test

* storage layer tests

* deprecate transactional tag

* i guess no reason to deprecate

* remove transactional from batch_all

* update tests

* extend trait

* cargo run --quiet --profile=production --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --output=./frame/balances/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --output=./frame/balances/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* fix copy paste name

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

* Create run_all_benchmarks.sh

* uncomment build

* update number of steps and repeats

* add skip build

* Update run_all_benchmarks.sh

* Update run_all_benchmarks.sh

* new benchmarks

* Update frame/support/src/traits/dispatch.rs

Co-authored-by: Kian Paimani <[email protected]>

* Update frame/support/src/traits/dispatch.rs

Co-authored-by: Kian Paimani <[email protected]>

* Update frame/support/test/tests/storage_layers.rs

Co-authored-by: Kian Paimani <[email protected]>

* Update frame/support/test/tests/storage_layers.rs

* weights

* Update dispatch.rs

* doc link

* decl_macro support

Co-authored-by: Parity Bot <[email protected]>
Co-authored-by: Kian Paimani <[email protected]>

* CI: github no longer checks whitelisted actions this way (#11507)

* CI: github no longer checks whitelisted actions this way

* CI: actually this one is needed and no one knows it's related to a Markdown Link Check

* Fork-Tree import requires post-order DFS traversal (#11531)

* Fork-tree insert requires post-order dfs traversal

* Add dedicated test for methods requireing post-order traversal

* Fixed pruning docs (#11519)

* fix broken links (#11536)

* Safe and sane multi-item storage removal (#11490)

* Fix overlay prefix removal result

* Second part of the overlay prefix removal fix.

* Report only items deleted from storage in clear_prefix

* Fix kill_prefix

* Formatting

* Remove unused code

* Fixes

* Fixes

* Introduce clear_prefix host function v3

* Formatting

* Use v2 for now

* Fixes

* Formatting

* Docs

* Child prefix removal should also hide v3 for now

* Fixes

* Fixes

* Formatting

* Fixes

* apply_to_keys_whle takes start_at

* apply_to_keys_whle takes start_at

* apply_to_keys_whle takes start_at

* Cursor API; force limits

* Use unsafe deprecated functions

* Formatting

* Fixes

* Grumbles

* Fixes

* Docs

* Some nitpicks :see_no_evil:

* Update primitives/externalities/src/lib.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Formatting

* Fixes

* cargo fmt

* Fixes

* Update primitives/io/src/lib.rs

Co-authored-by: Keith Yeung <[email protected]>

* Formatting

* Fixes

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Keith Yeung <[email protected]>

* Use `loops` rather than `backend` for compatibility. (#11542)

* Use `loops` rather than `backend` for compatibility.

* Move over other converters

* sp-core: impl serde for some offchain types (#11512)

* sp-core: impl serde for some offchain types

* Update primitives/core/src/offchain/mod.rs

Co-authored-by: Bastian Köcher <[email protected]>

* remove serde impls from OpaqueNetworkState/OpaqueMultiaddr

* derive default

Co-authored-by: Bastian Köcher <[email protected]>

* Several tweaks needed for Governance 2.0 (#11124)

* Add stepped curve for referenda

* Treasury SpendOrigin

* Add tests

* Better Origin Or-gating

* Reciprocal curve

* Tests for reciprical and rounding in PerThings

* Tweaks and new quad curve

* Const derivation of reciprocal curve parameters

* Remove some unneeded code

* Actually useful linear curve

* Fixes

* Provisional curves

* Rejig 'turnout' as 'support'

* Use TypedGet

* Fixes

* Enable curve's ceil to be configured

* Formatting

* Fixes

* Fixes

* Fixes

* Remove EnsureOneOf

* Fixes

* Fixes

* Fixes

* Formatting

* Fixes

* Update frame/support/src/traits/dispatch.rs

Co-authored-by: Kian Paimani <[email protected]>

* Grumbles

* Formatting

* Fixes

* APIs of VoteTally should include class

* Fixes

* Fix overlay prefix removal result

* Second part of the overlay prefix removal fix.

* Formatting

* Fixes

* Add some tests and make clear rounding algo

* Fixes

* Formatting

* Revert questionable fix

* Introduce test for kill_prefix

* Fixes

* Formatting

* Fixes

* Fix possible overflow

* Docs

* Add benchmark test

* Formatting

* Update frame/referenda/src/types.rs

Co-authored-by: Keith Yeung <[email protected]>

* Docs

* Fixes

* Use latest API in tests

* Formatting

* Whitespace

* Use latest API in tests

Co-authored-by: Kian Paimani <[email protected]>
Co-authored-by: Keith Yeung <[email protected]>

* change impl FnOnce() to generic type + trait bound (#11534)

* change impl FnOnce() to generic type + trait bound

with_transaction() function can not be used with explicit generic arguments because of this issue: https://github.com/rust-lang/rust/issues/83701

* make the same changes elsewhere

Co-authored-by: Shawn Tabrizi <[email protected]>

* Introduce `rusty-cachier` (#11462)

* Introduce `rusty-cachier`

* Return LF at the end of file

* Use `entrypoint` to `unshare(1)` into a new mount namespace

* Use `rusty-cachier`-provided absolute path for `CARGO_TARGET_DIR` everywhere

* Debug single `build-rustdoc` job

* CI: debug

* CI: debug

* CI: debug

* `unshare(1)` is no longer needed

* CI: remove debug

* Revert "Debug single `build-rustdoc` job"

* Formatiing

* Update scripts/ci/gitlab/pipeline/build.yml

Co-authored-by: Denis Pisarev <[email protected]>

* Clean up `#[transactional]` (#11546)

* Deprecate #[transactional] attribute

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Remove #[transactional] from nomination pools

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Review fix

Co-authored-by: Bastian Köcher <[email protected]>

* Fix NOOP test

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Suppress warnings

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Co-authored-by: Bastian Köcher <[email protected]>

* Add `rusty-cachier notify` job (#11554)

* Add `rusty-cachier notify` job

* Add comments

* Fix CI after `rusty-cachier` introduction (#11556)

* Fix CI after `rusty-cachier` introduction

* Replace anchor with `extends`

* Introduce `EnsureOrigin::try_successul_origin` (#11558)

* Introduce `EnsureOrigin::try_successul_origin`

* Formatting

* Fixes

* Add Morph

* Fixes

* Formatting

* Sync: Improve major sync detection (#11547)

* Sync: Improve major sync detection

When we still have a full import queue, we should still report that we are in major sync mode,
otherwise validators may will already start producing blocks.

* Use median

* Review comments

* Fix clippy on master (#11559)

* Fix link in node-template README (#11529)

The lorri repository has moved from https://github.com/target/lorri to
https://github.com/nix-community/lorri.

* Fix minor typos (#11550)

* Fix minor typos

* FMT

Co-authored-by: Bastian Köcher <[email protected]>

* Short circuit Treasury::Spend benchmark for NeverEnsureOrigin (#11562)

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Co-authored-by: parity-processbot <>

* Do not require Ord for pallet_offences::Config::IdentificationTuple (#11563)

* Ranked Collective pallet (#11548)

* Ranked Collective pallet

* Fixes

* benchmarks

* Weights

* Allow class voting in rank
Use bare ayes for calculating support.
Allow only promotion/demotion by one rank only.
Allow removal of member with rank zero only.
Use new Tally API

* Index by rank, still O(1).

* Custom vote weights

* Formatting

* Update frame/ranked-collective/src/lib.rs

* Broken :(

* origin guard; cleanup uses new API

* Formatting

* Promote/demote by rank

* Formatting

* Use new API

* Remove code in another PR

* Remove code in another PR

* Formatting

* Remove code in another PR

* Docs

* Docs

* Bump

* Fixes

* Formatting

* Fixes

* Introduce set function into storage maps (#11564)

* Introduce `SubmitOrigin` to Referenda pallet config (#11567)

* Don't limit `test-linux-stable-int` job output (#11560)

* Fix all warnings when building for wasm (#11569)

* Fix all warnings when building for wasm

Besides that it also enables warnings as errors for wasm builds in the CI.

* FMT

* Make clippy happy

* Helper macro for `Morph` impls (#11570)

* Helper macro for Morph impls

* No need to deprecate for now

* Improved macro

* Doc tests

* Grumbles

* `rusty-cachier` pipeline impovements and fixes (#11572)

* CI: fix `build-subkey-macos` build job (#11573)

* CI: fix `build-subkey-macos` build job

* CI: use full path for the `CARGO_TARGET_DIR` default value

* aura: export change_authorities and initialize_authorities (#11468)

* aura: export change_authorities and initialize_authorities

* add docs

* fix docs

* Reduce call size of Referenda pallet (#11578)

* Reduce call size of Referenda pallet

* Fixes

* Fixes

* Fixes

* Docs

* reactivate check-dependent-cumulus (#11506)

* re-enable check-dependent-cumulus

* temporary: use handle-extra-dependencies

* temporary: trim CI

* CI: include build stage

* CI: include test stage

* CI: include test stage

* Revert "temporary: trim CI"

This reverts commit dcf4ae8d842bc445a065c7ccdc3b6a603034faa4.

* CI: fix weird revert

* Revert "temporary: use handle-extra-dependencies"

This reverts commit bc0dc0f21f10284a23f66fdd8509ca6df89f2586.

* CI undebug

Co-authored-by: TriplEight <[email protected]>

* wasm-builder: Rerun the build if the generated file changed (#11582)

* [ci] use cargo nextest instead cargo test in test-linux-stable (#11576)

* [DO NOT MERGE] Experimenting with nextest

* enable jobs

* enable stages

* add comment

* create test-frame-support job

* Expose ValidatedTransaction from transaction pool (#11588)

This is required to make a tx pool wrapper for some custom transaction validation, specificially
required to make a wrapper around the `LocalTransactionPool` implementation (https://github.com/subspace/subspace/blob/f54881a9b5/crates/subspace-service/src/pool.rs#L232-L269).

Related: https://github.com/paritytech/substrate/discussions/11520

* Tracable defensive errors (#11532)

* Tracable defensive errors

* small fixes

* fix

* refactored

* switched to defensive_ok_or

* Remove unnecessary type annotations and conversions

* cargo fmt

* Fixes

Co-authored-by: Keith Yeung <[email protected]>

* Remove `#[pallet::without_storage_info]` for pallet-remark (#11590)

* Add host info to weight templates (#11583)

* Add host info to weight templates

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

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

Co-authored-by: Parity Bot <[email protected]>

* Expose Benchmarking Component Ranges (#11545)

* Add component ranges to benchmarking

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Adding component ranges to templates

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix tests

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

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

* tweak script to reduce diff

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

Co-authored-by: Parity Bot <[email protected]>
Co-authored-by: Shawn Tabrizi <[email protected]>

* make era public (#11575)

* MEL for Ranked Collective (#11602)

* Fix one-by-off in `BoundedSlice::try_from` (#11600)

* Remove a max supply record on collection's destruction (#11593)

* Remove a max supply record on collection's destruction

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Co-authored-by: Parity Bot <[email protected]>

* Implement more IntoIter traits for bounded types (#11616)

* Remove `without_storage_info` for membership pallet (#11591)

* Improve docs on `--keep-blocks` CLI parameter and related data structures (#11611)

* Improve docs on `--keep-blocks` CLI parameter and related data structures

* Update client/db/src/lib.rs

Co-authored-by: Bastian Köcher <[email protected]>

Co-authored-by: Bastian Köcher <[email protected]>

* Improve inspection and generation of node keys (#11525)

* Improve inspection and generation of node keys

* Lock stdout before write

* Fix typo

* Fix offset

* Remove useless code

* Set inspect-node-key 'network' option as obsolete

* Better transaction pool error (#11629)

* Better transaction pool error

* Do not use `Debug` when printing errors

* Use BoundedVec in aura pallet (#11617)

* Use BoundedVec in aura pallet

* cargo fmt

* pallet alliance (#11112)

* Add pallet-alliance

Signed-off-by: koushiro <[email protected]>

* Update multihash/cid and format

Signed-off-by: koushiro <[email protected]>

* Remove useless deps

Signed-off-by: koushiro <[email protected]>

* Add pallet-alliance into node runtime

Signed-off-by: koushiro <[email protected]>

* Fix has_identity

Signed-off-by: koushiro <[email protected]>

* Add TooMantBlacklist Error

Signed-off-by: koushiro <[email protected]>

* Add TooLongWebsiteUrlLength Error

Signed-off-by: koushiro <[email protected]>

* Add remove_announcement

Signed-off-by: koushiro <[email protected]>

* Derive pallet_identity::Config and Fix test/benchmarking

Signed-off-by: koushiro <[email protected]>

* Add part weight for call of pallet-alliance

Signed-off-by: koushiro <[email protected]>

* Remove pallet_identity Config trait

Signed-off-by: koushiro <[email protected]>

* Fix propose arguments

Signed-off-by: koushiro <[email protected]>

* Some nits

Signed-off-by: koushiro <[email protected]>

* cargo fmt

Signed-off-by: koushiro <[email protected]>

* Fix benchmarking of add_blacklist/remove_blacklist

Signed-off-by: koushiro <[email protected]>

* Some nits

Signed-off-by: koushiro <[email protected]>

* Add benchmarking for init_members

Signed-off-by: koushiro <[email protected]>

* Add benchmarking for propose/vote/veto

Signed-off-by: koushiro <[email protected]>

* Fix benchmarking

Signed-off-by: koushiro <[email protected]>

* Remove some useless

Signed-off-by: koushiro <[email protected]>

* fix some compile issue

* more fix

* all checks

* refactor

* refactor event

* refactor

* cleanup

* cleanup

* fix benchmarking

* fix warning

* fmt

* fix benchmarks

* with storage info

* fmt

* add new config

* fix benchmarks

* fix

* fmt

* Apply suggestions from code review

Co-authored-by: Kian Paimani <[email protected]>

* improvements

* fix

* update docs

* rename events, errors, and functions

* make kicking events clearer

* fix

* fix tests

* fix tests

* fix runtime

* fix build

* remove unneeded change

* remove Candidate role from Alliance

* fmt grumbles

* update lock

* update recursion limit

* benchmarks

* convert-try

* benchmark assertions

* fmt ,

* cargo lock

* Update frame/alliance/src/benchmarking.rs

Co-authored-by: Kian Paimani <[email protected]>

* Apply suggestions from code review

Co-authored-by: Kian Paimani <[email protected]>

* add docs to public interfaces

* Apply suggestions from code review

Co-authored-by: Squirrel <[email protected]>

* fix build (node)

* review

* use EitherOfDiverse

* update cargo toml

* make all dispatch class Normal

* change blacklist to unscrupulous

* formatting

* fmt oops

* rename benchmarking unscrupulous account creator

Co-authored-by: koushiro <[email protected]>
Co-authored-by: Kian Paimani <[email protected]>
Co-authored-by: joepetrowski <[email protected]>
Co-authored-by: joe petrowski <[email protected]>
Co-authored-by: Squirrel <[email protected]>

* Add fixed u64 (#11555)

Co-authored-by: parity-processbot <>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Remove storage `MaxValues` limits (#11643)

* Remove limits

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Remove more

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Added an event for cancel_proposal (#11620)

* Added an event for cancel_proposal

* test

* pallet-grandpa: Improve/Clarify docs of `note_stalled` (#11623)

* Bump crossbeam-utils from 0.8.5 to 0.8.8 (#11605)

Bumps [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam) from 0.8.5 to 0.8.8.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases)
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-utils-0.8.5...crossbeam-utils-0.8.8)

---
updated-dependencies:
- dependency-name: crossbeam-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* fix pallet_uniques docs link (#11651)

* MEL bound `state-trie-migration` (#11639)

* MEL bound state-trie-migration

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* wip

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add tests

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Use sp_std

Co-authored-by: cheme <[email protected]>

* Add doc

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Set MaxKeyLen default to 512

Just to be sure that it will work. There is also no real penalty
from over-estimating it.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add more doc

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Clippy

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* fmt

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix assert_err_with_weight macro

Looks like I'm the only one using it anyway...

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix tests that use env macro

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix test

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Co-authored-by: cheme <[email protected]>

* Move bounded type definitions to sp-runtime (#11645)

* Move bounded type definitions to sp-runtime

* cargo fmt

* Fix compile error

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Move TryCollect to sp-runtime

* Write some docs

* Import missing types

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Implement MaxEncodedLen on pallet-beefy (#11584)

* Implement MaxEncodedLen on pallet-beefy

* Return Result in intialize_authorities

* Update docs

* Log error when authorities list gets truncated

* Update frame/beefy/src/lib.rs

Co-authored-by: Adrian Catangiu <[email protected]>

* cargo fmt

Co-authored-by: Adrian Catangiu <[email protected]>

* Implement PartialOrd and Ord on BoundedSlice and WeakBoundedVec (#11655)

* Implement PartialOrd and Ord on BoundedSlice and WeakBoundedVec

* More implementations of PartialEq and PartialOrd

* cargo fmt

* Fixes

* Allow nomination pools to chill + fix dismantle scenario (#11426)

* make pool roles optional

* undo lock file changes?

* add migration

* add the ability for pools to chill themselves

* boilerplate of tests

* somewhat stable, but I think I found another bug as well

* Fix it all

* Add more more sophisticated test + capture one more bug.

* Update frame/staking/src/lib.rs

* reduce the diff a little bit

* add some test for the slashing bug

* cleanup

* fix lock file?

* Fix

* fmt

* Update frame/nomination-pools/src/lib.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update frame/nomination-pools/src/lib.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update frame/nomination-pools/src/lib.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update frame/nomination-pools/src/mock.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Fix build

* fix some fishy tests..

* add one last integrity check for MinCreateBond

* remove bad assertion -- needs to be dealt with later

* nits

* fix tests and add benchmarks for chill

* remove stuff

* fix benchmarks

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

* remove defensive

Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Shawn Tabrizi <[email protected]>
Co-authored-by: Parity Bot <[email protected]>

* Properly implement Debug on bounded types (#11659)

* remove flaky rpc subscription tests (#11653)

* Add `TypeInfo` (#11599)

* wasm-builder: Fix constant re-running of `build.rs` scripts. (#11624)

Recently we added the wasm binaries to the `rerun-if-changed` list. The problem with that is that
they have a later mtime than the `invoked.timestamp` file and this file's mtime is used to determine
if the `build.rs` script needs to be re-run. The solution to this is that we copy the mtime of this
`invoked.timestamp` file and add it to the wasm binaries. Then cargo/rustc doesn't constantly wants
to rerun the `build.rs` script.

* Increment subkey version to 2.0.2 (#11656)

* Increment subkey version to 2.0.2

* Update Cargo.lock

Co-authored-by: Davide Galassi <[email protected]>

* Implement `Deref` for `BoundedSlice` (#11660)

* Impl Deref for BoundedSlice

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/bounded/bounded_vec.rs

Co-authored-by: Keith Yeung <[email protected]>

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Keith Yeung <[email protected]>

* grandpa: fix creation of justification with equivocating precommits in commit (#11302)

* grandpa: fix creation of justification ancestry

we would reject commits that have precommits targeting blocks lower than the
commit target. when there is an equivocation (or if it the commit is not
minimal) it is possible to have such precommits and we should assume that they
are the round base.

* grandpa: bump to 0.16.0

* grandpa: add test for justification with equivocation

* grandpa: fix failing test

* Make it possible to disable RocksDB completely (#11537)

* Make it possible to disable RocksDB completely

* Make ParityDB non-optional

* Address review comments

* rpc servers: update jsonrpsee to fix host filtering + WS server-side pings  (#11661)

* bump jsonrpsee to fix #11480

In addition it adds WebSocket server-side pings which is configured to
send out pings periodically every 30 seconds.

* use released crates.io version

* Update Cargo.toml

* Include the chain specs instead of trying to open them by path (#11625)

This makes it possible to run the tests manually, without them expecting to be run in a special
folder etc.

* Remove `without_storage_info` from pallet `transaction-storage` (#11668)

* Introduce BoundedVec

* Fix typos

* Add comments to the bounds

* Remove migration

* Improve bound value access syntax

* combine iteratons and tolerance in sp-npos-elections API (#11498)

* Initial implementation of mms

* Some more attempts at `mms`

* Functioning `MMS` algorithm implementation.
Adding some tests too

* More tests and typos fixed.

* Adding fuzzer for `mms`
(but could not test it on Mac M1)

* Missing imports

* Fixing rustdoc

* More accurate implementation of `mms`

* Removing the fuzzer `mms` implementation

* Implementing `NposSolver` for `MMS`
had to add the `Clone` trait, maybe I could see if I can get rid of it.

* Fixing rust docs by adding () to resolve ambiguity

* Amending `unwrap` to `expect`
removing unneeded `Clone` trait

* Removing redundant `mms3.rs`

* Implementing `BalancingConfig` and rustdoc changes

* Implementing `weight` for `MMS`

* Implementing `weight` for `MMS`

* Fixing post merge

* Initial implementation of mms

* Some more attempts at `mms`

* Functioning `MMS` algorithm implementation.
Adding some tests too

* More tests and typos fixed.

* Adding fuzzer for `mms`
(but could not test it on Mac M1)

* Missing imports

* Fixing rustdoc

* More accurate implementation of `mms`

* Removing the fuzzer `mms` implementation

* Implementing `NposSolver` for `MMS`
had to add the `Clone` trait, maybe I could see if I can get rid of it.

* Amending `unwrap` to `expect`
removing unneeded `Clone` trait

* Fixing rust docs by adding () to resolve ambiguity

* Removing redundant `mms3.rs`

* Implementing `BalancingConfig` and rustdoc changes

* Implementing `weight` for `MMS`

* Implementing `weight` for `MMS`

* Fixing post merge

* Removing left over from rebase

* Fixing tests

* Removing unneeded import

* Removing unneeded functions

* Removing useless imports

Co-authored-by: kianenigma <[email protected]>

* Add Event to Pallet Transaction Payment (#11618)

* add Event to Pallet Transaction Payment

* Fix tests in Pallet Balance

* Fix tests in Pallet Balance/Executive/Asset-tx-payment.

* Fix

* fmt

* Fix

* Fix

* Update Cargo.lock

* Fix tests in executor

* Update frame/transaction-payment/src/lib.rs

Co-authored-by: joe petrowski <[email protected]>

* update the name of the event and fmt.

Co-authored-by: Shawn Tabrizi <[email protected]>
Co-authored-by: joe petrowski <[email protected]>

* Remove `without_storage_info` for the authorship pallet (#11610)

* Remove `without_storage_info` for the authorship pallet

* Tweak impl bounds style

* Use `defensive_proof` instead of `expect`

* MEL: Origin, Referenda, ConvictionVoting (#11631)

* Referenda & CV pallets ready

* Fix build

* Add mel_bound for Voting and Casting types

* Add mel_bound on Tally

* Add mel_bound on another Tally

* Add mel_bound for pallet_collective::RawOrigin

Co-authored-by: Keith Yeung <[email protected]>

* Remove multiply_by_rational  (#11598)

* Removed multiply_by_rational
Replaced with multiply_by_rational_with_rounding

* fixes

* Test Fixes

* nightly fmt

* Test Fix

* Fixed fuzzer.

* Upgrade to libp2p 0.45.1 (#11682)

* Upgrade to libp2p 0.45.1

* Limit max_negotiating_inbound_streams to 512

* Upgrade prost-build to 0.10

* Set max_negotiating_inbound_streams to 2048

Co-authored-by: Pierre Krieger <[email protected]>

* Fix authority discovery protobuf

* Fix comments in authority-discovery schema

Co-authored-by: Pierre Krieger <[email protected]>

* Add a comment about transport initialization

Co-authored-by: Pierre Krieger <[email protected]>

* chore: reducing codec times (#11688)

* chore: reduce uxt encode times (#11698)

* chore: reduce uxt encode times

* fmt

* Simplified code using existing APIs (#11702)

Signed-off-by: Emison Lu <[email protected]>

* `storage-alias`: Check that prefix is not an underscore (#11704)

Besides that it also adds some UI tests.

* Bump twox-hash from 1.6.2 to 1.6.3 (#11423)

Bumps [twox-hash](https://github.com/shepmaster/twox-hash) from 1.6.2 to 1.6.3.
- [Release notes](https://github.com/shepmaster/twox-hash/releases)
- [Commits](https://github.com/shepmaster/twox-hash/compare/v1.6.2...v1.6.3)

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

Signed-off-by: dependabot[bot] <[email protected]>

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

* Update syn and fix compilation (#11707)

* Update syn and fix compilation

* Bump pin-project

* check-dependent-cumulus should only be executed for PRs (#11693)

the script executed by check-dependent-cumulus only works for PRs, as shown in https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/1630771#L87, which comes from https://github.com/paritytech/pipeline-scripts/blob/3ad10ddc0d985ef5326974a1143229c6429befab/check_dependent_project.sh#L443

* Pump the gossip engine while waiting for the BEEFY runtime pallet (memory leak fix) (#11694)

* Pump the gossip engine while waiting for the BEEFY runtime pallet

This fixes a memory leak when the BEEFY gadget is turned on, but
the runtime doesn't actually use BEEFY.

* Implement `FusedFuture` for `GossipEngine`

* Fuse futures outside of loops

* Implement Serialize/Deserialize on WeakBoundedVec (#11713)

* Implement Serialize/Deserialize on WeakBoundedVec

* cargo fmt

* Warn when there are too many elements while deserializing WeakBoundedVec

* More robust grandpa revert procedure (#11719)

* More robust revert procedure

Return an error if revert is called in a node that is not actively
running grandpa, i.e. grandpa genesis data has not been initialized.
Previous implementation was just firing an `unreachable!` code exception.

Furthermore we skip revert hassle if there is nothing to revert.

* Nit

* Fix typo in weights.rs (#11724)

overriden -> overridden

* WrapperOpaque: Use `decode_all` to decode from the `Vec<u8>` (#11726)

This ensures that there isn't any extra data attached that isn't used.

* Respect cargo offline env variable in wasm builder (#11735)

* Support offline env variable in wasm builder

* Clean up

* Improve checks

Co-authored-by: Bastian Köcher <[email protected]>

* Update crate docs

* Add docs to `lib.rs` and introduce helper method `offline_build`

Co-authored-by: Bastian Köcher <[email protected]>

* contracts: Reduce size of deletion queue depth (#11696)

* contracts: Reduce size of deletion queue depth

* Remove unused import

* Put `rusty-cachier` before PR merge into `master` for `cargo-check-benches` job (#11737)

* epochs: don't use gap when there's at least one genesis epoch imported (#11725)

* epochs: don't use gap when there's at least one genesis epoch imported

* epochs: add test for genesis gap fix

* pallet-beefy-mmr: add API for BEEFY Authority Sets (#11406)

* pallet-beefy: add Config::OnNewValidatorSet type

Add a hook to pallet-beefy for doing specific work when
BEEFY validator set changes.

For example, this can be used by pallet-beefy-mmr to cache
a lightweight MMR root over validators and make it available
to light clients.

* pallet-beefy-mmr: implement OnNewValidatorSet

Implement pallet-beefy::OnNewValidatorSet to be notified of BEEFY
validator set changes. Use the notifications to compute and cache
a light weight 'BEEFY authority set' which is an MMR root over
BEEFY validator set plus some extra info.

Previously, pallet-beefy-mmr was interogating pallet-beefy about
validator set id on every block to find out when it needs to recompute
the authority set.
By using the event-driven approach in this commit, we also save one
extra state interogation per block.

* pallet-beefy-mmr: add new authority_set() API

Expose current and next BEEFY authority sets through runtime API.
These can be directly used by light clients to avoid having them
compute them themselves based on BEEFY validator sets.

Signed-off-by: acatangiu <[email protected]>

* rename BeefyMmr exposed runtime api

* make pallet-tips & pallet-bounties instantiable (#11473)

* make pallet-tips & pallet-bounties instantiable

* update test

* add default instance

* update

* cargo fmt

* update

* update

* update

* update

* fix merge

* fix tests

* bounties benchmarking instantiable

* fix benchmarks

* make tips benchmarks instantible

Co-authored-by: Shawn Tabrizi <[email protected]>

* [contracts] Implement transparent hashing for contract storage (#11501)

* save

* builds and old tests pass

save:  temporary value dropped while borrowed

save: finally builds

test updated but still fails

* type names enhanced

* VarSizedKey bounded to new Config param

* improved wasm runtime updated funcs

* unstable-interface tests fixed

* benchmarks fixed

* Apply suggestions from code review

Co-authored-by: Alexander Theißen <[email protected]>

* fixes on feedback

* fixes on feedback applied + make it build

* benchmarks build but fail (old)

* "Original code too large"

* seal_clear_storage bench fixed (code size workaround hack removal tbd)

* bench_seal_clear_storage pass

* bench_seal_take_storage ... ok

* added new seal_set_storage + updated benchmarks

* added new seal_get_storage + updated benchmarks

* added new seal_contains_storage + updated benchmarks

* added tests for _transparent exec functions

* wasm test for clear_storage

* wasm test for take_storage

* wasm test for new set_storage

* wasm test for new get_storage

* wasm test for new contains_storage

* CI fix

* ci fix

* ci fix

* ci fix

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --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

* fixes according to the review feedback

* tests & benchmarks fixed

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --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

* refactoring

* fix to runtime api

* ci fix

* ctx.get_storage() factored out

* ctx.contains_storage() factored out

* number of batches reduced for transparent hashing storage benchmarks

* contracts RPC & pallet::get_storage to use transparent hashing

* node and rpc updated to use get_storage with VarSizedKey

* refactored (more concize)

* refactored contains_storage (DRYed)

* refactored contains_storage (DRYed)

* fix rpc

* fmt fix

* more fixes in rpc

* rollback `Pallet:get_storage` to Vec<u8> and rpc and node parts related to it

* added `KeyDecodingFailed` error

* Revert weird "fmt fix"

This reverts commit c582cfff4b5cb2c9929fd5e3b45519bb24aeb657.

* node-executor basic test update

* fix node-executor basic test

* benchmarks fix

* more benchmarks fix

* FixedSizedKey is hidden from pub, VarSizedKey is exported as StorageKey

* ci fix

* set_storage benchmark fix

* ci fix

* ci fix

* comments improved

* new error code to rpc: KEY_DECODING_FAILED

* Put `rusty-cachier` before PR merge into `master` for `cargo-check-benches` job

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --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

* minor optimization

Co-authored-by: Alexander Theißen <[email protected]>
Co-authored-by: Parity Bot <[email protected]>
Co-authored-by: Vladimir Istyufeev <[email protected]>
Co-authored-by: command-bot <>

* Explain why `rusty-cachier` is put first (#11740)

* Bump `wasmtime` to 0.38.0 and `zstd` to 0.11.2 (#11720)

* Bump `wasmtime` to 0.37.0 and `zstd` to 0.11.2

* Bump `wasmtime` to 0.38.0

* Avoid a duplicate block request when syncing from a fork (#11094)

* Separate queueing blocks for import from removal

* Add regression tests

* Remove unnecessary log

* Clear queued blocks when processed

* Move check out of match block

* Track queued block ranges

* Update client/network/sync/src/blocks.rs

* Update client/network/sync/src/blocks.rs

* Update client/network/sync/src/blocks.rs

* Update client/network/sync/src/blocks.rs

* FMT

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>

* Democracy.fast_track not allowed with zero voting period (#11666)

* Democracy.fast_track not allowed with zero voting period

* revert static parameter alter line

* ensure voting period greater zero

* update doc for fast_track

* unit test: instant fast track to the next block referendum is backed

* fix typos in comments

* Prevent unsoundness in environments with broken `madvise(MADV_DONTNEED)` (#11722)

* Prevend unsoundness in environments with broken `madvise(MADV_DONTNEED)`

* Add the `std` feature to `rustix` dependency

Apparently not having this breaks compilation on non-nightly toolchains.

* Autodetect the page size when checking whether `madvise` works

* Only make sure that the madvice check doesn't return `Err`

* Refund weight in `system::fillBlock` (#11754)

* fix

* pushed

* node: fix fee multiplier test

Co-authored-by: André Silva <[email protected]>

* nomination-pools fix (#11748)

* Nomination pool fix

* fmt

* [ci] Remove polkadot-companion-labels GHA (#11774)

* [contracts] Fixed the bug with transfer value for delegate call (#11771)

* Fixed the bug with transfer value.

* Apply suggestions from code review

Co-authored-by: Alexander Theißen <[email protected]>

* Moved check into `initial_transfer`

* Fmt

Co-authored-by: Alexander Theißen <[email protected]>

* Fix clearing queued blocks in the sync module (#11763)

* pallet-mmr: handle forks without collisions in offchain storage (#11594)

* pallet-mmr: fix some typos

* pallet-mmr: make the MMR resilient to chain forks

* pallet-mmr: get hash for block that added node

* beefy-mmr: add debug logging

* add explanatory comment

* account for block offset of pallet activation

* add support for finding all nodes added by leaf

* minor improvements

* add helper to return all nodes added to mmr with a leaf append

* simplify leaf_node_index_to_leaf_index

summing the (shifted) differences in peak positions adds up to the (shifted) final position, so
don't need to fold over positions.

* dead fish: this also doesn't work

The idea was to keep a rolling window of `(parent_hash, pos)` leaf
entries in the offchain db, with the window matching the one
that provides `block_num -> block_hash` mappings in `frame_system`.

Once a leaf exits the window it would be "canonicalized" by switching
its offchain db key from `(parent_hash, pos)` to simple `pos`.

This doesn't work however because there's no way to get leaf contents
from offchain db while in runtime context.. so no way to get+clear+set
leaf to change its key in offchain db.

Ideas:
1. move the "canonicalization" logic to offchain worker
2. enhance IndexingApi with "offchain::move(old_key, new_key)"
   This is weird, but correct, deterministic and safe AFAICT, so
   it could be exposed to runtime.

* simplify rightmost_leaf_node_index_from_pos

* minor fix

* move leaf canonicalization to offchain worker

* move storage related code to storage.rs

* on offchain reads use canonic key for old leaves

* fix offchain worker write using canon key

* fix pallet-mmr tests

* add documentation and fix logging

* add offchain mmr canonicalization test

* test canon + generate + verify

* fix pallet-beefy-mmr tests

* implement review suggestions

* improve test

* pallet-mmr: add offchain pruning of forks

* pallet-mmr: improve offchain pruning

Instead of keeping pruning map as single blob in offchain db,
keep individual parent-hash lists with block-num identifier as part
of the offchain key.

Signed-off-by: acatangiu <[email protected]>

* pallet-mmr: improve MMRStore<OffchainStorage>::get()

Do the math and retrieve node using correct (canon or non-canon)
offchain db key, instead of blindly looking in both canon and non-canon
offchain db locations for each node.

Still fallback on looking at both if for any reason it's not where
expected.

Signed-off-by: acatangiu <[email protected]>

* pallet-mmr: storage: improve logs

* fix tests: correctly persist overlay

runtime indexing API works on overlay, whereas offchain context
bypasses overlay, so for loops > canon-window, canon would fail.

* pallet-mmr: fix numeric typo in test

* add comment around LeafData requirements

Signed-off-by: acatangiu <[email protected]>

Co-authored-by: Robert Hambrock <[email protected]>

* expose grandpa BeforeBestBlockBy voting rule (#11798)

* Un-deprecate Transactional Macro (#11807)

* un-deprecate transactional macro

* add transactional back to nomination pools

* sync: Fixed clearing subsequent ranges (#11815)

* sync: Fixed clearing subsequent ranges

* Warp sync fix

* Better documentation

* CLI flag to configure tx ban duration (#11786)

* add tx-ban-seconds

* fix

* trigger CI

* trigger CI

* remove test print

* Update client/cli/src/params/transaction_pool_params.rs

Co-authored-by: André Silva <[email protected]>

Co-authored-by: André Silva <[email protected]>

* Upgrade libp2p to 0.46.1 (#11787)

* Update libp2p to 0.46.0

* Update libp2p to 0.46.1

* Fix telemetry initialization

* Fix tests

* prep council election pallet for being dissolved (#11790)

* prep council election pallet for being dissolved + make it temporarily bounded

* fix tests

* fix

* Update frame/elections-phragmen/src/lib.rs

* fix bench?

* Network sync refactoring (part 4) (#11412)

* Remove direct dependency of `sc-network` on `sc-network-light`

* Move `WarpSyncProvider` trait and surrounding data structures into `sc-network-common`

* Move `WarpSyncProvider` trait and surrounding data structures into `sc-network-common`

* Create `sync` module in `sc-network-common`, create `ChainSync` trait there (not used yet), move a bunch of associated data structures from `sc-network-sync`

* Switch from concrete implementation to `ChainSync` trait from `sc-network-common`

* Introduce `OpaqueStateRequest`/`OpaqueStateResponse` to remove generics from `StateSync` trait

* Introduce `OpaqueBlockRequest`/`OpaqueBlockResponse`, make `scheme` module of `sc-network-sync` private

* Surface `sc-network-sync` into `sc-service` and make `sc-network` not depend on it anymore

* Remove now unnecessary dependency from `sc-network`

* Replace crate links with just text since dependencies are gone now

* Remove `warp_sync` re-export from `sc-network-common`

* Update copyright in network-related files

* Address review comments about documentation

* Apply review suggestion

* Rename `extra_requests` module to `metrics`

Co-authored-by: Bastian Köcher <[email protected]>

* Fix off by one error in proportional slashing (#11782)

* Fix proportional slashing logic

* Update frame/nomination-pools/test-staking/src/lib.rs

Co-authored-by: David <[email protected]>

* Update frame/staking/src/lib.rs

Co-authored-by: David <[email protected]>

* Update frame/staking/src/lib.rs

Co-authored-by: David <[email protected]>

* Update frame/staking/src/lib.rs

Co-authored-by: David <[email protected]>

* fmt

* Update frame/nomination-pools/test-staking/src/lib.rs

* clean

* fix

* last fixes

* doc

Co-authored-by: David <[email protected]>

* Buy&Sell methods for Uniques (#11398)

* Allow to set item's price

* Clean the state when we transfer/burn an item or destroy a collection

* Allow to buy an item

* Remove redundant checks

* Improve events

* Cover with tests

* Add comments

* Apply suggestions

* Fmt

* Improvements for price validation

* Improve validation

* Update to use the new terminology

* Remove multi-assets support

* Chore

* Weights + benchmarking

* Shield against human error

* Test when we pass the higher item's price

* fmt fix

* Chore

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

* Remove is_frozen check when setting the price

* Try to fix benchmarking

* Fix benchmarking

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet…
ark0f pushed a commit to gear-tech/substrate that referenced this pull request Feb 27, 2023
)

* Remove a max supply record on collection's destruction

* cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/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 pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Co-authored-by: Parity Bot <[email protected]>
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. B0-silent Changes should not be mentioned in any release notes C1-low PR touches the given topic and has a low impact on builders. D1-audited 👍 PR contains changes to fund-managing logic that has been properly reviewed and externally audited
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants