-# Enclave
+# The Interfold
-This is the monorepo for Enclave, an open-source protocol for Collaborative Confidential Compute.
-Enclave leverages the combination of Fully Homomorphic Encryption (FHE), Zero Knowledge Proofs
-(ZKPs), and Multi-Party Computation (MPC) to enable Encrypted Execution Environments (E3) with
+> **Note:** The Interfold was previously known as **Enclave**.
+> Many repositories, packages, and CLI tools still use the `enclave` name while the project
+> transitions.
+
+This is the monorepo for **The Interfold**, an open-source protocol for confidential coordination.
+
+The Interfold leverages a combination of Fully Homomorphic Encryption (FHE), Zero-Knowledge Proofs
+(ZKPs), and Multi-Party Computation (MPC) to enable Encrypted Execution Environments (E3), with
integrity and privacy guarantees rooted in cryptography and economics, rather than hardware and
attestations.
+## Documentation
+
+Full documentation is available at: https://docs.theinterfold.com
+
## Quick Start
-Follow instructions in the [quick start][quick-start] section of the [Enclave docs][docs].
+Follow instructions in the [quick start][quick-start] section of the documentation.
See the [CRISP example][crisp] for a fully functioning example application.
## Getting Help
-Join the Enclave [Telegram group][telegram].
+Join the community [Telegram group][telegram].
## Contributing
@@ -193,8 +202,9 @@ This workspace's minimum supported rustc version is 1.86.0.
## Architecture
-Enclave employs a modular architecture involving numerous actors and participants. The sequence
-diagram below offers a high-level overview of the protocol, but necessarily omits most detail.
+The Interfold employs a modular architecture involving numerous actors and participants. The
+sequence diagram below offers a high-level overview of the protocol, but necessarily omits most
+detail.
```mermaid
sequenceDiagram
@@ -242,8 +252,8 @@ sequenceDiagram
### Overview
-Enclave uses a unified versioning strategy where all packages (Rust crates and npm packages) share
-the same version number. Releases are triggered by git tags and follow semantic versioning.
+The Interfold uses a unified versioning strategy where all packages (Rust crates and npm packages)
+share the same version number. Releases are triggered by git tags and follow semantic versioning.
### Quick Release
@@ -343,7 +353,7 @@ Once the tag is pushed, GitHub Actions automatically:
### Version Format
-Enclave follows [Semantic Versioning](https://semver.org/):
+The Interfold follows [Semantic Versioning](https://semver.org/):
- **Stable**: `v1.0.0` - Production ready
- **Pre-release**: `v1.0.0-beta.1` - Testing/preview versions
@@ -476,9 +486,9 @@ This repo created under the [LGPL-3.0+ license](LICENSE).
[hardhat-badge]: https://img.shields.io/badge/Built%20with-Hardhat-FFDB1C.svg
[license]: https://opensource.org/license/lgpl-3-0
[license-badge]: https://img.shields.io/badge/License-LGPLv3.0-blue.svg
-[docs]: https://docs.enclave.gg
+[docs]: https://docs.theinterfold.com
[docs-badge]: https://img.shields.io/badge/Documentation-blue.svg
-[quick-start]: https://docs.enclave.gg/quick-start
-[crisp]: https://docs.enclave.gg/CRISP/introduction
+[quick-start]: https://docs.theinterfold.com/quick-start
+[crisp]: https://docs.theinterfold.com/CRISP/introduction
[telegram]: https://t.me/+raYAZgrwgOw2ODJh
[contributing]: CONTRIBUTING.md
diff --git a/docs/README.md b/docs/README.md
index 69ea09b986..bca848b5bb 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,7 +1,7 @@
[![Next.js][next-badge]][next] [![Nextra][nextra-badge]][nextra]
[![License: LGPL-3.0][license-badge]][license]
-# Enclave Documentation
+# The Interfold Documentation
[next]: https://nextjs.org/
[next-badge]: https://img.shields.io/badge/Built%20with-Next.js-000000.svg
@@ -10,8 +10,8 @@
[license]: https://opensource.org/license/lgpl-3-0
[license-badge]: https://img.shields.io/badge/License-LGPLv3.0-blue.svg
-This is the documentation site for Enclave, built with Next.js and Nextra. The documentation
-provides comprehensive guides, API references, and explanations of the Enclave protocol.
+This is the documentation site for the Interfold, built with Next.js and Nextra. The documentation
+provides comprehensive guides, API references, and explanations of The Interfold protocol.
## Development
diff --git a/docs/pages/CRISP/introduction.mdx b/docs/pages/CRISP/introduction.mdx
index 0f1d1c4470..e1590b7aac 100644
--- a/docs/pages/CRISP/introduction.mdx
+++ b/docs/pages/CRISP/introduction.mdx
@@ -7,7 +7,7 @@ description: 'Coercion-Resistant Impartial Selection Protocol - A complete E3 pr
CRISP (Coercion-Resistant Impartial Selection Protocol) is a secure protocol for digital
decision-making, leveraging fully homomorphic encryption (FHE) and distributed threshold
-cryptography (DTC) to enable verifiable secret ballots. Built with Enclave, CRISP safeguards
+cryptography (DTC) to enable verifiable secret ballots. Built with Interfold, CRISP safeguards
democratic systems and decision-making applications against coercion, manipulation, and other
vulnerabilities.
@@ -29,7 +29,7 @@ coercion. CRISP mitigates these risks through:
## Project Structure
CRISP, whose implementation is available in the
-[Enclave repository](https://github.com/gnosisguild/enclave/tree/main/examples/CRISP), follows a
+[Interfold repository](https://github.com/gnosisguild/enclave/tree/main/examples/CRISP), follows a
modern structure with clear separation of concerns:
```
@@ -50,7 +50,7 @@ CRISP/
### Client Application
The [client](https://github.com/gnosisguild/enclave/tree/main/examples/CRISP/client) is a React
-application built with TypeScript that provides a voting interface. It uses the CRISP
+application built with TypeScript that provides the user a voting interface. It uses the CRISP
[SDK](/CRISP/introduction#javascript-sdk) and [server](/CRISP/introduction#coordination-server)
endpoints to deliver the following capabilities:
@@ -148,5 +148,5 @@ To get started with CRISP:
2. **[Running E3](/CRISP/running-e3)**: Deploy and run the complete CRISP protocol
3. **Study the code**: Examine the implementation for your own E3 programs
-CRISP demonstrates the full potential of E3 programs for privacy-preserving applications, providing
-a complete reference implementation for developers building with Enclave.
+CRISP demonstrates how E3 programs can be used for privacy-preserving applications, providing a
+complete reference implementation for developers building with the Interfold.
diff --git a/docs/pages/CRISP/running-e3.mdx b/docs/pages/CRISP/running-e3.mdx
index 2319fb2611..a3f8184a47 100644
--- a/docs/pages/CRISP/running-e3.mdx
+++ b/docs/pages/CRISP/running-e3.mdx
@@ -7,8 +7,8 @@ import { Steps } from 'nextra/components'
# Running an E3 Program
-In this section, we will go through all the steps to run an E3 Program using CRISP. We will run a
-complete voting round of CRISP and do the following:
+In this section, we will walk through how to run an E3 Program using CRISP. We will run a complete
+voting round of CRISP and do the following:
- Request an E3 Voting Round
- Submit votes through the web interface
diff --git a/docs/pages/CRISP/setup.mdx b/docs/pages/CRISP/setup.mdx
index 7a04c533cc..0459d80bdb 100644
--- a/docs/pages/CRISP/setup.mdx
+++ b/docs/pages/CRISP/setup.mdx
@@ -7,9 +7,9 @@ import { Steps } from 'nextra/components'
# Getting Started with CRISP
-This guide will walk you through the steps to set up and run CRISP locally. CRISP is a complete
-example of an E3 Program, built with a modern architecture that includes smart contracts,
-zero-knowledge circuits, frontend applications, and secure computation components.
+This guide will walk you through the steps to set up and run CRISP locally. CRISP is a full
+reference implementation of an E3 Program, built with a modern architecture that includes smart
+contracts, zero-knowledge circuits, frontend applications, and secure computation components.
## Prerequisites
@@ -17,8 +17,8 @@ Before getting started, ensure you have installed:
- [Rust](https://rust-lang.org/tools/install/)
- [Foundry](https://getfoundry.sh)
-- [RiscZero](https://dev.risczero.com/api/zkvm/install)
-- [NodeJS](https://nodejs.org/en/download)
+- [RISC Zero](https://dev.risczero.com/api/zkvm/install)
+- [Node.js](https://nodejs.org/en/download)
- [pnpm](https://pnpm.io)
- [MetaMask](https://metamask.io)
- Noir toolchain ([`nargo`](https://noir-lang.org/docs/getting_started/quick_start),
@@ -41,7 +41,7 @@ pnpm dev:up
1. Starts the Hardhat node in `packages/crisp-contracts`
2. Deploys all contracts (Enclave, CRISPProgram, verifiers, registries) via
`scripts/crisp_deploy.sh`
-3. Starts ciphernodes using `enclave.config.yaml` via `scripts/dev_cipher.sh`
+3. Starts Ciphernodes using `enclave.config.yaml` via `scripts/dev_cipher.sh`
4. Launches the program server via `scripts/dev_program.sh`
5. Starts the coordination server (Rust) via `scripts/dev_server.sh` on port `4000`
6. Starts the React client via `scripts/dev_client.sh` on port `3000`
diff --git a/docs/pages/_meta.json b/docs/pages/_meta.json
index b47d1ca34e..94b37ba41d 100644
--- a/docs/pages/_meta.json
+++ b/docs/pages/_meta.json
@@ -23,7 +23,7 @@
"title": "Use Cases"
},
"building-with-enclave": {
- "title": "Building with Enclave"
+ "title": "Building with Interfold"
},
"best-practices": {
"title": "Best Practices"
@@ -49,7 +49,7 @@
"title": "Project Template"
},
"sdk": {
- "title": "Enclave SDK"
+ "title": "Interfold SDK"
},
"setting-up-server": {
"title": "Setting Up the Server"
@@ -98,6 +98,6 @@
"title": "Reference"
},
"whitepaper": {
- "title": "White Paper"
+ "title": "Whitepaper"
}
}
diff --git a/docs/pages/architecture-overview.mdx b/docs/pages/architecture-overview.mdx
index 858ce7a7cc..74bf848a9a 100644
--- a/docs/pages/architecture-overview.mdx
+++ b/docs/pages/architecture-overview.mdx
@@ -1,5 +1,5 @@
-This section provides a breakdown of Enclave’s architecture, focusing on the essential components
-and workflows to help you implement it effectively.
+This section provides a breakdown of the Interfold protocol architecture, focusing on the core
+components and workflows involved in executing E3 computations.
## Core Components
@@ -9,23 +9,23 @@ and workflows to help you implement it effectively.
- Initiate and define computation requests, including parameters and requirements
- Retrieve and utilize final computation results
-- Can be applications or other entities
+- Can be applications, protocols, or other systems
#### Data Providers
-- Supply private input data required for computation
-- Are responsible for encrypting data before submission
+- Supply private inputs required for computation
+- Encrypt their inputs before submission
- Can be end users, systems, or other applications
#### Ciphernodes
-- Provide cryptographic services as staked network nodes
-- Handle distributed key generation and decryption operations
-- Form Ciphernode Committees (CiCos) for specific computations
+- Provide distributed cryptographic services as staked network operators
+- Perform distributed key generation and threshold decryption
+- Form Ciphernode Committees (CiCos) for individual computations
### 2. Smart Contracts
-#### Enclave Contract
+#### Interfold Contract
- Central coordinator of the E3 ecosystem
- Manages computation requests and lifecycle
@@ -35,15 +35,15 @@ and workflows to help you implement it effectively.
#### E3 Program (E3P) Contract
-- Defines computation logic
+- Defines computation logic for the E3
- Validates program parameters
- Verifies computation proofs
-- Interfaces with the Enclave contract
+- Interfaces with the Interfold contract
- Ensures correct execution of the E3P
- Validates and sanitizes input data
- - this might involve verifying a Zero-Knowledge Proof (ZKP) to ensure data integrity and
+ - this might involve verifying a Zero-Knowledge Proof (ZKP) to ensure input integrity and
authenticity
- - prevents malicious input injection that could compromise the computation
+ - prevents malformed or malicious input injection that could compromise the computation
#### Decryption Verifier Contract
@@ -56,18 +56,18 @@ and workflows to help you implement it effectively.
#### Compute Provider (CP)
- Runs the E3 Program over the published inputs
-- Reports computation reults of the E3P to the Enclave contract
+- Reports computation results of the E3P to the Interfold contract
-Enclave supports multiple CPs with a variety of different trust, scalability, and cost properties.
+The Interfold supports multiple CPs with different trust, scalability, and cost tradeoffs.
**Supported systems:**
-1. **Verifiable Systems**
+1. **Verifiable systems**
- [RISC Zero zkVM](https://www.risczero.com/)
- - [Succint SP1](https://docs.succinct.xyz/) (coming soon)
+ - [Succinct SP1](https://docs.succinct.xyz/) (coming soon)
- [Jolt](https://jolt.a16zcrypto.com/) (coming soon)
-2. **Oracle-Based Systems**
+2. **Oracle-based systems**
- zkTLS VMs (coming soon)
- Committee-based oracles (coming soon)
- Game theory-based oracles (coming soon)
@@ -91,6 +91,6 @@ The following steps outline how these components interact in a typical computati
As a developer, you'll interact with:
-- **Enclave's Smart Contracts**: To submit requests and retrieve results.
-- **Compute Providers**: To run your E3P using verfiable or oracle-based systems.
+- **Interfold smart contracts**: To submit computation requests and retrieve results.
+- **Compute Providers**: To run your E3P using verifiable or oracle-based systems.
- **E3 Smart Contracts**: To verify the inputs and computation result.
diff --git a/docs/pages/best-practices.mdx b/docs/pages/best-practices.mdx
index 0589457ae0..c6ed8c93f0 100644
--- a/docs/pages/best-practices.mdx
+++ b/docs/pages/best-practices.mdx
@@ -5,12 +5,14 @@ title: 'Best Practices'
# Design & Operations Best Practices
Competitor docs such as Fhenix's "Key Considerations" and Ritual's architecture primers emphasize
-clear guardrails for confidential compute. This guide distills the equivalent playbook for Enclave.
+clear guardrails for confidential compute. This guide distills the equivalent playbook for the
+Interfold.
## Parameter Strategy
- **Thresholds**: Choose `threshold = [t, n]` so that `t` withstands your adversary model while `n`
- matches available Ciphernodes. Higher thresholds improve collusion resistance but increase fees.
+ matches the available Ciphernodes. Higher thresholds improve collusion resistance but increase
+ fees.
- **Timing Windows**: Ensure `startWindow` leaves enough time for committee selection (a few blocks)
and `duration` matches the longest credible compute time plus buffer.
- **Custom Params**: Use `customParams` in `E3RequestParams` to tag jurisdiction, use case, or
@@ -29,11 +31,11 @@ clear guardrails for confidential compute. This guide distills the equivalent pl
## Secure Process & Compute Providers
- **Determinism**: Reconstruct the on-chain Merkle root inside the Secure Process, then assert
- equality prior to any heavy math.
+ equality prior to any heavy computation.
- **Proof hooks**: When using RISC Zero or other verifiable CPs, keep witness blobs small and
reserve `computeProviderParams` for runtime toggles (precision, chunk size, etc.).
- **Failover**: Decide how your app reacts if `CiphertextOutputPublished` never arrives—e.g., allow
- a guardian to cancel the round and refund deposits.
+ a guardian actor to cancel the round and refund deposits.
## Key Material & Ciphernodes
diff --git a/docs/pages/building-with-enclave.mdx b/docs/pages/building-with-enclave.mdx
index dd51597852..fc629dea78 100644
--- a/docs/pages/building-with-enclave.mdx
+++ b/docs/pages/building-with-enclave.mdx
@@ -1,10 +1,10 @@
-# Building with Enclave
+# Building with the Interfold
-The Enclave smart contract acts as the central coordinator for all E3 operations. It manages
+The Interfold smart contract acts as the central coordinator for all E3 operations. It manages
computation requests, input validation, Ciphernode Committees (CiCos), and result publication while
maintaining the security and privacy guarantees of the protocol.
-## The Enclave Smart Contract
+## The Interfold Smart Contract
### Core Responsibilities
@@ -71,7 +71,7 @@ contract Enclave {
## E3 Activation
After the public key is published, anyone can activate the E3 by calling the `activate()` function
-in the Enclave contract:
+in the Interfold contract:
```solidity
function activate(
@@ -103,7 +103,7 @@ program implementation). This allows you to:
### Merkle Tree Construction
-Enclave uses a Lean Merkle Tree implementation. Each input is hashed using the PosidenT3 Hash
+The Interfold uses a Lean Merkle Tree implementation. Each input is hashed using the PoseidonT3 Hash
function, and the root is updated with each new input.
Your E3 program should:
@@ -113,8 +113,8 @@ Your E3 program should:
### Input Validation
-As much as possible, you should aim to validate inputs via proofs generated by Data Prodivers,
-rather than in your Secure Process. This pushed computation to the edges and allows you to reduce
+As much as possible, you should aim to validate inputs via proofs generated by Data Providers,
+rather than in your Secure Process. This pushes computation to the edges and allows you to reduce
the complexity of your FHE computation.
Your E3 Program must include logic that validates user inputs. For simplicity, this can be included
@@ -132,7 +132,7 @@ the E3's public key. It is also recommended to bundle in proofs to validate:
### Key Events
-**Enclave Contract Events:**
+**Interfold Contract Events:**
```solidity
event E3Requested(uint256 indexed e3Id, address indexed requester, address e3ProgramAddress);
@@ -151,10 +151,11 @@ event InputPublished(uint256 indexed e3Id, bytes data, uint256 inputHash, uint25
### Result Publication Flow
1. The Compute Provider submits a proof and ciphertext output.
-2. Enclave uses the E3 Program contract to verify the proof and emits `CiphertextOutputPublished`.
+2. The Interfold uses the E3 Program contract to verify the proof and emits
+ `CiphertextOutputPublished`.
3. Ciphernodes decrypt the ciphertext output.
-4. The plaintext result is published
-5. Events are emitted for off-chain services
+4. The plaintext result is then published.
+5. Events are emitted for off-chain services.
## Example Usage
@@ -213,15 +214,15 @@ Program contract to push computation to the edges, reducing the complexity of yo
3. **Result Verification**
-The Enclave protocol will accept and decrypt whatever output is reported by your Compute Provider.
+The Interfold protocol will accept and decrypt whatever output is reported by your Compute Provider.
In other words, your E3s inherit the trust assumptions of your Compute Provider. An incorrectly
implemented Secure Process in your E3 Program or a dishonest or compromised Compute Provider could
leak information.
4. **Event Handling**
-If you are consuming Enclave outputs offchain, allow for sufficient confirmations to be confident in
-the finality of the outcome and to appropriately handle re-orgs.
+If you are consuming Interfold outputs offchain, allow for sufficient block confirmations to be
+confident in the finality of the outcome and to appropriately handle re-orgs.
## Best Practices
diff --git a/docs/pages/ciphernode-operators/index.mdx b/docs/pages/ciphernode-operators/index.mdx
index 3afcaabf3a..2d32672834 100644
--- a/docs/pages/ciphernode-operators/index.mdx
+++ b/docs/pages/ciphernode-operators/index.mdx
@@ -5,9 +5,9 @@ description: 'Overview of ciphernode operations, contracts, and lifecycle'
# Ciphernode Operators
-Ciphernodes are the distributed workers that power the Enclave network. They participate in
-threshold cryptography to enable encrypted computations (E3s) while ensuring no single party can
-access the underlying data.
+Ciphernodes are the distributed workers that power the Interfold network. They participate in
+threshold cryptography to enable encrypted execution environments (E3s) while ensuring no single
+party can access the underlying plaintext data.
## What is a Ciphernode?
@@ -25,11 +25,11 @@ malicious behavior.
## Contract Architecture
-The Enclave protocol uses several contracts that work together:
+The Interfold protocol uses several contracts that work together:
| Contract | Purpose |
| ---------------------- | ------------------------------------------------------------------------------ |
-| **Enclave** | Core coordinator that manages E3 requests and computation lifecycle |
+| **Interfold** | Core coordinator that manages E3 requests and computation lifecycle |
| **CiphernodeRegistry** | Tracks registered operators and manages committee formation |
| **BondingRegistry** | Handles license bonds (ENCL) and ticket balances (ETK) |
| **SlashingManager** | Processes slashing proposals, appeals, and ban enforcement |
@@ -91,14 +91,14 @@ Before operating a ciphernode, ensure you have:
| **Stablecoin** | USDC (or configured fee token) for tickets; minimum 1 ticket worth |
| **ETH** | Gas for transactions on your target network |
| **Hardware** | Linux/macOS, 4+ cores, 8GB+ RAM, stable internet with open UDP port |
-| **Software** | Enclave CLI installed, WebSocket RPC endpoint |
+| **Software** | Interfold CLI installed, WebSocket RPC endpoint |
## Getting Started
Follow these guides in order to become an active ciphernode operator:
1. **[Running a Ciphernode](./ciphernode-operators/running)** - Set up your node using DappNode,
- Enclave CLI, or Docker
+ Interfold CLI, or Docker
2. **[Registration & Licensing](./ciphernode-operators/registration)** - Bond your license,
register, and add tickets
3. **[Tickets & Sortition](./ciphernode-operators/tickets-and-sortition)** - Understand how
diff --git a/docs/pages/ciphernode-operators/registration.mdx b/docs/pages/ciphernode-operators/registration.mdx
index 7db315c51e..5e4ebb263c 100644
--- a/docs/pages/ciphernode-operators/registration.mdx
+++ b/docs/pages/ciphernode-operators/registration.mdx
@@ -39,7 +39,7 @@ Ciphernode status on sepolia:
Ticket balance: 0 (0 available)
License bond: 0
Pending exits: tickets=0, license=0
- Requirements: minTickets=1, ticketPrice=10 EKT, licenseBond=100 ENCL
+ Requirements: minTickets=1, ticketPrice=10 ETK, licenseBond=100 ENCL
```
### Step 2: Bond Your License
@@ -107,7 +107,7 @@ Ciphernode status on sepolia:
Ticket balance: 100 (10 available)
License bond: 100
Pending exits: tickets=0, license=0
- Requirements: minTickets=1, ticketPrice=10 EKT, licenseBond=100 ENCL
+ Requirements: minTickets=1, ticketPrice=10 ETK, licenseBond=100 ENCL
```
## CLI Command Reference
@@ -142,13 +142,13 @@ enclave ciphernode tickets burn --amount
# Register as an operator
enclave ciphernode register
-# Deregister (requires IMT proof)
-enclave ciphernode deregister --proof
+# Deregister (burns tickets and queues all assets for exit)
+enclave ciphernode deregister
-# Force activation check
+# Re-register (also cancels a pending exit)
enclave ciphernode activate
-# Deactivate by withdrawing stake
+# Deactivate by withdrawing stake (without full deregistration)
enclave ciphernode deactivate --tickets --license
# Check status
@@ -203,24 +203,19 @@ Set up alerts for:
- `SlashProposed` events targeting your address
- Low ticket balance approaching minimum
-### Backup Your IMT Proof
+### Monitor Activation Events
-When you register, save the sibling nodes from the `CiphernodeAdded` event. You'll need these to
-deregister:
-
-```bash
-# Store the proof when you register
-enclave ciphernode deregister --proof 0x123...,0x456...,0x789...
-```
+Watch for `OperatorActivationChanged` events targeting your address. These fire whenever your active
+status changes due to balance or bond updates.
## Troubleshooting
-| Issue | Cause | Solution |
-| ------------------------- | -------------------------------------- | ------------------------------------- |
-| `isActive` is false | Below minimum license (80%) or tickets | Add more ENCL or tickets |
-| Registration fails | Already registered or banned | Check `isRegistered()` and ban status |
-| Ticket purchase fails | Insufficient stablecoin or allowance | Ensure balance and approve spending |
-| "NodeNotEligible" in logs | Not registered before E3 request | Register before requests are made |
+| Issue | Cause | Solution |
+| ------------------------- | --------------------------------------- | ---------------------------------------------------- |
+| `isActive` is false | Below minimum license (80%) or tickets | Add more ENCL or tickets |
+| Registration fails | Already registered, banned, or unbonded | Check `isRegistered()`, ban status, and license bond |
+| Ticket purchase fails | Insufficient stablecoin or allowance | Ensure balance and approve spending |
+| "NodeNotEligible" in logs | Not registered before E3 request | Register before requests are made |
## Next Steps
diff --git a/docs/pages/ciphernode-operators/running.mdx b/docs/pages/ciphernode-operators/running.mdx
index 38fa88cc06..c0df166d59 100644
--- a/docs/pages/ciphernode-operators/running.mdx
+++ b/docs/pages/ciphernode-operators/running.mdx
@@ -1,6 +1,6 @@
---
title: 'Running a Ciphernode'
-description: 'Three ways to run a ciphernode: DappNode, Enclave CLI, or Docker'
+description: 'Three ways to run a ciphernode: DappNode, Interfold CLI, or Docker'
---
# Running a Ciphernode
@@ -15,7 +15,8 @@ DappNode provides a user-friendly interface for running a ciphernode with minima
### Installation
1. Open your DappNode UI (`http://my.dappnode`)
-2. Search for **"Enclave Ciphernode"** and install the package
+2. Search for **"Enclave Ciphernode"** (the current package name for the Interfold ciphernode) and
+ install the package
3. The setup wizard will prompt you for:
- `RPC_URL` - WebSocket RPC endpoint (e.g., `wss://ethereum-sepolia-rpc.publicnode.com`)
- `NETWORK` - Network name (e.g., `sepolia`, `mainnet`)
@@ -42,9 +43,9 @@ DappNode provides a user-friendly interface for running a ciphernode with minima
---
-## Method 2: Enclave CLI (Recommended)
+## Method 2: Interfold CLI (Recommended)
-The Enclave CLI provides the most control and is recommended for production deployments.
+The Interfold CLI provides the most control and is recommended for production deployments.
### Install the CLI
@@ -246,7 +247,7 @@ Each chain requires these contract addresses:
| Contract | Description |
| --------------------- | ---------------------------------------- |
-| `enclave` | Main Enclave coordinator |
+| `enclave` | Main Interfold coordinator contract |
| `ciphernode_registry` | Tracks registered operators |
| `bonding_registry` | Manages bonds and tickets |
| `fee_token` | Optional: stablecoin address for tickets |
@@ -265,7 +266,7 @@ Open the following ports:
### Bootstrap Peers
-Connect to the Enclave bootstrap network:
+Connect to the Interfold bootstrap network:
```yaml
peers:
diff --git a/docs/pages/computation-flow.mdx b/docs/pages/computation-flow.mdx
index 97158ed990..b56a26cb43 100644
--- a/docs/pages/computation-flow.mdx
+++ b/docs/pages/computation-flow.mdx
@@ -4,16 +4,17 @@ title: 'Computation Flow'
## Computation Flow
-The computation process within Enclave is decentralized and open, allowing any participant to
-contribute to each phase of execution. This design ensures transparency and flexibility, enabling
-different roles to be fulfilled by various actors, including the application server, Compute
-Providers, or other network participant.
+The computation process within the Interfold protocol is decentralized and open, allowing any
+participant to contribute to each phase of execution. This design ensures transparency and
+flexibility, enabling different roles to be fulfilled by various actors, including the application
+server, Compute Providers, or other network participants.
### Phase 1: Request
1. **Define the E3 Program**: Author your Secure Process using the tooling described in
- [Writing the Secure Process](/write-secure-program). Enclave currently ships first-party support
- for the BFV scheme via [fhe.rs](https://github.com/gnosisguild/fhe.rs) and the SAFE library.
+ [Writing the Secure Process](/write-secure-program). The Interfold currently ships first-party
+ support for the BFV scheme via [fhe.rs](https://github.com/gnosisguild/fhe.rs) and the SAFE
+ library.
2. **Choose a Compute Provider**: Your program must align with the execution backend (e.g.,
[RISC Zero](https://www.risczero.com/) for [CRISP](/CRISP/introduction) or a custom FHE
coprocessor).
@@ -43,7 +44,7 @@ Providers, or other network participant.
### Phase 2: Node Selection
-Each new request to the Enclave contracts initiates a verifiable sortition process to select a
+Each new request to the Interfold contracts initiates a verifiable sortition process to select a
Ciphernode Committee (CiCo). The selected Ciphernodes use the E3 Program parameters to determine the
appropriate Fully Homomorphic Encryption (FHE) scheme, then generate and publish a shared public
encryption key.
@@ -59,10 +60,10 @@ During this phase, Data Providers — who may include individual users, applicat
2. **Input Validation**: Data Providers generate several Zero-Knowledge Proofs about their inputs to
ensure they are valid for the requested E3. Some of these proofs are generic (e.g., proof of
valid encryption) while others will be specific to your application.
-3. **Submit Inputs**: Both encrypted data and ZKPs are submitted to the Enclave contract, which will
- call the `validateInput` function on your E3P smart contract. The input hash is then added to a
- Merkle tree, the root of which can later be used to anchor proofs of correct execution of your E3
- Program.
+3. **Submit Inputs**: Both encrypted data and ZKPs are submitted to the Interfold contract, which
+ will call the `validateInput` function on your E3P smart contract. The input hash is then added
+ to a Merkle tree, the root of which can later be used to anchor proofs of correct execution of
+ your E3 Program.
```solidity
function validateInput(address sender, bytes memory data) external returns (bytes memory input);
@@ -71,12 +72,12 @@ During this phase, Data Providers — who may include individual users, applicat
### Phase 4: Execution
In this phase, the Compute Provider (CP) executes the Secure Process defined in your E3 Program and
-publishes the encrypted output back to Enclave contract.
+publishes the encrypted output back to the Interfold contract.
1. **Execution**: The CP retrieves encrypted inputs and executes the Secure Process defined in your
E3 program.
2. **Publish Output**: Your E3 Program contract must implement a `verify` function that will be
- invoked by the Enclave contract to publish the ciphertext output of your computation.
+ invoked by the Interfold contract to publish the ciphertext output of your computation.
```solidity
function publishCiphertextOutput(
@@ -90,7 +91,7 @@ publishes the encrypted output back to Enclave contract.
After the ciphertext output is published, the CiCo for the given E3 coordinates to decrypt the
ciphertext output and publish the resulting plaintext. The plaintext output can be queried from the
-Enclave contract's `getE3()` function.
+Interfold contract's `getE3()` function.
```solidity
function getE3(uint256 e3Id) external view returns (E3 memory e3);
diff --git a/docs/pages/compute-provider.mdx b/docs/pages/compute-provider.mdx
index 0dd48b02a9..6043a4292c 100644
--- a/docs/pages/compute-provider.mdx
+++ b/docs/pages/compute-provider.mdx
@@ -5,8 +5,8 @@ description: ''
# Compute Provider (CP)
-Compute Providers form the modular compute layer of the Enclave protocol, allowing you to choose the
-optimal balance of trust, cost, and scalability for your application. CPs are responsible for
+Compute Providers form the modular compute layer of the Interfold protocol, allowing you to choose
+the optimal balance of trust, cost, and scalability for your application. CPs are responsible for
running your E3 Program's Secure Process and reporting results back to your E3 Program's smart
contract.
@@ -22,10 +22,10 @@ Select a CP that suits your needs. Options include:
**Verifiable**
- [RISC Zero zkVM](https://www.risczero.com/)
-- [Succint SP1](https://docs.succinct.xyz/) (coming soon)
+- [Succinct SP1](https://docs.succinct.xyz/) (coming soon)
- [Jolt](https://jolt.a16zcrypto.com/) (coming soon)
-**Oracle-Based Systems**
+**Oracle-based systems**
- zkTLS VMs (coming soon)
- Committee-based oracles (coming soon)
@@ -33,10 +33,10 @@ Select a CP that suits your needs. Options include:
**Custom**
-- You can also implement your own custom CP. From Enclave's perspective, it simply requires a
+- You can also implement your own custom CP. From Interfold's perspective, it simply requires a
contract that conforms to `IComputeProvider`.
-**Factors to Consider:**
+**Factors to consider:**
- **Verifiability**: Consider whether or not your use case requires cryptographic guarantees of
correct execution.
@@ -45,7 +45,7 @@ Select a CP that suits your needs. Options include:
- **Performance**: Verifiable systems will often be less performant compared to oracle-based CPs.
- **Language Support**: Choose a CP that supports the programming languages you're comfortable with.
-Enclave provides a
+The Interfold provides a
[Compute Provider package](https://github.com/gnosisguild/CRISP/tree/main/crates/compute-provider)
to simplify the integration, letting you focus on computation logic. More details can be found in
the [Writing the Secure Process](./write-secure-program.mdx) guide.
@@ -61,7 +61,7 @@ template includes a basic program that can be used to get started with the smart
verify the proof.
Follow the instructions in the
-[Boundless Foundry template](https://github.com/boundless-xyz/boundless-foundry-template) to setup
+[Boundless Foundry template](https://github.com/boundless-xyz/boundless-foundry-template) to set up
RISC Zero with Boundless.
Ensure the following tools are installed:
@@ -84,7 +84,7 @@ To install `rzup`, run the following command and follow the instructions:
curl -L https://risczero.com/install | bash
```
-Next we can install the RISC Zero toolchain by running `rzup`:
+Next, install the RISC Zero toolchain by running `rzup`:
```sh
rzup
diff --git a/docs/pages/getting-started.mdx b/docs/pages/getting-started.mdx
index db040d3b1c..8a2385bab0 100644
--- a/docs/pages/getting-started.mdx
+++ b/docs/pages/getting-started.mdx
@@ -5,16 +5,16 @@ description: ''
# Build an E3 Program
-Enclave's Encrypted Execution Environments (E3) are a powerful way to run code over securely
-encrypted data, producing meaningful combined outputs without exposing sensitive inputs. This guide
-will walk you through building an E3 Program, covering:
+The Interfold's Encrypted Execution Environments (E3s) allow programs to run over encrypted inputs,
+producing meaningful combined outputs without exposing sensitive data. This guide walks you through
+building an E3 Program, covering:
1. Setting up a Compute Provider.
2. Writing the Secure Process for your E3 Program.
3. Implementing the required smart contract components.
4. Exploring possible client implementations.
-Enclave's network of Ciphernodes and client-side encryption tools handle much of the complexity,
-allowing you to focus solely on the logic of your specific E3 Program.
+The Interfold network of Ciphernodes and client-side encryption tools handle much of the complexity,
+allowing you to focus on the logic of your specific E3 Program.
Let's begin by setting up a Compute Provider.
diff --git a/docs/pages/hello-world-tutorial.mdx b/docs/pages/hello-world-tutorial.mdx
index 26663804cb..890f401eb8 100644
--- a/docs/pages/hello-world-tutorial.mdx
+++ b/docs/pages/hello-world-tutorial.mdx
@@ -23,7 +23,7 @@ We'll create a simple E3 program that:
Before starting, ensure you have:
-- [Enclave CLI installed](/installation)
+- [Interfold CLI installed](/installation)
- Basic knowledge of Rust and TypeScript
- Rust, Docker, Node.js, and pnpm installed
@@ -44,7 +44,7 @@ hello-world-e3/
├── contracts/ # Smart contracts (Solidity)
├── client/ # Frontend application (React/TypeScript)
├── server/ # Coordination server (TypeScript)
-├── enclave.config.yaml # Enclave configuration
+├── enclave.config.yaml # Interfold configuration
└── README.md # Project documentation
```
@@ -98,7 +98,7 @@ use fhe_traits::{DeserializeParametrized, Serialize};
pub fn fhe_processor(fhe_inputs: &FHEInputs) -> Vec {
let params = decode_bfv_params_arc(&fhe_inputs.params);
- // Get the two input ciphertexts
+ // Extract the two input ciphertexts
if fhe_inputs.ciphertexts.len() != 2 {
panic!("Expected exactly 2 inputs");
}
@@ -160,8 +160,8 @@ pnpm dev:all
The client application (in `./client/`) handles:
1. **Encryption**: User inputs → encrypted ciphertexts
-2. **Submission**: Publish encrypted data to the Enclave contract
-3. **Result retrieval**: Get the decrypted result from the Enclave contract
+2. **Submission**: Publish encrypted data to the Interfold contract
+3. **Result retrieval**: Get the decrypted result from the Interfold contract
## Step 7: Test Your Program
@@ -187,13 +187,13 @@ let result = &a_squared + &b_squared;
### Add More Inputs
-Modify your program to accept 3 or more encrypted inputs.
+Modify your program to accept three or more encrypted inputs.
### Update the UI
Customize the client application in `./client/src/` to match your computation.
-Happy building with Enclave! 🚀
+Happy building with the Interfold! 🚀
## Next Steps
diff --git a/docs/pages/installation.mdx b/docs/pages/installation.mdx
index 312e2a1f91..8bf3f77ed8 100644
--- a/docs/pages/installation.mdx
+++ b/docs/pages/installation.mdx
@@ -1,21 +1,21 @@
---
title: 'Installation'
-description: 'Install and set up the Enclave CLI'
+description: 'Install and set up the Interfold CLI'
---
# Installation
-This guide covers how to install the Enclave CLI and get your development environment set up.
+This guide covers how to install the Interfold CLI and get your development environment set up.
## Prerequisites
-Before installing Enclave, make sure you have the following dependencies:
+Before installing Interfold, make sure you have the following dependency installed:
- [Rust](https://www.rust-lang.org/tools/install)
## Quick Install (Recommended)
-The easiest way to install the Enclave CLI is using our installer script:
+The easiest way to install the Interfold CLI is using our installer script:
```bash
curl -fsSL https://raw.githubusercontent.com/gnosisguild/enclave/main/install | bash
@@ -27,14 +27,14 @@ Or if you prefer `wget`:
wget -qO- https://raw.githubusercontent.com/gnosisguild/enclave/main/install | bash
```
-This script will download and install `enclaveup`, which is the standalone installer for the Enclave
-CLI.
+This script will download and install `enclaveup`, which is the standalone installer for the
+Interfold CLI.
## Using enclaveup
-Once you have `enclaveup` installed, you can manage your Enclave CLI installation:
+Once you have `enclaveup` installed, you can manage your Interfold CLI installation:
-### Install the Enclave CLI
+### Install the Interfold CLI
```bash
# Install to ~/.local/bin (default)
@@ -44,7 +44,7 @@ enclaveup install
enclaveup install --system
```
-Running `enclaveup install` will install the latest version of the Enclave CLI. See
+Running `enclaveup install` will install the latest version of the Interfold CLI. See
`enclaveup --help` for more options.
## Manual Installation
@@ -52,7 +52,7 @@ Running `enclaveup install` will install the latest version of the Enclave CLI.
If you prefer to install manually:
1. Visit the [releases page](https://github.com/gnosisguild/enclave/releases)
-2. Download the appropriate binary for your platform:
+2. Download the appropriate release archive for your platform:
- Linux: `enclave-linux-x86_64.tar.gz`
- macOS: `enclave-macos-aarch64.tar.gz`
3. Extract the binary and place it in your PATH (e.g., `~/.local/bin` or `/usr/local/bin`)
@@ -88,17 +88,17 @@ cargo install --locked --path ./crates/cli --bin enclave -f
## Verify Installation
-After installation, verify that the Enclave CLI is working correctly:
+After installation, verify that the Interfold CLI is working correctly:
```bash
enclave --help
```
-You should see the help information for the Enclave CLI.
+You should see the help information for the Interfold CLI.
## Next Steps
-Once you have the Enclave CLI installed, you're ready to:
+Once you have the Interfold CLI installed, you're ready to:
1. [Run your first E3 program](/quick-start)
2. [Learn about E3 concepts](/what-is-e3)
diff --git a/docs/pages/introduction.mdx b/docs/pages/introduction.mdx
index 9f8942d91d..3dc845fe4b 100644
--- a/docs/pages/introduction.mdx
+++ b/docs/pages/introduction.mdx
@@ -1,38 +1,65 @@
-
+## Welcome to the Interfold Developer Docs!
-## Welcome to the Enclave Developer Docs!
+> **Note on naming**
+>
+> The Interfold was previously known as **Enclave**.
+> Some repositories, package names, and CLI commands may still use `enclave` while the transition is
+> in progress.
+>
+> These references will be updated over time and do not affect functionality.
-**Here you'll find guides, resources, and references to build with Enclave.**
+**Here you'll find guides, references, and implementation resources for building on the Interfold
+protocol.**
-If you're looking to build secure, privacy-preserving applications that compute over encrypted data
-from multiple sources, you're in the right place. Enclave is an open-source protocol for **Encrypted
-Execution Environments (E3)**, enabling secure and confidential computations without exposing
-sensitive data.
+If you're looking to build applications that coordinate computation across private inputs without
+taking custody of sensitive data, you're in the right place.
-### Why Use Enclave?
+The Interfold is an open-source protocol that coordinates Encrypted Execution Environments (E3s)
+through a distributed network of ciphernodes. It allows independent parties to produce shared,
+verifiable outcomes from private inputs without custody, exposure, or trusted hardware.
-Enclave enables your application to perform computations on encrypted data, producing public results
-while preserving input and intermediate-state privacy. With strong cryptoeconomic guarantees,
-Enclave enables computations where sensitive inputs are never decrypted.
+For example, the Interfold can coordinate sealed-bid auctions where participants submit encrypted
+bids, the winning outcome is computed without revealing individual inputs, and the result is
+publicly verifiable.
-Key use cases include:
+### Why Use the Interfold?
-- **Processing Sensitive Data**: Handle personal, financial, or otherwise confidential data without
- taking custody of plaintext.
-- **Meeting Regulatory Requirements**: Build applications compliant with data protection laws like
- HIPAA or GDPR.
-- **Eliminating Trust Issues**: Minimized reliance on trusted parties or specialized hardware for
- securing sensitive data.
+The Interfold enables applications that coordinate computation across independent parties without
+exposing their private inputs. Instead of pooling sensitive data or delegating execution authority
+to a centralized operator, the protocol executes encrypted workflows across a distributed network of
+ciphernodes.
-Enclave achieves this by providing a framework where data remains encrypted during computation,
-leveraging a combination of advanced cryptographic techniques: **Fully Homomorphic Encryption
-(FHE)**, **Zero-Knowledge Proofs (ZKPs)**, and **Distributed Threshold Cryptography (DTC)**.
+This makes it possible to build systems where multiple parties contribute private inputs to produce
+a shared, verifiable outcome while preserving confidentiality throughout execution.
+
+## Key Use Cases
+
+- **Sealed Auctions and Private Markets:** Enable auctions and market mechanisms where bids remain
+ private while outcomes remain verifiable.
+- **Private Voting and Governance:** Build voting systems that preserve ballot secrecy while
+ producing publicly verifiable results.
+- **Processing Sensitive Data:** Handle personal, financial, or otherwise confidential data without
+ taking custody of plaintext inputs.
+- **Multiparty Computation Workflows:** Coordinate computation across independent parties
+ contributing private inputs without pooling their data.
+- **Collaborative Data Analysis:** Allow organizations to jointly compute over sensitive datasets
+ without exposing underlying records.
+- **Meeting Regulatory Requirements:** Build applications compatible with data protection
+ requirements such as HIPAA or GDPR.
+
+## Cryptographic Stack
+
+The Interfold coordinates encrypted execution using a combination of Fully Homomorphic Encryption
+(FHE), Zero-Knowledge Proofs (ZKPs), and Distributed Threshold Cryptography (DTC).
+
+These components enable computation on encrypted inputs, verification of correct execution, and
+distributed control of decryption through the network of ciphernodes.
### What You'll Learn
-This documentation covers everything you need to get started with Enclave, including:
+This documentation covers everything you need to get started with the Interfold, including:
-- Core concepts of Enclave and E3s.
-- Building applications using the Enclave protocol.
-- Step-by-step guides for setting up and executing computations.
+- Core concepts behind the Interfold protocol and E3s.
+- Building applications on the Interfold protocol.
+- Step-by-step guides for configuring and executing E3 workflows.
- Code examples and best practices to streamline development.
diff --git a/docs/pages/noir-circuits.mdx b/docs/pages/noir-circuits.mdx
index 3fb9424a49..c29331edbc 100644
--- a/docs/pages/noir-circuits.mdx
+++ b/docs/pages/noir-circuits.mdx
@@ -1,13 +1,13 @@
---
title: 'Noir Circuits'
-description: 'Build and reuse Noir circuits for Enclave programs'
+description: 'Build and reuse Noir circuits for Interfold programs'
---
# Noir Circuits & Libraries
-Enclave ships a dedicated Noir workspace under `circuits/` plus reusable libraries (SAFE sponge API,
-polynomial utilities, Greco BFV proofs, etc.). Use these circuits as-is or vendor them into your own
-E3 programs.
+The Interfold ships a dedicated Noir workspace under `circuits/` plus reusable libraries (SAFE
+sponge API, polynomial utilities, Greco BFV proofs, etc.). Use these circuits as-is or vendor them
+into your own E3 programs.
## Workspace layout
@@ -22,7 +22,7 @@ circuits/
└── target/ # build artifacts (created by nargo)
```
-Each library has its own `README.md` describing APIs and dependency stanza. Example (`safe`):
+Each library has its own `README.md` describing APIs and dependency blocks. Example (`safe`):
```toml
[dependencies]
diff --git a/docs/pages/project-template.mdx b/docs/pages/project-template.mdx
index d3a199262c..663c7e48da 100644
--- a/docs/pages/project-template.mdx
+++ b/docs/pages/project-template.mdx
@@ -13,7 +13,7 @@ playground for building and testing E3 programs without copying the entire monor
```
my-first-e3/
-├── contracts/ # Hardhat workspace with Enclave adapters + your E3 program contracts
+├── contracts/ # Hardhat workspace with Interfold adapters + your E3 program contracts
├── program/ # RISC Zero guest code
├── server/ # TypeScript coordination server
├── client/ # React + Vite frontend wired to @enclave-e3/sdk
@@ -22,24 +22,24 @@ my-first-e3/
├── tests/ # Integration + contract tests
├── enclave.config.yaml # Node + chain config consumed by the CLI
├── package.json # Dev orchestrator scripts
-└── .enclave/ # cached CLI state (ignored by git)
+└── .enclave/ # cached CLI state (ignored by Git)
```
Each workspace shares the same `pnpm` root so dependencies stay in sync.
## Commands
-| Script | Purpose |
-| ----------------------- | ----------------------------------------------------------------------------------------------------------------------- |
-| `pnpm dev:all` | Spins up Hardhat, deploys contracts, launches the RISC0 program server, coordination server, frontend, and ciphernodes. |
-| `pnpm dev:evm` | Runs `hardhat node` on `http://localhost:8545`. |
-| `pnpm dev:program` | Starts the RISC0 guest runner. Pass `--dev` to skip real proving. |
-| `pnpm dev:server` | Boots the TypeScript coordination server with hot reload. |
-| `pnpm dev:frontend` | Launches the Vite client on `http://localhost:3000`. |
-| `pnpm dev:ciphernodes` | Calls the Enclave CLI to launch the nodes defined in `enclave.config.yaml`. |
-| `pnpm compile` | Compiles Solidity contracts. |
-| `pnpm test` | Runs Hardhat tests. |
-| `pnpm test:integration` | Executes the end-to-end flow in `tests/`. |
+| Script | Purpose |
+| ----------------------- | --------------------------------------------------------------------------------------------------------------------------- |
+| `pnpm dev:all` | Spins up Hardhat, deploys contracts, launches the RISC Zero program server, coordination server, frontend, and ciphernodes. |
+| `pnpm dev:evm` | Runs `hardhat node` on `http://localhost:8545`. |
+| `pnpm dev:program` | Starts the RISC Zero guest runner. Pass `--dev` to skip real proving. |
+| `pnpm dev:server` | Boots the TypeScript coordination server with hot reload. |
+| `pnpm dev:frontend` | Launches the Vite client on `http://localhost:3000`. |
+| `pnpm dev:ciphernodes` | Calls the Interfold CLI to launch the nodes defined in `enclave.config.yaml`. |
+| `pnpm compile` | Compiles Solidity contracts. |
+| `pnpm test` | Runs Hardhat tests. |
+| `pnpm test:integration` | Executes the end-to-end flow in `tests/`. |
Before `dev:all` runs, the `predev:all` hook calls `enclave program compile` so the latest zkVM
image is ready; skip this by exporting `SKIP_PROGRAM_COMPILE=1`.
@@ -48,13 +48,14 @@ image is ready; skip this by exporting `SKIP_PROGRAM_COMPILE=1`.
- `client/.env`: contains `VITE_` variables for contract addresses, RPC URLs, and optional feature
flags.
-- `server/.env`: holds the operator wallet key (never commit), RPC endpoints, and cron API tokens.
+- `server/.env`: holds the operator wallet key (never commit this file), RPC endpoints, and cron API
+ tokens.
- `enclave.config.yaml`: describes your Ciphernodes and aggregator profile. The default file mirrors
the template you saw earlier in this repo.
## Integrating the SDK
-The template already wires the [Enclave SDK](/sdk):
+The template already wires the [Interfold SDK](/sdk):
- `client/src/sdk.ts` exports a singleton `EnclaveSDK`
- `client/src/hooks/useE3.ts` wraps `useEnclaveSDK`
diff --git a/docs/pages/putting-it-together.mdx b/docs/pages/putting-it-together.mdx
index fa3217ca88..72bcf0dd9f 100644
--- a/docs/pages/putting-it-together.mdx
+++ b/docs/pages/putting-it-together.mdx
@@ -11,7 +11,7 @@ Program using RISC Zero.
- **Install Required Tools**:
- Rust and Cargo
- - Node.js and Yarn
+ - Node.js and pnpm or Yarn
- Foundry and Anvil for Ethereum development
- RISC Zero toolchain
@@ -133,16 +133,16 @@ contract MyE3Program is CRISPBase {
### Step 5: Deploy Contracts
-- Deploy the Enclave contract to your desired network.
-- Deploy your E3 Program contract and register it with the Enclave contract.
+- Deploy the Interfold contracts to your desired network.
+- Deploy your E3 Program contract and register it with the Interfold contract.
### Step 6: Run Ciphernodes
-- Start Ciphernodes and ensure they are registered with the Enclave contract.
+- Start Ciphernodes and ensure they are registered with the Interfold contract.
### Step 7: Submit a Computation Request
-- Use your application or a script to submit a computation request to the Enclave contract.
+- Use your application or a script to submit a computation request to the Interfold contract.
**Example (JavaScript):**
@@ -176,19 +176,19 @@ await EnclaveContract.request(
### Step 11: Retrieve Final Result
- Listen for the `PlaintextOutputPublished` event.
-- Retrieve the plaintext result from the Enclave contract.
+- Retrieve the plaintext result from the Interfold contract.
---
## Conclusion
-By following this guide, you should now have a solid understanding of Enclave and how to build your
-own E3 Programs. Enclave provides a powerful framework for secure, privacy-preserving computations
-over encrypted data, enabling a new class of decentralized applications.
+By following this guide, you should now have a solid understanding of the Interfold and how to build
+your own E3 Programs. The Interfold provides a framework for privacy-preserving computations over
+encrypted data, enabling a new class of decentralized applications.
**Key Takeaways:**
-- Enclave distributes trust and ensures data remains encrypted throughout computation.
+- The Interfold distributes trust and ensures data remains encrypted throughout computation.
- The modular architecture allows for flexibility in choosing Compute Providers and designing
computations.
- The provided Compute Provider package simplifies integration and handles complex tasks like Merkle
@@ -198,13 +198,13 @@ over encrypted data, enabling a new class of decentralized applications.
## Additional Resources
-- **Enclave GitHub Repository**:
+- **Interfold GitHub Repository**:
[https://github.com/gnosisguild/enclave](https://github.com/gnosisguild/enclave)
- **CRISP GitHub Repository**:
[https://github.com/gnosisguild/enclave](https://github.com/gnosisguild/enclave/tree/main/examples/CRISP)
-- **Enclave Quick Start**: [Quick Start](/quick-start)
+- **Interfold Quick Start**: [Quick Start](/quick-start)
- **RISC Zero Documentation**: [https://www.risczero.com](https://www.risczero.com)
-- **Compute Provider Package**: Check the Enclave repository for the Compute Provider package and
+- **Compute Provider Package**: Check the Interfold repository for the Compute Provider package and
examples.
- **FHE Libraries**: Explore libraries like `fhe.rs` for Rust to handle homomorphic encryption.
- **Zero-Knowledge Proof Libraries**: Use libraries like `risc0-zkvm` for proof generation and
@@ -215,4 +215,4 @@ over encrypted data, enabling a new class of decentralized applications.
**Happy Building!**
If you have any questions or need further assistance, feel free to reach out to
-[Gnosis Guild](https://gnosisguild.org), the initial development team building Enclave.
+[Gnosis Guild](https://gnosisguild.org), the initial development team building the Interfold.
diff --git a/docs/pages/quick-start.mdx b/docs/pages/quick-start.mdx
index 14a64ce372..d3d6f6e154 100644
--- a/docs/pages/quick-start.mdx
+++ b/docs/pages/quick-start.mdx
@@ -5,8 +5,8 @@ description: 'Get up and running with your first E3 program'
# Quick Start
-Get your first E3 program running on the Enclave Protocol! This guide assumes you have the
-[Enclave CLI installed](/installation).
+Get your first E3 program running on the Interfold protocol! This guide assumes you have the
+[Interfold CLI installed](/installation).
## Prerequisites Check
@@ -96,7 +96,7 @@ You successfully ran a **Fully Homomorphic Encryption** computation where:
- Your inputs were encrypted before leaving the browser
- The computation happened on encrypted data
- The result was computed without exposing your private inputs
-- All coordination was handled by the Enclave protocol
+- All coordination was handled by the Interfold protocol
## Next Steps
diff --git a/docs/pages/sdk.mdx b/docs/pages/sdk.mdx
index 3b0d76cbd7..1ebebbd2b1 100644
--- a/docs/pages/sdk.mdx
+++ b/docs/pages/sdk.mdx
@@ -1,11 +1,11 @@
---
-title: 'Enclave SDK'
+title: 'Interfold SDK'
description: 'Use the TypeScript + React SDKs to drive E3 programs from clients and services'
---
-# Enclave SDK Overview
+# Interfold SDK Overview
-The Enclave SDK (`@enclave-e3/sdk`) and React helpers (`@enclave-e3/react`) provide a
+The Interfold SDK (`@enclave-e3/sdk`) and React helpers (`@enclave-e3/react`) provide a
batteries-included client stack for requesting E3 computations, subscribing to protocol events, and
coordinating custom frontends or backend services. Both packages ship in this repository (see
`packages/enclave-sdk` and `packages/enclave-react`).
@@ -161,9 +161,9 @@ const pk = await generatePublicKey('INSECURE_THRESHOLD_512')
const ct = await encryptNumber(42n, pk, 'INSECURE_THRESHOLD_512')
```
-## Modular sub-module imports
+## Modular submodule imports
-The SDK is organized into three sub-modules (`contracts`, `events`, `crypto`) that can be imported
+The SDK is organized into three submodules (`contracts`, `events`, `crypto`) that can be imported
independently for tree-shaking:
```ts
@@ -176,7 +176,7 @@ All exports are also available from the main `@enclave-e3/sdk` entry point.
## Configuration contract map
-Provide the Enclave, CiphernodeRegistry, and FeeToken addresses. The template exposes these via
+Provide the Interfold, CiphernodeRegistry, and FeeToken addresses. The template exposes these via
`.env` / `enclave.config.yaml`. For multi-chain apps, instantiate separate SDK instances per chain.
## Working with the template
@@ -195,7 +195,7 @@ addresses, then restart the dev server so the SDK reconnects.
## Application-specific SDKs
For complex E3 programs with specialized requirements, you may want to build an application-specific
-SDK on top of or alongside the Enclave SDK. For example,
+SDK on top of or alongside the Interfold SDK. For example,
[CRISP](https://github.com/gnosisguild/enclave/tree/main/examples/CRISP) uses `@crisp-e3/sdk`, which
provides:
@@ -207,14 +207,14 @@ provides:
If your E3 program requires specialized cryptographic operations, domain-specific logic, or
application-level abstractions beyond basic protocol interactions, consider building a dedicated SDK
-that wraps or complements the core Enclave SDK.
+that wraps or complements the core Interfold SDK.
## Advanced usage
- **Historical events**: `sdk.getHistoricalEvents(type, fromBlock, toBlock)` fetches logs without a
WebSocket provider; useful for CRON jobs or health checks.
- **Gas controls**: pass `gasLimit` to `requestE3`, `publishCiphertextOutput`, or other write
- methods if you want fixed limits when interacting with Enclave on L2s.
+ methods if you want fixed limits when interacting with Interfold on L2s.
- **Event polling**: `sdk.startEventPolling()` is handy in serverless environments where websockets
are unavailable.
- **Custom transports**: on the server, call `createWalletClient({ account, transport: http(rpc) })`
diff --git a/docs/pages/setting-up-server.mdx b/docs/pages/setting-up-server.mdx
index bf29d6bcb2..24caabffdb 100644
--- a/docs/pages/setting-up-server.mdx
+++ b/docs/pages/setting-up-server.mdx
@@ -1,13 +1,13 @@
---
title: 'Setting Up the Client and Server'
-description: 'Build client applications and coordination servers using the Enclave SDK'
+description: 'Build client applications and coordination servers using the Interfold SDK'
---
# Setting Up the Client and Server
Building E3 applications involves creating client-side interfaces for users and coordination logic
-for managing the E3 lifecycle. The Enclave SDK provides powerful TypeScript and React tools to
-streamline this development process.
+for managing the E3 lifecycle. The Interfold SDK provides powerful TypeScript and React tools to
+streamline development.
## Overview
@@ -18,7 +18,7 @@ Modern E3 applications typically consist of:
3. **Event Management**: Real-time monitoring of E3 lifecycle events
4. **Contract Interactions**: Type-safe smart contract communication
-The Enclave SDK handles much of this complexity for you, providing:
+The Interfold SDK handles much of this complexity for you, providing:
- Type-safe contract interactions
- Real-time event listening
@@ -29,7 +29,7 @@ The Enclave SDK handles much of this complexity for you, providing:
### Install the SDK
-For TypeScript/JavaScript applications install the TypeScript SDK:
+For TypeScript/JavaScript applications, install the TypeScript SDK:
```bash
pnpm add @enclave-e3/sdk
@@ -43,7 +43,7 @@ pnpm add @enclave-e3/sdk @enclave-e3/react
### Basic TypeScript Client
-Create a type-safe client that can interact with Enclave contracts:
+Create a type-safe client that can interact with Interfold contracts:
```typescript
import { EnclaveSDK, EnclaveEventType } from '@enclave-e3/sdk'
@@ -182,7 +182,7 @@ export default E3Dashboard;
The SDK provides comprehensive event handling for the entire E3 lifecycle:
-### Enclave Events
+### Interfold Events
```typescript
// Listen to key E3 lifecycle events
@@ -354,5 +354,5 @@ const prodConfig = {
}
```
-The Enclave SDK abstracts away much of the complexity, allowing you to focus on your application's
-unique business logic while ensuring robust, type-safe interaction with the Enclave protocol.
+The Interfold SDK abstracts away much of the complexity, allowing you to focus on your application's
+unique business logic while ensuring robust, type-safe interaction with the Interfold protocol.
diff --git a/docs/pages/use-cases.mdx b/docs/pages/use-cases.mdx
index 238a14e24e..575a7f520e 100644
--- a/docs/pages/use-cases.mdx
+++ b/docs/pages/use-cases.mdx
@@ -2,19 +2,19 @@
title: 'Use Cases'
---
-# Unlocking Enclave Use Cases
+# Unlocking Interfold Use Cases
Leading confidential-compute platforms such as Ritual, Fhenix, and Olas showcase their ecosystems by
-highlighting concrete scenarios, personas, and playbooks. This page borrows that structure so you
-can quickly map Enclave building blocks to the outcomes you need.
+highlighting concrete scenarios, personas, and implementation patterns. This page borrows that
+structure so you can quickly map Interfold building blocks to the outcomes you need.
## Confidential Governance (CRISP-style)
- **Problem**: Public DAOs struggle to keep tallies, delegations, and vote rationales private during
sensitive decisions.
-- **Pattern**: Use the CRISP template (client, Rust server, Noir circuits) with the Enclave SDK.
+- **Pattern**: Use the CRISP template (client, Rust server, Noir circuits) with the Interfold SDK.
- **Flow**: DAO admins request an E3 round, contributors encrypt ballots in the browser, and
- Ciphernodes publish a verifiable plaintext tally once the compute provider finishes.
+ Ciphernodes publish the plaintext tally once the compute provider finishes execution.
- **Extras**: Plug Synpress or Playwright into the client for scripted voting drills.
## Private Auctions & Matching Markets
@@ -22,7 +22,7 @@ can quickly map Enclave building blocks to the outcomes you need.
- **Problem**: Sealed-bid auctions or RFQ desks cannot run on public ledgers without leaking prices.
- **Pattern**: Model each bid as an input validated by account-specific ZKPs (range/whitelist) and
aggregate them off-chain using BFV-friendly arithmetic in your Secure Process.
-- **Flow**: Traders submit encrypted bids, the compute provider selects the clearing price, and the
+- **Flow**: Traders submit encrypted bids, the compute provider computes the clearing price, and the
plaintext output unlocks settlement logic.
- **Extras**: Pair with Foundry scripts (similar to Fhenix's CoFHE quick starts) to simulate extreme
bidding volumes before mainnet.
@@ -32,9 +32,9 @@ can quickly map Enclave building blocks to the outcomes you need.
- **Problem**: Networks such as Ritual and Olas expose agent marketplaces; those agents still need a
privacy-preserving substrate for sensitive scoring, routing, or risk checks.
- **Pattern**: Treat each agent as a Data Provider, push policy enforcement into an
- `IInputValidator`, and let Enclave host shared state transitions (e.g., allocating budget or
+ `IInputValidator`, and let the Interfold host shared state transitions (e.g., allocating budget or
updating trust scores).
-- **Flow**: Agents encrypt telemetry, the Secure Process derives rankings, and downstream contracts
+- **Flow**: Agents encrypt telemetry, the Secure Process computes rankings, and downstream contracts
or marketplaces read the published plaintext.
- **Extras**: Use `customParams` inside `E3RequestParams` to tag rounds per agent vertical (NFT
curation, wallet assistants, on-chain AI retrieval).
diff --git a/docs/pages/what-is-e3.mdx b/docs/pages/what-is-e3.mdx
index eace47b492..ad24fa301e 100644
--- a/docs/pages/what-is-e3.mdx
+++ b/docs/pages/what-is-e3.mdx
@@ -1,44 +1,46 @@
## Encrypted Execution Environment (E3)
-An **Encrypted Execution Environment (E3)** is a decentralized framework designed to allow secure
-computation over encrypted data from multiple sources. E3s ensure data privacy and computational
-integrity by combining three essential components:
+An **Encrypted Execution Environment (E3)** enables secure computation over encrypted inputs from
+multiple independent parties. E3s combine three essential components to preserve input
+confidentiality and support correct execution:
-1. **Fully Homomorphic Encryption (FHE):** Enables computations directly on encrypted data without
- needing to decrypt it, maintaining security from start to finish.
-2. **Zero-Knowledge Proofs (ZKPs):** Allow verification of data and computations without revealing
- sensitive information, offering a way to validate accuracy while preserviing privacy.
-3. **Distributed Threshold Cryptography (DTC):** Distributes cryptographic keys across multiple
- nodes, eliminating single points of failure and enhancing the framework’s resilience against
- breaches.
+1. **Fully Homomorphic Encryption (FHE):** Enables computation directly on encrypted data without
+ decrypting it.
+2. **Zero-Knowledge Proofs (ZKPs):** Enable verification of inputs and computation without revealing
+ sensitive information, making it possible to validate correctness while preserving privacy.
+3. **Distributed Threshold Cryptography (DTC):** Distributes cryptographic key control across
+ multiple ciphernodes, reducing reliance on any single operator and eliminating single points of
+ failure.
-Together, these components create a secure, verifiable framework for privacy-preserving computation.
+Together, these components make it possible to compute across private inputs without exposing the
+underlying data.
-### When to Use E3
+### When to Use E3s
-E3s are ideal for scenarios where you want to:
+E3s are useful when you need to:
-- Compute over sensitive data from multiple parties without taking custody of the plaintext data.
-- Ensure compliance with data protection laws like GDPR or HIPAA.
-- Reduce liability when interacting with sensitive data.
-- Derive insights from otherwise inaccessible or sensitive datasets.
-- Eliminate trust in any single party or hardware component.
+- Compute across sensitive inputs from multiple parties without taking custody of the underlying
+ plaintext data.
+- Build workflows compatible with data protection requirements such as GDPR or HIPAA.
+- Reduce operational and legal liability when handling sensitive data.
+- Produce shared results from otherwise inaccessible or sensitive datasets.
+- Reduce reliance on any single operator or trusted hardware component.
### Practical Use Cases
-- **Secret Ballots**: Implement verifiable and private voting systems.
-- **Secure Data Analysis**: Perform computations on private datasets without taking custody of raw
- data.
-- **Collaborative Research**: Enable multiple organizations to securely aggregate and analyze data
- without mutual data sharing.
+- **Secret Ballots**: Implement voting systems that preserve ballot secrecy while producing
+ verifiable outcomes.
+- **Secure Data Analysis**: Compute across private datasets without taking custody of raw data.
+- **Collaborative Research**: Enable multiple organizations to jointly analyze sensitive data
+ without sharing the underlying records.
-### How E3 Works for Developers
+### How E3s Work for Developers
-As a developer, interacting with an E3 involves:
+As a developer, building with an E3 typically involves:
-- Defining the computation logic (E3 Program).
-- Configuring parameters for the execution environment.
-- Submitting encrypted data inputs.
-- Retrieving and verifying the computation results.
+- Defining the computation logic for the E3 Program.
+- Configuring the parameters for the execution environment.
+- Submitting encrypted inputs.
+- Retrieving and verifying the result.
-Each of these steps will be covered in detail in the following sections.
+Each of these steps is covered in detail in the following sections.
diff --git a/docs/pages/whitepaper.mdx b/docs/pages/whitepaper.mdx
index 6bec5e8ea9..e242dcfc9e 100644
--- a/docs/pages/whitepaper.mdx
+++ b/docs/pages/whitepaper.mdx
@@ -1,5 +1,5 @@
---
-title: 'Whitepaper'
+title: 'Enclave Whitepaper'
description:
'A whitepaper introducing Enclave, an open-source protocol for Encrypted Execution Environments'
---
@@ -12,6 +12,10 @@ description:
[Marvin Lin](mailto:marv@gnosisguild.org)
+> **Note:** This whitepaper describes the original Enclave protocol design.
+> Enclave has since evolved into The Interfold. This document is preserved here as an archival
+> technical reference.
+
## Abstract
This whitepaper introduces Enclave, an open-source protocol for Encrypted Execution Environments
diff --git a/docs/pages/write-e3-contract.mdx b/docs/pages/write-e3-contract.mdx
index 5276e5bc55..870fc8d9f5 100644
--- a/docs/pages/write-e3-contract.mdx
+++ b/docs/pages/write-e3-contract.mdx
@@ -6,7 +6,7 @@ description: ''
# Writing an E3 Contract
The E3 contract defines your program on-chain. It verifies parameters during the creation of new E3
-instances, validates inputs for your Secure Process, and publishes the computation output.
+instances, validates inputs for your Secure Process, and records the computation output.
## Smart Contract Components
@@ -17,7 +17,7 @@ Each E3 Program consists of two contract components:
### E3 Program
-The E3 program forms the core of each E3, implementing two functions: one to validate input
+The E3 program contract forms the core of each E3, implementing two functions: one to validate input
parameters when a new E3 instance is created and another to verify the output of the computation.
#### `validate`
@@ -34,11 +34,11 @@ function validate(
When a new instance of your E3 Program is requested, the `validate` function is called to validate
and initialize the new E3. Some useful validations include:
-- **Random Seed Initialization:** Use the `seed` parameter to instantiate the E3 with a specific
+- **Random seed initialization:** Use the `seed` parameter to instantiate the E3 with a specific
random seed
-- **Custom Parameters:** Utilize `e3ProgramParams` to pass in any additional arbitrary parameters,
+- **Custom parameters:** Utilize `e3ProgramParams` to pass in any additional arbitrary parameters,
most commonly the address of your Input Validator contract.
-- **Compute Provider Setup:** Use `computeProviderParams` to validate the configuration of the
+- **Compute Provider setup:** Use `computeProviderParams` to validate the configuration of the
Compute Provider chosen for your E3 Program.
For an example, see this
@@ -56,22 +56,22 @@ function verify(
) external returns (bool success);
```
-The verify function intakes the output of the E3 computation and the accompanying proof generated by
-your chosen Compute Provider to assess the validity of the proof and ciphertext. You can see an
-example of this using
+The verify function receives the output of the E3 computation and the accompanying proof generated
+by your chosen Compute Provider to assess the validity of the proof and associated ciphertext. You
+can see an example of this using
[RISC Zero's Verifier in our CRISP E3 contract](https://github.com/gnosisguild/CRISP/blob/9ffc89aedf92e8f8eb8a21b03091b1f48b587fe4/packages/risc0/contracts/CRISPRisc0.sol#L45).
### Input Validation
-In order to ensure correct computation, we should be checking that the encrypted data submitted to
-your E3 is properly structured. This will most likely be used in tandem with a proof generated by
-your Data Provider. The function should be implemented in the E3 Program contract.
+To ensure correct computation, the contract should verify that encrypted data submitted to your E3
+is properly structured. This will most likely be used in tandem with a proof generated by your Data
+Provider. The function should be implemented in the E3 Program contract.
**Responsibilities:**
-- **Data Decoding**: Decode encrypted input data to its intended format.
+- **Data decoding**: Decode encrypted input data to its intended format.
- **ZKP Verification**: Verify any associated ZKPs to ensure input correctness.
-- **Input Validation**: Validate the input data and revert if invalid.
+- **Input validation**: Validate the input data and revert if invalid.
**Example:**
diff --git a/docs/pages/write-secure-program.mdx b/docs/pages/write-secure-program.mdx
index 2f8d8ea84d..b1602e016e 100644
--- a/docs/pages/write-secure-program.mdx
+++ b/docs/pages/write-secure-program.mdx
@@ -5,22 +5,22 @@ description: ''
# Secure Process
-The Secure Process is the core FHE logic for your E3 Program. It runs within your selected Compute
-Provider's environment, ultimately producing and publishing a ciphertext output that is decrypted by
-your Ciphernode Committee. To facilitate this, Enclave provides a
+The Secure Process defines the core computation for your E3 Program. It runs within your selected
+Compute Provider's environment, ultimately producing a ciphertext output that is decrypted by your
+Ciphernode Committee. To facilitate this, Interfold provides a
[Compute Provider package](https://github.com/gnosisguild/enclave/tree/main/crates/compute-provider)
to simplify writing the Secure Process with any Compute Provider.
### Using the Compute Provider Package
-To simplify integration with Enclave, use the provided Compute Provider package.
+To simplify integration with the Interfold, use the provided Compute Provider package.
**Benefits:**
-- **Handles Merkle Tree Construction**: Recreates the input Merkle tree inside the compute
+- **Handles Merkle tree construction**: Recreates the input Merkle tree inside the compute
environment.
-- **Simplifies Proof Generation**: Manages proof creation for computation verification.
-- **Abstracts Complexity**: Allows you to focus on your computation logic.
+- **Simplifies proof generation**: Manages proof creation for computation verification.
+- **Abstracts complexity**: Allows you to focus on your computation logic.
**Implementation:**
@@ -56,9 +56,9 @@ environment. Below are the key steps to implement it effectively:
1. **Define the Computation**: Specify the exact computation your E3 program needs to perform.
2. **Implement the Logic**: Write the Secure Process using the Compute Provider's supported language
(e.g., Rust for RISC Zero).
-3. **Handle Encrypted Inputs**: Ensure the program can process encrypted data correctly.
+3. **Handle Program Inputs**: Ensure the program can process encrypted data correctly.
4. **Focus on Computation**: Use the Compute Provider package to handle additional tasks like Merkle
- tree verification and proof verification, so you can focus on your computation logic.
+ tree verification and proof generation, so you can focus on your computation logic.
**Example (Rust with RISC Zero + Boundless):**
@@ -92,10 +92,10 @@ To run the Secure Process, use the Compute Provider `ComputeManager` to execute
expects:
- The `ComputeProvider` implementation
-- The `FHEInputs` struct that consists of the FHE parameters and the ciphertexts to use.
+- The `FHEInputs` struct that consists of the FHE parameters and the ciphertexts to process.
- The Secure Process function `fhe_processor`
- A boolean flag `use_parallel` to indicate whether to use parallel processing.
-- An optional `batch_size` that will be used for parallel processing. Must be a power of 2.
+- An optional `batch_size` that will be used for parallel processing. Must be a power of two.
```rs
// Run the secure process inside the Compute Provider
diff --git a/docs/public/apple-touch-icon.png b/docs/public/apple-touch-icon.png
index 1ea73604b2..a295c48ebe 100644
Binary files a/docs/public/apple-touch-icon.png and b/docs/public/apple-touch-icon.png differ
diff --git a/docs/public/favicon-16x16.png b/docs/public/favicon-16x16.png
index 401af5f25a..f377d35cae 100644
Binary files a/docs/public/favicon-16x16.png and b/docs/public/favicon-16x16.png differ
diff --git a/docs/public/favicon-32x32.png b/docs/public/favicon-32x32.png
index 5182d18316..e08da33dfe 100644
Binary files a/docs/public/favicon-32x32.png and b/docs/public/favicon-32x32.png differ
diff --git a/docs/public/favicon.ico b/docs/public/favicon.ico
index f917eee471..e08da33dfe 100644
Binary files a/docs/public/favicon.ico and b/docs/public/favicon.ico differ
diff --git a/docs/public/interfold-logo.png b/docs/public/interfold-logo.png
new file mode 100644
index 0000000000..cba2218b20
Binary files /dev/null and b/docs/public/interfold-logo.png differ
diff --git a/docs/public/interfold-meta.jpg b/docs/public/interfold-meta.jpg
new file mode 100644
index 0000000000..79c5915cb2
Binary files /dev/null and b/docs/public/interfold-meta.jpg differ
diff --git a/docs/theme.config.jsx b/docs/theme.config.jsx
index cff49aa3b2..19a2500810 100644
--- a/docs/theme.config.jsx
+++ b/docs/theme.config.jsx
@@ -10,11 +10,21 @@ import Footer from './components/Footer'
export default {
logo: (
-
-
+
+
),
logoLink: false,
+
+ banner: {
+ key: 'interfold-rename',
+ text: (
+
+ Enclave is now The Interfold. Documentation is being updated.
+
+ ),
+ },
+
project: {
link: 'https://github.com/gnosisguild/enclave',
},
@@ -33,7 +43,7 @@ export default {
const { asPath } = useRouter()
if (asPath !== '/') {
return {
- titleTemplate: '%s - Enclave',
+ titleTemplate: '%s - The Interfold',
}
}
},
@@ -43,8 +53,8 @@ export default {
} = useConfig()
return (
<>
- {title ? title : 'Enclave'}
-
+ {title ? title : 'The Interfold'}
+
-
-
+
+
-
+
-
-
+
+
-
+
diff --git a/packages/enclave-mcp/README.md b/packages/enclave-mcp/README.md
index 74c39e5ee8..be55f2a2fd 100644
--- a/packages/enclave-mcp/README.md
+++ b/packages/enclave-mcp/README.md
@@ -1,24 +1,27 @@
# @enclave-e3/mcp
-MCP server for [Enclave](https://enclave.gg) documentation. Allows AI assistants to answer questions about Enclave by fetching content directly from [docs.enclave.gg](https://docs.enclave.gg).
+MCP server for [Enclave](https://enclave.gg) documentation. Allows AI assistants to answer questions
+about Enclave by fetching content directly from [docs.enclave.gg](https://docs.enclave.gg).
## Requirements
-- Node.js **>=18.20.0** — required for ESM JSON import attributes, global `fetch`, and top-level await used by the `enclave-mcp` CLI.
+- Node.js **>=18.20.0** — required for ESM JSON import attributes, global `fetch`, and top-level
+ await used by the `enclave-mcp` CLI.
## Tools
-| Tool | Description |
-|------|-------------|
-| `list_docs` | List all available documentation pages |
-| `read_doc` | Read a specific page by slug (e.g. `introduction`, `ciphernode-operators/running`) |
-| `search_docs` | Search for a keyword across all pages |
+| Tool | Description |
+| ------------- | ---------------------------------------------------------------------------------- |
+| `list_docs` | List all available documentation pages |
+| `read_doc` | Read a specific page by slug (e.g. `introduction`, `ciphernode-operators/running`) |
+| `search_docs` | Search for a keyword across all pages |
## Integration
### Claude Desktop
-Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
+Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or
+`%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
@@ -46,7 +49,7 @@ mcpServers:
command: npx
args:
- -y
- - "@enclave-e3/mcp"
+ - '@enclave-e3/mcp'
```
### Cursor
@@ -83,11 +86,11 @@ Edit `~/.codeium/windsurf/mcp_config.json`:
Once configured, ask your AI assistant questions like:
-- *"What is an E3 in Enclave?"*
-- *"How do I run a ciphernode?"*
-- *"Explain the Enclave architecture"*
-- *"Search the enclave docs for threshold encryption"*
+- _"What is an E3 in Enclave?"_
+- _"How do I run a ciphernode?"_
+- _"Explain the Enclave architecture"_
+- _"Search the enclave docs for threshold encryption"_
## License
-LGPL-3.0-only
\ No newline at end of file
+LGPL-3.0-only
diff --git a/packages/enclave-mcp/tsup.config.ts b/packages/enclave-mcp/tsup.config.ts
index dca02e7fd8..79e2dc06c0 100644
--- a/packages/enclave-mcp/tsup.config.ts
+++ b/packages/enclave-mcp/tsup.config.ts
@@ -4,13 +4,13 @@
// without even the implied warranty of MERCHANTABILITY
// or FITNESS FOR A PARTICULAR PURPOSE.
-import { defineConfig } from "tsup";
+import { defineConfig } from 'tsup'
export default defineConfig({
- entry: ["src/index.ts"],
- format: ["esm"],
+ entry: ['src/index.ts'],
+ format: ['esm'],
dts: false,
banner: {
- js: "#!/usr/bin/env node",
+ js: '#!/usr/bin/env node',
},
-});
+})