Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Open Gov for Development and Altair Runtimes #1828

Merged
merged 28 commits into from
Jun 28, 2024
Merged

Conversation

wischli
Copy link
Contributor

@wischli wischli commented May 3, 2024

Description

// centrifuge runtime
x_period: 2 * MINUTES,
- y_period: 3 * HOURS,
- z_period: 4 * DAYS,

// development runtime
x_period: 1 * MINUTES,
+ y_period: 1 * MINUTES,
+ z_period: 1 * MINUTES,

Changes and Descriptions

  • Adds origins module to runtime_common necessary for gov origin declaration which is the same across all runtimes
  • Adds necessary OpenGov pallets to Development and Altair runtimes (Centrifuge will follow in ~1 month)
  • Initializes Technical Committee for WhitelistedCaller track via migration based on CP86
    • Requires pallet_membership for membership handling within the collective and
    • pallet_collective::Instance2 for membership handling via root as well origin derivation for the WhitelistedCaller track

TODO

All done 14.05.2024

  • OpenGov Development Runtime
  • OpenGov Altair Runtime
  • Revert OpenGov addition to Centrifuge Runtime
  • Write migration to initialize Technical Committee

Altair migrations

[2024-05-14T13:00:39Z INFO  remote-ext] initialized state externalities with storage root 0xa907b41b327bb68ffcdd9902a0b5cffe8bccae5a2ccc7b7cab8fde43bc18c272 and state_version V0
[2024-05-14T13:00:40Z INFO  try-runtime::cli] Original runtime [Name: RuntimeString::Owned("altair")] [Version: 1034] [Code hash: 0xbdc0...5150]
[2024-05-14T13:00:40Z INFO  try-runtime::cli] New runtime      [Name: RuntimeString::Owned("altair")] [Version: 1035] [Code hash: 0x7f0d...4cf8]
[2024-05-14T13:00:40Z INFO  try_runtime_core::commands::on_runtime_upgrade] 🔬 Running TryRuntime_on_runtime_upgrade with checks: PreAndPost
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "OraclePriceFeed" from StorageVersion(0) to StorageVersion(1)
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "OraclePriceCollection" from StorageVersion(0) to StorageVersion(1)
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "OrderBook" from StorageVersion(0) to StorageVersion(1)
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "ForeignInvestments" from StorageVersion(0) to StorageVersion(1)
[2024-05-14T13:00:41Z INFO  runtime::collator-selection] Sorted 3 Invulnerables, upgraded storage to version 1
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::technical_comittee] InitTechnicalCommittee: Pre checks done
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::technical_comittee] InitTechnicalCommittee: Setting up members
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::technical_comittee] InitTechnicalCommittee: Migration done
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::technical_comittee] InitTechnicalCommittee: Post checks done
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "Referenda" from StorageVersion(0) to StorageVersion(1)
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "TechnicalCommittee" from StorageVersion(0) to StorageVersion(4)
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "TechnicalCommitteeMembership" from StorageVersion(0) to StorageVersion(4)
[2024-05-14T13:00:41Z INFO  runtime::frame-support] ⚠️ Ethereum declares internal migrations (which *might* execute). On-chain `StorageVersion(0)` vs current storage version `NoStorageVersionSet`
[2024-05-14T13:00:41Z INFO  try_runtime_core::commands::on_runtime_upgrade] 🔬 TryRuntime_on_runtime_upgrade succeeded! Running it again without checks for weight measurements.
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "OraclePriceFeed" from StorageVersion(0) to StorageVersion(1)
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "OraclePriceCollection" from StorageVersion(0) to StorageVersion(1)
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "OrderBook" from StorageVersion(0) to StorageVersion(1)
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "ForeignInvestments" from StorageVersion(0) to StorageVersion(1)
[2024-05-14T13:00:41Z INFO  runtime::collator-selection] Sorted 3 Invulnerables, upgraded storage to version 1
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::technical_comittee] InitTechnicalCommittee: Setting up members
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::technical_comittee] InitTechnicalCommittee: Migration done
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "Referenda" from StorageVersion(0) to StorageVersion(1)
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "TechnicalCommittee" from StorageVersion(0) to StorageVersion(4)
[2024-05-14T13:00:41Z INFO  runtime_common::migrations::increase_storage_version] BumpStorageVersion: Increasing storage version of "TechnicalCommitteeMembership" from StorageVersion(0) to StorageVersion(4)
[2024-05-14T13:00:41Z INFO  runtime::frame-support] ⚠️ Ethereum declares internal migrations (which *might* execute). On-chain `StorageVersion(0)` vs current storage version `NoStorageVersionSet`
[2024-05-14T13:00:41Z INFO  try-runtime::cli] PoV size (zstd-compressed compact proof): 1.4 KB. For parachains, it's your responsibility to verify that a PoV of this size fits within any relaychain constraints.
[2024-05-14T13:00:41Z INFO  try-runtime::cli] Consumed ref_time: 0.001691103s (0.34% of max 0.5s)
[2024-05-14T13:00:41Z INFO  try-runtime::cli] ✅ TryRuntime_on_runtime_upgrade executed without errors or weight safety warnings. Please note this does not guarantee a successful runtime upgrade. Always test your runtime upgrade with recent state, and ensure that the weight usage of your migrations will not drastically differ between testing and actual on-chain execution.

