From 5447e1c06c998dad56ec0cf968164bfc5eb814f1 Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Tue, 3 Jun 2025 18:15:18 +0200 Subject: [PATCH] Add sync logic to handshake message --- src/network.rs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/network.rs b/src/network.rs index bed3410..94d2c90 100644 --- a/src/network.rs +++ b/src/network.rs @@ -18,6 +18,7 @@ pub enum AnkFlag { Cipher, Commit, Handshake, + Sync, Unknown, } @@ -29,6 +30,7 @@ impl From<&str> for AnkFlag { "Cipher" => Self::Cipher, "Commit" => Self::Commit, "Handshake" => Self::Handshake, + "Sync" => Self::Sync, _ => Self::Unknown, } } @@ -48,6 +50,7 @@ impl AnkFlag { 2 => Self::Cipher, 3 => Self::Commit, 4 => Self::Handshake, + 5 => Self::Sync, _ => Self::Unknown, } } @@ -59,6 +62,7 @@ impl AnkFlag { Self::Cipher => "Cipher", Self::Commit => "Commit", Self::Handshake => "Handshake", + Self::Sync => "Sync", Self::Unknown => "Unknown", } } @@ -164,6 +168,7 @@ pub struct HandshakeMessage { pub sp_address: String, pub peers_list: OutPointMemberMap, pub processes_list: OutPointProcessMap, + // pub chain_tip: u64, } impl HandshakeMessage { @@ -172,6 +177,36 @@ impl HandshakeMessage { sp_address, peers_list, processes_list, + // chain_tip, + } + } + + pub fn to_string(&self) -> String { + serde_json::to_string(self).unwrap() + } +} + +#[derive(Debug, Serialize, Deserialize, Tsify)] +pub enum SyncMessageContent { + Tweaks, + WholeBlocks, + Headers, +} + +#[derive(Debug, Serialize, Deserialize, Tsify)] +#[tsify(into_wasm_abi, from_wasm_abi)] +pub struct SyncMessage { + start: u32, + end: u32, + content: SyncMessageContent, +} + +impl SyncMessage { + pub fn new(start: u32, end: u32, content: SyncMessageContent) -> Self { + Self { + start, + end, + content, } }