Open
Description
Here is a tracking issue for all the steps I can think of, before we need to start going through all the various runtime logic, and actually use the new multi-dimensional weights v2.
- deprecate
RefTimeWeight
Remove RefTimeWeight substrate#12157 - Remove
Ord
from the one dimensional weight type Remove Ord impl for Weights V2 and add comparison fns substrate#12183- implement
any_gt
any_lt
all_gt
all_lt
(and the equal to variant) - go through each comparison operator usage, and CAREFULLY make sure that it uses the correct version of
any_*
orall_*
. This is super important, because it could lead to bugs if incorrectly implemented, and we have 2 dimensional weights.
- implement
- Move some basic type definitions to a new crate called
sp-weights
Create sp-weights crate to store weight primitives substrate#12219 - Then, I think we can finally add the second field to Weight without any worry, and just some storage migrations Add storage size component to weights substrate#12277
- We should also make the fields of Weight
#[compact]
, and include that in the migration: Make new Weight struct#[codec(compact)]
substrate#12149 - We will also need to make frame executive respect both weight fields, and behave correctly. Properly set the max proof size weight on defaults and tests substrate#12383
- We should also make the fields of Weight
- A dynamic way of allowing chains to update their max proof size? Properly set the max proof size weight on defaults and tests substrate#12383 (comment)
- Record PoV size in
benchmark overhead
Record PoV size inbenchmark overhead
#384
Once we get to that point, we will need to double check our logic around benchmarking and PoV, and we can open a new tracking issue for that.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Backlog