Checklist:

  • I have added Rust doc comments to structs, enums, traits and functions
  • I have made corresponding changes to the documentation
  • I have performed a self-review of my code
  • I have added tests that prove my fix is effective or that my feature works

@wischli wischli added D2-notify Pull request can be merged and notification about changes should be documented. I8-enhancement An additional feature. D8-migration Pull request touches storage and needs migration code. labels May 3, 2024
@wischli wischli self-assigned this May 3, 2024
@wischli wischli force-pushed the feat/open-gov-2 branch 2 times, most recently from 8b139d2 to a80d106 Compare May 3, 2024 13:40
Copy link
Contributor

@lemunozm lemunozm left a comment

Choose a reason for hiding this comment

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

Thanks so much for dive into this topic @wischli!

I left just some minor comments in a fast review

libs/primitives/src/lib.rs Outdated Show resolved Hide resolved
runtime/altair/Cargo.toml Outdated Show resolved Hide resolved
runtime/altair/src/governance/mod.rs Outdated Show resolved Hide resolved
runtime/centrifuge/src/governance/tracks.rs Outdated Show resolved Hide resolved
common: fix typo

common: fix test after HalfOfCouncil refactor
fix: complete Development OpenGov

development: finalize opengov

development: add proxy calls

development: overwrite missing origins

dev: fix treasury spender

dev: remove crowdloan pallets

dev: taplo fmt
fix: complete Altair OpenGov

fix: add missing technical fellowship weights Altair

altair: finalize opengov

altair: rename track tests

altair: gather imports

altair: remove crowdloan pallets

altair: taplo fmt
fix: centrifuge toml

chore: minor centrifuge chain improvements

refactor: Centrifuge OpenGov

centrifuge: finalize opengov

centrifuge: fix cargo tml

cfg: fix clippy test
@wischli wischli marked this pull request as ready for review May 13, 2024 14:15
Copy link

codecov bot commented May 13, 2024

Codecov Report

Attention: Patch coverage is 0% with 95 lines in your changes missing coverage. Please review.

Project coverage is 47.38%. Comparing base (eb38d05) to head (c4c78a2).
Report is 1 commits behind head on main.

Files Patch % Lines
...untime/common/src/migrations/technical_comittee.rs 0.00% 38 Missing ⚠️
runtime/altair/src/tracks.rs 0.00% 15 Missing ⚠️
runtime/development/src/tracks.rs 0.00% 15 Missing ⚠️
runtime/altair/src/lib.rs 0.00% 9 Missing ⚠️
runtime/development/src/lib.rs 0.00% 9 Missing ⚠️
libs/utils/src/lib.rs 0.00% 4 Missing ⚠️
runtime/common/src/origins.rs 0.00% 4 Missing ⚠️
node/src/chain_spec.rs 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1828      +/-   ##
==========================================
- Coverage   47.72%   47.38%   -0.34%     
==========================================
  Files         171      176       +5     
  Lines       13219    13305      +86     
==========================================
- Hits         6309     6305       -4     
- Misses       6910     7000      +90     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@wischli wischli requested a review from lemunozm May 14, 2024 09:35
@@ -1020,7 +1045,7 @@ parameter_types! {
}

