Skip to content

Commit 4526eb4

Browse files
committed
Add quote to SubmitSetoffsMsg in MTCS enclave response
1 parent 17a3916 commit 4526eb4

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

core/quartz/src/mtcs_server.rs

+18-4
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ use crate::{
2727
#[derive(Clone, Debug)]
2828
pub struct MtcsService<A> {
2929
sk: Arc<Mutex<Option<SigningKey>>>,
30-
_attestor: A,
30+
attestor: A,
3131
}
3232

3333
#[derive(Clone, Debug, Serialize, Deserialize)]
@@ -36,12 +36,18 @@ pub struct RunClearingMessage {
3636
liquidity_sources: Vec<HexBinary>,
3737
}
3838

39+
#[derive(Clone, Debug, Serialize, Deserialize)]
40+
struct AttestedMsg<M> {
41+
msg: M,
42+
quote: Vec<u8>,
43+
}
44+
3945
impl<A> MtcsService<A>
4046
where
4147
A: Attestor,
4248
{
43-
pub fn new(sk: Arc<Mutex<Option<SigningKey>>>, _attestor: A) -> Self {
44-
Self { sk, _attestor }
49+
pub fn new(sk: Arc<Mutex<Option<SigningKey>>>, attestor: A) -> Self {
50+
Self { sk, attestor }
4551
}
4652
}
4753

@@ -85,7 +91,15 @@ where
8591
.map(|(settle_off, digest)| (digest, settle_off))
8692
.collect();
8793

88-
let message = serde_json::to_string(&SubmitSetoffsMsg { setoffs_enc }).unwrap();
94+
let msg = SubmitSetoffsMsg { setoffs_enc };
95+
96+
let quote = self
97+
.attestor
98+
.quote(msg.clone())
99+
.map_err(|e| Status::internal(e.to_string()))?;
100+
101+
let attested_msg = AttestedMsg { msg, quote };
102+
let message = serde_json::to_string(&attested_msg).unwrap();
89103
Ok(Response::new(RunClearingResponse { message }))
90104
}
91105
}

0 commit comments

Comments
 (0)