Conversation
Major changes: - Add Stoffel entry point with compile()/compile_file()/load() builder pattern - Add StoffelBuilder for MPC configuration (parties, threshold, protocol, etc.) - Add StoffelRuntime with program()/client()/server()/node() accessors - Add MPCClient, MPCServer, MPCNode participant classes with builders - Add NetworkConfig with TOML file support - Add advanced module with ShareManager and NetworkBuilder - Add ProtocolType, ShareType, OptimizationLevel enums - Add comprehensive exception hierarchy (StoffelError, MPCError, etc.) - Enforce minimum 3 parties for HoneyBadger MPC - Update branding consistency (Stoffel, not StoffelLang/StoffelVM) - Update all examples and tests for new API structure - Fix examples to work without compiler/VM bindings installed 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Major additions: - MPC Coordinator module for orchestrating computation phases - MockMPCCoordinator for local testing - CoordinatorClient for client-coordinator interaction - Session state management (preprocessing, inputs, compute, outputs) - Async networking layer using asyncio - MPCNetworkManager for connection management - TCP transport with handshake protocol - Message types for MPC communication - Network helpers for easy setup - Native ctypes bindings for Rust libraries - NativeCompiler using stoffellang.h C API - NativeVM using stoffel_vm.h C API - NativeShareManager for secret sharing operations - Updated MPC participants with full networking - MPCClient: connect_to_servers(), send_inputs(), receive_outputs() - MPCServer: start(), connect_to_peers(), run_computation() - Cleaned up examples folder - Single main.py example demonstrating coordinator workflow - Removed redundant example files The coordinator orchestrates WHEN computation phases happen, but does NOT perform computation - the nodes do. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR ensures that the python SDK has feature parity with the Rust SDK. There's still a lot of work to do but this PR contains a minimal set of functionality that can be used.