impl pallet_permissions::Config for Runtime {
type AdminOrigin = EnsureRootOr<HalfOfCouncil>;
type AdminOrigin = EnsureRootOr<EitherOf<HalfOfCouncil, PoolAdmin>>;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

OpenGov introduces a PoolAdmin track just for pool related stuff. Of course, this includes pool creation. IMO it also makes sense to include the permissions and keystore AdminOrigin. I would be interested in your thoughts @mustermeiszer @hieronx. For Altair, it does not matter too much probably but in the end Altair and Centrifuge should have the same configuration apart from the track parameters (deposits, durations, voting thresholds).

The difference between the Root and PoolAdmin tracks is that the latter has much lower thresholds in terms of deposits, support and it is faster:

Root
Screenshot 2024-05-14 at 15 16 49

Pool Admin
Screenshot 2024-05-14 at 15 16 18

Comment on lines 2101 to 2107
use cfg_types::{
locations::Location,
pools::PoolNav,
tokens::{FilterCurrency, LocalAssetId},
};
pub use pallet_loans::entities::{input::PriceCollectionInput, loans::ActiveLoanInfo};
use runtime_common::transfer_filter::PreNativeTransfer;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

NOTE: Moved to top such that all dependencies are imported in the header. Having two separate places messed up IntelliJ's import helper because it seems to add imports to the location which is closer in terms of LoC.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, it comes from removing the runtime-api feature. There were some use statements below I forgot to go up

@@ -2659,7 +2769,7 @@ mod benches {
[pallet_proxy, Proxy]
[pallet_utility, Utility]
[pallet_scheduler, Scheduler]
[pallet_collective, Council]
[pallet_collective_council, Council]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

NOTE: We now have two benchmarks for the pallet_collective based on the CouncilCollective and TechnicalCollective instances.

@wischli wischli requested a review from lemunozm May 21, 2024 09:24
lemunozm
lemunozm previously approved these changes May 21, 2024
Copy link
Contributor

@lemunozm lemunozm left a comment

Choose a reason for hiding this comment

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

For me everything looks great but I would like another pair of eyes, at least in the configuration part of the governance.

@lemunozm
Copy link
Contributor

@wischli Do you expect to merge this before or after 1.7.2?

@@ -1,6 +1,6 @@
use std::ops::Add;

use cfg_primitives::{Balance, BlockNumber, CouncilCollective};
Copy link
Contributor

Choose a reason for hiding this comment

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

With this PR, do we no longer need the old democracy? If not, I think this file can be fully removed. Just the gateway tests are using them, but they can done though Root instead.

@wischli wischli requested a review from lemunozm June 27, 2024 13:06
lemunozm
lemunozm previously approved these changes Jun 27, 2024
Copy link
Contributor

@lemunozm lemunozm left a comment

Choose a reason for hiding this comment

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

Thanks for leading this change! Organized and easy to follow. LGTM!

@wischli
Copy link
Contributor Author

wischli commented Jun 27, 2024

Just FYI, I have ensured OpenGov works properly after rebasing to main as the initial checks were done with SDK v1.3.0.

Will merge after @mustermeiszer's quick checks.

@@ -173,7 +173,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
spec_name: create_runtime_str!("altair"),
impl_name: create_runtime_str!("altair"),
authoring_version: 1,
spec_version: 1103,
spec_version: 1200,
Copy link
Contributor Author

@wischli wischli Jun 28, 2024

Choose a reason for hiding this comment

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

FYI: Bumping to 1200 here and removing outdated migrations for all runtimes so I can use this as RC for Altair.

Copy link
Collaborator

@mustermeiszer mustermeiszer left a comment

Choose a reason for hiding this comment

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

Nothing to complain from my side. Thanks for the very detailed and great PR documentation and insights into the choosing of the values. Lets see how this works out in the testnets.

@wischli wischli merged commit d034784 into main Jun 28, 2024
11 of 12 checks passed
@wischli wischli deleted the feat/open-gov-2 branch June 28, 2024 13:33
AccountMap,
>,
);
pub type UpgradeCentrifuge1200 = ();
Copy link
Contributor

Choose a reason for hiding this comment

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

Ok, we need to be sure we use the 1103 as RU to apply the previous migrations 👍🏻

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes but since 1103 is already proposed to Council, that shouldnt be an issue.

wischli pushed a commit that referenced this pull request Jul 25, 2024
fix: adapt passthrough router

fix: docs and hash

chore: rm unused test

Release v0.11.3 (#1886)

* Switch to full wasm execution

* feat: use correct encoded size.

* fix: lint

* refactor: reduce dev session duration from 6h to 2min

* chore: update centrifuge weights

* chore: update dev weights

* chore: update altair weights

* chore: update frame_system weights

* fmt

* fix: re-enable frame_system benches

* chore: bump spec version

* fmt: revert using latest nightly

* v0.11.3-rc1: revert checkmetadata ext

* feat: `CheckMetadataHash` extension (#1865)

* set dependency versions

* upgrade libs/*

* upgrade pallet-anchors

* upgrade pallet-fees

* upgrade pallet-bridge

* migrate simple pallets

* migrate pallet-order-book

* migrated collator-allowlist & swaps

* upgrade rewards

* upgraded pallet-mux

* upgrade transfer-allowlist

* fix hold reason in restricted tokens

* simplify set_balance removing the holding part

* upgrade restricted-xtokens

* upgrade some pallets

* upgrade pallet-ethereum-transaction

* upgrade pallet-loans

* upgrade pool-system

* upgrade pool-fees

* upgrade pool-registry

* upgrade liquidity-pools stuffs

* avoid duplicated polkadot-sdk repos

* minor fixes

* upgraded runtime-common

* CfgLocation to RestrictedTransferLocation

* restricted tokens with NativeIndex for native fungibles

* rename dependency

* upgraded development-runtime

* fix partially benchmarks

* fix benchmarks

* overpass xcmp-queue integrity tests

* minor coments

* upgrade altair & centrifuge

* remove some benchmarking pallets that are not needed

* fix runtime upgrades

* upgrade integration-test proc

* upgrade integration-tests framework

* upgraded all tests except liquidity pools

* 99% upgraded liquidity-pools tests

* fix lookup

* cargo fmt

* taplo fmt

* using nightly cargo in CI

* restore set_balance as it was

* allow nightly support in CI

* use restricted_tokens again to fetch from investement portfolio

* Install rust-src for docs

* fix tests

* remove unused restricted tokens

* fix block rewards

* fix WrongWitness for some tests in IT

* fix liquidity-pools

* minor fixes

* fix clippy

* remove unneeded tests

* feat: Update client to Polkadot v1.7.2 (#1844)

* wip: update client

* chore: update crate versions

* chore: update anchor rpc api

* chore: remove rewards, pools rpc

* chore: compile with development runtime

* fix: client for all runtimes

* fix: build spec

* feat: update relay docker images

* fix: apply deprecation of export genesis state to scripts

* fmt: taplo

* refactor: use xcm v4 sugar

* fix: revert tmp change in local para run

* refactor: simplify xcm v4 locations in chain spec

* cargo fmt

* fix clippy

* feat: Polkadot v1.7.2 migrations (#1849)

* feat: add hold reason migration

* feat: centrifuge migrations

* feat: altair migrations

* feat: dev + demo migrations

* fix: clippy

* fix: build

* fmt: fix using nightly

* last William iteration review

* increase passed blocks

* use rococo instead of polkadot-test-runtime

* fix tests

* remove line

* dirty fix to fix Hrmp test issue

* use default weights for treasury

* remove getrandom unused dep

* upgrade to last polkadot-sdk version

* feat: `CheckMetadataHash` extension

* fix it (#1866)

* fmt: taplo

* refactor: signed ext order

* fix: signed ext order for ITs

* IT: more support for router tests (#1885)

* move routers to its own module

* remove outdated markers

* for all runtimes

* remove previous tests

* minor fixes

* v0.11.2 rc

* panic if event is not found in the expected blocks (#1880)

* fix: ci

* remove generic module (#1887)

* revert check metadata hash disable

* fix: disable metadata hash check for integration tests

---------

Co-authored-by: lemunozm <lemunozm@gmail.com>

---------

Co-authored-by: Bastian Köcher <info@kchr.de>
Co-authored-by: Frederik Gartenmeister <mustermeiszer@posteo.de>
Co-authored-by: lemunozm <lemunozm@gmail.com>

Refactor: Decoupling routers from gateway (#1891)

* decoupling routers from gateway. Use Vec<u8>

* gateway adapted

* fix imports

* move test msg to cfg-traits

* fix imports

feat: Open Gov for Development and Altair Runtimes (#1828)

* chore: add OpenGov pallets to root toml

* feat: add OpenGov tracks to runtime common

* feat: add technical committee migration

tc: fix clippy

* refactor: move origins from primitives to common

common: fix typo

common: fix test after HalfOfCouncil refactor

* feat: add OpenGov to Development

fix: complete Development OpenGov

development: finalize opengov

development: add proxy calls

development: overwrite missing origins

dev: fix treasury spender

dev: remove crowdloan pallets

dev: taplo fmt

* feat: add OpenGov to Altair

fix: complete Altair OpenGov

fix: add missing technical fellowship weights Altair

altair: finalize opengov

altair: rename track tests

altair: gather imports

altair: remove crowdloan pallets

altair: taplo fmt

* feat: add OpenGov to Centrifuge chain

fix: centrifuge toml

chore: minor centrifuge chain improvements

refactor: Centrifuge OpenGov

centrifuge: finalize opengov

centrifuge: fix cargo tml

cfg: fix clippy test

* Revert "feat: add OpenGov to Centrifuge chain"

This reverts commit 4d78c10.

* fix: clippy

* tests: fix CouncilCollective import path

* fix: technical committee migrations

* altair: configure tc migration (incomplete)

* dev: configure tc migration

* chore: cleanup altair dep diff

* chore: remove unused getrandom crate from runtimes

* chore: add missing Altair TC members

* refactor: move to_ppm and to_percent to utils

* Merge remote-tracking branch 'origin/main' into feat/open-gov-2

* fix: issues after rebasing

* fmt

* fix: imports

* feat: v0.12.0 for altair RU

Altair: release v0.12.0 (#1896)

* fix: altair chain spec

* chore: update gov2 weights

* chore: update dev OpenGov weights

* fix: weight declaration

Fix RustDocs deployment & codecov patch checks (#1870)

* Fix deploy docs

* Make patch checks also informational (not fail)

LP Message with custom data format for serialization/deserialization (#1889)

* test compiling

* fix Domain serialization

* fix issues

* some reorganizations

* using bincode 2 with non-std support

* use custom trait

* tests passing for lp

* remove ENCODED_MSG constant

* fix runtimes compilation

* cargo fmt & taplo fmt

* cargo clippy

* minor change

* add custom serializer passing all tests

* no_std support

* minor renames

* cargo fmt

* cargo clippy

* minor comment change

* cargo fmt extra

Succeed when patch codecov fails (#1900)

Liquidity pools: Add UTs to for `update_token_price()` (#1890)

* add token price UTs

* update IT

* fix tests compilation

remove some unused code investment-related (#1902)

Release v0.13.0 (#1898)

* chore: update deps to enable metadata hash check

* chore: update srtool + add on-chain-release-build opts

* chore: bump spec versions + cleanup migrations

* fmt: taplo

* ci: fix srtool fmt

* ci: apply proper CLI

* attempt2 to enable on-chain-release-build

* change srtool build for chevdor/strool-actions action

* desperate attempts to get it working

* override workdir

* Try to set permissions wide open before running docker

* add RUST_BACKTRACE

* revert to our GHA manual process & add enhancements

* fix package name

* Output information about srtool

* Revert "desperate attempts to get it working"

This reverts commit a882fd9.

* fix: some scripts

* fix bad colon on echo command

* Fix missing colon and remove docker publish release

* upload wasm to release

* fix issue with gchr tags

* more semicolon issues

* unique name for delete untagged

* fix delete_untagged

* move delete_untagged under workflows

* move delete untagged to manual runs

* review bash syntax for wasm build

* recover cache and limit sanity check build time

---------

Co-authored-by: Guillermo Perez <gpmayorga@users.noreply.github.com>

cargo update (#1904)

add uts (#1905)

IT: Support `#ignore = reason` for `test_runtimes` macro (#1908)

* support #ignore = reason for test_runtimes macro

* fix clippy

ci: disable checks for drafts (#1913)

LP: Unitary testing for add_currency (#1912)

* port add-currency tests into uts

* remove LiquidityPoolsWrappedToken struct

* remove unused code

* fix compilation issues

* fix clippy

* fix clippy

feat: adatpt to latest version

LP: Unitary testing for all pending extrinsics (#1916)

* allow and disallow currency tests

* schedule_upgrade cancel_upgrade and update_tranche_token_metadata

Feat: Adapt proxy settings (#1922)

* feat: adapt proxy settings

* fix: match pattern

Small CI improvements (#1924)

LP: Unitary testing for inbound messages (#1927)

* tests inbound messages

* some cleanings

* some adjustements

fix: array size

fix: clippy + fmt

fix: update blake hash

fix: compilation

Refactor: Transform `TrancheCurrency` type in a tuple (#1926)

* remove TrancheCurrency type

* fix benchmarks

* fix clippy

fix: std import KeccakHasher
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
D2-notify Pull request can be merged and notification about changes should be documented. D8-migration Pull request touches storage and needs migration code. I8-enhancement An additional feature.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants