mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 12:19:24 +00:00
Move message-queue to a fully binary representation (#454)
* Move message-queue to a fully binary representation Additionally adds a timeout to the message queue test. * coordinator clippy * Remove contention for the message-queue socket by using per-request sockets * clippy
This commit is contained in:
@@ -2,19 +2,16 @@ use transcript::{Transcript, RecommendedTranscript};
|
||||
use ciphersuite::{group::GroupEncoding, Ciphersuite, Ristretto};
|
||||
|
||||
use borsh::{BorshSerialize, BorshDeserialize};
|
||||
use serde::{Serialize, Deserialize};
|
||||
|
||||
use serai_primitives::NetworkId;
|
||||
|
||||
#[derive(
|
||||
Clone, Copy, PartialEq, Eq, Hash, Debug, BorshSerialize, BorshDeserialize, Serialize, Deserialize,
|
||||
)]
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug, BorshSerialize, BorshDeserialize)]
|
||||
pub enum Service {
|
||||
Processor(NetworkId),
|
||||
Coordinator,
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)]
|
||||
#[derive(Clone, PartialEq, Eq, Debug, BorshSerialize, BorshDeserialize)]
|
||||
pub struct QueuedMessage {
|
||||
pub from: Service,
|
||||
pub id: u64,
|
||||
@@ -22,13 +19,20 @@ pub struct QueuedMessage {
|
||||
pub sig: Vec<u8>,
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)]
|
||||
#[derive(Clone, PartialEq, Eq, Debug, BorshSerialize, BorshDeserialize)]
|
||||
pub struct Metadata {
|
||||
pub from: Service,
|
||||
pub to: Service,
|
||||
pub intent: Vec<u8>,
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Debug, BorshSerialize, BorshDeserialize)]
|
||||
pub enum MessageQueueRequest {
|
||||
Queue { meta: Metadata, msg: Vec<u8>, sig: Vec<u8> },
|
||||
Next { from: Service, to: Service },
|
||||
Ack { from: Service, to: Service, id: u64, sig: Vec<u8> },
|
||||
}
|
||||
|
||||
pub fn message_challenge(
|
||||
from: Service,
|
||||
from_key: <Ristretto as Ciphersuite>::G,
|
||||
|
||||
Reference in New Issue
Block a user