@iexec-nox/nox-confidential-contracts
v0.2.2
Published
Nox confidential smart contracts
Readme
Nox · nox-confidential-contracts
A library of confidential smart contracts for the Nox protocol. Implementations of standards like ERC-7984, with extensions and utilities for building confidential applications.
Table of Contents
Overview
nox-confidential-contracts provides production-ready Solidity implementations for confidential tokens on the Nox protocol:
- ERC7984: a gas-efficient confidential fungible token standard (ERC-7984) implementation.
- ERC7984Raw: the same interface using less gas-efficient but more flexible raw Nox primitives.
- ERC20ToERC7984Wrapper: wraps existing ERC-20 tokens into confidential ERC-7984 tokens.
- ERC20ToERC7984WrapperRaw: wrapper variant using raw Nox primitives..
- ERC7984Utils: shared utility library for confidential token operations.
Prerequisites
- Node.js >= 24 (see
.nvmrc) - pnpm >= 10 (see
packageManagerinpackage.json) - Hardhat >= 3
Getting Started
git clone https://github.com/iExec-Nox/nox-confidential-contracts.git
cd nox-confidential-contracts
# Use the correct Node version
nvm install && nvm use
# Install dependencies
pnpm install
# Build contracts
pnpm run buildTesting
# Run all tests
pnpm run test
# Run coverage
pnpm run coverageConfiguration notes
- Solidity compiler version is pinned in
.solc.json. - Depends on
@iexec-nox/nox-protocol-contractsfor Nox SDK and protocol interfaces.
Related Repositories
| Repository | Description | | ----------------------------------------------------------------------------- | ----------------------------------------------- | | nox-protocol-contracts | Core Nox protocol contracts (NoxCompute, SDK) | | nox-handle-sdk | TypeScript SDK for handle encryption/decryption | | encrypted-types | Solidity types for encrypted values |
Contributing
Contributions are welcome. Please open an issue first to discuss your proposed changes.
- Fork the repository
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes
- Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
Code style
# Format all files
pnpm run format
# Check formatting
pnpm run format:checkLicense
This project is released under the MIT License.
