@@ -318,7 +318,7 @@ where
318318 . allow_credentials ( false ) ;
319319 let mut server = Server :: with_state ( State :: new ( config, authorizer) ) ;
320320 server. with ( cors) ;
321- server. at ( "/heartbeat " ) . get ( Self :: heartbeat ) ;
321+ server. at ( "/version " ) . get ( Self :: version ) ;
322322 server. at ( "/recoverAccount" ) . post ( Self :: recover_account) ;
323323 server
324324 . at ( "/deriveShieldedAddress" )
@@ -366,12 +366,13 @@ where
366366 self . 0 . state ( )
367367 }
368368
369- /// Sends a heartbeat to the client.
369+ /// Sends version to the client.
370370 #[ inline]
371- async fn heartbeat ( request : Request < A > ) -> ServerResult < String > {
372- Self :: log ( String :: from ( "HEARTBEAT " ) ) . await ?;
371+ async fn version ( request : Request < A > ) -> ServerResult {
372+ Self :: log ( String :: from ( "REQUEST: version " ) ) . await ?;
373373 let _ = request;
374- Ok ( String :: from ( "heartbeat" ) )
374+ Self :: log ( format ! ( "RESPONSE: {:?}" , VERSION ) ) . await ?;
375+ Ok ( Body :: from_json ( & VersionMessage :: default ( ) ) ?. into ( ) )
375376 }
376377
377378 /// Runs an account recovery for the given `request`.
@@ -499,14 +500,28 @@ where
499500 }
500501}
501502
503+ /// Version Message
504+ #[ derive( Clone , Debug , Deserialize , Serialize ) ]
505+ pub struct VersionMessage {
506+ /// Version
507+ pub version : & ' static str ,
508+ }
509+
510+ impl Default for VersionMessage {
511+ /// Builds a default [`VersionMessage`].
512+ fn default ( ) -> Self {
513+ Self { version : VERSION }
514+ }
515+ }
516+
502517/// Shielded Address Message
503518#[ derive( Clone , Debug , Deserialize , Serialize ) ]
504519pub struct ShieldedAddressMessage {
505520 /// Address
506521 pub address : Vec < u8 > ,
507522
508523 /// Version
509- pub version : String ,
524+ pub version : & ' static str ,
510525}
511526
512527impl ShieldedAddressMessage {
@@ -515,11 +530,10 @@ impl ShieldedAddressMessage {
515530 pub fn new ( address : Vec < u8 > ) -> Self {
516531 Self {
517532 address,
518- version : "0.0.0" . into ( ) ,
533+ version : VERSION ,
519534 }
520535 }
521536}
522-
523537/// Recover Account Message
524538#[ derive( Clone , Debug , Deserialize , Serialize ) ]
525539pub struct RecoverAccountMessage {
0 commit comments