From e5004076813b8c98e7c385cc967372c38dd9ab4b Mon Sep 17 00:00:00 2001 From: Shoaib Ahmed Date: Tue, 1 Oct 2024 18:27:57 +0400 Subject: [PATCH] Rename crates and subdirs (#231) --- Cargo.lock | 342 +++++++++--------- Cargo.toml | 22 +- crates/cli/Cargo.toml | 10 +- crates/cli/src/handler/contract_deploy.rs | 8 +- crates/cli/src/handler/handshake.rs | 12 +- crates/cli/src/handler/utils/helpers.rs | 6 +- crates/cli/src/handler/utils/relay.rs | 2 +- crates/common/Cargo.toml | 12 +- crates/common/src/lib.rs | 4 +- .../contracts/{quartz-cw => core}/Cargo.toml | 4 +- .../contracts/{quartz-cw => core}/README.md | 0 crates/contracts/{quartz-cw => core}/SPEC.md | 0 .../{quartz-cw => core}/src/error.rs | 0 .../{quartz-cw => core}/src/handler.rs | 0 .../src/handler/execute.rs | 0 .../src/handler/execute/attested.rs | 2 +- .../src/handler/execute/session_create.rs | 0 .../handler/execute/session_set_pub_key.rs | 0 .../src/handler/instantiate.rs | 0 .../contracts/{quartz-cw => core}/src/lib.rs | 0 .../contracts/{quartz-cw => core}/src/msg.rs | 0 .../{quartz-cw => core}/src/msg/execute.rs | 0 .../src/msg/execute/attested.rs | 0 .../src/msg/execute/session_create.rs | 0 .../src/msg/execute/session_set_pub_key.rs | 0 .../src/msg/instantiate.rs | 0 .../{quartz-cw => core}/src/msg/query.rs | 0 .../{quartz-cw => core}/src/prelude.rs | 0 .../{quartz-cw => core}/src/state.rs | 0 crates/contracts/cw-proof/Cargo.toml | 2 +- .../Cargo.toml | 0 .../README.md | 0 .../msgs/Cargo.toml | 0 .../msgs/src/lib.rs | 0 .../src/bin/dcap_verifier_schema.rs | 0 .../src/contract.rs | 0 .../src/lib.rs | 0 crates/contracts/tcbinfo/Cargo.toml | 4 +- crates/contracts/tcbinfo/msgs/Cargo.toml | 2 +- .../tcbinfo/src/bin/tcbinfo_schema.rs | 2 +- crates/contracts/tcbinfo/src/contract.rs | 4 +- crates/contracts/tcbinfo/src/helpers.rs | 2 +- .../tcbinfo/src/integration_tests.rs | 4 +- .../{quartz-tee-ra => tee-ra}/Cargo.toml | 0 .../{quartz-tee-ra => tee-ra}/README.md | 0 .../data/DcapRootCACert.pem | 0 .../data/fmspc_00906ED50000_2023_07_12.json | 0 .../data/hw_quote.dat | Bin .../data/leaf_cert.pem | 0 .../data/processor_ca.pem | 0 .../data/processor_crl.der | Bin .../data/qe_identity.json | 0 .../data/root_ca.pem | 0 .../data/root_crl.der | Bin .../data/tcb_signer.pem | 0 .../src/intel_sgx.rs | 0 .../src/intel_sgx/dcap.rs | 0 .../src/intel_sgx/dcap/certificate_chain.rs | 0 .../src/intel_sgx/dcap/mc_attest_verifier.rs | 0 .../intel_sgx/dcap/mc_attest_verifier/dcap.rs | 0 .../{quartz-tee-ra => tee-ra}/src/lib.rs | 0 .../tm-stateless-verifier/Cargo.toml | 2 +- .../{quartz-enclave => core}/.gitignore | 0 .../{quartz-enclave => core}/Cargo.toml | 10 +- .../{quartz-enclave => core}/README.md | 0 .../quartz.manifest.template | 0 .../{quartz-enclave => core}/src/attestor.rs | 10 +- .../{quartz-enclave => core}/src/error.rs | 0 .../{quartz-enclave => core}/src/lib.rs | 0 .../{quartz-enclave => core}/src/server.rs | 12 +- .../{quartz-enclave => core}/src/types.rs | 2 +- .../{quartz-proto => proto}/Cargo.toml | 0 .../enclave/{quartz-proto => proto}/build.rs | 0 .../proto/quartz.proto | 0 .../{quartz-proto => proto}/src/lib.rs | 0 .../src/prost/quartz.rs | 0 .../{wasmd-client => cw-client}/Cargo.toml | 2 +- .../{wasmd-client => cw-client}/README.md | 0 .../{wasmd-client => cw-client}/src/lib.rs | 0 crates/utils/cw-prover/Cargo.toml | 4 +- crates/utils/cw-prover/src/main.rs | 4 +- crates/utils/print-fmspc/Cargo.toml | 2 +- crates/utils/tm-prover/Cargo.toml | 4 +- crates/utils/tm-prover/src/config.rs | 2 +- crates/utils/tm-prover/src/main.rs | 2 +- crates/utils/tm-prover/src/prover.rs | 4 +- examples/transfers/enclave/Cargo.toml | 4 +- examples/transfers/enclave/src/wslistener.rs | 18 +- 88 files changed, 265 insertions(+), 261 deletions(-) rename crates/contracts/{quartz-cw => core}/Cargo.toml (92%) rename crates/contracts/{quartz-cw => core}/README.md (100%) rename crates/contracts/{quartz-cw => core}/SPEC.md (100%) rename crates/contracts/{quartz-cw => core}/src/error.rs (100%) rename crates/contracts/{quartz-cw => core}/src/handler.rs (100%) rename crates/contracts/{quartz-cw => core}/src/handler/execute.rs (100%) rename crates/contracts/{quartz-cw => core}/src/handler/execute/attested.rs (98%) rename crates/contracts/{quartz-cw => core}/src/handler/execute/session_create.rs (100%) rename crates/contracts/{quartz-cw => core}/src/handler/execute/session_set_pub_key.rs (100%) rename crates/contracts/{quartz-cw => core}/src/handler/instantiate.rs (100%) rename crates/contracts/{quartz-cw => core}/src/lib.rs (100%) rename crates/contracts/{quartz-cw => core}/src/msg.rs (100%) rename crates/contracts/{quartz-cw => core}/src/msg/execute.rs (100%) rename crates/contracts/{quartz-cw => core}/src/msg/execute/attested.rs (100%) rename crates/contracts/{quartz-cw => core}/src/msg/execute/session_create.rs (100%) rename crates/contracts/{quartz-cw => core}/src/msg/execute/session_set_pub_key.rs (100%) rename crates/contracts/{quartz-cw => core}/src/msg/instantiate.rs (100%) rename crates/contracts/{quartz-cw => core}/src/msg/query.rs (100%) rename crates/contracts/{quartz-cw => core}/src/prelude.rs (100%) rename crates/contracts/{quartz-cw => core}/src/state.rs (100%) rename crates/contracts/{quartz-dcap-verifier => dcap-verifier}/Cargo.toml (100%) rename crates/contracts/{quartz-dcap-verifier => dcap-verifier}/README.md (100%) rename crates/contracts/{quartz-dcap-verifier => dcap-verifier}/msgs/Cargo.toml (100%) rename crates/contracts/{quartz-dcap-verifier => dcap-verifier}/msgs/src/lib.rs (100%) rename crates/contracts/{quartz-dcap-verifier => dcap-verifier}/src/bin/dcap_verifier_schema.rs (100%) rename crates/contracts/{quartz-dcap-verifier => dcap-verifier}/src/contract.rs (100%) rename crates/contracts/{quartz-dcap-verifier => dcap-verifier}/src/lib.rs (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/Cargo.toml (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/README.md (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/data/DcapRootCACert.pem (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/data/fmspc_00906ED50000_2023_07_12.json (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/data/hw_quote.dat (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/data/leaf_cert.pem (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/data/processor_ca.pem (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/data/processor_crl.der (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/data/qe_identity.json (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/data/root_ca.pem (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/data/root_crl.der (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/data/tcb_signer.pem (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/src/intel_sgx.rs (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/src/intel_sgx/dcap.rs (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/src/intel_sgx/dcap/certificate_chain.rs (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/src/intel_sgx/dcap/mc_attest_verifier.rs (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/src/intel_sgx/dcap/mc_attest_verifier/dcap.rs (100%) rename crates/contracts/{quartz-tee-ra => tee-ra}/src/lib.rs (100%) rename crates/enclave/{quartz-enclave => core}/.gitignore (100%) rename crates/enclave/{quartz-enclave => core}/Cargo.toml (85%) rename crates/enclave/{quartz-enclave => core}/README.md (100%) rename crates/enclave/{quartz-enclave => core}/quartz.manifest.template (100%) rename crates/enclave/{quartz-enclave => core}/src/attestor.rs (94%) rename crates/enclave/{quartz-enclave => core}/src/error.rs (100%) rename crates/enclave/{quartz-enclave => core}/src/lib.rs (100%) rename crates/enclave/{quartz-enclave => core}/src/server.rs (98%) rename crates/enclave/{quartz-enclave => core}/src/types.rs (99%) rename crates/enclave/{quartz-proto => proto}/Cargo.toml (100%) rename crates/enclave/{quartz-proto => proto}/build.rs (100%) rename crates/enclave/{quartz-proto => proto}/proto/quartz.proto (100%) rename crates/enclave/{quartz-proto => proto}/src/lib.rs (100%) rename crates/enclave/{quartz-proto => proto}/src/prost/quartz.rs (100%) rename crates/utils/{wasmd-client => cw-client}/Cargo.toml (94%) rename crates/utils/{wasmd-client => cw-client}/README.md (100%) rename crates/utils/{wasmd-client => cw-client}/src/lib.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index 2f582e1..24d424b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1260,6 +1260,18 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "cw-client" +version = "0.1.0" +dependencies = [ + "anyhow", + "cosmrs", + "hex", + "reqwest 0.12.8", + "serde", + "serde_json", +] + [[package]] name = "cw-multi-test" version = "2.1.1" @@ -1280,36 +1292,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "cw-proof" -version = "0.1.0" -dependencies = [ - "clap", - "cosmrs", - "displaydoc", - "hex", - "ics23", - "prost 0.13.3", - "serde", - "serde_with", - "tendermint 0.38.1", - "tendermint-rpc", -] - -[[package]] -name = "cw-prover" -version = "0.1.0" -dependencies = [ - "clap", - "cosmrs", - "cw-proof", - "hex", - "serde_json", - "tendermint 0.38.1", - "tendermint-rpc", - "tokio", -] - [[package]] name = "cw-storage-plus" version = "2.0.0" @@ -2652,9 +2634,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" @@ -3116,7 +3098,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -4066,16 +4048,6 @@ dependencies = [ "elliptic-curve", ] -[[package]] -name = "print-fmspc" -version = "0.1.0" -dependencies = [ - "dcap-qvl", - "hex", - "serde_json", - "tokio", -] - [[package]] name = "proc-macro-crate" version = "3.2.0" @@ -4223,66 +4195,17 @@ dependencies = [ "prost 0.13.3", ] -[[package]] -name = "quartz" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-trait", - "base64 0.22.1", - "cargo-generate", - "cargo_metadata", - "clap", - "clearscreen", - "color-eyre", - "cosmrs", - "cosmwasm-std", - "dirs 5.0.1", - "displaydoc", - "figment", - "futures-util", - "hex", - "k256", - "miette", - "once_cell", - "prost 0.13.3", - "quartz-common", - "quartz-tee-ra", - "regex", - "reqwest 0.12.8", - "serde", - "serde_json", - "subtle-encoding", - "target-lexicon", - "tempfile", - "tendermint 0.38.1", - "tendermint-light-client", - "tendermint-rpc", - "thiserror", - "tm-prover", - "tokio", - "toml", - "tonic", - "tracing", - "tracing-subscriber", - "wasmd-client", - "watchexec", - "watchexec-events", - "watchexec-signals", - "xxhash-rust", -] - [[package]] name = "quartz-common" version = "0.1.0" dependencies = [ - "quartz-cw", - "quartz-enclave", + "quartz-contract-core", + "quartz-enclave-core", "quartz-proto", ] [[package]] -name = "quartz-cw" +name = "quartz-contract-core" version = "0.1.0" dependencies = [ "ciborium", @@ -4292,15 +4215,45 @@ dependencies = [ "hex", "k256", "quartz-dcap-verifier-msgs", + "quartz-tcbinfo-msgs", "quartz-tee-ra", "serde", "serde_json", "serde_with", "sha2 0.10.8", - "tcbinfo-msgs", "thiserror", ] +[[package]] +name = "quartz-cw-proof" +version = "0.1.0" +dependencies = [ + "clap", + "cosmrs", + "displaydoc", + "hex", + "ics23", + "prost 0.13.3", + "serde", + "serde_with", + "tendermint 0.38.1", + "tendermint-rpc", +] + +[[package]] +name = "quartz-cw-prover" +version = "0.1.0" +dependencies = [ + "clap", + "cosmrs", + "hex", + "quartz-cw-proof", + "serde_json", + "tendermint 0.38.1", + "tendermint-rpc", + "tokio", +] + [[package]] name = "quartz-dcap-verifier" version = "0.1.0" @@ -4322,7 +4275,7 @@ dependencies = [ ] [[package]] -name = "quartz-enclave" +name = "quartz-enclave-core" version = "0.1.0" dependencies = [ "anyhow", @@ -4331,15 +4284,16 @@ dependencies = [ "color-eyre", "cosmrs", "cosmwasm-std", - "cw-proof", "ecies", "futures-util", "hex", "k256", "mc-sgx-dcap-sys-types", - "quartz-cw", + "quartz-contract-core", + "quartz-cw-proof", "quartz-proto", "quartz-tee-ra", + "quartz-tm-stateless-verifier", "rand", "reqwest 0.12.8", "serde", @@ -4349,13 +4303,22 @@ dependencies = [ "tendermint-light-client", "tendermint-rpc", "thiserror", - "tm-stateless-verifier", "tokio", "tonic", "tower 0.5.1", "urlencoding", ] +[[package]] +name = "quartz-print-fmspc" +version = "0.1.0" +dependencies = [ + "dcap-qvl", + "hex", + "serde_json", + "tokio", +] + [[package]] name = "quartz-proto" version = "0.1.0" @@ -4365,6 +4328,85 @@ dependencies = [ "tonic-build", ] +[[package]] +name = "quartz-rs" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", + "base64 0.22.1", + "cargo-generate", + "cargo_metadata", + "clap", + "clearscreen", + "color-eyre", + "cosmrs", + "cosmwasm-std", + "cw-client", + "dirs 5.0.1", + "displaydoc", + "figment", + "futures-util", + "hex", + "k256", + "miette", + "once_cell", + "prost 0.13.3", + "quartz-common", + "quartz-tee-ra", + "quartz-tm-prover", + "regex", + "reqwest 0.12.8", + "serde", + "serde_json", + "subtle-encoding", + "target-lexicon", + "tempfile", + "tendermint 0.38.1", + "tendermint-light-client", + "tendermint-rpc", + "thiserror", + "tokio", + "toml", + "tonic", + "tracing", + "tracing-subscriber", + "watchexec", + "watchexec-events", + "watchexec-signals", + "xxhash-rust", +] + +[[package]] +name = "quartz-tcbinfo" +version = "0.1.0" +dependencies = [ + "cosmwasm-schema", + "cosmwasm-std", + "cw-multi-test", + "cw-storage-plus", + "cw2", + "der", + "getrandom", + "hex", + "mc-attestation-verifier", + "p256", + "quartz-tcbinfo-msgs", + "quartz-tee-ra", + "schemars", + "serde", + "serde_json", + "thiserror", + "x509-cert", +] + +[[package]] +name = "quartz-tcbinfo-msgs" +version = "0.1.0" +dependencies = [ + "cosmwasm-schema", +] + [[package]] name = "quartz-tee-ra" version = "0.1.0" @@ -4387,6 +4429,35 @@ dependencies = [ "x509-parser", ] +[[package]] +name = "quartz-tm-prover" +version = "0.1.0" +dependencies = [ + "clap", + "color-eyre", + "cosmrs", + "futures", + "quartz-cw-proof", + "serde", + "serde_json", + "tendermint 0.38.1", + "tendermint-light-client", + "tendermint-light-client-detector", + "tendermint-rpc", + "tokio", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "quartz-tm-stateless-verifier" +version = "0.1.0" +dependencies = [ + "displaydoc", + "tendermint 0.38.1", + "tendermint-light-client", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -5484,36 +5555,6 @@ version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" -[[package]] -name = "tcbinfo" -version = "0.1.0" -dependencies = [ - "cosmwasm-schema", - "cosmwasm-std", - "cw-multi-test", - "cw-storage-plus", - "cw2", - "der", - "getrandom", - "hex", - "mc-attestation-verifier", - "p256", - "quartz-tee-ra", - "schemars", - "serde", - "serde_json", - "tcbinfo-msgs", - "thiserror", - "x509-cert", -] - -[[package]] -name = "tcbinfo-msgs" -version = "0.1.0" -dependencies = [ - "cosmwasm-schema", -] - [[package]] name = "tempfile" version = "3.10.1" @@ -5853,35 +5894,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" -[[package]] -name = "tm-prover" -version = "0.1.0" -dependencies = [ - "clap", - "color-eyre", - "cosmrs", - "cw-proof", - "futures", - "serde", - "serde_json", - "tendermint 0.38.1", - "tendermint-light-client", - "tendermint-light-client-detector", - "tendermint-rpc", - "tokio", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "tm-stateless-verifier" -version = "0.1.0" -dependencies = [ - "displaydoc", - "tendermint 0.38.1", - "tendermint-light-client", -] - [[package]] name = "tokio" version = "1.40.0" @@ -6392,18 +6404,6 @@ version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" -[[package]] -name = "wasmd-client" -version = "0.1.0" -dependencies = [ - "anyhow", - "cosmrs", - "hex", - "reqwest 0.12.8", - "serde", - "serde_json", -] - [[package]] name = "watchexec" version = "4.1.0" diff --git a/Cargo.toml b/Cargo.toml index 4a78847..2431f43 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,18 +81,18 @@ mc-sgx-dcap-sys-types = { version = "0.11.0", default-features = false } mc-attestation-verifier = { version = "0.4.3", default-features = false } # quartz -cw-proof = { path = "crates/contracts/cw-proof", default-features = false } +quartz-cw-proof = { path = "crates/contracts/cw-proof", default-features = false } quartz-common = { path = "crates/common", default-features = false } -quartz-cw = { path = "crates/contracts/quartz-cw", default-features = false } -quartz-dcap-verifier-msgs = { path = "crates/contracts/quartz-dcap-verifier/msgs", default-features = false } -quartz-enclave = { path = "crates/enclave/quartz-enclave", default-features = false } -quartz-proto = { path = "crates/enclave/quartz-proto", default-features = false } -quartz-tee-ra = { path = "crates/contracts/quartz-tee-ra", default-features = false } -tcbinfo = { path = "crates/contracts/tcbinfo", default-features = false, features = ["library"] } -tcbinfo-msgs = { path = "crates/contracts/tcbinfo/msgs", default-features = false } -tm-prover = { path = "crates/utils/tm-prover", default-features = false } -tm-stateless-verifier = { path = "crates/contracts/tm-stateless-verifier", default-features = false } -wasmd-client = { path = "crates/utils/wasmd-client", default-features = false } +quartz-contract-core = { path = "crates/contracts/core", default-features = false } +quartz-dcap-verifier-msgs = { path = "crates/contracts/dcap-verifier/msgs", default-features = false } +quartz-enclave-core = { path = "crates/enclave/core", default-features = false } +quartz-proto = { path = "crates/enclave/proto", default-features = false } +quartz-tee-ra = { path = "crates/contracts/tee-ra", default-features = false } +quartz-tcbinfo = { path = "crates/contracts/tcbinfo", default-features = false, features = ["library"] } +quartz-tcbinfo-msgs = { path = "crates/contracts/tcbinfo/msgs", default-features = false } +quartz-tm-prover = { path = "crates/utils/tm-prover", default-features = false } +quartz-tm-stateless-verifier = { path = "crates/contracts/tm-stateless-verifier", default-features = false } +cw-client = { path = "crates/utils/cw-client", default-features = false } [profile.release] opt-level = "z" diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index 5a656ce..3d7d4ef 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "quartz" +name = "quartz-rs" version.workspace = true authors.workspace = true edition.workspace = true @@ -9,6 +9,10 @@ repository.workspace = true keywords = ["blockchain", "cosmos", "tendermint", "cycles", "quartz"] readme = "README.md" +[[bin]] +name = "quartz" +path = "src/main.rs" + [dependencies] async-trait.workspace = true cargo-generate.workspace = true @@ -50,8 +54,8 @@ cosmwasm-std.workspace = true tendermint.workspace = true tendermint-light-client.workspace = true tendermint-rpc = { workspace = true, features = ["websocket-client", "http-client"] } -tm-prover = { workspace = true } +quartz-tm-prover = { workspace = true } quartz-common = { workspace = true, features = ["full"] } quartz-tee-ra = { workspace = true } -wasmd-client.workspace = true +cw-client.workspace = true tempfile.workspace = true diff --git a/crates/cli/src/handler/contract_deploy.rs b/crates/cli/src/handler/contract_deploy.rs index 1b6d1f7..ae71d3a 100644 --- a/crates/cli/src/handler/contract_deploy.rs +++ b/crates/cli/src/handler/contract_deploy.rs @@ -3,11 +3,11 @@ use std::path::Path; use async_trait::async_trait; use cargo_metadata::MetadataCommand; use color_eyre::owo_colors::OwoColorize; +use cw_client::{CliWasmdClient, WasmdClient}; use reqwest::Url; use serde_json::json; use tendermint_rpc::HttpClient; use tracing::{debug, info}; -use wasmd_client::{CliWasmdClient, WasmdClient}; use super::utils::{ helpers::block_tx_commit, @@ -70,11 +70,11 @@ async fn deploy( ) -> Result<(u64, String), anyhow::Error> { let httpurl = Url::parse(&format!("http://{}", config.node_url))?; let tmrpc_client = HttpClient::new(httpurl.as_str())?; - let wasmd_client = CliWasmdClient::new(Url::parse(httpurl.as_str())?); + let cw_client = CliWasmdClient::new(Url::parse(httpurl.as_str())?); info!("🚀 Deploying {} Contract", args.label); let code_id = if config.contract_has_changed(wasm_bin_path).await? { - let deploy_output: WasmdTxResponse = serde_json::from_str(&wasmd_client.deploy( + let deploy_output: WasmdTxResponse = serde_json::from_str(&cw_client.deploy( &config.chain_id, &config.tx_sender, wasm_bin_path.display().to_string(), @@ -99,7 +99,7 @@ async fn deploy( info!("🚀 Instantiating {}", args.label); - let init_output: WasmdTxResponse = serde_json::from_str(&wasmd_client.init( + let init_output: WasmdTxResponse = serde_json::from_str(&cw_client.init( &config.chain_id, &config.tx_sender, code_id, diff --git a/crates/cli/src/handler/handshake.rs b/crates/cli/src/handler/handshake.rs index 68f57fa..319b534 100644 --- a/crates/cli/src/handler/handshake.rs +++ b/crates/cli/src/handler/handshake.rs @@ -4,13 +4,13 @@ use anyhow::anyhow; use async_trait::async_trait; use color_eyre::owo_colors::OwoColorize; use cosmrs::tendermint::chain::Id as ChainId; // TODO see if this redundancy in dependencies can be decreased +use cw_client::{CliWasmdClient, WasmdClient}; use futures_util::stream::StreamExt; +use quartz_tm_prover::{config::Config as TmProverConfig, prover::prove}; use reqwest::Url; use serde_json::json; use tendermint_rpc::{query::EventType, HttpClient, SubscriptionClient, WebSocketClient}; -use tm_prover::{config::Config as TmProverConfig, prover::prove}; use tracing::{debug, info}; -use wasmd_client::{CliWasmdClient, WasmdClient}; use super::utils::{helpers::block_tx_commit, types::WasmdTxResponse}; use crate::{ @@ -51,7 +51,7 @@ async fn handshake(args: HandshakeRequest, config: Config) -> Result Result Result Result Result Result<(Height, Hash), Error> { let httpurl = Url::parse(&format!("http://{}", node_url)) .map_err(|e| Error::GenericErr(e.to_string()))?; - let wasmd_client = CliWasmdClient::new(httpurl); + let cw_client = CliWasmdClient::new(httpurl); - let (trusted_height, trusted_hash) = wasmd_client + let (trusted_height, trusted_hash) = cw_client .trusted_height_hash() .map_err(|e| Error::GenericErr(e.to_string()))?; diff --git a/crates/cli/src/handler/utils/relay.rs b/crates/cli/src/handler/utils/relay.rs index e340d5a..01011e3 100644 --- a/crates/cli/src/handler/utils/relay.rs +++ b/crates/cli/src/handler/utils/relay.rs @@ -1,8 +1,8 @@ use quartz_common::proto::{ core_client::CoreClient, InstantiateRequest, SessionCreateRequest, SessionSetPubKeyRequest, }; +use quartz_tm_prover::config::ProofOutput; use serde_json::{json, Value as JsonValue}; -use tm_prover::config::ProofOutput; use crate::error::Error; diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml index 2c6373a..21ef10e 100644 --- a/crates/common/Cargo.toml +++ b/crates/common/Cargo.toml @@ -10,13 +10,13 @@ authors.workspace = true [features] full = ["contract", "enclave", "proto"] -contract = ["dep:quartz-cw"] -enclave = ["dep:quartz-enclave", "proto"] +contract = ["dep:quartz-contract-core"] +enclave = ["dep:quartz-enclave-core", "proto"] proto = ["dep:quartz-proto"] -mock-sgx-cw = ["quartz-cw/mock-sgx"] -mock-sgx-enclave = ["quartz-enclave/mock-sgx"] +mock-sgx-cw = ["quartz-contract-core/mock-sgx"] +mock-sgx-enclave = ["quartz-enclave-core/mock-sgx"] [dependencies] -quartz-cw = { workspace = true, optional = true } +quartz-contract-core = { workspace = true, optional = true } quartz-proto = { workspace = true, optional = true } -quartz-enclave = { workspace = true, optional = true } +quartz-enclave-core = { workspace = true, optional = true } diff --git a/crates/common/src/lib.rs b/crates/common/src/lib.rs index 95da31a..3f1ff13 100644 --- a/crates/common/src/lib.rs +++ b/crates/common/src/lib.rs @@ -1,6 +1,6 @@ #[cfg(feature = "contract")] -pub use quartz_cw as contract; +pub use quartz_contract_core as contract; #[cfg(feature = "enclave")] -pub use quartz_enclave as enclave; +pub use quartz_enclave_core as enclave; #[cfg(feature = "proto")] pub use quartz_proto::quartz as proto; diff --git a/crates/contracts/quartz-cw/Cargo.toml b/crates/contracts/core/Cargo.toml similarity index 92% rename from crates/contracts/quartz-cw/Cargo.toml rename to crates/contracts/core/Cargo.toml index f9de7a1..40d2c10 100644 --- a/crates/contracts/quartz-cw/Cargo.toml +++ b/crates/contracts/core/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "quartz-cw" +name = "quartz-contract-core" version.workspace = true authors.workspace = true edition.workspace = true @@ -34,7 +34,7 @@ cosmwasm-std.workspace = true # quartz quartz-dcap-verifier-msgs.workspace = true quartz-tee-ra.workspace = true -tcbinfo-msgs.workspace = true +quartz-tcbinfo-msgs.workspace = true [dev-dependencies] serde_json.workspace = true diff --git a/crates/contracts/quartz-cw/README.md b/crates/contracts/core/README.md similarity index 100% rename from crates/contracts/quartz-cw/README.md rename to crates/contracts/core/README.md diff --git a/crates/contracts/quartz-cw/SPEC.md b/crates/contracts/core/SPEC.md similarity index 100% rename from crates/contracts/quartz-cw/SPEC.md rename to crates/contracts/core/SPEC.md diff --git a/crates/contracts/quartz-cw/src/error.rs b/crates/contracts/core/src/error.rs similarity index 100% rename from crates/contracts/quartz-cw/src/error.rs rename to crates/contracts/core/src/error.rs diff --git a/crates/contracts/quartz-cw/src/handler.rs b/crates/contracts/core/src/handler.rs similarity index 100% rename from crates/contracts/quartz-cw/src/handler.rs rename to crates/contracts/core/src/handler.rs diff --git a/crates/contracts/quartz-cw/src/handler/execute.rs b/crates/contracts/core/src/handler/execute.rs similarity index 100% rename from crates/contracts/quartz-cw/src/handler/execute.rs rename to crates/contracts/core/src/handler/execute.rs diff --git a/crates/contracts/quartz-cw/src/handler/execute/attested.rs b/crates/contracts/core/src/handler/execute/attested.rs similarity index 98% rename from crates/contracts/quartz-cw/src/handler/execute/attested.rs rename to crates/contracts/core/src/handler/execute/attested.rs index 57a4429..2546015 100644 --- a/crates/contracts/quartz-cw/src/handler/execute/attested.rs +++ b/crates/contracts/core/src/handler/execute/attested.rs @@ -3,12 +3,12 @@ use cosmwasm_std::{ to_json_binary, Deps, DepsMut, Env, MessageInfo, QueryRequest, Response, StdResult, WasmQuery, }; use quartz_dcap_verifier_msgs::QueryMsg as DcapVerifierQueryMsg; +use quartz_tcbinfo_msgs::{GetTcbInfoResponse, QueryMsg as TcbInfoQueryMsg}; use quartz_tee_ra::{ intel_sgx::dcap::{Collateral, TrustedIdentity, TrustedMrEnclaveIdentity}, Error as RaVerificationError, }; use serde::{de::DeserializeOwned, Serialize}; -use tcbinfo_msgs::{GetTcbInfoResponse, QueryMsg as TcbInfoQueryMsg}; use crate::{ error::Error, diff --git a/crates/contracts/quartz-cw/src/handler/execute/session_create.rs b/crates/contracts/core/src/handler/execute/session_create.rs similarity index 100% rename from crates/contracts/quartz-cw/src/handler/execute/session_create.rs rename to crates/contracts/core/src/handler/execute/session_create.rs diff --git a/crates/contracts/quartz-cw/src/handler/execute/session_set_pub_key.rs b/crates/contracts/core/src/handler/execute/session_set_pub_key.rs similarity index 100% rename from crates/contracts/quartz-cw/src/handler/execute/session_set_pub_key.rs rename to crates/contracts/core/src/handler/execute/session_set_pub_key.rs diff --git a/crates/contracts/quartz-cw/src/handler/instantiate.rs b/crates/contracts/core/src/handler/instantiate.rs similarity index 100% rename from crates/contracts/quartz-cw/src/handler/instantiate.rs rename to crates/contracts/core/src/handler/instantiate.rs diff --git a/crates/contracts/quartz-cw/src/lib.rs b/crates/contracts/core/src/lib.rs similarity index 100% rename from crates/contracts/quartz-cw/src/lib.rs rename to crates/contracts/core/src/lib.rs diff --git a/crates/contracts/quartz-cw/src/msg.rs b/crates/contracts/core/src/msg.rs similarity index 100% rename from crates/contracts/quartz-cw/src/msg.rs rename to crates/contracts/core/src/msg.rs diff --git a/crates/contracts/quartz-cw/src/msg/execute.rs b/crates/contracts/core/src/msg/execute.rs similarity index 100% rename from crates/contracts/quartz-cw/src/msg/execute.rs rename to crates/contracts/core/src/msg/execute.rs diff --git a/crates/contracts/quartz-cw/src/msg/execute/attested.rs b/crates/contracts/core/src/msg/execute/attested.rs similarity index 100% rename from crates/contracts/quartz-cw/src/msg/execute/attested.rs rename to crates/contracts/core/src/msg/execute/attested.rs diff --git a/crates/contracts/quartz-cw/src/msg/execute/session_create.rs b/crates/contracts/core/src/msg/execute/session_create.rs similarity index 100% rename from crates/contracts/quartz-cw/src/msg/execute/session_create.rs rename to crates/contracts/core/src/msg/execute/session_create.rs diff --git a/crates/contracts/quartz-cw/src/msg/execute/session_set_pub_key.rs b/crates/contracts/core/src/msg/execute/session_set_pub_key.rs similarity index 100% rename from crates/contracts/quartz-cw/src/msg/execute/session_set_pub_key.rs rename to crates/contracts/core/src/msg/execute/session_set_pub_key.rs diff --git a/crates/contracts/quartz-cw/src/msg/instantiate.rs b/crates/contracts/core/src/msg/instantiate.rs similarity index 100% rename from crates/contracts/quartz-cw/src/msg/instantiate.rs rename to crates/contracts/core/src/msg/instantiate.rs diff --git a/crates/contracts/quartz-cw/src/msg/query.rs b/crates/contracts/core/src/msg/query.rs similarity index 100% rename from crates/contracts/quartz-cw/src/msg/query.rs rename to crates/contracts/core/src/msg/query.rs diff --git a/crates/contracts/quartz-cw/src/prelude.rs b/crates/contracts/core/src/prelude.rs similarity index 100% rename from crates/contracts/quartz-cw/src/prelude.rs rename to crates/contracts/core/src/prelude.rs diff --git a/crates/contracts/quartz-cw/src/state.rs b/crates/contracts/core/src/state.rs similarity index 100% rename from crates/contracts/quartz-cw/src/state.rs rename to crates/contracts/core/src/state.rs diff --git a/crates/contracts/cw-proof/Cargo.toml b/crates/contracts/cw-proof/Cargo.toml index b6f56c2..9313a5c 100644 --- a/crates/contracts/cw-proof/Cargo.toml +++ b/crates/contracts/cw-proof/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "cw-proof" +name = "quartz-cw-proof" version.workspace = true authors.workspace = true edition.workspace = true diff --git a/crates/contracts/quartz-dcap-verifier/Cargo.toml b/crates/contracts/dcap-verifier/Cargo.toml similarity index 100% rename from crates/contracts/quartz-dcap-verifier/Cargo.toml rename to crates/contracts/dcap-verifier/Cargo.toml diff --git a/crates/contracts/quartz-dcap-verifier/README.md b/crates/contracts/dcap-verifier/README.md similarity index 100% rename from crates/contracts/quartz-dcap-verifier/README.md rename to crates/contracts/dcap-verifier/README.md diff --git a/crates/contracts/quartz-dcap-verifier/msgs/Cargo.toml b/crates/contracts/dcap-verifier/msgs/Cargo.toml similarity index 100% rename from crates/contracts/quartz-dcap-verifier/msgs/Cargo.toml rename to crates/contracts/dcap-verifier/msgs/Cargo.toml diff --git a/crates/contracts/quartz-dcap-verifier/msgs/src/lib.rs b/crates/contracts/dcap-verifier/msgs/src/lib.rs similarity index 100% rename from crates/contracts/quartz-dcap-verifier/msgs/src/lib.rs rename to crates/contracts/dcap-verifier/msgs/src/lib.rs diff --git a/crates/contracts/quartz-dcap-verifier/src/bin/dcap_verifier_schema.rs b/crates/contracts/dcap-verifier/src/bin/dcap_verifier_schema.rs similarity index 100% rename from crates/contracts/quartz-dcap-verifier/src/bin/dcap_verifier_schema.rs rename to crates/contracts/dcap-verifier/src/bin/dcap_verifier_schema.rs diff --git a/crates/contracts/quartz-dcap-verifier/src/contract.rs b/crates/contracts/dcap-verifier/src/contract.rs similarity index 100% rename from crates/contracts/quartz-dcap-verifier/src/contract.rs rename to crates/contracts/dcap-verifier/src/contract.rs diff --git a/crates/contracts/quartz-dcap-verifier/src/lib.rs b/crates/contracts/dcap-verifier/src/lib.rs similarity index 100% rename from crates/contracts/quartz-dcap-verifier/src/lib.rs rename to crates/contracts/dcap-verifier/src/lib.rs diff --git a/crates/contracts/tcbinfo/Cargo.toml b/crates/contracts/tcbinfo/Cargo.toml index 0063577..fff6d62 100644 --- a/crates/contracts/tcbinfo/Cargo.toml +++ b/crates/contracts/tcbinfo/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tcbinfo" +name = "quartz-tcbinfo" version.workspace = true authors.workspace = true edition.workspace = true @@ -45,7 +45,7 @@ cw-storage-plus.workspace = true # quartz quartz-tee-ra.workspace = true -tcbinfo-msgs.workspace = true +quartz-tcbinfo-msgs.workspace = true # patch indirect deps getrandom = { version = "0.2.15", features = ["js"] } diff --git a/crates/contracts/tcbinfo/msgs/Cargo.toml b/crates/contracts/tcbinfo/msgs/Cargo.toml index a083959..1420906 100644 --- a/crates/contracts/tcbinfo/msgs/Cargo.toml +++ b/crates/contracts/tcbinfo/msgs/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tcbinfo-msgs" +name = "quartz-tcbinfo-msgs" version.workspace = true authors.workspace = true edition.workspace = true diff --git a/crates/contracts/tcbinfo/src/bin/tcbinfo_schema.rs b/crates/contracts/tcbinfo/src/bin/tcbinfo_schema.rs index 82800ac..ed36bac 100644 --- a/crates/contracts/tcbinfo/src/bin/tcbinfo_schema.rs +++ b/crates/contracts/tcbinfo/src/bin/tcbinfo_schema.rs @@ -1,5 +1,5 @@ use cosmwasm_schema::write_api; -use tcbinfo_msgs::{ExecuteMsg, InstantiateMsg, QueryMsg}; +use quartz_tcbinfo_msgs::{ExecuteMsg, InstantiateMsg, QueryMsg}; fn main() { write_api! { diff --git a/crates/contracts/tcbinfo/src/contract.rs b/crates/contracts/tcbinfo/src/contract.rs index 143001e..4b719e9 100644 --- a/crates/contracts/tcbinfo/src/contract.rs +++ b/crates/contracts/tcbinfo/src/contract.rs @@ -5,9 +5,9 @@ use cw2::set_contract_version; use der::{DateTime, DecodePem}; use mc_attestation_verifier::{CertificateChainVerifier, SignedTcbInfo}; use p256::ecdsa::VerifyingKey; +use quartz_tcbinfo_msgs::{ExecuteMsg, GetTcbInfoResponse, InstantiateMsg, QueryMsg}; use quartz_tee_ra::intel_sgx::dcap::certificate_chain::TlsCertificateChainVerifier; use serde_json::Value; -use tcbinfo_msgs::{ExecuteMsg, GetTcbInfoResponse, InstantiateMsg, QueryMsg}; use x509_cert::Certificate; use crate::{ @@ -15,7 +15,7 @@ use crate::{ state::{TcbInfo, DATABASE, ROOT_CERTIFICATE}, }; // version info for migration info -const CONTRACT_NAME: &str = "crates.io:tcbinfo"; +const CONTRACT_NAME: &str = "crates.io:quartz_tcbinfo"; const CONTRACT_VERSION: &str = env!("CARGO_PKG_VERSION"); #[cfg_attr(not(feature = "library"), entry_point)] diff --git a/crates/contracts/tcbinfo/src/helpers.rs b/crates/contracts/tcbinfo/src/helpers.rs index bbe2316..fe643af 100644 --- a/crates/contracts/tcbinfo/src/helpers.rs +++ b/crates/contracts/tcbinfo/src/helpers.rs @@ -2,9 +2,9 @@ use cosmwasm_std::{ to_json_binary, Addr, CosmosMsg, CustomQuery, Querier, QuerierWrapper, StdResult, WasmMsg, WasmQuery, }; +use quartz_tcbinfo_msgs::{ExecuteMsg, GetTcbInfoResponse, QueryMsg}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -use tcbinfo_msgs::{ExecuteMsg, GetTcbInfoResponse, QueryMsg}; const FMSPC: &str = "00606a000000"; diff --git a/crates/contracts/tcbinfo/src/integration_tests.rs b/crates/contracts/tcbinfo/src/integration_tests.rs index c47f026..f01af61 100644 --- a/crates/contracts/tcbinfo/src/integration_tests.rs +++ b/crates/contracts/tcbinfo/src/integration_tests.rs @@ -2,7 +2,7 @@ mod tests { use cosmwasm_std::{testing::MockApi, Addr, Coin, Empty, Uint128}; use cw_multi_test::{App, AppBuilder, Contract, ContractWrapper, Executor}; - use tcbinfo_msgs::InstantiateMsg; + use quartz_tcbinfo_msgs::InstantiateMsg; use crate::helpers::CwTemplateContract; @@ -68,7 +68,7 @@ mod tests { } mod add_tcbinfo { - use tcbinfo_msgs::ExecuteMsg; + use quartz_tcbinfo_msgs::ExecuteMsg; use super::*; diff --git a/crates/contracts/quartz-tee-ra/Cargo.toml b/crates/contracts/tee-ra/Cargo.toml similarity index 100% rename from crates/contracts/quartz-tee-ra/Cargo.toml rename to crates/contracts/tee-ra/Cargo.toml diff --git a/crates/contracts/quartz-tee-ra/README.md b/crates/contracts/tee-ra/README.md similarity index 100% rename from crates/contracts/quartz-tee-ra/README.md rename to crates/contracts/tee-ra/README.md diff --git a/crates/contracts/quartz-tee-ra/data/DcapRootCACert.pem b/crates/contracts/tee-ra/data/DcapRootCACert.pem similarity index 100% rename from crates/contracts/quartz-tee-ra/data/DcapRootCACert.pem rename to crates/contracts/tee-ra/data/DcapRootCACert.pem diff --git a/crates/contracts/quartz-tee-ra/data/fmspc_00906ED50000_2023_07_12.json b/crates/contracts/tee-ra/data/fmspc_00906ED50000_2023_07_12.json similarity index 100% rename from crates/contracts/quartz-tee-ra/data/fmspc_00906ED50000_2023_07_12.json rename to crates/contracts/tee-ra/data/fmspc_00906ED50000_2023_07_12.json diff --git a/crates/contracts/quartz-tee-ra/data/hw_quote.dat b/crates/contracts/tee-ra/data/hw_quote.dat similarity index 100% rename from crates/contracts/quartz-tee-ra/data/hw_quote.dat rename to crates/contracts/tee-ra/data/hw_quote.dat diff --git a/crates/contracts/quartz-tee-ra/data/leaf_cert.pem b/crates/contracts/tee-ra/data/leaf_cert.pem similarity index 100% rename from crates/contracts/quartz-tee-ra/data/leaf_cert.pem rename to crates/contracts/tee-ra/data/leaf_cert.pem diff --git a/crates/contracts/quartz-tee-ra/data/processor_ca.pem b/crates/contracts/tee-ra/data/processor_ca.pem similarity index 100% rename from crates/contracts/quartz-tee-ra/data/processor_ca.pem rename to crates/contracts/tee-ra/data/processor_ca.pem diff --git a/crates/contracts/quartz-tee-ra/data/processor_crl.der b/crates/contracts/tee-ra/data/processor_crl.der similarity index 100% rename from crates/contracts/quartz-tee-ra/data/processor_crl.der rename to crates/contracts/tee-ra/data/processor_crl.der diff --git a/crates/contracts/quartz-tee-ra/data/qe_identity.json b/crates/contracts/tee-ra/data/qe_identity.json similarity index 100% rename from crates/contracts/quartz-tee-ra/data/qe_identity.json rename to crates/contracts/tee-ra/data/qe_identity.json diff --git a/crates/contracts/quartz-tee-ra/data/root_ca.pem b/crates/contracts/tee-ra/data/root_ca.pem similarity index 100% rename from crates/contracts/quartz-tee-ra/data/root_ca.pem rename to crates/contracts/tee-ra/data/root_ca.pem diff --git a/crates/contracts/quartz-tee-ra/data/root_crl.der b/crates/contracts/tee-ra/data/root_crl.der similarity index 100% rename from crates/contracts/quartz-tee-ra/data/root_crl.der rename to crates/contracts/tee-ra/data/root_crl.der diff --git a/crates/contracts/quartz-tee-ra/data/tcb_signer.pem b/crates/contracts/tee-ra/data/tcb_signer.pem similarity index 100% rename from crates/contracts/quartz-tee-ra/data/tcb_signer.pem rename to crates/contracts/tee-ra/data/tcb_signer.pem diff --git a/crates/contracts/quartz-tee-ra/src/intel_sgx.rs b/crates/contracts/tee-ra/src/intel_sgx.rs similarity index 100% rename from crates/contracts/quartz-tee-ra/src/intel_sgx.rs rename to crates/contracts/tee-ra/src/intel_sgx.rs diff --git a/crates/contracts/quartz-tee-ra/src/intel_sgx/dcap.rs b/crates/contracts/tee-ra/src/intel_sgx/dcap.rs similarity index 100% rename from crates/contracts/quartz-tee-ra/src/intel_sgx/dcap.rs rename to crates/contracts/tee-ra/src/intel_sgx/dcap.rs diff --git a/crates/contracts/quartz-tee-ra/src/intel_sgx/dcap/certificate_chain.rs b/crates/contracts/tee-ra/src/intel_sgx/dcap/certificate_chain.rs similarity index 100% rename from crates/contracts/quartz-tee-ra/src/intel_sgx/dcap/certificate_chain.rs rename to crates/contracts/tee-ra/src/intel_sgx/dcap/certificate_chain.rs diff --git a/crates/contracts/quartz-tee-ra/src/intel_sgx/dcap/mc_attest_verifier.rs b/crates/contracts/tee-ra/src/intel_sgx/dcap/mc_attest_verifier.rs similarity index 100% rename from crates/contracts/quartz-tee-ra/src/intel_sgx/dcap/mc_attest_verifier.rs rename to crates/contracts/tee-ra/src/intel_sgx/dcap/mc_attest_verifier.rs diff --git a/crates/contracts/quartz-tee-ra/src/intel_sgx/dcap/mc_attest_verifier/dcap.rs b/crates/contracts/tee-ra/src/intel_sgx/dcap/mc_attest_verifier/dcap.rs similarity index 100% rename from crates/contracts/quartz-tee-ra/src/intel_sgx/dcap/mc_attest_verifier/dcap.rs rename to crates/contracts/tee-ra/src/intel_sgx/dcap/mc_attest_verifier/dcap.rs diff --git a/crates/contracts/quartz-tee-ra/src/lib.rs b/crates/contracts/tee-ra/src/lib.rs similarity index 100% rename from crates/contracts/quartz-tee-ra/src/lib.rs rename to crates/contracts/tee-ra/src/lib.rs diff --git a/crates/contracts/tm-stateless-verifier/Cargo.toml b/crates/contracts/tm-stateless-verifier/Cargo.toml index 584b406..019d62a 100644 --- a/crates/contracts/tm-stateless-verifier/Cargo.toml +++ b/crates/contracts/tm-stateless-verifier/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tm-stateless-verifier" +name = "quartz-tm-stateless-verifier" version.workspace = true authors.workspace = true edition.workspace = true diff --git a/crates/enclave/quartz-enclave/.gitignore b/crates/enclave/core/.gitignore similarity index 100% rename from crates/enclave/quartz-enclave/.gitignore rename to crates/enclave/core/.gitignore diff --git a/crates/enclave/quartz-enclave/Cargo.toml b/crates/enclave/core/Cargo.toml similarity index 85% rename from crates/enclave/quartz-enclave/Cargo.toml rename to crates/enclave/core/Cargo.toml index e0e3149..b65b4c8 100644 --- a/crates/enclave/quartz-enclave/Cargo.toml +++ b/crates/enclave/core/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "quartz-enclave" +name = "quartz-enclave-core" version.workspace = true authors.workspace = true edition.workspace = true @@ -10,7 +10,7 @@ keywords = ["blockchain", "cosmos", "tendermint", "cycles", "quartz"] readme = "README.md" [features] -mock-sgx = ["quartz-cw/mock-sgx"] +mock-sgx = ["quartz-contract-core/mock-sgx"] [dependencies] # external @@ -44,8 +44,8 @@ tendermint-light-client.workspace = true tendermint-rpc = { workspace = true, features=["websocket-client", "http-client"] } # quartz -cw-proof.workspace = true -quartz-cw.workspace = true +quartz-cw-proof.workspace = true +quartz-contract-core.workspace = true quartz-proto.workspace = true quartz-tee-ra.workspace = true -tm-stateless-verifier.workspace = true +quartz-tm-stateless-verifier.workspace = true diff --git a/crates/enclave/quartz-enclave/README.md b/crates/enclave/core/README.md similarity index 100% rename from crates/enclave/quartz-enclave/README.md rename to crates/enclave/core/README.md diff --git a/crates/enclave/quartz-enclave/quartz.manifest.template b/crates/enclave/core/quartz.manifest.template similarity index 100% rename from crates/enclave/quartz-enclave/quartz.manifest.template rename to crates/enclave/core/quartz.manifest.template diff --git a/crates/enclave/quartz-enclave/src/attestor.rs b/crates/enclave/core/src/attestor.rs similarity index 94% rename from crates/enclave/quartz-enclave/src/attestor.rs rename to crates/enclave/core/src/attestor.rs index 6150301..4278450 100644 --- a/crates/enclave/quartz-enclave/src/attestor.rs +++ b/crates/enclave/core/src/attestor.rs @@ -5,7 +5,7 @@ use std::{ }; use mc_sgx_dcap_sys_types::sgx_ql_qve_collateral_t; -use quartz_cw::{ +use quartz_contract_core::{ msg::{ execute::attested::{ Attestation, DcapAttestation, HasUserData, MockAttestation, RawDcapAttestation, @@ -102,7 +102,7 @@ impl Attestor for DcapAttestor { version.minor_version = 1; let mut root_crl = - include_bytes!("../../../contracts/quartz-tee-ra/data/root_crl.der").to_vec(); + include_bytes!("../../../contracts/tee-ra/data/root_crl.der").to_vec(); root_crl.push(0); sgx_collateral.root_ca_crl = root_crl.as_ptr() as _; sgx_collateral.root_ca_crl_size = root_crl.len() as u32; @@ -117,8 +117,8 @@ impl Attestor for DcapAttestor { sgx_collateral.pck_crl_issuer_chain = pck_crl_issuer_chain.as_ptr() as _; sgx_collateral.pck_crl_issuer_chain_size = pck_crl_issuer_chain.len() as u32; - let root_cert = include_str!("../../../contracts/quartz-tee-ra/data/root_ca.pem"); - let tcb_cert = include_str!("../../../contracts/quartz-tee-ra/data/tcb_signer.pem"); + let root_cert = include_str!("../../../contracts/tee-ra/data/root_ca.pem"); + let tcb_cert = include_str!("../../../contracts/tee-ra/data/tcb_signer.pem"); let mut tcb_chain = [tcb_cert, root_cert].join("\n").as_bytes().to_vec(); tcb_chain.push(0); sgx_collateral.tcb_info_issuer_chain = tcb_chain.as_ptr() as _; @@ -132,7 +132,7 @@ impl Attestor for DcapAttestor { sgx_collateral.qe_identity_issuer_chain_size = tcb_chain.len() as u32; const QE_IDENTITY_JSON: &str = - include_str!("../../../contracts/quartz-tee-ra/data/qe_identity.json"); + include_str!("../../../contracts/tee-ra/data/qe_identity.json"); sgx_collateral.qe_identity = QE_IDENTITY_JSON.as_ptr() as _; sgx_collateral.qe_identity_size = QE_IDENTITY_JSON.len() as u32; diff --git a/crates/enclave/quartz-enclave/src/error.rs b/crates/enclave/core/src/error.rs similarity index 100% rename from crates/enclave/quartz-enclave/src/error.rs rename to crates/enclave/core/src/error.rs diff --git a/crates/enclave/quartz-enclave/src/lib.rs b/crates/enclave/core/src/lib.rs similarity index 100% rename from crates/enclave/quartz-enclave/src/lib.rs rename to crates/enclave/core/src/lib.rs diff --git a/crates/enclave/quartz-enclave/src/server.rs b/crates/enclave/core/src/server.rs similarity index 98% rename from crates/enclave/quartz-enclave/src/server.rs rename to crates/enclave/core/src/server.rs index bd3620e..f184c2d 100644 --- a/crates/enclave/quartz-enclave/src/server.rs +++ b/crates/enclave/core/src/server.rs @@ -5,13 +5,9 @@ use std::{ time::Duration, }; -use cw_proof::proof::{ - cw::{CwProof, RawCwProof}, - Proof, -}; use futures_util::StreamExt; use k256::ecdsa::SigningKey; -use quartz_cw::{ +use quartz_contract_core::{ msg::{ execute::{ attested::Attested, session_create::SessionCreate, @@ -21,6 +17,10 @@ use quartz_cw::{ }, state::{Config, LightClientOpts, Nonce, Session}, }; +use quartz_cw_proof::proof::{ + cw::{CwProof, RawCwProof}, + Proof, +}; use quartz_proto::quartz::{ core_server::{Core, CoreServer}, InstantiateRequest as RawInstantiateRequest, InstantiateResponse as RawInstantiateResponse, @@ -29,6 +29,7 @@ use quartz_proto::quartz::{ SessionSetPubKeyRequest as RawSessionSetPubKeyRequest, SessionSetPubKeyResponse as RawSessionSetPubKeyResponse, }; +use quartz_tm_stateless_verifier::make_provider; use rand::Rng; use serde::{Deserialize, Serialize}; use tendermint::{block::Height, Hash}; @@ -41,7 +42,6 @@ use tendermint_rpc::{ query::{EventType, Query}, SubscriptionClient, WebSocketClient, }; -use tm_stateless_verifier::make_provider; use tonic::{ body::BoxBody, codegen::http, diff --git a/crates/enclave/quartz-enclave/src/types.rs b/crates/enclave/core/src/types.rs similarity index 99% rename from crates/enclave/quartz-enclave/src/types.rs rename to crates/enclave/core/src/types.rs index ef24a1b..a3e52bd 100644 --- a/crates/enclave/quartz-enclave/src/types.rs +++ b/crates/enclave/core/src/types.rs @@ -5,7 +5,7 @@ use std::{ }; use hex::FromHexError; -use quartz_cw::msg::{ +use quartz_contract_core::msg::{ execute::{ attested::{Attested, RawAttested}, session_create::{RawSessionCreate, SessionCreate}, diff --git a/crates/enclave/quartz-proto/Cargo.toml b/crates/enclave/proto/Cargo.toml similarity index 100% rename from crates/enclave/quartz-proto/Cargo.toml rename to crates/enclave/proto/Cargo.toml diff --git a/crates/enclave/quartz-proto/build.rs b/crates/enclave/proto/build.rs similarity index 100% rename from crates/enclave/quartz-proto/build.rs rename to crates/enclave/proto/build.rs diff --git a/crates/enclave/quartz-proto/proto/quartz.proto b/crates/enclave/proto/proto/quartz.proto similarity index 100% rename from crates/enclave/quartz-proto/proto/quartz.proto rename to crates/enclave/proto/proto/quartz.proto diff --git a/crates/enclave/quartz-proto/src/lib.rs b/crates/enclave/proto/src/lib.rs similarity index 100% rename from crates/enclave/quartz-proto/src/lib.rs rename to crates/enclave/proto/src/lib.rs diff --git a/crates/enclave/quartz-proto/src/prost/quartz.rs b/crates/enclave/proto/src/prost/quartz.rs similarity index 100% rename from crates/enclave/quartz-proto/src/prost/quartz.rs rename to crates/enclave/proto/src/prost/quartz.rs diff --git a/crates/utils/wasmd-client/Cargo.toml b/crates/utils/cw-client/Cargo.toml similarity index 94% rename from crates/utils/wasmd-client/Cargo.toml rename to crates/utils/cw-client/Cargo.toml index f1317b1..e13e316 100644 --- a/crates/utils/wasmd-client/Cargo.toml +++ b/crates/utils/cw-client/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "wasmd-client" +name = "cw-client" version.workspace = true edition.workspace = true rust-version.workspace = true diff --git a/crates/utils/wasmd-client/README.md b/crates/utils/cw-client/README.md similarity index 100% rename from crates/utils/wasmd-client/README.md rename to crates/utils/cw-client/README.md diff --git a/crates/utils/wasmd-client/src/lib.rs b/crates/utils/cw-client/src/lib.rs similarity index 100% rename from crates/utils/wasmd-client/src/lib.rs rename to crates/utils/cw-client/src/lib.rs diff --git a/crates/utils/cw-prover/Cargo.toml b/crates/utils/cw-prover/Cargo.toml index 8c8d4d5..a81efd1 100644 --- a/crates/utils/cw-prover/Cargo.toml +++ b/crates/utils/cw-prover/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "cw-prover" +name = "quartz-cw-prover" version.workspace = true authors.workspace = true edition.workspace = true @@ -21,7 +21,7 @@ tendermint.workspace = true tendermint-rpc.workspace = true # quartz -cw-proof.workspace = true +quartz-cw-proof.workspace = true [dev-dependencies] hex.workspace = true diff --git a/crates/utils/cw-prover/src/main.rs b/crates/utils/cw-prover/src/main.rs index c54e28a..3ec2f43 100644 --- a/crates/utils/cw-prover/src/main.rs +++ b/crates/utils/cw-prover/src/main.rs @@ -24,7 +24,7 @@ use std::{ use clap::{Parser, Subcommand}; use cosmrs::AccountId; -use cw_proof::proof::{ +use quartz_cw_proof::proof::{ cw::{CwProof, RawCwProof}, key::CwAbciKey, Proof, @@ -134,7 +134,7 @@ fn write_proof_to_file(proof_file: PathBuf, proof: RawCwProof) -> Result<(), Box #[cfg(test)] mod tests { - use cw_proof::proof::{ + use quartz_cw_proof::proof::{ cw::{CwProof, RawCwProof}, Proof, }; diff --git a/crates/utils/print-fmspc/Cargo.toml b/crates/utils/print-fmspc/Cargo.toml index 2bb122e..0bd8595 100644 --- a/crates/utils/print-fmspc/Cargo.toml +++ b/crates/utils/print-fmspc/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "print-fmspc" +name = "quartz-print-fmspc" version.workspace = true edition.workspace = true rust-version.workspace = true diff --git a/crates/utils/tm-prover/Cargo.toml b/crates/utils/tm-prover/Cargo.toml index d7e6e93..d8e5543 100644 --- a/crates/utils/tm-prover/Cargo.toml +++ b/crates/utils/tm-prover/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tm-prover" +name = "quartz-tm-prover" version.workspace = true authors.workspace = true edition.workspace = true @@ -32,4 +32,4 @@ tendermint-light-client.workspace = true tendermint-light-client-detector.workspace = true # quartz -cw-proof.workspace = true \ No newline at end of file +quartz-cw-proof.workspace = true \ No newline at end of file diff --git a/crates/utils/tm-prover/src/config.rs b/crates/utils/tm-prover/src/config.rs index 45af46e..33caf19 100644 --- a/crates/utils/tm-prover/src/config.rs +++ b/crates/utils/tm-prover/src/config.rs @@ -3,7 +3,7 @@ use std::{num::ParseIntError, str::FromStr}; use clap::Parser; use color_eyre::eyre::{eyre, Result}; use cosmrs::AccountId; -use cw_proof::proof::cw::RawCwProof; +use quartz_cw_proof::proof::cw::RawCwProof; use serde::{Deserialize, Serialize}; use tendermint_light_client::types::{Hash, Height, LightBlock, TrustThreshold}; use tendermint_rpc::HttpClientUrl; diff --git a/crates/utils/tm-prover/src/main.rs b/crates/utils/tm-prover/src/main.rs index b86fe45..c8f3219 100644 --- a/crates/utils/tm-prover/src/main.rs +++ b/crates/utils/tm-prover/src/main.rs @@ -1,6 +1,6 @@ use clap::Parser; use color_eyre::eyre::Result; -use tm_prover::{config::Config, prover::prove}; +use quartz_tm_prover::{config::Config, prover::prove}; use tracing_subscriber::{util::SubscriberInitExt, EnvFilter}; #[tokio::main] diff --git a/crates/utils/tm-prover/src/prover.rs b/crates/utils/tm-prover/src/prover.rs index 37f2503..c0356cd 100644 --- a/crates/utils/tm-prover/src/prover.rs +++ b/crates/utils/tm-prover/src/prover.rs @@ -13,11 +13,11 @@ use color_eyre::{ eyre::{eyre, Result}, Report, }; -use cw_proof::{ +use futures::future::join_all; +use quartz_cw_proof::{ error::ProofError, proof::{cw::CwProof, key::CwAbciKey, Proof}, }; -use futures::future::join_all; use tendermint::{crypto::default::Sha256, evidence::Evidence, Hash}; use tendermint_light_client::{ builder::LightClientBuilder, diff --git a/examples/transfers/enclave/Cargo.toml b/examples/transfers/enclave/Cargo.toml index 0e7de3a..ac2c86e 100644 --- a/examples/transfers/enclave/Cargo.toml +++ b/examples/transfers/enclave/Cargo.toml @@ -46,8 +46,8 @@ transfers-contract = { path = "../contracts", default-features = false } # quartz quartz-common = { git = "ssh://git@github.com/informalsystems/cycles-quartz.git", features=["full"] } -wasmd-client = { git = "ssh://git@github.com/informalsystems/cycles-quartz.git" } -tm-prover = { git = "ssh://git@github.com/informalsystems/cycles-quartz.git" } +cw-client = { git = "ssh://git@github.com/informalsystems/cycles-quartz.git" } +quartz-tm-prover = { git = "ssh://git@github.com/informalsystems/cycles-quartz.git" } [dev-dependencies] diff --git a/examples/transfers/enclave/src/wslistener.rs b/examples/transfers/enclave/src/wslistener.rs index 5fa9026..ed08b2c 100644 --- a/examples/transfers/enclave/src/wslistener.rs +++ b/examples/transfers/enclave/src/wslistener.rs @@ -17,7 +17,7 @@ use quartz_common::{ use reqwest::Url; use serde_json::json; use tendermint_rpc::{event::Event, query::EventType, SubscriptionClient, WebSocketClient}; -use tm_prover::{config::Config as TmProverConfig, prover::prove}; +use quartz_tm_prover::{config::Config as TmProverConfig, prover::prove}; use tonic::Request; use tracing::info; use transfers_contract::msg::{ @@ -25,7 +25,7 @@ use transfers_contract::msg::{ AttestedMsg, ExecuteMsg, QueryMsg::{GetRequests, GetState}, }; -use wasmd_client::{CliWasmdClient, QueryResult, WasmdClient}; +use cw_client::{CliWasmdClient, QueryResult, WasmdClient}; use crate::{ proto::{settlement_server::Settlement, QueryRequest, UpdateRequest}, @@ -168,15 +168,15 @@ async fn transfer_handler( ) -> Result<()> { let chain_id = &ChainId::from_str(&ws_config.chain_id)?; let httpurl = Url::parse(&format!("http://{}", ws_config.node_url))?; - let wasmd_client = CliWasmdClient::new(httpurl.clone()); + let cw_client = CliWasmdClient::new(httpurl.clone()); // Query contract state - let resp: QueryResult> = wasmd_client + let resp: QueryResult> = cw_client .query_smart(contract, json!(GetRequests {})) .map_err(|e| anyhow!("Problem querying contract state: {}", e))?; let requests = resp.data; - let resp: QueryResult = wasmd_client + let resp: QueryResult = cw_client .query_smart(contract, json!(GetState {})) .map_err(|e| anyhow!("Problem querying contract state: {}", e))?; let state = resp.data; @@ -249,7 +249,7 @@ async fn transfer_handler( }); // Post response to chain - let output = wasmd_client.tx_execute( + let output = cw_client.tx_execute( contract, chain_id, 2000000, @@ -270,10 +270,10 @@ async fn query_handler( ) -> Result<()> { let chain_id = &ChainId::from_str(&ws_config.chain_id)?; let httpurl = Url::parse(&format!("http://{}", ws_config.node_url))?; - let wasmd_client = CliWasmdClient::new(httpurl); + let cw_client = CliWasmdClient::new(httpurl); // Query contract state - let resp: QueryResult = wasmd_client + let resp: QueryResult = cw_client .query_smart(contract, json!(GetState {})) .map_err(|e| anyhow!("Problem querying contract state: {}", e))?; let state = resp.data; @@ -316,7 +316,7 @@ async fn query_handler( }); // Post response to chain - let output = wasmd_client.tx_execute( + let output = cw_client.tx_execute( contract, chain_id, 2000000,