62 lines
2.5 KiB
Markdown
62 lines
2.5 KiB
Markdown
# Quartz CosmWasm Packages
|
|
|
|
This repository contains a collection of packages designed to facilitate the development of CosmWasm smart contracts for Quartz apps.
|
|
|
|
## Packages
|
|
|
|
### 1. `quartz-cw`
|
|
|
|
The `quartz-cw` package offers a high-level framework for building attestation-aware smart contracts by wrapping CosmWasm messages in TEE attestations (e.g. DCAP).
|
|
|
|
- Defines `Attested<M, A>` wrapper for a message and its attestation
|
|
- Supports a MockAttestation type for development ease
|
|
- Implements session management for secure communication between contract and enclave
|
|
The `quartz-cw` package handles actual DCAP verification within smart contracts by calling the standalone `quartz-dcap-verifier` and `tcbinfo` contracts.
|
|
|
|
### 2. `quartz-dcap-verifier`
|
|
|
|
Your personal DCAP detective! This package is a standalone smart contract for verifying DCAP attestations that can be called by other contracts.
|
|
|
|
- Thin wrapper for standalone smart contract around the functionality provided in the `quartz-tee-ra` package
|
|
- Provides query and execute entry points for attestation checks
|
|
|
|
### 3. `quartz-tee-ra`
|
|
|
|
This `quartz-tee-ra` handles Intel SGX remote attestation for both EPID and DCAP protocols.
|
|
|
|
- Verifies EPID and DCAP attestations
|
|
- Provides core types and structures for SGX quotes
|
|
- Implements cryptographic verification of attestation reports
|
|
|
|
### 4. `tcbinfo`
|
|
|
|
The `tcbinfo` package manages and verifies TCB information crucial for maintaining enclave security.
|
|
|
|
- Stores and retrieves TCB information
|
|
- Verifies TCB signatures and certificates
|
|
- Provides a CosmWasm contract for TCB management
|
|
|
|
### 5. `wasmd-client`
|
|
|
|
The `wasmd-client` package offers a Rust client interface for interacting with Wasmd nodes.
|
|
|
|
- Defines traits for querying and executing CosmWasm contracts
|
|
- Provides utilities for deploying and interacting with contracts
|
|
|
|
|
|
## Examples
|
|
|
|
Check out the `integration_tests` modules in each package for usage examples and best practices!
|
|
|
|
## Contributing
|
|
|
|
We welcome contributions from the community! If you find any issues or have suggestions for improvement, please open an issue or submit a pull request. Make sure to follow the contribution guidelines outlined in the repository.
|
|
|
|
<!-- ## License //TODO check which license is needed
|
|
|
|
The Quartz CosmWasm Packages are released under the [MIT License](LICENSE). -->
|
|
## Contact
|
|
|
|
If you have any questions or need further assistance, please reach out to us at [quartz.support@informal.systems](mailto:quartz.support@informal.systems).
|
|
|