Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Separate Aggregator Binary #23

Merged
merged 1 commit into from
Aug 27, 2024
Merged

Conversation

ryardley
Copy link
Contributor

@ryardley ryardley commented Aug 27, 2024

This adds a configuration as a binary so we can show that we can move functionality easily between binaries which represent various components of our system

Summary by CodeRabbit

  • New Features

    • Introduced a new CI workflow for Rust projects, enhancing automated testing capabilities.
    • Added P2P communication functionality, enabling decentralized messaging between nodes.
    • Implemented an event-driven architecture for managing enclave operations and cryptographic tasks.
  • Bug Fixes

    • Improved readability and clarity in various documentation files, including licensing and configuration.
  • Documentation

    • Added comments to clarify intent in smart contract functions, ensuring compliance with linting rules.
  • Chores

    • Updated dependency management across multiple modules for improved performance and feature sets.

@ryardley ryardley changed the base branch from main to ciphernode_poc August 27, 2024 23:28
Copy link
Contributor

coderabbitai bot commented Aug 27, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

The recent changes involve significant updates to the codebase, including the introduction of new workflows for Rust and modifications to existing CI configurations. Key components have been renamed and restructured, particularly within the Rust modules, enhancing modularity and clarity. Additional dependencies have been added for better functionality, while several new actors and utilities have been introduced to facilitate asynchronous operations, event handling, and peer-to-peer communication.

Changes

Files Change Summary
.github/workflows/ci.yml Renamed workflow from "CI" to "EVM."
.github/workflows/rust-ci.yml Added a new CI workflow for Rust projects, including job setup and test execution.
.vscode/extensions.json Reformatted the "recommendations" array for better readability.
LICENSE.md Adjusted formatting in the GNU GPL Version 3 text for improved readability.
package.json Introduced an empty "dependencies" section.
packages/ciphernode/Cargo.toml Changed package name from "core" to "enclave-core" and added multiple new dependencies for enhanced functionality.
packages/ciphernode/core/src/lib.rs Restructured codebase, renaming and reorganizing modules; commented out the Core struct.
packages/ciphernode/core/src/ciphernode.rs Introduced Ciphernode actor for handling computation requests and managing key shares.
packages/ciphernode/core/src/committee.rs Added CommitteeManager actor for managing committee keys and events.
packages/ciphernode/core/src/committee_key.rs Implemented CommitteeKey actor for public key aggregation in a committee setting.
packages/ciphernode/core/src/data.rs Established an actor-based key-value store with logging capabilities.
packages/ciphernode/core/src/enclave_contract.rs Defined EnclaveContract actor for managing protocol-specific behaviors and events.
packages/ciphernode/core/src/eventbus.rs Implemented an EventBus for event publishing and subscribing.
packages/ciphernode/core/src/events.rs Defined key data structures for enclave events, including serialization capabilities.
packages/ciphernode/core/src/fhe.rs Implemented FHE operations management using the Actix framework.
packages/ciphernode/core/src/logger.rs Introduced SimpleLogger actor for event logging.
packages/ciphernode/core/src/ordered_set.rs Implemented a generic OrderedSet data structure.
packages/ciphernode/core/src/p2p.rs Introduced P2p actor for integration with libp2p client for asynchronous communication.
packages/ciphernode/enclave_node/Cargo.toml Added local dependencies and updated existing ones for enhanced functionality.
packages/ciphernode/enclave_node/src/bin/aggregator.rs Implemented the main entry point for the asynchronous enclave application.
packages/ciphernode/enclave_node/src/bin/cmd.rs Created asynchronous command-line interface for the enclave node.
packages/ciphernode/enclave_node/src/main.rs Transformed main function to asynchronous, focusing on P2P operations.
packages/ciphernode/p2p/Cargo.toml Updated dependencies for more controlled management and features.
packages/ciphernode/p2p/src/lib.rs Introduced EnclaveRouter for managing P2P connections and message handling.
packages/evm/contracts/test/MockCyphernodeRegistry.sol Added comments to disable linting warnings for empty function bodies.
packages/evm/test/Enclave.spec.ts Modified asynchronous function calls and assertions to improve test reliability.

Poem

🐰 In the meadow where code does play,
Changes hop in a bright array.
New workflows dance, dependencies bloom,
Actors frolic, dispelling the gloom.
With every commit, the future's in sight,
A rabbit's delight, oh what a sight! 🎉


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@ryardley ryardley merged commit 64c5059 into ciphernode_poc Aug 27, 2024
2 checks passed
@ryardley ryardley deleted the ry/add_demo_noag branch August 29, 2024 02:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant