From 9e2e1843a4cc46022717c6b8e506602d0757bead Mon Sep 17 00:00:00 2001 From: brozorec <9572072+brozorec@users.noreply.github.com> Date: Tue, 20 Oct 2026 11:13:35 +0200 Subject: [PATCH 1/6] chore: prepare v0.8.0 release Bump the workspace and crate versions to 0.8.0 and list stellar-confidential among the published crates. Refresh the READMEs and Architecture.md for the modules added since v0.7.1, and mark stellar-zk-email as under development. --- Architecture.md | 75 ++-- Cargo.lock | 450 +++++++++++------------ Cargo.toml | 20 +- README.md | 16 +- bench/rwa-batch/Cargo.toml | 6 +- examples/rwa/README.md | 20 +- examples/rwa/sign-claim/Cargo.toml | 2 +- packages/access/README.md | 5 +- packages/accounts/README.md | 3 +- packages/confidential/README.md | 23 ++ packages/confidential/circuits/CLAUDE.md | 2 +- packages/contract-utils/README.md | 10 +- packages/fee-abstraction/README.md | 3 +- packages/governance/README.md | 3 +- packages/macros/README.md | 3 +- packages/tokens/README.md | 7 +- packages/zk-email/README.md | 16 + packages/zk-email/src/lib.rs | 3 + 18 files changed, 374 insertions(+), 293 deletions(-) create mode 100644 packages/zk-email/README.md diff --git a/Architecture.md b/Architecture.md index 904f491da..f2a9a2a2c 100644 --- a/Architecture.md +++ b/Architecture.md @@ -12,18 +12,26 @@ The OpenZeppelin Stellar Contracts library follows a modular, trait-based archit stellar-contracts/ ├── packages/ # Core library packages │ ├── access/ # Role-based access controls and ownable patterns -│ ├── contract-utils/ # Utilities (pausable, upgradeable, cryptography) -│ ├── macros/ # Procedural and derive macros -│ └── tokens/ # Token implementations (fungible, non-fungible) -│ ├── src/ -│ │ ├── fungible/ # Fungible token implementation -│ │ │ ├── extensions/ # Optional token extensions -│ │ │ ├── utils/ # Utility functions and helpers -│ │ │ ├── mod.rs # Core trait definitions, constants, errors, and events -│ │ │ ├── storage.rs # Storage management and state operations -│ │ │ └── test.rs # Comprehensive test suite -│ │ └── non_fungible/ # Non-fungible token implementation -│ └── lib.rs +│ ├── accounts/ # Smart accounts (context rules, signers, verifiers, policies) +│ ├── confidential/ # Confidential token (encrypted balances, ZK proofs, Noir circuits) +│ ├── contract-utils/ # Utilities (pausable, upgradeable, cryptography, math, merkle distributor) +│ ├── fee-abstraction/ # Fee forwarding (pay transaction fees in fungible tokens) +│ ├── governance/ # Governor, votes, timelock +│ ├── macros/ # Procedural macros +│ ├── tokens/ # Token implementations (fungible, non-fungible, RWA, vault) +│ │ └── src/ +│ │ ├── fungible/ # Fungible token implementation +│ │ │ ├── extensions/ # Optional token extensions +│ │ │ ├── utils/ # Utility functions and helpers +│ │ │ ├── mod.rs # Core trait definitions, constants, errors, and events +│ │ │ ├── overrides.rs # Base contract type and override traits +│ │ │ ├── storage.rs # Storage management and state operations +│ │ │ └── test.rs # Comprehensive test suite +│ │ ├── non_fungible/ # Non-fungible token implementation +│ │ ├── rwa/ # Real-world asset token (T-REX) and its periphery +│ │ ├── vault/ # Tokenized vault (ERC-4626) +│ │ └── lib.rs +│ └── zk-email/ # DKIM registry for zkEmail verification ├── examples/ # Example contract implementations └── audits/ # Security audit reports ``` @@ -60,19 +68,19 @@ pub struct Consecutive; // For batch minting optimization Extensions are constrained to specific contract types using associated type bounds: ```rust -// Enumerable can only be used with Enumerable contract type -trait NonFungibleEnumerable: NonFungibleToken { +// Enumerable requires a contract type that keeps the enumeration bookkeeping +trait NonFungibleEnumerable: NonFungibleToken { fn total_supply(e: &Env) -> u32; fn get_owner_token_id(e: &Env, owner: Address, index: u32) -> u32; // ... } -// Consecutive can only be used with Consecutive contract type -trait NonFungibleConsecutive: NonFungibleToken { - // Batch minting functionality -} +// Consecutive requires a contract type that follows the consecutive accounting model +trait NonFungibleConsecutive: NonFungibleToken {} ``` +`EnumerableContractType` and `ConsecutiveContractType` are marker traits implemented by `Enumerable` and `Consecutive` and by the curated combinations that include them (`EnumerableVotes`, `ConsecutiveVotes`). + #### Mutual Exclusivity Enforcement This design makes it **impossible** to implement conflicting extensions: @@ -87,9 +95,13 @@ impl NonFungibleEnumerable for MyContract { // ... enumerable methods } -// ❌ This CANNOT compile - Consecutive requires different ContractType -// impl NonFungibleConsecutive for MyContract { ... } -// ^^^ Error: expected `Consecutive`, found `Enumerable` +// ❌ This CANNOT compile - Consecutive requires a consecutive ContractType +// impl NonFungibleConsecutive for MyContract {} +// ^^^ error[E0277]: the trait bound `Enumerable: ConsecutiveContractType` is not satisfied + +// ❌ Neither can listing both in `Compose` +// type ContractType = Compose<(Enumerable, Consecutive)>; +// ^^^ error[E0277]: `Enumerable` cannot be combined with `Consecutive` in a `Compose` list ``` #### Override Mechanism Through ContractOverrides @@ -208,10 +220,11 @@ The library provides two levels of abstraction: The architecture supports optional extensions that can be mixed and matched. Below is the list of the extensions for the Fungible Token: - **Burnable**: Token destruction capabilities +- **TotalSupply**: Total supply tracking - **Capped**: Maximum supply limits - **Allowlist**: Whitelist-based access control - **Blocklist**: Blacklist-based access control -- **Metadata**: Enhanced token information (name, symbol, decimals) +- **Votes**: Voting power tracking for governance - **Vault**: Asset deposit/withdrawal with share tokenization ## Storage Architecture @@ -222,8 +235,8 @@ The library uses a structured approach to storage keys: ```rust #[contracttype] -pub enum StorageKey { - TotalSupply, +pub enum FungibleStorageKey { + Meta, Balance(Address), Allowance(AllowanceKey), } @@ -387,7 +400,6 @@ The non-fungible token implementation is designed to be compatible with existing - **Unit Tests**: Individual function testing - **Integration Tests**: Cross-module interaction testing - **Property-Based Testing**: Invariant verification -- **Fuzzing**: Edge case discovery ## Deployment Architecture @@ -415,19 +427,22 @@ Noir artifacts for a package live under `packages//circuits/`: ```text packages//circuits/ ├── Nargo.toml # Nargo workspace manifest +├── constraints.baseline # normalized `nargo info` output ├── lib/ # Shared primitives (type = "lib", no `main`) │ ├── src/lib.nr │ └── testdata/*.json # cross-language test vectors ├── gadgets// # one tiny `bin` crate per primitive │ └── src/main.nr # measurement-only: wraps one lib call -└── / # full circuits (planned -- one per proof type, - └── src/main.nr # e.g. register / withdraw / transfer) +├── / # full circuits, one per proof type +│ └── src/main.nr # (e.g. register / withdraw / transfer) +├── scripts/ # VK extraction and CI checks +└── vks/ # pinned verification keys ``` The `main.nr` files in `gadgets/` and `/` are both Noir circuit entry points, but they serve very different purposes: - **Gadget `main`s** are measurement-only. Each one wraps a single lib primitive in the smallest circuit that exercises it, so `nargo info` can report per-primitive constraint costs. A Noir `bin` package has exactly one `fn main`, and `nargo info` only measures `main`. Per-primitive constraint counts therefore require one `bin` package per primitive. The alternative (one gadget that calls every primitive in sequence) collapses everything into a single combined number and loses the per-primitive breakdown the constraint baseline depends on. -- **Operation `main`s** *are* the production circuits — one per proof type listed in the design doc's §7. They consume on-chain state as public inputs and enforce the constraint set that the wrapper contract relies on. +- **Operation `main`s** *are* the production circuits — one per proof type (in `confidential/`: register, withdraw, transfer, set_spender, spender_transfer, clawback). They consume on-chain state as public inputs and enforce the constraint set that the wrapper contract relies on. ### Commands @@ -436,9 +451,9 @@ The `main.nr` files in `gadgets/` and `/` are both Noir circuit entry | Type-check the workspace | `nargo check` | | Run all tests | `nargo test` | | Per-primitive constraint counts | `nargo info` | -| Compile a single circuit | `nargo compile --package ` | +| Compile a single circuit | `nargo compile --package circuit_` | -Compiled ACIR and proving artifacts are gitignored; `testdata/*.json` is the only Noir-side artifact committed to the repo. +Build output (`target/`) and `Prover.toml` are gitignored. Four kinds of generated file are committed: `constraints.baseline`, `vks/*.vk.json`, `vks/*.vk.bin`, and `lib/testdata/*.json`. CI regenerates the baseline and the verification keys and fails when they differ from the committed ones; `nargo test` checks the test vectors against the primitives. ## Code Conventions diff --git a/Cargo.lock b/Cargo.lock index cbc62153a..b52cb3130 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -458,124 +458,124 @@ dependencies = [ [[package]] name = "compliance-country-allow" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "compliance-country-restrict" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "compliance-initial-lockup-period" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "compliance-max-balance" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "compliance-supply-limit" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "compliance-time-transfers-limits" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "compliance-transfer-allow" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "confidential-allowlist-policy-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", + "stellar-access 0.8.0", "stellar-confidential", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "confidential-auditor-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", + "stellar-access 0.8.0", "stellar-confidential", - "stellar-contract-utils 0.7.1", - "stellar-macros 0.7.1", + "stellar-contract-utils 0.8.0", + "stellar-macros 0.8.0", ] [[package]] name = "confidential-compliant-token-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", + "stellar-access 0.8.0", "stellar-confidential", - "stellar-contract-utils 0.7.1", - "stellar-macros 0.7.1", + "stellar-contract-utils 0.8.0", + "stellar-macros 0.8.0", ] [[package]] name = "confidential-factory-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", "stellar-confidential", - "stellar-contract-utils 0.7.1", + "stellar-contract-utils 0.8.0", ] [[package]] name = "confidential-verifier-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", + "stellar-access 0.8.0", "stellar-confidential", - "stellar-macros 0.7.1", + "stellar-macros 0.8.0", ] [[package]] @@ -965,23 +965,23 @@ checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" [[package]] name = "fee-forwarder-permissioned-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", + "stellar-access 0.8.0", "stellar-fee-abstraction", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "fee-forwarder-permissionless-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", "stellar-fee-abstraction", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] @@ -1020,93 +1020,93 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fungible-allowlist-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "fungible-blocklist-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "fungible-capped-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-tokens 0.7.1", + "stellar-tokens 0.8.0", ] [[package]] name = "fungible-governor-contract" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-governance 0.7.1", + "stellar-governance 0.8.0", ] [[package]] name = "fungible-governor-token" -version = "0.7.1" +version = "0.8.0" dependencies = [ "fungible-governor-contract", "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-governance 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-governance 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "fungible-merkle-airdrop-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "hex-literal 1.1.0", "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-contract-utils 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-contract-utils 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "fungible-pausable-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-contract-utils 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-contract-utils 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "fungible-vault-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "fungible-votes-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-governance 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-governance 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] @@ -1184,22 +1184,22 @@ dependencies = [ [[package]] name = "governor-timelock-contract" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-governance 0.7.1", + "stellar-governance 0.8.0", ] [[package]] name = "governor-timelock-token" -version = "0.7.1" +version = "0.8.0" dependencies = [ "governor-timelock-contract", "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-governance 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-governance 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", "timelock-controller-example", ] @@ -1467,24 +1467,24 @@ checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" [[package]] name = "merkle-voting-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-contract-utils 0.7.1", + "stellar-contract-utils 0.8.0", ] [[package]] name = "multisig-account-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", "stellar-accounts", - "stellar-contract-utils 0.7.1", + "stellar-contract-utils 0.8.0", ] [[package]] name = "multisig-account-factory-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", "stellar-accounts", @@ -1492,7 +1492,7 @@ dependencies = [ [[package]] name = "multisig-ed25519-verifier-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", "stellar-accounts", @@ -1500,7 +1500,7 @@ dependencies = [ [[package]] name = "multisig-spending-limit-policy-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", "stellar-accounts", @@ -1508,7 +1508,7 @@ dependencies = [ [[package]] name = "multisig-threshold-policy-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", "stellar-accounts", @@ -1516,7 +1516,7 @@ dependencies = [ [[package]] name = "multisig-webauthn-verifier-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "hex-literal 1.1.0", "p256", @@ -1526,7 +1526,7 @@ dependencies = [ [[package]] name = "multisig-weighted-threshold-policy-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", "stellar-accounts", @@ -1534,48 +1534,48 @@ dependencies = [ [[package]] name = "nft-access-control-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "nft-consecutive-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-tokens 0.7.1", + "stellar-tokens 0.8.0", ] [[package]] name = "nft-enumerable-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "nft-royalties-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "nft-sequential-minting-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] @@ -1631,11 +1631,11 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "ownable-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", ] [[package]] @@ -1658,11 +1658,11 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pausable-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-contract-utils 0.7.1", - "stellar-macros 0.7.1", + "stellar-contract-utils 0.8.0", + "stellar-macros 0.8.0", ] [[package]] @@ -1925,74 +1925,74 @@ dependencies = [ [[package]] name = "rwa-claim-issuer-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "ed25519-dalek", "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "rwa-claim-topics-and-issuers-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "rwa-compliance-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "rwa-identity-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "rwa-identity-registry-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "rwa-identity-verifier-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "rwa-token-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-contract-utils 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-contract-utils 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] @@ -2003,21 +2003,21 @@ checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "sac-admin-generic-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "ed25519-dalek", "soroban-sdk 28.0.0", - "stellar-tokens 0.7.1", + "stellar-tokens 0.8.0", ] [[package]] name = "sac-admin-wrapper-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] @@ -2633,23 +2633,23 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "stellar-access" -version = "0.7.1" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aae4c50000565b08e97241a06cfb2cff4c3dfde12bdafa0b5303aca22139f38" dependencies = [ - "soroban-sdk 28.0.0", + "soroban-sdk 26.1.0", ] [[package]] name = "stellar-access" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aae4c50000565b08e97241a06cfb2cff4c3dfde12bdafa0b5303aca22139f38" +version = "0.8.0" dependencies = [ - "soroban-sdk 26.1.0", + "soroban-sdk 28.0.0", ] [[package]] name = "stellar-accounts" -version = "0.7.1" +version = "0.8.0" dependencies = [ "ed25519-dalek", "hex-literal 1.1.0", @@ -2662,27 +2662,14 @@ dependencies = [ [[package]] name = "stellar-confidential" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-poseidon", "soroban-sdk 28.0.0", - "stellar-contract-utils 0.7.1", + "stellar-contract-utils 0.8.0", "ultrahonk_soroban_verifier", ] -[[package]] -name = "stellar-contract-utils" -version = "0.7.1" -dependencies = [ - "ark-ec 0.6.0", - "ark-ff 0.6.0", - "ark-grumpkin", - "ark-serialize 0.6.0", - "hex-literal 1.1.0", - "proptest", - "soroban-sdk 28.0.0", -] - [[package]] name = "stellar-contract-utils" version = "0.7.2" @@ -2693,19 +2680,25 @@ dependencies = [ ] [[package]] -name = "stellar-fee-abstraction" -version = "0.7.1" +name = "stellar-contract-utils" +version = "0.8.0" dependencies = [ + "ark-ec 0.6.0", + "ark-ff 0.6.0", + "ark-grumpkin", + "ark-serialize 0.6.0", + "hex-literal 1.1.0", + "proptest", "soroban-sdk 28.0.0", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", ] [[package]] -name = "stellar-governance" -version = "0.7.1" +name = "stellar-fee-abstraction" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] @@ -2717,9 +2710,18 @@ dependencies = [ "soroban-sdk 26.1.0", ] +[[package]] +name = "stellar-governance" +version = "0.8.0" +dependencies = [ + "soroban-sdk 28.0.0", +] + [[package]] name = "stellar-macros" -version = "0.7.1" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a512f2975f47ab532537c7b3cc845bd5a39cab8f8c52c16388a26482f201883" dependencies = [ "proc-macro2", "quote", @@ -2728,9 +2730,7 @@ dependencies = [ [[package]] name = "stellar-macros" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a512f2975f47ab532537c7b3cc845bd5a39cab8f8c52c16388a26482f201883" +version = "0.8.0" dependencies = [ "proc-macro2", "quote", @@ -2758,19 +2758,6 @@ dependencies = [ "heapless", ] -[[package]] -name = "stellar-tokens" -version = "0.7.1" -dependencies = [ - "ed25519-dalek", - "k256", - "p256", - "soroban-sdk 28.0.0", - "soroban-test-helpers", - "stellar-contract-utils 0.7.1", - "stellar-governance 0.7.1", -] - [[package]] name = "stellar-tokens" version = "0.7.2" @@ -2782,6 +2769,19 @@ dependencies = [ "stellar-governance 0.7.2", ] +[[package]] +name = "stellar-tokens" +version = "0.8.0" +dependencies = [ + "ed25519-dalek", + "k256", + "p256", + "soroban-sdk 28.0.0", + "soroban-test-helpers", + "stellar-contract-utils 0.8.0", + "stellar-governance 0.8.0", +] + [[package]] name = "stellar-xdr" version = "26.0.1" @@ -2822,7 +2822,7 @@ dependencies = [ [[package]] name = "stellar-zk-email" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", ] @@ -2916,12 +2916,12 @@ dependencies = [ [[package]] name = "timelock-controller-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-governance 0.7.1", - "stellar-macros 0.7.1", + "stellar-access 0.8.0", + "stellar-governance 0.8.0", + "stellar-macros 0.8.0", ] [[package]] @@ -2977,9 +2977,9 @@ name = "upgradeable-lazy-v1-example" version = "1.0.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-contract-utils 0.7.1", - "stellar-macros 0.7.1", + "stellar-access 0.8.0", + "stellar-contract-utils 0.8.0", + "stellar-macros 0.8.0", ] [[package]] @@ -2987,9 +2987,9 @@ name = "upgradeable-lazy-v2-example" version = "2.0.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-contract-utils 0.7.1", - "stellar-macros 0.7.1", + "stellar-access 0.8.0", + "stellar-contract-utils 0.8.0", + "stellar-macros 0.8.0", ] [[package]] @@ -3008,20 +3008,20 @@ name = "upgradeable-v2-example" version = "2.0.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-contract-utils 0.7.1", - "stellar-macros 0.7.1", - "stellar-tokens 0.7.1", + "stellar-access 0.8.0", + "stellar-contract-utils 0.8.0", + "stellar-macros 0.8.0", + "stellar-tokens 0.8.0", ] [[package]] name = "upgrader-example" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk 28.0.0", - "stellar-access 0.7.1", - "stellar-contract-utils 0.7.1", - "stellar-macros 0.7.1", + "stellar-access 0.8.0", + "stellar-contract-utils 0.8.0", + "stellar-macros 0.8.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 9d5ea9390..aff61f973 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,7 +51,7 @@ repository = "https://github.com/OpenZeppelin/stellar-contracts" documentation = "https://docs.openzeppelin.com/stellar-contracts/" keywords = ["stellar", "soroban", "smart-contracts", "standards"] categories = ["no-std", "wasm"] -version = "0.7.1" +version = "0.8.0" [workspace.dependencies] soroban-sdk = "28.0.0" @@ -73,15 +73,15 @@ serde-json-core = { version = "0.6.0", default-features = false } ultrahonk-soroban-verifier = { version = "0.1.0", package = "ultrahonk_soroban_verifier" } # members -stellar-access = { path = "packages/access", version = "0.7.1" } -stellar-accounts = { path = "packages/accounts", version = "0.7.1" } -stellar-confidential = { path = "packages/confidential", version = "0.7.1" } -stellar-contract-utils = { path = "packages/contract-utils", version = "0.7.1" } -stellar-fee-abstraction = { path = "packages/fee-abstraction", version = "0.7.1" } -stellar-governance = { path = "packages/governance", version = "0.7.1" } -stellar-tokens = { path = "packages/tokens", version = "0.7.1" } -stellar-macros = { path = "packages/macros", version = "0.7.1" } -stellar-zk-email = { path = "packages/zk-email", version = "0.7.1" } +stellar-access = { path = "packages/access", version = "0.8.0" } +stellar-accounts = { path = "packages/accounts", version = "0.8.0" } +stellar-confidential = { path = "packages/confidential", version = "0.8.0" } +stellar-contract-utils = { path = "packages/contract-utils", version = "0.8.0" } +stellar-fee-abstraction = { path = "packages/fee-abstraction", version = "0.8.0" } +stellar-governance = { path = "packages/governance", version = "0.8.0" } +stellar-tokens = { path = "packages/tokens", version = "0.8.0" } +stellar-macros = { path = "packages/macros", version = "0.8.0" } +stellar-zk-email = { path = "packages/zk-email", version = "0.8.0" } [profile.release] opt-level = "z" diff --git a/README.md b/README.md index 9ebd3a3ea..34b99e07b 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ OpenZeppelin Stellar Contracts are published as separate crates on [crates.io](h - [stellar-access](https://crates.io/crates/stellar-access): Role-based access controls and ownable - [stellar-accounts](https://crates.io/crates/stellar-accounts): Smart accounts with custom authentication and authorization +- [stellar-confidential](https://crates.io/crates/stellar-confidential): Confidential token with encrypted balances and zero-knowledge proofs - [stellar-contract-utils](https://crates.io/crates/stellar-contract-utils): Utilities for contracts (pausable, upgradeable, cryptography, etc.) - [stellar-fee-abstraction](https://crates.io/crates/stellar-fee-abstraction): Fee abstraction utilities - [stellar-governance](https://crates.io/crates/stellar-governance): Governance utilities (governor, votes, timelock) @@ -74,13 +75,14 @@ We recommend pinning to a specific version, because rapid iterations are expecte ```toml [dependencies] -stellar-tokens = "=0.7.1" -stellar-access = "=0.7.1" -stellar-contract-utils = "=0.7.1" -stellar-governance = "=0.7.1" -stellar-accounts = "=0.7.1" -stellar-fee-abstraction = "=0.7.1" -stellar-macros = "=0.7.1" +stellar-tokens = "=0.8.0" +stellar-access = "=0.8.0" +stellar-contract-utils = "=0.8.0" +stellar-governance = "=0.8.0" +stellar-accounts = "=0.8.0" +stellar-fee-abstraction = "=0.8.0" +stellar-confidential = "=0.8.0" +stellar-macros = "=0.8.0" ``` ## Notes diff --git a/bench/rwa-batch/Cargo.toml b/bench/rwa-batch/Cargo.toml index 9c9c17408..6efe8f59c 100644 --- a/bench/rwa-batch/Cargo.toml +++ b/bench/rwa-batch/Cargo.toml @@ -5,7 +5,7 @@ license = "MIT" repository = "https://github.com/OpenZeppelin/stellar-contracts" publish = false authors = ["OpenZeppelin"] -version = "0.7.1" +version = "0.8.0" # Deliberately excluded from the root workspace (see its `workspace.exclude`): # the harness measures cost curves rather than asserting behaviour, takes ~2 @@ -17,6 +17,6 @@ soroban-sdk = { version = "27.0.2", features = [ "testutils", "experimental_spec_shaking_v2", ] } -stellar-contract-utils = { path = "../../packages/contract-utils", version = "0.7.1" } -stellar-tokens = { path = "../../packages/tokens", version = "0.7.1" } +stellar-contract-utils = { path = "../../packages/contract-utils", version = "0.8.0" } +stellar-tokens = { path = "../../packages/tokens", version = "0.8.0" } ed25519-dalek = "2.1.1" diff --git a/examples/rwa/README.md b/examples/rwa/README.md index 6340de552..6160be5ae 100644 --- a/examples/rwa/README.md +++ b/examples/rwa/README.md @@ -275,18 +275,30 @@ export COMPLIANCE_ADDRESS=$(stellar contract alias show compliance 2>&1 | tail - #### Register Compliance Modules (Optional) -If you have custom compliance module contracts (e.g., transfer limits, country restrictions), register them on the appropriate hooks: +Compliance modules are separate contracts registered on the hooks they act on. Available hooks: `Transferred`, `Created`, `Destroyed`. Each hook runs after the token operation in the same transaction, and a module rejects the operation by panicking. + +The following ready-made module examples are ports of the T-REX modular compliance modules. Each takes `--admin` and `--manager` in its constructor: + +| Directory | Contract | Description | Hooks | +| ----------------------------------- | ----------------------------- | ------------------------------------------------------------------- | ------------------------------------- | +| `compliance-country-allow/` | `CountryAllowContract` | Only recipients with an allowed country code may receive tokens | `Transferred`, `Created` | +| `compliance-country-restrict/` | `CountryRestrictContract` | Recipients with a restricted country code may not receive tokens | `Transferred`, `Created` | +| `compliance-initial-lockup-period/` | `InitialLockupPeriodContract` | Locks minted tokens for a configured period | `Transferred`, `Created`, `Destroyed` | +| `compliance-max-balance/` | `MaxBalanceContract` | Caps the aggregate balance per identity | `Transferred`, `Created`, `Destroyed` | +| `compliance-supply-limit/` | `SupplyLimitContract` | Caps the total supply | `Created`, `Destroyed` | +| `compliance-time-transfers-limits/` | `TimeTransfersLimitsContract` | Caps cumulative outgoing transfers per identity within time windows | `Transferred` | +| `compliance-transfer-allow/` | `TransferAllowContract` | Allows a transfer only when the sender or recipient is allowlisted | `Transferred` | + +Bind each module to the compliance contract for the token with `set_compliance_address`. The country, max-balance, and time-transfers-limits modules also resolve identities, so they need the Identity Registry address set with `set_identity_registry_storage`. Then register the module on each of its hooks: ```bash stellar contract invoke --id compliance --source admin \ -- add_module_to \ - --hook CanTransfer \ + --hook Transferred \ --module \ --operator admin ``` -Available hooks: `CanTransfer`, `CanCreate`, `Transferred`, `Created`, `Destroyed`. - > **Note:** Without any registered modules, the compliance contract allows all operations by default. ### 8. Deploy RWA Token Contract diff --git a/examples/rwa/sign-claim/Cargo.toml b/examples/rwa/sign-claim/Cargo.toml index 8f40624e9..df8fced7b 100644 --- a/examples/rwa/sign-claim/Cargo.toml +++ b/examples/rwa/sign-claim/Cargo.toml @@ -5,7 +5,7 @@ license = "MIT" repository = "https://github.com/OpenZeppelin/stellar-contracts" publish = false authors.workspace = true -version = "0.7.1" +version = "0.8.0" [[bin]] name = "rwa-sign-claim" diff --git a/packages/access/README.md b/packages/access/README.md index 9c10420bf..c892742a6 100644 --- a/packages/access/README.md +++ b/packages/access/README.md @@ -6,6 +6,7 @@ This crate is part of the [OpenZeppelin Stellar Contracts](https://github.com/Op - **[stellar-access](https://crates.io/crates/stellar-access)**: Role-based access controls and ownable - [stellar-accounts](https://crates.io/crates/stellar-accounts): Smart accounts with custom authentication and authorization +- [stellar-confidential](https://crates.io/crates/stellar-confidential): Confidential token with encrypted balances and zero-knowledge proofs - [stellar-contract-utils](https://crates.io/crates/stellar-contract-utils): Utilities for contracts (pausable, upgradeable, cryptography, etc.) - [stellar-fee-abstraction](https://crates.io/crates/stellar-fee-abstraction): Fee abstraction utilities - [stellar-governance](https://crates.io/crates/stellar-governance): Governance utilities (governor, votes, timelock) @@ -157,9 +158,9 @@ Add this to your `Cargo.toml`: ```toml [dependencies] # We recommend pinning to a specific version, because rapid iterations are expected as the library is in an active development phase. -stellar-access = "=0.7.1" +stellar-access = "=0.8.0" # Add this if you want to use macros -stellar-macros = "=0.7.1" +stellar-macros = "=0.8.0" ``` ## Examples diff --git a/packages/accounts/README.md b/packages/accounts/README.md index 944f520a0..2b688bcf2 100644 --- a/packages/accounts/README.md +++ b/packages/accounts/README.md @@ -6,6 +6,7 @@ This crate is part of the [OpenZeppelin Stellar Contracts](https://github.com/Op - [stellar-access](https://crates.io/crates/stellar-access): Role-based access controls and ownable - **[stellar-accounts](https://crates.io/crates/stellar-accounts)**: Smart accounts with custom authentication and authorization +- [stellar-confidential](https://crates.io/crates/stellar-confidential): Confidential token with encrypted balances and zero-knowledge proofs - [stellar-contract-utils](https://crates.io/crates/stellar-contract-utils): Utilities for contracts (pausable, upgradeable, cryptography, etc.) - [stellar-fee-abstraction](https://crates.io/crates/stellar-fee-abstraction): Fee abstraction utilities - [stellar-governance](https://crates.io/crates/stellar-governance): Governance utilities (governor, votes, timelock) @@ -349,7 +350,7 @@ Add this to your `Cargo.toml`: ```toml [dependencies] # We recommend pinning to a specific version, because rapid iterations are expected as the library is in an active development phase. -stellar-accounts = "=0.7.1" +stellar-accounts = "=0.8.0" ``` ### 2. Implement the Smart Account Trait diff --git a/packages/confidential/README.md b/packages/confidential/README.md index d52fa0005..ab1ec6936 100644 --- a/packages/confidential/README.md +++ b/packages/confidential/README.md @@ -4,6 +4,19 @@ A Soroban contract suite that provides SEP-41 tokens with **private balances and The protocol provides **confidentiality, not anonymity** — sender and recipient addresses remain visible on-chain; amounts and balances do not. +This crate is part of the [OpenZeppelin Stellar Contracts](https://github.com/OpenZeppelin/stellar-contracts) library, which is published as separate crates on [crates.io](https://crates.io): + +- [stellar-access](https://crates.io/crates/stellar-access): Role-based access controls and ownable +- [stellar-accounts](https://crates.io/crates/stellar-accounts): Smart accounts with custom authentication and authorization +- **[stellar-confidential](https://crates.io/crates/stellar-confidential)**: Confidential token with encrypted balances and zero-knowledge proofs +- [stellar-contract-utils](https://crates.io/crates/stellar-contract-utils): Utilities for contracts (pausable, upgradeable, cryptography, etc.) +- [stellar-fee-abstraction](https://crates.io/crates/stellar-fee-abstraction): Fee abstraction utilities +- [stellar-governance](https://crates.io/crates/stellar-governance): Governance utilities (governor, votes, timelock) +- [stellar-macros](https://crates.io/crates/stellar-macros): Proc macros (`#[only_owner]`, `#[when_not_paused]`, etc.) +- [stellar-tokens](https://crates.io/crates/stellar-tokens): Token types (fungible, non-fungible, real-world assets, vaults) + +Refer to the [OpenZeppelin for Stellar Contracts](https://docs.openzeppelin.com/stellar-contracts) page for additional information. + ## Layout ```text @@ -67,6 +80,16 @@ A turnkey [`Hooks`] implementation layering deployer-configurable controls on to Noir sources, build scripts, and the pinned UltraHonk VKs that the verifier registry serves. Regeneration is gated on a CI diff against the committed `circuits/vks/*.vk.json` files; see [`circuits/vks/README.md`](./circuits/vks/README.md) for the toolchain pin and re-extraction procedure. +## Installation + +Add this to your `Cargo.toml`: + +```toml +[dependencies] +# We recommend pinning to a specific version, because rapid iterations are expected as the library is in an active development phase. +stellar-confidential = "=0.8.0" +``` + ## Documentation Start with [`docs/overview.md`](./docs/overview.md) for the design without mathematics, then read the protocol specification from [`docs/protocol/README.md`](./docs/protocol/README.md) onward; each file links to the next. [`docs/README.md`](./docs/README.md) maps the whole set: reading paths per role, the compliance, selective-disclosure, indexer, and SDK companions, and the citation rules that CI enforces with lychee. diff --git a/packages/confidential/circuits/CLAUDE.md b/packages/confidential/circuits/CLAUDE.md index e5e46e52c..52fd0fb66 100644 --- a/packages/confidential/circuits/CLAUDE.md +++ b/packages/confidential/circuits/CLAUDE.md @@ -53,7 +53,7 @@ The `G` and `H` generators are hardcoded but provenance-checked at runtime by th ## Committed artifacts -Four kinds of generated file are committed: `constraints.baseline`, `vks/*.vk.json`, `vks/*.vk.bin`, and `lib/testdata/*.json`. CI regenerates and diffs all four. (`Architecture.md` claims `testdata/*.json` is the only one — that statement is stale.) `target/` and `Prover.toml` are gitignored. +Four kinds of generated file are committed: `constraints.baseline`, `vks/*.vk.json`, `vks/*.vk.bin`, and `lib/testdata/*.json`. CI regenerates and diffs all four. `target/` and `Prover.toml` are gitignored. ### `constraints.baseline` diff --git a/packages/contract-utils/README.md b/packages/contract-utils/README.md index 27eff3aaf..a64dedd1d 100644 --- a/packages/contract-utils/README.md +++ b/packages/contract-utils/README.md @@ -6,6 +6,7 @@ This crate is part of the [OpenZeppelin Stellar Contracts](https://github.com/Op - [stellar-access](https://crates.io/crates/stellar-access): Role-based access controls and ownable - [stellar-accounts](https://crates.io/crates/stellar-accounts): Smart accounts with custom authentication and authorization +- [stellar-confidential](https://crates.io/crates/stellar-confidential): Confidential token with encrypted balances and zero-knowledge proofs - **[stellar-contract-utils](https://crates.io/crates/stellar-contract-utils)**: Utilities for contracts (pausable, upgradeable, cryptography, etc.) - [stellar-fee-abstraction](https://crates.io/crates/stellar-fee-abstraction): Fee abstraction utilities - [stellar-governance](https://crates.io/crates/stellar-governance): Governance utilities (governor, votes, timelock) @@ -115,7 +116,7 @@ impl Ownable for ExampleContract {} ### Crypto -The `crypto` module provides cryptographic utilities including hash functions and Merkle tree verification. +The `crypto` module provides cryptographic utilities including hash functions, Merkle tree verification, and Grumpkin curve arithmetic. #### Usage Examples @@ -135,6 +136,7 @@ pub fn hash_data(e: &Env, data: Bytes) -> BytesN<32> { - **Hash Functions**: SHA-256 and Keccak-256 implementations - **Merkle Verification**: Verify Merkle proofs for data integrity - **Utility Functions**: Hash pairs and commutative hashing +- **Grumpkin**: Affine point arithmetic (add, sub, neg, scalar mul) and point validation on the Grumpkin curve, built on the BN254 scalar-field host functions ### Merkle Distributor @@ -150,6 +152,8 @@ The `merkle_distributor` module implements a Merkle-based claim distribution sys The `math` module provides fixed-point arithmetic: a `Wad` decimal type with 18 decimal places, and free functions for `x * y / denominator` on both `i128` and `I256` with an explicit rounding direction. +`Wad` also provides the natural logarithm (`ln`), the natural exponential (`exp`), and powers with an integer (`powi`) or a `Wad` (`powf`) exponent. + Each operation comes in a panicking and a checked variant. The panicking variants raise `SorobanFixedPointError::Overflow` (1500) when the result overflows; the checked variants return `None`. `Wad`'s operators (`+`, `-`, `*`, `/`) work directly on `i128` and panic with a native arithmetic error instead (see the `# Overflow` section on `Wad`). #### Usage Examples @@ -196,9 +200,9 @@ Add this to your `Cargo.toml`: ```toml [dependencies] # We recommend pinning to a specific version, because rapid iterations are expected as the library is in an active development phase. -stellar-contract-utils = "=0.7.1" +stellar-contract-utils = "=0.8.0" # Add this if you want to use macros -stellar-macros = "=0.7.1" +stellar-macros = "=0.8.0" ``` ## Examples diff --git a/packages/fee-abstraction/README.md b/packages/fee-abstraction/README.md index f4fcd35d0..33e6e3260 100644 --- a/packages/fee-abstraction/README.md +++ b/packages/fee-abstraction/README.md @@ -6,6 +6,7 @@ This crate is part of the [OpenZeppelin Stellar Contracts](https://github.com/Op - [stellar-access](https://crates.io/crates/stellar-access): Role-based access controls and ownable - [stellar-accounts](https://crates.io/crates/stellar-accounts): Smart accounts with custom authentication and authorization +- [stellar-confidential](https://crates.io/crates/stellar-confidential): Confidential token with encrypted balances and zero-knowledge proofs - [stellar-contract-utils](https://crates.io/crates/stellar-contract-utils): Utilities for contracts (pausable, upgradeable, cryptography, etc.) - **[stellar-fee-abstraction](https://crates.io/crates/stellar-fee-abstraction)**: Fee abstraction utilities - [stellar-governance](https://crates.io/crates/stellar-governance): Governance utilities (governor, votes, timelock) @@ -63,7 +64,7 @@ Add this to your `Cargo.toml`: ```toml [dependencies] # We recommend pinning to a specific version, because rapid iterations are expected as the library is in an active development phase. -stellar-fee-abstraction = "=0.7.1" +stellar-fee-abstraction = "=0.8.0" ``` ### Examples diff --git a/packages/governance/README.md b/packages/governance/README.md index 204296947..ff72b29da 100644 --- a/packages/governance/README.md +++ b/packages/governance/README.md @@ -6,6 +6,7 @@ This crate is part of the [OpenZeppelin Stellar Contracts](https://github.com/Op - [stellar-access](https://crates.io/crates/stellar-access): Role-based access controls and ownable - [stellar-accounts](https://crates.io/crates/stellar-accounts): Smart accounts with custom authentication and authorization +- [stellar-confidential](https://crates.io/crates/stellar-confidential): Confidential token with encrypted balances and zero-knowledge proofs - [stellar-contract-utils](https://crates.io/crates/stellar-contract-utils): Utilities for contracts (pausable, upgradeable, cryptography, etc.) - [stellar-fee-abstraction](https://crates.io/crates/stellar-fee-abstraction): Fee abstraction utilities - **[stellar-governance](https://crates.io/crates/stellar-governance)**: Governance utilities (governor, votes, timelock) @@ -146,7 +147,7 @@ Add this to your `Cargo.toml`: ```toml [dependencies] # We recommend pinning to a specific version, because rapid iterations are expected as the library is in an active development phase. -stellar-governance = "=0.7.1" +stellar-governance = "=0.8.0" ``` ## Examples diff --git a/packages/macros/README.md b/packages/macros/README.md index 78f7a614a..90c4c44a2 100644 --- a/packages/macros/README.md +++ b/packages/macros/README.md @@ -6,6 +6,7 @@ This crate is part of the [OpenZeppelin Stellar Contracts](https://github.com/Op - [stellar-access](https://crates.io/crates/stellar-access): Role-based access controls and ownable - [stellar-accounts](https://crates.io/crates/stellar-accounts): Smart accounts with custom authentication and authorization +- [stellar-confidential](https://crates.io/crates/stellar-confidential): Confidential token with encrypted balances and zero-knowledge proofs - [stellar-contract-utils](https://crates.io/crates/stellar-contract-utils): Utilities for contracts (pausable, upgradeable, cryptography, etc.) - [stellar-fee-abstraction](https://crates.io/crates/stellar-fee-abstraction): Fee abstraction utilities - [stellar-governance](https://crates.io/crates/stellar-governance): Governance utilities (governor, votes, timelock) @@ -108,7 +109,7 @@ Add this to your `Cargo.toml`: ```toml [dependencies] # We recommend pinning to a specific version, because rapid iterations are expected as the library is in an active development phase. -stellar-macros = "=0.7.1" +stellar-macros = "=0.8.0" ``` ## Examples diff --git a/packages/tokens/README.md b/packages/tokens/README.md index 96593ef67..de0858174 100644 --- a/packages/tokens/README.md +++ b/packages/tokens/README.md @@ -6,6 +6,7 @@ This crate is part of the [OpenZeppelin Stellar Contracts](https://github.com/Op - [stellar-access](https://crates.io/crates/stellar-access): Role-based access controls and ownable - [stellar-accounts](https://crates.io/crates/stellar-accounts): Smart accounts with custom authentication and authorization +- [stellar-confidential](https://crates.io/crates/stellar-confidential): Confidential token with encrypted balances and zero-knowledge proofs - [stellar-contract-utils](https://crates.io/crates/stellar-contract-utils): Utilities for contracts (pausable, upgradeable, cryptography, etc.) - [stellar-fee-abstraction](https://crates.io/crates/stellar-fee-abstraction): Fee abstraction utilities - [stellar-governance](https://crates.io/crates/stellar-governance): Governance utilities (governor, votes, timelock) @@ -163,9 +164,9 @@ Add this to your `Cargo.toml`: ```toml [dependencies] # We recommend pinning to a specific version, because rapid iterations are expected as the library is in an active development phase. -stellar-tokens = "=0.7.1" +stellar-tokens = "=0.8.0" # Add this if you want to use macros -stellar-macros = "=0.7.1" +stellar-macros = "=0.8.0" ``` ## Examples @@ -174,7 +175,7 @@ See the following examples in the repository: - [`examples/fungible-pausable/`](https://github.com/OpenZeppelin/stellar-contracts/tree/main/examples/fungible-pausable) - Pausable fungible token - [`examples/nft-sequential-minting/`](https://github.com/OpenZeppelin/stellar-contracts/tree/main/examples/nft-sequential-minting) - Basic non-fungible token - [`examples/fungible-merkle-airdrop/`](https://github.com/OpenZeppelin/stellar-contracts/tree/main/examples/fungible-merkle-airdrop) - Airdrop with merkle proofs -- [`examples/rwa/`](https://github.com/OpenZeppelin/stellar-contracts/tree/main/examples/rwa) - A complete RWA contract suite and a step-by-step deployment guide. +- [`examples/rwa/`](https://github.com/OpenZeppelin/stellar-contracts/tree/main/examples/rwa) - A complete RWA contract suite, ready-made compliance modules, and a step-by-step deployment guide. ## License diff --git a/packages/zk-email/README.md b/packages/zk-email/README.md new file mode 100644 index 000000000..2ab68dee3 --- /dev/null +++ b/packages/zk-email/README.md @@ -0,0 +1,16 @@ +# Stellar zkEmail + +> [!Warning] +> This package is under development and not ready for use. Its API may change without notice, and it is not published on crates.io. + +zkEmail utilities for Stellar contracts: on-chain email verification using zero-knowledge proofs of DKIM signatures. + +## Modules + +### DKIM Registry + +The `dkim_registry` module is the on-chain trust anchor for a zkEmail system. It stores which DKIM public key hashes are valid for which domains, so that a proof verifier can confirm the key that signed an email is still trusted. + +## License + +This package is part of the Stellar Contracts library and follows the same licensing terms. diff --git a/packages/zk-email/src/lib.rs b/packages/zk-email/src/lib.rs index 08c70ab09..a8a97f52a 100644 --- a/packages/zk-email/src/lib.rs +++ b/packages/zk-email/src/lib.rs @@ -1,5 +1,8 @@ //! zkEmail utilities for Stellar contracts. //! +//! **This crate is under development and not ready for use.** Its API may +//! change without notice. +//! //! This crate provides modules for on-chain email verification using //! zero-knowledge proofs of DKIM signatures. From 4645af13145fbf45256a33e399aedc0e081a7d5a Mon Sep 17 00:00:00 2001 From: brozorec <9572072+brozorec@users.noreply.github.com> Date: Tue, 20 Oct 2026 17:57:42 +0200 Subject: [PATCH 2/6] upload report --- .../Stellar Contracts Library v0.8.0 Audit.pdf | Bin 0 -> 285901 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 audits/Stellar Contracts Library v0.8.0 Audit.pdf diff --git a/audits/Stellar Contracts Library v0.8.0 Audit.pdf b/audits/Stellar Contracts Library v0.8.0 Audit.pdf new file mode 100644 index 0000000000000000000000000000000000000000..93a61057594a606b7df9cef9532a9d52ab7921b4 GIT binary patch literal 285901 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

