mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-17 00:51:06 +00:00
client/authority-discovery: Do not double encode signature (#5901)
Previously, when publishing ones address onto the DHT, the signature signing those addresses would be SCALE encoded twice. This commit removes the second encoding and adjusts the tests to catch future regressions.
This commit is contained in:
@@ -58,7 +58,7 @@ use futures::task::{Context, Poll};
|
||||
use futures::{Future, FutureExt, ready, Stream, StreamExt};
|
||||
use futures_timer::Delay;
|
||||
|
||||
use codec::{Decode, Encode};
|
||||
use codec::Decode;
|
||||
use error::{Error, Result};
|
||||
use log::{debug, error, log_enabled};
|
||||
use prometheus_endpoint::{Counter, CounterVec, Gauge, Opts, U64, register};
|
||||
@@ -262,16 +262,16 @@ where
|
||||
)
|
||||
.map_err(|_| Error::Signing)?;
|
||||
|
||||
for (sign_result, key) in signatures.iter().zip(keys) {
|
||||
for (sign_result, key) in signatures.into_iter().zip(keys) {
|
||||
let mut signed_addresses = vec![];
|
||||
|
||||
// sign_with_all returns Result<Signature, Error> signature
|
||||
// is generated for a public key that is supported.
|
||||
// Verify that all signatures exist for all provided keys.
|
||||
let signature = sign_result.as_ref().map_err(|_| Error::MissingSignature(key.clone()))?;
|
||||
let signature = sign_result.map_err(|_| Error::MissingSignature(key.clone()))?;
|
||||
schema::SignedAuthorityAddresses {
|
||||
addresses: serialized_addresses.clone(),
|
||||
signature: Encode::encode(&signature),
|
||||
signature,
|
||||
}
|
||||
.encode(&mut signed_addresses)
|
||||
.map_err(Error::EncodingProto)?;
|
||||
|
||||
Reference in New Issue
Block a user