Skip to content

Commit 88a2797

Browse files
authored
chore: remove bls wrapper (#286)
1 parent df81431 commit 88a2797

File tree

7 files changed

+20
-53
lines changed

7 files changed

+20
-53
lines changed

crates/common/src/signer/schemes/bls.rs

Lines changed: 4 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,15 @@
1+
use alloy::rpc::types::beacon::constants::BLS_DST_SIG;
12
pub use alloy::rpc::types::beacon::BlsSignature;
2-
use alloy::rpc::types::beacon::{constants::BLS_DST_SIG, BlsPublicKey as BlsPublicKeyInner};
33
use blst::BLST_ERROR;
4-
use derive_more::derive::{Deref, Display, From, Into};
5-
use serde::{Deserialize, Serialize};
64
use tree_hash::TreeHash;
7-
use tree_hash_derive::TreeHash;
85

96
use crate::{
107
error::BlstErrorWrapper, signature::sign_commit_boost_root, types::Chain,
118
utils::blst_pubkey_to_alloy,
129
};
1310

1411
pub type BlsSecretKey = blst::min_pk::SecretKey;
15-
16-
// TODO(David):
17-
// This wrapper type is potentially a temporary solution, merely to implement
18-
// `TreeHash`. Remove when progress is made on this issue (https://github.com/sigp/tree_hash/issues/22)
19-
// or refine the boundaries between our wrapper `BlsPublicKey` type
20-
// and alloy's `BlsPublicKey` if we stick with it
21-
22-
// std traits
23-
#[derive(Debug, Clone, Copy, Display, PartialEq, Eq, Hash, Default)]
24-
// serde, ssz, tree_hash
25-
#[derive(Serialize, Deserialize, TreeHash)]
26-
#[serde(transparent)]
27-
// derive_more
28-
#[derive(Deref, From, Into)]
29-
pub struct BlsPublicKey {
30-
inner: BlsPublicKeyInner,
31-
}
32-
33-
impl AsRef<[u8]> for BlsPublicKey {
34-
fn as_ref(&self) -> &[u8] {
35-
self.as_slice()
36-
}
37-
}
38-
39-
impl TryFrom<&[u8]> for BlsPublicKey {
40-
type Error = core::array::TryFromSliceError;
41-
42-
fn try_from(value: &[u8]) -> Result<Self, Self::Error> {
43-
Ok(Self { inner: value.try_into()? })
44-
}
45-
}
12+
pub type BlsPublicKey = alloy::rpc::types::beacon::BlsPublicKey;
4613

4714
#[derive(Clone)]
4815
pub enum BlsSigner {
@@ -61,7 +28,7 @@ impl BlsSigner {
6128

6229
pub fn pubkey(&self) -> BlsPublicKey {
6330
match self {
64-
BlsSigner::Local(secret) => blst_pubkey_to_alloy(&secret.sk_to_pk()).into(),
31+
BlsSigner::Local(secret) => blst_pubkey_to_alloy(&secret.sk_to_pk()),
6532
}
6633
}
6734

@@ -97,7 +64,7 @@ pub fn random_secret() -> BlsSecretKey {
9764
}
9865

9966
pub fn verify_bls_signature(
100-
pubkey: &BlsPublicKeyInner,
67+
pubkey: &BlsPublicKey,
10168
msg: &[u8],
10269
signature: &BlsSignature,
10370
) -> Result<(), BlstErrorWrapper> {

crates/signer/src/manager/local.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ impl LocalSigningManager {
210210
.bls_signers
211211
.get(pubkey)
212212
.map(|x| x.delegation)
213-
.ok_or(SignerModuleError::UnknownProxySigner(pubkey.as_ref().to_vec()))
213+
.ok_or(SignerModuleError::UnknownProxySigner(pubkey.to_vec()))
214214
}
215215

216216
pub fn get_delegation_ecdsa(

tests/tests/pbs_get_header.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ async fn test_get_header() -> Result<()> {
3131

3232
// Run a mock relay
3333
let mock_state = Arc::new(MockRelayState::new(chain, signer));
34-
let mock_relay = generate_mock_relay(relay_port, *pubkey)?;
34+
let mock_relay = generate_mock_relay(relay_port, pubkey)?;
3535
tokio::spawn(start_mock_relay_service(mock_state.clone(), relay_port));
3636

3737
// Run the PBS service
@@ -81,7 +81,7 @@ async fn test_get_header_returns_204_if_relay_down() -> Result<()> {
8181

8282
// Create a mock relay client
8383
let mock_state = Arc::new(MockRelayState::new(chain, signer));
84-
let mock_relay = generate_mock_relay(relay_port, *pubkey)?;
84+
let mock_relay = generate_mock_relay(relay_port, pubkey)?;
8585

8686
// Don't start the relay
8787
// tokio::spawn(start_mock_relay_service(mock_state.clone(), relay_port));
@@ -115,7 +115,7 @@ async fn test_get_header_returns_400_if_request_is_invalid() -> Result<()> {
115115

116116
// Run a mock relay
117117
let mock_state = Arc::new(MockRelayState::new(chain, signer));
118-
let mock_relay = generate_mock_relay(relay_port, *pubkey)?;
118+
let mock_relay = generate_mock_relay(relay_port, pubkey)?;
119119
tokio::spawn(start_mock_relay_service(mock_state.clone(), relay_port));
120120

121121
// Run the PBS service
@@ -127,7 +127,7 @@ async fn test_get_header_returns_400_if_request_is_invalid() -> Result<()> {
127127
tokio::time::sleep(Duration::from_millis(100)).await;
128128

129129
// Create an invalid URL by truncating the pubkey
130-
let mut bad_url = mock_relay.get_header_url(0, B256::ZERO, *pubkey).unwrap();
130+
let mut bad_url = mock_relay.get_header_url(0, B256::ZERO, pubkey).unwrap();
131131
bad_url.set_path(&bad_url.path().replace(&pubkey.to_string(), &pubkey.to_string()[..10]));
132132

133133
let mock_validator = MockValidator::new(pbs_port)?;
@@ -137,7 +137,7 @@ async fn test_get_header_returns_400_if_request_is_invalid() -> Result<()> {
137137
assert_eq!(res.status(), StatusCode::BAD_REQUEST);
138138

139139
// Attempt again by truncating the parent hash
140-
let mut bad_url = mock_relay.get_header_url(0, B256::ZERO, *pubkey).unwrap();
140+
let mut bad_url = mock_relay.get_header_url(0, B256::ZERO, pubkey).unwrap();
141141
bad_url
142142
.set_path(&bad_url.path().replace(&B256::ZERO.to_string(), &B256::ZERO.to_string()[..10]));
143143
let res = mock_validator.comm_boost.client.get(bad_url).send().await?;

tests/tests/pbs_get_status.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ async fn test_get_status() -> Result<()> {
2727
let relay_1_port = pbs_port + 2;
2828

2929
let relays = vec![
30-
generate_mock_relay(relay_0_port, *pubkey)?,
31-
generate_mock_relay(relay_1_port, *pubkey)?,
30+
generate_mock_relay(relay_0_port, pubkey)?,
31+
generate_mock_relay(relay_1_port, pubkey)?,
3232
];
3333
let mock_state = Arc::new(MockRelayState::new(chain, signer));
3434
tokio::spawn(start_mock_relay_service(mock_state.clone(), relay_0_port));
@@ -61,7 +61,7 @@ async fn test_get_status_returns_502_if_relay_down() -> Result<()> {
6161
let pbs_port = 3600;
6262
let relay_port = pbs_port + 1;
6363

64-
let relays = vec![generate_mock_relay(relay_port, *pubkey)?];
64+
let relays = vec![generate_mock_relay(relay_port, pubkey)?];
6565
let mock_state = Arc::new(MockRelayState::new(chain, signer));
6666

6767
// Don't start the relay

tests/tests/pbs_mux.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ async fn test_mux() -> Result<()> {
2525
let chain = Chain::Holesky;
2626
let pbs_port = 3700;
2727

28-
let mux_relay_1 = generate_mock_relay(pbs_port + 1, *pubkey)?;
29-
let mux_relay_2 = generate_mock_relay(pbs_port + 2, *pubkey)?;
30-
let default_relay = generate_mock_relay(pbs_port + 3, *pubkey)?;
28+
let mux_relay_1 = generate_mock_relay(pbs_port + 1, pubkey)?;
29+
let mux_relay_2 = generate_mock_relay(pbs_port + 2, pubkey)?;
30+
let default_relay = generate_mock_relay(pbs_port + 3, pubkey)?;
3131

3232
// Run 3 mock relays
3333
let mock_state = Arc::new(MockRelayState::new(chain, signer));

tests/tests/pbs_post_blinded_blocks.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ async fn test_submit_block() -> Result<()> {
2626
let pbs_port = 3800;
2727

2828
// Run a mock relay
29-
let relays = vec![generate_mock_relay(pbs_port + 1, *pubkey)?];
29+
let relays = vec![generate_mock_relay(pbs_port + 1, pubkey)?];
3030
let mock_state = Arc::new(MockRelayState::new(chain, signer));
3131
tokio::spawn(start_mock_relay_service(mock_state.clone(), pbs_port + 1));
3232

@@ -59,7 +59,7 @@ async fn test_submit_block_too_large() -> Result<()> {
5959
let chain = Chain::Holesky;
6060
let pbs_port = 3900;
6161

62-
let relays = vec![generate_mock_relay(pbs_port + 1, *pubkey)?];
62+
let relays = vec![generate_mock_relay(pbs_port + 1, pubkey)?];
6363
let mock_state = Arc::new(MockRelayState::new(chain, signer).with_large_body());
6464
tokio::spawn(start_mock_relay_service(mock_state.clone(), pbs_port + 1));
6565

tests/tests/pbs_post_validators.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ async fn test_register_validators() -> Result<()> {
2626
let pbs_port = 4000;
2727

2828
// Run a mock relay
29-
let relays = vec![generate_mock_relay(pbs_port + 1, *pubkey)?];
29+
let relays = vec![generate_mock_relay(pbs_port + 1, pubkey)?];
3030
let mock_state = Arc::new(MockRelayState::new(chain, signer));
3131
tokio::spawn(start_mock_relay_service(mock_state.clone(), pbs_port + 1));
3232

@@ -72,7 +72,7 @@ async fn test_register_validators_returns_422_if_request_is_malformed() -> Resul
7272
let pbs_port = 4100;
7373

7474
// Run a mock relay
75-
let relays = vec![generate_mock_relay(pbs_port + 1, *pubkey)?];
75+
let relays = vec![generate_mock_relay(pbs_port + 1, pubkey)?];
7676
let mock_state = Arc::new(MockRelayState::new(chain, signer));
7777
tokio::spawn(start_mock_relay_service(mock_state.clone(), pbs_port + 1));
7878

0 commit comments

Comments
 (0)