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

feat: improved eigenlayer context and testing #453

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

Tjemmmic
Copy link
Contributor

@Tjemmmic Tjemmmic commented Nov 6, 2024

Overview

This PR focuses on improvements to the EigenLayer blueprints through the following changes:

  • Better, more reusable test utilities for EigenLayer blueprints
  • Creates bindings for our common Eigenlayer Contracts to avoid issues with relative paths
  • Moves the EigenLayer Incredible Squaring Blueprint test from the test-utils crate into the blueprint
  • More methods automatically implemented via the Eigen Context
  • Tests/examples for the context functions

Copy link
Contributor

@drewstone drewstone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, some changes to fix and improve. Naming needs improvement, it feels robotic. Some test util function for eigen environment should not have been removed IMO as it's a reusable eigen environment system.

blueprints/examples/src/examples/eigen_context.rs Outdated Show resolved Hide resolved
blueprints/examples/src/examples/eigen_context.rs Outdated Show resolved Hide resolved
blueprints/examples/src/main.rs Show resolved Hide resolved
blueprints/examples/src/tests.rs Outdated Show resolved Hide resolved

// Create the GadgetConfiguration
let config = ContextConfig {
gadget_core_settings: GadgetCLICoreSettings::Run {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest creating methods to craft the Eigenlayer specific settings (and other protocols) so that this isn't the finished product. There are blueprint_id/service_id in this that shouldn't be expected to be supplied by end developers. Same with Symbiotic contract data.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i.e. let config = ContextConfig::create_eigenlayer_config(...)

Also why is blueprint/service id even Some? Shouldn't it be None?

blueprints/incredible-squaring-eigenlayer/src/tests.rs Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants