From 5f11d004b08a14ff49b407d1515d587d929105ca Mon Sep 17 00:00:00 2001 From: hu55a1n1 Date: Fri, 23 Feb 2024 14:28:52 -0800 Subject: [PATCH] CLI for relayer --- utils/quartz-relayer/src/cli.rs | 10 ++++++++++ utils/quartz-relayer/src/main.rs | 20 +++++++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 utils/quartz-relayer/src/cli.rs diff --git a/utils/quartz-relayer/src/cli.rs b/utils/quartz-relayer/src/cli.rs new file mode 100644 index 0000000..24c2bb0 --- /dev/null +++ b/utils/quartz-relayer/src/cli.rs @@ -0,0 +1,10 @@ +use clap::Parser; +use tonic::transport::Endpoint; + +#[derive(Debug, Parser)] +#[command(author, version, about, long_about = None)] +pub struct Cli { + /// RPC server address + #[clap(long, default_value = "http://localhost:11090")] + pub enclave_addr: Endpoint, +} diff --git a/utils/quartz-relayer/src/main.rs b/utils/quartz-relayer/src/main.rs index 37cb9e2..c46bc49 100644 --- a/utils/quartz-relayer/src/main.rs +++ b/utils/quartz-relayer/src/main.rs @@ -1,13 +1,23 @@ -use quartz_proto::quartz::{core_client::CoreClient, SessionCreateRequest}; +mod cli; + +use std::{fs::File, io::Write}; + +use clap::Parser; +use quartz_proto::quartz::{core_client::CoreClient, InstantiateRequest}; +use quartz_relayer::types::InstantiateResponse; + +use crate::{cli::Cli}; #[tokio::main] async fn main() -> Result<(), Box> { - let mut client = CoreClient::connect("http://localhost:11090").await?; + let args = Cli::parse(); - let request = tonic::Request::new(SessionCreateRequest {}); + let mut client = CoreClient::connect(args.enclave_addr).await?; + let response = client.instantiate(InstantiateRequest {}).await?; + let response: InstantiateResponse = response.into_inner().try_into()?; - let response = client.session_create(request).await?; - println!("{:?}", response.into_inner()); + let mut quote_file = File::create("test.quote")?; + quote_file.write_all(response.quote())?; Ok(()) }