mirror of
https://github.com/serai-dex/serai.git
synced 2024-12-23 03:59:22 +00:00
Add saner log statements to the coordinator
Disables trace on every single P2P message. Logs a short-form of each transaction.
This commit is contained in:
parent
14f3f330db
commit
ee50f584aa
3 changed files with 85 additions and 4 deletions
|
@ -259,7 +259,11 @@ async fn handle_processor_message<D: Db, P: P2p>(
|
||||||
TributaryDb::<D>::set_plan_ids(&mut txn, tributary.spec.genesis(), *block, &plans);
|
TributaryDb::<D>::set_plan_ids(&mut txn, tributary.spec.genesis(), *block, &plans);
|
||||||
|
|
||||||
let tx = Transaction::SubstrateBlock(*block);
|
let tx = Transaction::SubstrateBlock(*block);
|
||||||
log::trace!("processor message effected transaction {}", hex::encode(tx.hash()));
|
log::trace!(
|
||||||
|
"processor message effected transaction {} {:?}",
|
||||||
|
hex::encode(tx.hash()),
|
||||||
|
&tx
|
||||||
|
);
|
||||||
log::trace!("providing transaction {}", hex::encode(tx.hash()));
|
log::trace!("providing transaction {}", hex::encode(tx.hash()));
|
||||||
let res = tributary.tributary.provide_transaction(tx).await;
|
let res = tributary.tributary.provide_transaction(tx).await;
|
||||||
if !(res.is_ok() || (res == Err(ProvidedError::AlreadyProvided))) {
|
if !(res.is_ok() || (res == Err(ProvidedError::AlreadyProvided))) {
|
||||||
|
@ -700,7 +704,7 @@ async fn handle_processor_message<D: Db, P: P2p>(
|
||||||
|
|
||||||
// If this created transactions, publish them
|
// If this created transactions, publish them
|
||||||
for mut tx in txs {
|
for mut tx in txs {
|
||||||
log::trace!("processor message effected transaction {}", hex::encode(tx.hash()));
|
log::trace!("processor message effected transaction {} {:?}", hex::encode(tx.hash()), &tx);
|
||||||
|
|
||||||
match tx.kind() {
|
match tx.kind() {
|
||||||
TransactionKind::Provided(_) => {
|
TransactionKind::Provided(_) => {
|
||||||
|
@ -919,6 +923,7 @@ async fn handle_cosigns_and_batch_publication<D: Db, P: P2p>(
|
||||||
// Safe since this will drop the txn updating the most recently queued batch
|
// Safe since this will drop the txn updating the most recently queued batch
|
||||||
continue 'outer;
|
continue 'outer;
|
||||||
};
|
};
|
||||||
|
log::debug!("providing Batch transaction {:?}", &tx);
|
||||||
let res = tributary.provide_transaction(tx.clone()).await;
|
let res = tributary.provide_transaction(tx.clone()).await;
|
||||||
if !(res.is_ok() || (res == Err(ProvidedError::AlreadyProvided))) {
|
if !(res.is_ok() || (res == Err(ProvidedError::AlreadyProvided))) {
|
||||||
if res == Err(ProvidedError::LocalMismatchesOnChain) {
|
if res == Err(ProvidedError::LocalMismatchesOnChain) {
|
||||||
|
|
|
@ -131,6 +131,7 @@ pub trait P2p: Send + Sync + Clone + fmt::Debug + TributaryP2p {
|
||||||
async fn broadcast(&self, kind: P2pMessageKind, msg: Vec<u8>) {
|
async fn broadcast(&self, kind: P2pMessageKind, msg: Vec<u8>) {
|
||||||
let mut actual_msg = kind.serialize();
|
let mut actual_msg = kind.serialize();
|
||||||
actual_msg.extend(msg);
|
actual_msg.extend(msg);
|
||||||
|
/*
|
||||||
log::trace!(
|
log::trace!(
|
||||||
"broadcasting p2p message (kind {})",
|
"broadcasting p2p message (kind {})",
|
||||||
match kind {
|
match kind {
|
||||||
|
@ -141,6 +142,7 @@ pub trait P2p: Send + Sync + Clone + fmt::Debug + TributaryP2p {
|
||||||
P2pMessageKind::CosignedBlock => "CosignedBlock".to_string(),
|
P2pMessageKind::CosignedBlock => "CosignedBlock".to_string(),
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
*/
|
||||||
self.broadcast_raw(actual_msg).await;
|
self.broadcast_raw(actual_msg).await;
|
||||||
}
|
}
|
||||||
async fn receive(&self) -> Message<Self> {
|
async fn receive(&self) -> Message<Self> {
|
||||||
|
@ -158,6 +160,7 @@ pub trait P2p: Send + Sync + Clone + fmt::Debug + TributaryP2p {
|
||||||
};
|
};
|
||||||
break (sender, kind, msg_ref.to_vec());
|
break (sender, kind, msg_ref.to_vec());
|
||||||
};
|
};
|
||||||
|
/*
|
||||||
log::trace!(
|
log::trace!(
|
||||||
"received p2p message (kind {})",
|
"received p2p message (kind {})",
|
||||||
match kind {
|
match kind {
|
||||||
|
@ -168,6 +171,7 @@ pub trait P2p: Send + Sync + Clone + fmt::Debug + TributaryP2p {
|
||||||
P2pMessageKind::CosignedBlock => "CosignedBlock".to_string(),
|
P2pMessageKind::CosignedBlock => "CosignedBlock".to_string(),
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
*/
|
||||||
Message { sender, kind, msg }
|
Message { sender, kind, msg }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -170,7 +170,7 @@ impl TributarySpec {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, PartialEq, Eq, Debug)]
|
#[derive(Clone, PartialEq, Eq)]
|
||||||
pub struct SignData<Id: Clone + PartialEq + Eq + Debug + Encode + Decode> {
|
pub struct SignData<Id: Clone + PartialEq + Eq + Debug + Encode + Decode> {
|
||||||
pub plan: Id,
|
pub plan: Id,
|
||||||
pub attempt: u32,
|
pub attempt: u32,
|
||||||
|
@ -180,6 +180,17 @@ pub struct SignData<Id: Clone + PartialEq + Eq + Debug + Encode + Decode> {
|
||||||
pub signed: Signed,
|
pub signed: Signed,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<Id: Clone + PartialEq + Eq + Debug + Encode + Decode> Debug for SignData<Id> {
|
||||||
|
fn fmt(&self, fmt: &mut core::fmt::Formatter<'_>) -> Result<(), core::fmt::Error> {
|
||||||
|
fmt
|
||||||
|
.debug_struct("SignData")
|
||||||
|
.field("id", &hex::encode(self.plan.encode()))
|
||||||
|
.field("attempt", &self.attempt)
|
||||||
|
.field("signer", &hex::encode(self.signed.signer.to_bytes()))
|
||||||
|
.finish_non_exhaustive()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<Id: Clone + PartialEq + Eq + Debug + Encode + Decode> ReadWrite for SignData<Id> {
|
impl<Id: Clone + PartialEq + Eq + Debug + Encode + Decode> ReadWrite for SignData<Id> {
|
||||||
fn read<R: io::Read>(reader: &mut R) -> io::Result<Self> {
|
fn read<R: io::Read>(reader: &mut R) -> io::Result<Self> {
|
||||||
let plan = Id::decode(&mut scale::IoReader(&mut *reader))
|
let plan = Id::decode(&mut scale::IoReader(&mut *reader))
|
||||||
|
@ -235,7 +246,7 @@ impl<Id: Clone + PartialEq + Eq + Debug + Encode + Decode> ReadWrite for SignDat
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, PartialEq, Eq, Debug)]
|
#[derive(Clone, PartialEq, Eq)]
|
||||||
pub enum Transaction {
|
pub enum Transaction {
|
||||||
RemoveParticipant(Participant),
|
RemoveParticipant(Participant),
|
||||||
|
|
||||||
|
@ -289,6 +300,67 @@ pub enum Transaction {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Debug for Transaction {
|
||||||
|
fn fmt(&self, fmt: &mut core::fmt::Formatter<'_>) -> Result<(), core::fmt::Error> {
|
||||||
|
match self {
|
||||||
|
Transaction::RemoveParticipant(participant) => fmt
|
||||||
|
.debug_struct("Transaction::RemoveParticipant")
|
||||||
|
.field("participant", participant)
|
||||||
|
.finish(),
|
||||||
|
Transaction::DkgCommitments(attempt, _, signed) => fmt
|
||||||
|
.debug_struct("Transaction::DkgCommitments")
|
||||||
|
.field("attempt", attempt)
|
||||||
|
.field("signer", &hex::encode(signed.signer.to_bytes()))
|
||||||
|
.finish_non_exhaustive(),
|
||||||
|
Transaction::DkgShares { attempt, signed, .. } => fmt
|
||||||
|
.debug_struct("Transaction::DkgShares")
|
||||||
|
.field("attempt", attempt)
|
||||||
|
.field("signer", &hex::encode(signed.signer.to_bytes()))
|
||||||
|
.finish_non_exhaustive(),
|
||||||
|
Transaction::InvalidDkgShare { attempt, accuser, faulty, .. } => fmt
|
||||||
|
.debug_struct("Transaction::InvalidDkgShare")
|
||||||
|
.field("attempt", attempt)
|
||||||
|
.field("accuser", accuser)
|
||||||
|
.field("faulty", faulty)
|
||||||
|
.finish_non_exhaustive(),
|
||||||
|
Transaction::DkgConfirmed(attempt, _, signed) => fmt
|
||||||
|
.debug_struct("Transaction::DkgConfirmed")
|
||||||
|
.field("attempt", attempt)
|
||||||
|
.field("signer", &hex::encode(signed.signer.to_bytes()))
|
||||||
|
.finish_non_exhaustive(),
|
||||||
|
Transaction::CosignSubstrateBlock(block) => fmt
|
||||||
|
.debug_struct("Transaction::CosignSubstrateBlock")
|
||||||
|
.field("block", &hex::encode(block))
|
||||||
|
.finish(),
|
||||||
|
Transaction::Batch(block, batch) => fmt
|
||||||
|
.debug_struct("Transaction::Batch")
|
||||||
|
.field("block", &hex::encode(block))
|
||||||
|
.field("batch", &hex::encode(batch))
|
||||||
|
.finish(),
|
||||||
|
Transaction::SubstrateBlock(block) => {
|
||||||
|
fmt.debug_struct("Transaction::SubstrateBlock").field("block", block).finish()
|
||||||
|
}
|
||||||
|
Transaction::SubstratePreprocess(sign_data) => {
|
||||||
|
fmt.debug_struct("Transaction::SubstratePreprocess").field("sign_data", sign_data).finish()
|
||||||
|
}
|
||||||
|
Transaction::SubstrateShare(sign_data) => {
|
||||||
|
fmt.debug_struct("Transaction::SubstrateShare").field("sign_data", sign_data).finish()
|
||||||
|
}
|
||||||
|
Transaction::SignPreprocess(sign_data) => {
|
||||||
|
fmt.debug_struct("Transaction::SignPreprocess").field("sign_data", sign_data).finish()
|
||||||
|
}
|
||||||
|
Transaction::SignShare(sign_data) => {
|
||||||
|
fmt.debug_struct("Transaction::SignShare").field("sign_data", sign_data).finish()
|
||||||
|
}
|
||||||
|
Transaction::SignCompleted { plan, tx_hash, .. } => fmt
|
||||||
|
.debug_struct("Transaction::SignCompleted")
|
||||||
|
.field("plan", &hex::encode(plan))
|
||||||
|
.field("tx_hash", &hex::encode(tx_hash))
|
||||||
|
.finish_non_exhaustive(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl ReadWrite for Transaction {
|
impl ReadWrite for Transaction {
|
||||||
fn read<R: io::Read>(reader: &mut R) -> io::Result<Self> {
|
fn read<R: io::Read>(reader: &mut R) -> io::Result<Self> {
|
||||||
let mut kind = [0];
|
let mut kind = [0];
|
||||||
|
|
Loading…
Reference in a new issue