bench pallet: only require Hash instead of Block (#3244)

Preparation for https://github.com/paritytech/polkadot-sdk/issues/2664

Changes:
- Only require `Hash` instead of `Block` for the benchmarking
- Refactor DB types to do the same

## Integration

This breaking change can easily be integrated into your node via:  
```patch
- cmd.run::<Block, ()>(config)
+ cmd.run::<HashingFor<Block>, ()>(config)
```

Status: waiting for CI checks

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: cheme <emericchevalier.pro@gmail.com>
This commit is contained in:
Oliver Tale-Yazdi
2024-02-08 18:27:52 +01:00
committed by GitHub
parent a2e6256c0d
commit c36c51cac3
12 changed files with 120 additions and 86 deletions
+18
View File
@@ -0,0 +1,18 @@
title: "Make the `benchmark pallet` command only require a Hasher"
doc:
- audience: Node Dev
description: |
Currently the `benchmark pallet` command requires a `Block` type, while only using its hasher.
Now this is changed to only require the hasher. This means to use `HashingFor<Block>` in the
place where `Block` was required.
Example patch for your node with `cmd` being `BenchmarkCmd::Pallet(cmd)`:
```patch
- cmd.run::<Block, ()>(config)
+ cmd.run::<HashingFor<Block>, ()>(config)
```
crates:
- name: sc-client-db
- name: frame-benchmarking-cli