From ef3d640a459fc41cb6765a3e22c28405119b4a1e Mon Sep 17 00:00:00 2001 From: Vincent Geddes Date: Thu, 25 Jan 2024 01:43:49 +0200 Subject: [PATCH] Use Milagro-BLS and Eth-ABI from crates.io (#1124) Co-authored-by: ron --- parachain/pallets/ethereum-client/src/lib.rs | 2 +- parachain/pallets/outbound-queue/Cargo.toml | 2 +- parachain/pallets/system/Cargo.toml | 2 +- parachain/primitives/beacon/Cargo.toml | 4 ++-- parachain/primitives/beacon/src/types.rs | 11 ++++++++--- parachain/primitives/core/Cargo.toml | 2 +- parachain/primitives/ethereum/Cargo.toml | 2 +- parachain/primitives/router/Cargo.toml | 2 +- polkadot-sdk | 2 +- 9 files changed, 17 insertions(+), 12 deletions(-) diff --git a/parachain/pallets/ethereum-client/src/lib.rs b/parachain/pallets/ethereum-client/src/lib.rs index 743f604273..a54d4a05ac 100644 --- a/parachain/pallets/ethereum-client/src/lib.rs +++ b/parachain/pallets/ethereum-client/src/lib.rs @@ -815,7 +815,7 @@ pub mod pallet { let mut pubkeys: Vec = Vec::new(); for (bit, pubkey) in sync_committee_bits.iter().zip(sync_committee_pubkeys.iter()) { if *bit == u8::from(participant) { - pubkeys.push(*pubkey); + pubkeys.push(pubkey.clone()); } } pubkeys diff --git a/parachain/pallets/outbound-queue/Cargo.toml b/parachain/pallets/outbound-queue/Cargo.toml index 2560f0e0b5..21dea78e39 100644 --- a/parachain/pallets/outbound-queue/Cargo.toml +++ b/parachain/pallets/outbound-queue/Cargo.toml @@ -33,7 +33,7 @@ bridge-hub-common = { path = "../../../polkadot-sdk/cumulus/parachains/runtimes/ snowbridge-core = { path = "../../primitives/core", default-features = false, features = ["serde"] } snowbridge-outbound-queue-merkle-tree = { path = "merkle-tree", default-features = false } -ethabi = { git = "https://github.com/snowfork/ethabi-decode.git", package = "ethabi-decode", branch = "master", default-features = false } +ethabi = { package = "ethabi-decode", version = "1.0.0", default-features = false } xcm = { package = "staging-xcm", path = "../../../polkadot-sdk/polkadot/xcm", default-features = false } diff --git a/parachain/pallets/system/Cargo.toml b/parachain/pallets/system/Cargo.toml index 62b4a88f16..f5fa838edb 100644 --- a/parachain/pallets/system/Cargo.toml +++ b/parachain/pallets/system/Cargo.toml @@ -33,7 +33,7 @@ xcm = { package = "staging-xcm", path = "../../../polkadot-sdk/polkadot/xcm", de xcm-builder = { package = "staging-xcm-builder", path = "../../../polkadot-sdk/polkadot/xcm/xcm-builder", default-features = false } xcm-executor = { package = "staging-xcm-executor", path = "../../../polkadot-sdk/polkadot/xcm/xcm-executor", default-features = false } -ethabi = { git = "https://github.com/Snowfork/ethabi-decode.git", package = "ethabi-decode", branch = "master", default-features = false } +ethabi = { package = "ethabi-decode", version = "1.0.0", default-features = false } snowbridge-core = { path = "../../primitives/core", default-features = false } [dev-dependencies] diff --git a/parachain/primitives/beacon/Cargo.toml b/parachain/primitives/beacon/Cargo.toml index e26e732fbe..2d43102d4f 100644 --- a/parachain/primitives/beacon/Cargo.toml +++ b/parachain/primitives/beacon/Cargo.toml @@ -31,7 +31,7 @@ byte-slice-cast = { version = "1.2.1", default-features = false } snowbridge-ethereum = { path = "../ethereum", default-features = false } static_assertions = { version = "1.1.0" } -milagro_bls = { git = "https://github.com/snowfork/milagro_bls", default-features = false, rev = "a6d66e4eb89015e352fb1c9f7b661ecdbb5b2176" } +milagro-bls = { package = "snowbridge-milagro-bls", version = "1.5.4", default-features = false } [dev-dependencies] hex-literal = { version = "0.4.1" } @@ -44,7 +44,7 @@ std = [ "frame-support/std", "frame-system/std", "hex/std", - "milagro_bls/std", + "milagro-bls/std", "rlp/std", "scale-info/std", "serde", diff --git a/parachain/primitives/beacon/src/types.rs b/parachain/primitives/beacon/src/types.rs index fd33a4db62..6f0886ba8b 100644 --- a/parachain/primitives/beacon/src/types.rs +++ b/parachain/primitives/beacon/src/types.rs @@ -5,7 +5,7 @@ use frame_support::{CloneNoBound, PartialEqNoBound, RuntimeDebugNoBound}; use scale_info::TypeInfo; use sp_core::{H160, H256, U256}; use sp_runtime::RuntimeDebug; -use sp_std::{boxed::Box, prelude::*}; +use sp_std::{boxed::Box, iter::repeat, prelude::*}; use crate::config::{PUBKEY_SIZE, SIGNATURE_SIZE}; @@ -190,9 +190,14 @@ pub struct SyncCommitteePrepared { impl Default for SyncCommitteePrepared { fn default() -> Self { + let pubkeys: Vec = + repeat(PublicKeyPrepared::default()).take(COMMITTEE_SIZE).collect(); + let pubkeys: Box<[PublicKeyPrepared; COMMITTEE_SIZE]> = + Box::new(pubkeys.try_into().map_err(|_| ()).expect("checked statically; qed")); + SyncCommitteePrepared { root: H256::default(), - pubkeys: Box::new([PublicKeyPrepared::default(); COMMITTEE_SIZE]), + pubkeys, aggregate_pubkey: PublicKeyPrepared::default(), } } @@ -208,7 +213,7 @@ impl TryFrom<&SyncCommittee> let sync_committee_root = sync_committee.hash_tree_root().expect("checked statically; qed"); Ok(SyncCommitteePrepared:: { - pubkeys: g1_pubkeys.try_into().expect("checked statically; qed"), + pubkeys: g1_pubkeys.try_into().map_err(|_| ()).expect("checked statically; qed"), aggregate_pubkey: prepare_milagro_pubkey(&sync_committee.aggregate_pubkey)?, root: sync_committee_root, }) diff --git a/parachain/primitives/core/Cargo.toml b/parachain/primitives/core/Cargo.toml index 947f45d860..15a451fd77 100644 --- a/parachain/primitives/core/Cargo.toml +++ b/parachain/primitives/core/Cargo.toml @@ -31,7 +31,7 @@ sp-arithmetic = { path = "../../../polkadot-sdk/substrate/primitives/arithmetic" snowbridge-beacon-primitives = { path = "../beacon", default-features = false } -ethabi = { git = "https://github.com/Snowfork/ethabi-decode.git", package = "ethabi-decode", branch = "master", default-features = false } +ethabi = { package = "ethabi-decode", version = "1.0.0", default-features = false } [dev-dependencies] hex = { version = "0.4.3" } diff --git a/parachain/primitives/ethereum/Cargo.toml b/parachain/primitives/ethereum/Cargo.toml index 8d8e50e2e3..db329f7e69 100644 --- a/parachain/primitives/ethereum/Cargo.toml +++ b/parachain/primitives/ethereum/Cargo.toml @@ -28,7 +28,7 @@ sp-std = { path = "../../../polkadot-sdk/substrate/primitives/std", default-feat sp-core = { path = "../../../polkadot-sdk/substrate/primitives/core", default-features = false } sp-runtime = { path = "../../../polkadot-sdk/substrate/primitives/runtime", default-features = false } -ethabi = { git = "https://github.com/snowfork/ethabi-decode.git", package = "ethabi-decode", branch = "master", default-features = false } +ethabi = { package = "ethabi-decode", version = "1.0.0", default-features = false } [dev-dependencies] wasm-bindgen-test = "0.3.19" diff --git a/parachain/primitives/router/Cargo.toml b/parachain/primitives/router/Cargo.toml index 1e834a7eab..ee78e34dc9 100644 --- a/parachain/primitives/router/Cargo.toml +++ b/parachain/primitives/router/Cargo.toml @@ -30,7 +30,7 @@ xcm-executor = { package = "staging-xcm-executor", path = "../../../polkadot-sdk snowbridge-core = { path = "../core", default-features = false } -ethabi = { git = "https://github.com/Snowfork/ethabi-decode.git", package = "ethabi-decode", branch = "master", default-features = false } +ethabi = { package = "ethabi-decode", version = "1.0.0", default-features = false } hex-literal = { version = "0.4.1" } diff --git a/polkadot-sdk b/polkadot-sdk index 12c9558a9a..b4f833988f 160000 --- a/polkadot-sdk +++ b/polkadot-sdk @@ -1 +1 @@ -Subproject commit 12c9558a9a6fe4e8f73ebed182de58b529ec3519 +Subproject commit b4f833988f50f9ce1b4e89e807e46b65187cddb2