Use tempfiles in relayer
This commit is contained in:
parent
bfb426bca0
commit
f94803a274
3 changed files with 24 additions and 12 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -2098,6 +2098,7 @@ dependencies = [
|
||||||
"quartz-proto",
|
"quartz-proto",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
"tempfile",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tonic",
|
"tonic",
|
||||||
]
|
]
|
||||||
|
|
|
@ -8,6 +8,7 @@ clap = { version = "4.1.8", features = ["derive"] }
|
||||||
cosmwasm-std = "1.4.0"
|
cosmwasm-std = "1.4.0"
|
||||||
serde = { version = "1.0.189", features = ["derive"] }
|
serde = { version = "1.0.189", features = ["derive"] }
|
||||||
serde_json = "1.0.94"
|
serde_json = "1.0.94"
|
||||||
|
tempfile = "3"
|
||||||
tonic = "0.11"
|
tonic = "0.11"
|
||||||
tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
|
tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
mod cli;
|
mod cli;
|
||||||
|
|
||||||
use std::{fs::File, io::Write};
|
use std::{
|
||||||
use std::fs::read_to_string;
|
fs::{read_to_string, File},
|
||||||
use std::process::Command;
|
io::Write,
|
||||||
|
process::Command,
|
||||||
|
};
|
||||||
|
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use serde_json::json;
|
|
||||||
use quartz_proto::quartz::{core_client::CoreClient, InstantiateRequest};
|
use quartz_proto::quartz::{core_client::CoreClient, InstantiateRequest};
|
||||||
use quartz_relayer::types::InstantiateResponse;
|
use quartz_relayer::types::InstantiateResponse;
|
||||||
|
use serde_json::json;
|
||||||
|
|
||||||
use crate::{cli::Cli};
|
use crate::cli::Cli;
|
||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
|
@ -19,23 +21,31 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
let response = client.instantiate(InstantiateRequest {}).await?;
|
let response = client.instantiate(InstantiateRequest {}).await?;
|
||||||
let response: InstantiateResponse = response.into_inner().try_into()?;
|
let response: InstantiateResponse = response.into_inner().try_into()?;
|
||||||
|
|
||||||
let mut quote_file = File::create("test.quote")?;
|
let dir = tempfile::tempdir()?;
|
||||||
|
let quote_file_path = dir.path().join("test.quote");
|
||||||
|
let datareport_file_path = dir.path().join("datareport");
|
||||||
|
let datareportsig_file_path = dir.path().join("datareportsig");
|
||||||
|
|
||||||
|
let mut quote_file = File::create(quote_file_path)?;
|
||||||
quote_file.write_all(response.quote())?;
|
quote_file.write_all(response.quote())?;
|
||||||
|
|
||||||
let gramine_sgx_ias_request_output = Command::new("gramine-sgx-ias-request")
|
let gramine_sgx_ias_request_output = Command::new("gramine-sgx-ias-request")
|
||||||
.arg("report")
|
.arg("report")
|
||||||
.args(["-g", "51CAF5A48B450D624AEFE3286D314894"])
|
.args(["-g", "51CAF5A48B450D624AEFE3286D314894"])
|
||||||
.args(["-k", "669244b3e6364b5888289a11d2a1726d"])
|
.args(["-k", "669244b3e6364b5888289a11d2a1726d"])
|
||||||
.args(["-q", "test.quote"])
|
.args(["-q", quote_file_path])
|
||||||
.args(["-r", "datareport"])
|
.args(["-r", datareport_file_path])
|
||||||
.args(["-s", "datareportsig"])
|
.args(["-s", datareportsig_file_path])
|
||||||
.output()?;
|
.output()?;
|
||||||
println!("{gramine_sgx_ias_request_output:?}");
|
println!("{gramine_sgx_ias_request_output:?}");
|
||||||
|
|
||||||
let report = read_to_string("datareport")?;
|
let report = read_to_string(datareport_file_path)?;
|
||||||
let report_sig = read_to_string("datareportsig")?;
|
let report_sig = read_to_string(datareportsig_file_path)?;
|
||||||
let ias_report = json!({"report": report, "reportsig": report_sig});
|
let ias_report = json!({"report": report, "reportsig": report_sig});
|
||||||
println!("{}", serde_json::to_string(&ias_report).expect("infallible serializer"));
|
println!(
|
||||||
|
"{}",
|
||||||
|
serde_json::to_string(&ias_report).expect("infallible serializer")
|
||||||
|
);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue