File tree 1 file changed +18
-4
lines changed
1 file changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ use crate::{
27
27
#[ derive( Clone , Debug ) ]
28
28
pub struct MtcsService < A > {
29
29
sk : Arc < Mutex < Option < SigningKey > > > ,
30
- _attestor : A ,
30
+ attestor : A ,
31
31
}
32
32
33
33
#[ derive( Clone , Debug , Serialize , Deserialize ) ]
@@ -36,12 +36,18 @@ pub struct RunClearingMessage {
36
36
liquidity_sources : Vec < HexBinary > ,
37
37
}
38
38
39
+ #[ derive( Clone , Debug , Serialize , Deserialize ) ]
40
+ struct AttestedMsg < M > {
41
+ msg : M ,
42
+ quote : Vec < u8 > ,
43
+ }
44
+
39
45
impl < A > MtcsService < A >
40
46
where
41
47
A : Attestor ,
42
48
{
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 }
45
51
}
46
52
}
47
53
85
91
. map ( |( settle_off, digest) | ( digest, settle_off) )
86
92
. collect ( ) ;
87
93
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 ( ) ;
89
103
Ok ( Response :: new ( RunClearingResponse { message } ) )
90
104
}
91
105
}
You can’t perform that action at this time.
0 commit comments