aNcR 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 QaJuPheBRe8S`ElS-cF(+E$+EjaEHaqF~-RPzDy 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 byl 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 z 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 Date: Tue, 20 Oct 2026 18:15:34 +0200 Subject: [PATCH 3/6] chore: bump rwa-batch bench to soroban-sdk 28 Aligns the bench with the 0.8.0 path dependencies and drops the experimental_spec_shaking_v2 feature, which SDK 28 removed. --- bench/rwa-batch/Cargo.lock | 66 ++++++++++++++++---------------------- bench/rwa-batch/Cargo.toml | 5 +-- 2 files changed, 29 insertions(+), 42 deletions(-) diff --git a/bench/rwa-batch/Cargo.lock b/bench/rwa-batch/Cargo.lock index fe349e04e..e10960f18 100644 --- a/bench/rwa-batch/Cargo.lock +++ b/bench/rwa-batch/Cargo.lock @@ -1333,7 +1333,7 @@ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" [[package]] name = "rwa-batch-bench" -version = "0.7.1" +version = "0.8.0" dependencies = [ "ed25519-dalek", "soroban-sdk", @@ -1523,9 +1523,9 @@ checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" [[package]] name = "soroban-builtin-sdk-macros" -version = "27.0.1" +version = "28.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b77bc93d930032c487cb1506b6ed166b2af49db76d52678ec4887ac621ecce01" +checksum = "86ffd329211a50add3965a8f4a8f70e24fc5c8268c945566ab963029b12dce40" dependencies = [ "itertools", "proc-macro2", @@ -1535,12 +1535,12 @@ dependencies = [ [[package]] name = "soroban-env-common" -version = "27.0.1" +version = "28.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b22e9981cdd444f3aa6734bc58d76195bf7eca3ccf1dd432b875af5d02da068" +checksum = "610bb12ee937a56c2b629f8eb16efb7e47607cba4e79ab0c24132b9a53dd19a0" dependencies = [ "arbitrary", - "crate-git-revision 0.0.6", + "crate-git-revision 0.0.9", "ethnum", "num-derive", "num-traits", @@ -1554,9 +1554,9 @@ dependencies = [ [[package]] name = "soroban-env-guest" -version = "27.0.1" +version = "28.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b6072f99ca6bf8e8d5b04e05d083dac785e5357d9c0f36a6658f819c2fd7d67" +checksum = "7d383176b27bb286f718ab0ff5713bd9b01132089151266359bd9b20f38684cf" dependencies = [ "soroban-env-common", "static_assertions", @@ -1564,9 +1564,9 @@ dependencies = [ [[package]] name = "soroban-env-host" -version = "27.0.1" +version = "28.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c06afd7c75ce150ce53e4d77a77645b18e3fb61856a0ddc42bfcecdc39fa3b9" +checksum = "36d7e5920c200939164cc58038224e2d90d7e2fabbfa505d6e2129d648dce7e2" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -1601,9 +1601,9 @@ dependencies = [ [[package]] name = "soroban-env-macros" -version = "27.0.1" +version = "28.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "647811bdd28a3ec40296987f6635781e5e1141c8f5affbbd53ba12b6295b7bb6" +checksum = "077600bb175ea54592c1ac5983b8fb34ec9ab7a65f298af11d687b61e9d646a4" dependencies = [ "itertools", "proc-macro2", @@ -1616,9 +1616,9 @@ dependencies = [ [[package]] name = "soroban-ledger-snapshot" -version = "27.0.6" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b59883d8bd0d1aed8d57579a9974ab88eaf787dd0a1af104f6881b5707450558" +checksum = "b5caeb0a4c8af6d04dc1dfbf96199e0d50ae086c7d54c9001abe78bb891fc44f" dependencies = [ "serde", "serde_json", @@ -1628,20 +1628,11 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "soroban-poseidon" -version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b241822373adc51c23d5412e412b3b91b0d6b6bba146584946391aa32667820d" -dependencies = [ - "soroban-sdk", -] - [[package]] name = "soroban-sdk" -version = "27.0.2" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cfa78af0110f0830d3af9db0361b6cdb50507846cedb8725189318134218b80" +checksum = "e4946477e75667215a25b652b0febb446485686c944d364c117c903e3fb98bab" dependencies = [ "arbitrary", "bytes-lit", @@ -1663,9 +1654,9 @@ dependencies = [ [[package]] name = "soroban-sdk-macros" -version = "27.0.6" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bd4a847273d749807fe2eb52e2b9c1917ee482cd6a39465cad5c389548996ad" +checksum = "168f2d2c3fd4da57584c71e0a8315a8e656486495bc53e18c93b8ec4db085438" dependencies = [ "darling 0.20.11", "heck", @@ -1683,9 +1674,9 @@ dependencies = [ [[package]] name = "soroban-spec" -version = "27.0.6" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "473404322827b285cbcd87517f365986bd63af7842c78b2a86ee061715fda61e" +checksum = "2f48c8e183fc140ccd89e1fe1663cc605fb18641967c0bb591f64887599fde59" dependencies = [ "base64", "sha2", @@ -1696,9 +1687,9 @@ dependencies = [ [[package]] name = "soroban-spec-rust" -version = "27.0.6" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f25698b6ce2125850a9ef075cf9ba1e8d25b4cfa0c46aca42dadd80cc29d881" +checksum = "40cd0021887fd047e9f63cea36da35b202881bc0e0dbcc067a146137ca46f192" dependencies = [ "prettyplease", "proc-macro2", @@ -1753,14 +1744,14 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "stellar-contract-utils" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk", ] [[package]] name = "stellar-governance" -version = "0.7.1" +version = "0.8.0" dependencies = [ "soroban-sdk", ] @@ -1788,9 +1779,8 @@ dependencies = [ [[package]] name = "stellar-tokens" -version = "0.7.1" +version = "0.8.0" dependencies = [ - "soroban-poseidon", "soroban-sdk", "stellar-contract-utils", "stellar-governance", @@ -1798,14 +1788,14 @@ dependencies = [ [[package]] name = "stellar-xdr" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ff843326969bdf1ef673dcdba94c08f4a3c8f1e58d6e6ef39b1bd4f749179a" +checksum = "f93d09ff8b9f919b084f664003c4c546ac66a76affd5429460dbe29f4b326f8e" dependencies = [ "arbitrary", "base64", "cfg_eval", - "crate-git-revision 0.0.6", + "crate-git-revision 0.0.9", "escape-bytes", "ethnum", "hex", diff --git a/bench/rwa-batch/Cargo.toml b/bench/rwa-batch/Cargo.toml index 6efe8f59c..8e618c5d6 100644 --- a/bench/rwa-batch/Cargo.toml +++ b/bench/rwa-batch/Cargo.toml @@ -13,10 +13,7 @@ version = "0.8.0" # and counted by `cargo llvm-cov --workspace --fail-under-lines 90`. [dependencies] -soroban-sdk = { version = "27.0.2", features = [ - "testutils", - "experimental_spec_shaking_v2", -] } +soroban-sdk = { version = "28.0.0", features = ["testutils"] } stellar-contract-utils = { path = "../../packages/contract-utils", version = "0.8.0" } stellar-tokens = { path = "../../packages/tokens", version = "0.8.0" } ed25519-dalek = "2.1.1" From 075a1c754403c58f7078616311b2afc08ad7665f Mon Sep 17 00:00:00 2001 From: brozorec <9572072+brozorec@users.noreply.github.com> Date: Tue, 20 Oct 2026 18:41:08 +0200 Subject: [PATCH 4/6] fix(rwa): export default methods of the identity registry example The trait impls used `#[contractimpl]` without `contracttrait`, so `get_country_data_entries` and `get_country_data` were never exported and the country compliance modules reverted every hook call. --- examples/rwa/identity-registry/src/contract.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/rwa/identity-registry/src/contract.rs b/examples/rwa/identity-registry/src/contract.rs index b54fe1773..af25033ca 100644 --- a/examples/rwa/identity-registry/src/contract.rs +++ b/examples/rwa/identity-registry/src/contract.rs @@ -40,7 +40,7 @@ impl TokenBinder for IdentityRegistryContract { } } -#[contractimpl] +#[contractimpl(contracttrait)] impl IdentityRegistryStorage for IdentityRegistryContract { #[only_role(operator, "manager")] fn add_identity( @@ -102,7 +102,7 @@ impl IdentityRegistryStorage for IdentityRegistryContract { } } -#[contractimpl] +#[contractimpl(contracttrait)] impl CountryDataManager for IdentityRegistryContract { #[only_role(operator, "manager")] fn add_country_data_entries(e: &Env, account: Address, profiles: Vec, operator: Address) { From 117b04a21f6125dcbdb00c6ceaeaef2414b3aab7 Mon Sep 17 00:00:00 2001 From: brozorec <9572072+brozorec@users.noreply.github.com> Date: Tue, 20 Oct 2026 18:41:09 +0200 Subject: [PATCH 5/6] docs(rwa): configure compliance module policies in the deployment guide Unconfigured modules default to an empty policy, which reverts every mint for SupplyLimit and MaxBalance. Module setup now runs after the token deployment, since module settings are keyed by token address, and step 5.1 passes `initial_profiles` as raw ScVal JSON, which the CLI requires for `Vec`. --- examples/rwa/README.md | 193 +++++++++++++++++++++++++++++++++-------- 1 file changed, 158 insertions(+), 35 deletions(-) diff --git a/examples/rwa/README.md b/examples/rwa/README.md index 6160be5ae..a681229ae 100644 --- a/examples/rwa/README.md +++ b/examples/rwa/README.md @@ -224,19 +224,19 @@ stellar contract invoke --id identity-registry --source admin \ -- add_identity \ --account alice \ --identity $ALICE_IDENTITY \ - --initial_profiles '[{"country": {"Individual": {"Residence": 840}}, "metadata": null}]' \ + --initial_profiles '[{"map": [{"key": {"symbol": "country"}, "val": {"vec": [{"symbol": "Individual"}, {"vec": [{"symbol": "Residence"}, {"u32": 840}]}]}}, {"key": {"symbol": "metadata"}, "val": "void"}]}]' \ --operator admin ``` -`CountryData` uses a nested enum structure. The outer `CountryRelation` variant is either `Individual` or `Organization`, and the inner variant is the relationship type (e.g., `Residence`, `Citizenship`, `Incorporation`) wrapping an ISO 3166-1 numeric country code (e.g., 840 = United States). +`initial_profiles` is a `Vec`, so the CLI cannot infer the `CountryData` type and each profile is passed as a raw `ScVal` JSON value. `CountryData` is a struct, encoded as a `map` with the symbol keys `country` and `metadata` in that order; a `metadata` of `None` is `"void"`. `country` is a nested enum: the outer `CountryRelation` variant is either `Individual` or `Organization`, and the inner variant is the relationship type (e.g., `Residence`, `Citizenship`, `Incorporation`) wrapping an ISO 3166-1 numeric country code (e.g., 840 = United States). Each enum variant is encoded as a `vec` holding its name as a `symbol` followed by its value. -Examples of valid `CountryData` JSON values: +Examples of valid `CountryData` values: ```json -{"country": {"Individual": {"Residence": 840}}, "metadata": null} -{"country": {"Individual": {"Citizenship": 276}}, "metadata": null} -{"country": {"Organization": {"Incorporation": 840}}, "metadata": null} -{"country": {"Organization": {"OperatingJurisdiction": 276}}, "metadata": null} +{"map": [{"key": {"symbol": "country"}, "val": {"vec": [{"symbol": "Individual"}, {"vec": [{"symbol": "Residence"}, {"u32": 840}]}]}}, {"key": {"symbol": "metadata"}, "val": "void"}]} +{"map": [{"key": {"symbol": "country"}, "val": {"vec": [{"symbol": "Individual"}, {"vec": [{"symbol": "Citizenship"}, {"u32": 276}]}]}}, {"key": {"symbol": "metadata"}, "val": "void"}]} +{"map": [{"key": {"symbol": "country"}, "val": {"vec": [{"symbol": "Organization"}, {"vec": [{"symbol": "Incorporation"}, {"u32": 840}]}]}}, {"key": {"symbol": "metadata"}, "val": "void"}]} +{"map": [{"key": {"symbol": "country"}, "val": {"vec": [{"symbol": "Organization"}, {"vec": [{"symbol": "OperatingJurisdiction"}, {"u32": 276}]}]}}, {"key": {"symbol": "metadata"}, "val": "void"}]} ``` ### 6. Deploy Identity Verifier Contract @@ -259,7 +259,7 @@ export VERIFIER_ADDRESS=$(stellar contract alias show identity-verifier 2>&1 | t ### 7. Deploy Compliance Contract -The compliance contract enforces business rules through pluggable modules registered on specific hooks. +The compliance contract enforces business rules through pluggable modules registered on specific hooks. Modules are configured in step 9, once the token exists. ```bash stellar contract deploy --alias compliance \ @@ -273,7 +273,43 @@ stellar contract deploy --alias compliance \ export COMPLIANCE_ADDRESS=$(stellar contract alias show compliance 2>&1 | tail -n 1) ``` -#### Register Compliance Modules (Optional) +### 8. Deploy RWA Token Contract + +Finally, deploy the token itself: + +```bash +stellar contract deploy --alias rwa-token \ + --wasm target/wasm32v1-none/release/rwa_token_example.wasm \ + -- \ + --name "Acme Real Estate Token" \ + --symbol "ACRE" \ + --admin admin \ + --manager admin \ + --compliance $COMPLIANCE_ADDRESS \ + --identity_verifier $VERIFIER_ADDRESS +``` + +```bash +export TOKEN_ADDRESS=$(stellar contract alias show rwa-token 2>&1 | tail -n 1) +``` + +#### Bind the Token to Periphery Contracts + +The Identity Registry and Compliance contracts need to know which tokens they serve: + +```bash +stellar contract invoke --id identity-registry --source admin \ + -- bind_token \ + --token $TOKEN_ADDRESS \ + --operator admin + +stellar contract invoke --id compliance --source admin \ + -- bind_token \ + --token $TOKEN_ADDRESS \ + --operator admin +``` + +### 9. Configure Compliance Modules (Optional) Compliance modules are separate contracts registered on the hooks they act on. Available hooks: `Transferred`, `Created`, `Destroyed`. Each hook runs after the token operation in the same transaction, and a module rejects the operation by panicking. @@ -289,55 +325,141 @@ The following ready-made module examples are ports of the T-REX modular complian | `compliance-time-transfers-limits/` | `TimeTransfersLimitsContract` | Caps cumulative outgoing transfers per identity within time windows | `Transferred` | | `compliance-transfer-allow/` | `TransferAllowContract` | Allows a transfer only when the sender or recipient is allowlisted | `Transferred` | -Bind each module to the compliance contract for the token with `set_compliance_address`. The country, max-balance, and time-transfers-limits modules also resolve identities, so they need the Identity Registry address set with `set_identity_registry_storage`. Then register the module on each of its hooks: - -```bash -stellar contract invoke --id compliance --source admin \ - -- add_module_to \ - --hook Transferred \ - --module \ - --operator admin -``` +Module settings are keyed by token address, so they are set after the token is deployed in step 8. Configure a module fully before registering it on its hooks: a registered module enforces its policy from the next token operation. > **Note:** Without any registered modules, the compliance contract allows all operations by default. -### 8. Deploy RWA Token Contract +#### Deploy and Bind a Module -Finally, deploy the token itself: +The commands below alias each module after its directory name without the `compliance-` prefix. Deploy the supply limit module; the other modules follow the same pattern with their own alias and WASM file (e.g. `max-balance` and `compliance_max_balance.wasm`): ```bash -stellar contract deploy --alias rwa-token \ - --wasm target/wasm32v1-none/release/rwa_token_example.wasm \ +stellar contract deploy --alias supply-limit \ + --wasm target/wasm32v1-none/release/compliance_supply_limit.wasm \ -- \ - --name "Acme Real Estate Token" \ - --symbol "ACRE" \ --admin admin \ - --manager admin \ + --manager admin +``` + +```bash +export SUPPLY_LIMIT_ADDRESS=$(stellar contract alias show supply-limit 2>&1 | tail -n 1) +``` + +Bind the module to the compliance contract for the token with `set_compliance_address`: + +```bash +stellar contract invoke --id supply-limit --source admin \ + -- set_compliance_address \ + --token $TOKEN_ADDRESS \ --compliance $COMPLIANCE_ADDRESS \ - --identity_verifier $VERIFIER_ADDRESS + --operator admin ``` +The country, max-balance, and time-transfers-limits modules also resolve identities, so they need the Identity Registry address set with `set_identity_registry_storage`: + ```bash -export TOKEN_ADDRESS=$(stellar contract alias show rwa-token 2>&1 | tail -n 1) +stellar contract invoke --id max-balance --source admin \ + -- set_identity_registry_storage \ + --token $TOKEN_ADDRESS \ + --irs $REGISTRY_ADDRESS \ + --operator admin ``` -#### Bind the Token to Periphery Contracts +#### Set the Module Policy -The Identity Registry and Compliance contracts need to know which tokens they serve: +Each module starts with an empty policy for the token. The example values below let the mint in step 10 and the transfer under Key Operations go through, unless noted otherwise. Amounts use the token's 7 decimals, and durations are in ledgers (17280 ledgers ≈ 1 day). + +**Supply limit:** the cap defaults to `0`, which rejects every mint. Cap the supply at 1,000,000 tokens: ```bash -stellar contract invoke --id identity-registry --source admin \ - -- bind_token \ +stellar contract invoke --id supply-limit --source admin \ + -- set_supply_limit \ --token $TOKEN_ADDRESS \ + --limit 10000000000000 \ --operator admin +``` -stellar contract invoke --id compliance --source admin \ - -- bind_token \ +**Max balance:** the cap defaults to `0`, which rejects every mint and regular transfer. Cap the aggregate balance of each identity at 500 tokens: + +```bash +stellar contract invoke --id max-balance --source admin \ + -- set_max_balance \ + --token $TOKEN_ADDRESS \ + --max 5000000000 \ + --operator admin +``` + +**Initial lockup period:** the period defaults to `0`, so mints create no locks. Lock minted tokens for about 1 day: + +```bash +stellar contract invoke --id initial-lockup-period --source admin \ + -- set_lockup_period \ + --token $TOKEN_ADDRESS \ + --period 17280 \ + --operator admin +``` + +With this module registered, the tokens minted in step 10 stay locked for the period, so the transfer under Key Operations reverts until it elapses. + +**Time transfers limits:** no time windows are configured by default, so transfers are not limited. Cap the outgoing transfers of each identity at 100 tokens per day: + +```bash +stellar contract invoke --id time-transfers-limits --source admin \ + -- set_time_transfer_limit \ + --token $TOKEN_ADDRESS \ + --limit '{"limit_duration": 17280, "limit_value": "1000000000"}' \ + --operator admin +``` + +**Country allow:** the allowlist starts empty, which rejects every mint and regular transfer. Allow the United States (840), the country registered for the investors in step 5.1: + +```bash +stellar contract invoke --id country-allow --source admin \ + -- add_allowed_country \ --token $TOKEN_ADDRESS \ + --country 840 \ + --operator admin +``` + +**Country restrict:** the restriction list starts empty, so no country is blocked. Restrict North Korea (408): + +```bash +stellar contract invoke --id country-restrict --source admin \ + -- add_country_restriction \ + --token $TOKEN_ADDRESS \ + --country 408 \ + --operator admin +``` + +**Transfer allow:** the allowlist starts empty, which rejects every regular transfer. A transfer passes when the sender or the recipient is allowlisted, so allowlist `alice`: + +```bash +stellar contract invoke --id transfer-allow --source admin \ + -- allow_user \ + --token $TOKEN_ADDRESS \ + --user alice \ + --operator admin +``` + +#### Register the Module on Its Hooks + +Register the module on each of its hooks listed in the table, e.g. `Created` and `Destroyed` for the supply limit module: + +```bash +stellar contract invoke --id compliance --source admin \ + -- add_module_to \ + --hook Created \ + --module $SUPPLY_LIMIT_ADDRESS \ + --operator admin + +stellar contract invoke --id compliance --source admin \ + -- add_module_to \ + --hook Destroyed \ + --module $SUPPLY_LIMIT_ADDRESS \ --operator admin ``` -### 9. Mint Tokens +### 10. Mint Tokens With everything configured, mint tokens to verified investors: @@ -360,9 +482,10 @@ Use this checklist to verify your deployment is complete: - [ ] Identity contracts deployed for each investor, claims added - [ ] Identity Registry Storage deployed, identities registered - [ ] Identity Verifier deployed, linked to Claim Topics and Issuers + Identity Registry Storage -- [ ] Compliance deployed, modules registered (if any) +- [ ] Compliance deployed - [ ] RWA Token deployed, linked to Compliance + Identity Verifier - [ ] Token bound to Identity Registry and Compliance contracts +- [ ] Compliance modules (if any) deployed, bound, configured, and registered on their hooks - [ ] Initial token supply minted to verified addresses ## Key Operations From 14cda137355c9226767add03eec3cdddd14ce18d Mon Sep 17 00:00:00 2001 From: brozorec <9572072+brozorec@users.noreply.github.com> Date: Tue, 20 Oct 2026 18:50:40 +0200 Subject: [PATCH 6/6] docs(confidential): fold the circuits agent guide into the package guide Drops the parts already documented next to the code and keeps only the obligations that span several files. The package guide also loads when editing the Rust side, which the address_to_field and toolchain items need. --- packages/confidential/CLAUDE.md | 25 +++++- packages/confidential/circuits/CLAUDE.md | 96 ------------------------ 2 files changed, 23 insertions(+), 98 deletions(-) delete mode 100644 packages/confidential/circuits/CLAUDE.md diff --git a/packages/confidential/CLAUDE.md b/packages/confidential/CLAUDE.md index 7172e6467..adebe4324 100644 --- a/packages/confidential/CLAUDE.md +++ b/packages/confidential/CLAUDE.md @@ -1,6 +1,6 @@ # Confidential Token — Agent Guide -Scoped to `packages/confidential/`. The root `CLAUDE.md` still applies in full; this file only covers what is specific to this subtree. The Noir workspace has its own guide at `circuits/CLAUDE.md`. +Scoped to `packages/confidential/`. The root `CLAUDE.md` still applies in full; this file only covers what is specific to this subtree. ## Orientation @@ -39,6 +39,27 @@ Beyond the root guide's conventions: - Use `fixture_point` / `fixture_field`, not arbitrary bytes. The fixtures are canonical and on-curve; random values fail the canonicality guards before reaching any logic under test. - Two mocks model proof semantics on purpose: the register mock in `src/test.rs` binds the first `acct_f` it sees, and `ClawbackReplayGuardVerifier` in `src/compliance/test.rs` binds the first whole blob, both standing in for UltraHonk's absorption of public inputs, so replay tests are meaningful. Keep that behaviour if either flow changes. +## Noir circuits + +Run from `circuits/`; CI is `.github/workflows/noir.yml`. There is no `nargo fmt` step and no formatter config. + +```bash +nargo check && nargo test +nargo info # per-package constraint counts +./scripts/extract_vks.sh # regenerate vks/*.vk.json +./scripts/build_vk_bins.sh # regenerate vks/*.vk.bin +./scripts/check_witness_lookups.sh # no witness reaches a lookup table +``` + +Each change below spans several files and lands in one PR with all of its sites: + +- **Adding a circuit.** The package, the `members` list in `circuits/Nargo.toml`, and the hardcoded `CIRCUITS` arrays in both `circuits/scripts/extract_vks.sh` and `circuits/scripts/build_vk_bins.sh`; then regenerate `constraints.baseline` and both VK formats. +- **Renaming a package.** Directory `transfer/` is package `circuit_transfer`. Both VK scripts derive `circuit_${name}` and `target/${pkg}.json` from the directory name, and every row of `constraints.baseline` is keyed on the package name. +- **Bumping the toolchain.** `NARGO_VERSION` and `BB_VERSION` in `noir.yml` are the source of truth and move together; the VKs are byte-sensitive to bb. Both versions are restated in the comment above `compiler_version` in every package `Nargo.toml` and in `circuits/vks/README.md`; the nargo version in the `constraints.baseline` header; the bb version in `circuits/scripts/check_witness_lookups.sh`, whose blackbox allowlist must be re-confirmed against the new bb, and in `README.md`, which names the bb version the on-chain verifier accepts. The CI installers are pinned by commit with SHA256 verification; bump URL and hash together, then regenerate the baseline and both VK formats. +- **`address_to_field` vectors.** The derivation has no Noir implementation (circuits take `addr_f` as an opaque public input), so `circuits/lib/testdata/address_to_field.json` is guarded only by `address_to_field_matches_testdata_vectors` in `src/test.rs`, which transcribes the hex values as literals rather than reading the JSON. Update both together. + +Regenerating `constraints.baseline` with the command in its header overwrites that header, and CI strips comments before diffing, so nothing flags the loss. Restore the header by hand. + ## The documentation set `docs/` is a specification, not commentary, and it is the single largest maintenance hazard in this module — doc-consistency fixes outnumber code commits on this branch. @@ -54,7 +75,7 @@ Most facts now have exactly one owning section and are linked from everywhere el | Content | Owner | Copies live in | |:---|:---|:---| | `Clawback` is a `T₀` anchor alongside `Merge` | `docs/protocol/wallet-state.md#recovery` | `docs/compliance.md#wallet-and-auditor-consequences`, the role column of `docs/indexer.md#events-in-scope` | -| Per-circuit public-input counts | the `Public inputs` heading of each `docs/protocol/operations/*.md` and `docs/compliance.md#circuit` | header comments of `circuits/*/src/main.nr`, `circuits/CLAUDE.md` | +| Per-circuit public-input counts | the `Public inputs` heading of each `docs/protocol/operations/*.md` and `docs/compliance.md#circuit` | header comments of `circuits/*/src/main.nr` | | Domain-separation tag values | `docs/protocol/domain-separators.md` | `circuits/lib/src/lib.nr`, `circuits/lib/testdata/*.json` | The tags are a cross-language wire contract. `docs/protocol/domain-separators.md` is their only authoritative source: it assigns every value, states which layer absorbs each, and states which subset `circuits/lib/src/lib.nr` implements. Changing any assigned value is a new deployment, not an upgrade. diff --git a/packages/confidential/circuits/CLAUDE.md b/packages/confidential/circuits/CLAUDE.md deleted file mode 100644 index 52fd0fb66..000000000 --- a/packages/confidential/circuits/CLAUDE.md +++ /dev/null @@ -1,96 +0,0 @@ -# Confidential Circuits — Agent Guide - -Scoped to `packages/confidential/circuits/`. Read alongside the root `CLAUDE.md` and `../CLAUDE.md`. - -This tree is Noir, built by `nargo` — **not** part of the Cargo workspace. Nothing in `Cargo.toml` references it and nothing here references `Cargo.toml`. `Architecture.md` §"Noir Circuits" explains the package model (`lib` vs measurement-only `bin` gadgets vs operation circuits); it is not repeated here. - -## Commands - -Run from this directory. CI is `.github/workflows/noir.yml`. - -| Task | Command | -|:---|:---| -| Type-check | `nargo check` | -| Test | `nargo test` | -| Per-primitive constraint counts | `nargo info` | -| Compile one circuit | `nargo compile --package circuit_` | -| Regenerate verification keys | `./scripts/extract_vks.sh` | -| Check no witness reaches a lookup table | `./scripts/check_witness_lookups.sh` | - -There is no `nargo fmt` step in CI and no formatter config — Noir formatting is unenforced. The workflow triggers only on `circuits/**`, so a change to the Rust-side parity test in `../test.rs` does **not** run this job. - -## Traps - -### `compiler_version = "=1.0.0"` is deliberate - -It appears in all fourteen package `Nargo.toml` files — the workspace manifest `circuits/Nargo.toml` carries only `[workspace]` — and looks like a mistake. Nargo requirements cannot name prereleases, so the real toolchain — **nargo 1.0.0-beta.11 + bb 0.87.0**, pinned in `.github/workflows/noir.yml` — is documented in the comment above it instead. Do not "correct" this to `=1.0.0-beta.11`. - -### Do not prune unused public inputs - -`_acct_f` in `register/src/main.nr` is referenced by no gate and looks like dead code. It is the replay binding: UltraHonk absorbs every public input into the transcript, so a proof produced for one account fails when the contract assembles the blob for another. Removing it lets anyone replay a legitimate registration's published proof and payload to mint duplicate-key accounts. `clawback/src/main.nr` carries four such bindings — `addr_f`, `_acct_f`, `_dest_f`, `_nonce` — removing `_dest_f` lets a compromised clawback signer settle a witness to a destination of its own choosing, and removing `_nonce` lets an approved proof execute again once the commitments are restored. Each operation circuit declares its exact public-input count in a header comment — clawback 11, withdraw 16, transfer / spender_transfer 25, set_spender 26 — and the count is part of the contract with the on-chain assembler. - -### `as_witness` in `commit` and `scalar_mul` is not dead code - -`as_witness(G, value)` looks like an identity wrapper around a constant. It keeps bb off its fixed-base lookup tables: proofs are non-zk, so the read-count commitments would publish which table rows each secret scalar's windows hit. The doc comment on `as_witness` lists what keeps the generator a witness. `scripts/check_witness_lookups.sh` fails CI on any `multi_scalar_mul` with a constant base point and on any blackbox outside its plookup-free allowlist; extend the allowlist only after confirming bb lowers the new blackbox without lookups. - -### Package names are load-bearing - -Directory `transfer/` is package `circuit_transfer`; `gadgets/commit/` is `gadget_commit`; the library is `stellar_confidential_lib`. `scripts/extract_vks.sh` derives `circuit_${name}` and `target/${pkg}.json` from a bare name, and every row of `constraints.baseline` is keyed on the package name. Renaming a directory without matching the package name breaks both. Gadgets depend on the lib via `../../lib`, operations via `../lib`. - -### Never hash raw - -`poseidon_with_domain` is the only Poseidon entry point in `lib/src/lib.nr`; calling the underlying hash directly is a violation of the library contract. The domain tag is always the first absorbed element. The numeric tag values are the cross-language contract with the SDK — see `../CLAUDE.md` and `../docs/protocol/domain-separators.md`, which is their only authoritative source. - -Sponge parameters, the canonical lane assignment, and the mode-exclusivity rule that follows from a single-block absorb are normative in `../docs/protocol/primitives.md#poseidon2-hash`; the Noir sponge must match it exactly. The obligations that section places on this code: `sponge_squeeze_2(d,s,σ)[0]` must stay equal to `poseidon_with_domain(d,[s,σ])`, and `sponge_squeeze_3(d,s,σ)[0..2]` must stay equal to `sponge_squeeze_2(d,s,σ)` — which is why `sponge_squeeze_2` is defined as the prefix of `sponge_squeeze_3`. A divergence in either silently changes every existing mask. - -`AUDITOR_SENDER` is always squeezed three-wide; `AUDITOR_RECIPIENT` is always two-wide; every other tag goes through `poseidon_with_domain`. Widening or narrowing a channel is a spec change. - -`lane[2]` carries the blinding of a commitment the operation writes — `r'` on W_a5 / T_a9 / S_a6, `r_a'` on O_a9. Tag 17 (`ESCROWED_ALLOWANCE_BLINDING_AUDITOR`) escrows `r_a` off-sponge at S14; the construction is specified in `../docs/protocol/auditing.md#auditor-side-allowance-blinding-escrow`. - -ECDH must absorb both `S.x` and `S.y`; x-only extraction collapses `P` and `-P`. - -The `G` and `H` generators are hardcoded but provenance-checked at runtime by the `print_generators` test; re-extract with `nargo test print_generators --show-output` rather than editing the constants by hand. - -## Committed artifacts - -Four kinds of generated file are committed: `constraints.baseline`, `vks/*.vk.json`, `vks/*.vk.bin`, and `lib/testdata/*.json`. CI regenerates and diffs all four. `target/` and `Prover.toml` are gitignored. - -### `constraints.baseline` - -Normalized `nargo info` output. Regenerate with the command in its own header: - -```bash -LC_ALL=C nargo info | grep '^|' | LC_ALL=C sort > constraints.baseline -``` - -`LC_ALL=C` is mandatory on **both** sides of the pipe — byte order is the only ordering stable between macOS and the Ubuntu runner. The redirect overwrites the file's header comments; re-paste them, because CI's failure message asks for them. - -One non-obvious consequence: adding or removing a **gadget** changes the baseline even when no circuit logic changed. The baseline is the only place the ACIR opcode counts are recorded; the docs cite it rather than quoting the numbers. - -### `vks/` - -`./scripts/extract_vks.sh` compiles each circuit and runs `bb write_vk -s ultra_honk --output_format fields`. The `fields` format is required, not a preference: bb's `bytes` format carries platform-dependent header bytes that break macOS↔Linux diffs. - -Adding a circuit means **four** edits — the package itself, the `members` list in `Nargo.toml`, and the hardcoded `CIRCUITS` arrays in `scripts/extract_vks.sh` and `scripts/build_vk_bins.sh` — then regenerating the baseline and both VK formats. - -Proving uses non-default flags: `bb prove -s ultra_honk --oracle_hash keccak`. Keccak is required because the on-chain verifier reproduces the Fiat-Shamir transcript with Keccak while bb defaults to `poseidon2`. Do **not** pass `--zk`; the verifier implements only the non-zk `ultra_flavor`. This recipe is provisional until the verifier settles the zero-knowledge setting. - -Drift policy: if the circuit changed, regenerate in the same PR. If the **toolchain** drifted, do not regenerate — investigate first. - -### `lib/testdata/` - -Fixtures are not auto-generated. Changing a primitive is a three-step lockstep: - -1. `nargo test print_fixtures --package stellar_confidential_lib --show-output` -2. Update the matching `testdata/*.json` -3. Update the hardcoded expected values in the `fixtures_match_testdata` test in `lib/src/tests.nr` - -`fixtures_match_testdata` is the in-Noir guard that fails CI. The sponge vectors are additionally hoisted into `global SPONGE_SQUEEZE_2_*` / `SPONGE_SQUEEZE_3_*` constants in the same file — a fourth site. - -`address_to_field.json` is the exception. That derivation has no Noir implementation at all (circuits take `addr_f` as an opaque public input), so it is the one primitive with two independent implementations. Its guard is the Rust test `address_to_field_matches_testdata_vectors` in `../test.rs`, which **transcribes the hex values as string literals** rather than reading the JSON — update both together or neither. Its inputs are 56-character SEP-23 strkeys, and the lo/hi 28-byte limbs are little-endian. - -Note the standing obligation on the future TS SDK (`../docs/sdk/conformance.md#primitive-fixtures`): its tests must *read* these JSON files rather than transcribe them, so that a change to `print_fixtures` output becomes a test failure instead of a silent divergence. Do not copy the Rust test's transcription pattern into new consumers. - -## Version bumps - -`.github/workflows/noir.yml` is the source of truth for `NARGO_VERSION` and `BB_VERSION`, and the two must be bumped together — the VK pipeline is byte-sensitive to bb. The string `1.0.0-beta.11` is duplicated across all fourteen package `Nargo.toml` files, `constraints.baseline`, `vks/README.md` (which also restates the bb version), and this file. A bump touches all of them and requires regenerating both the baseline and the VKs. The installer scripts in CI are pinned to git commits with SHA256 verification; bump URL and hash together.