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

[TASK] Reusability of blueprints, generic context/clients #546

Open
drewstone opened this issue Dec 12, 2024 · 0 comments
Open

[TASK] Reusability of blueprints, generic context/clients #546

drewstone opened this issue Dec 12, 2024 · 0 comments

Comments

@drewstone
Copy link
Contributor

drewstone commented Dec 12, 2024

Overview

Right now our blueprints are not very composable across the Eigenlayer<> Tangle barrier. If you build a Tangle Blueprint, most likely you're using a Tangle context and those functions prevent this blueprint from being composable with an Eigenlayer blueprint.

We would need an protocol / environment agnostic tools that at least we build so that developers can compose the tools we're building with other blueprints.

Example - BlsContext

#[derive(Clone, KeystoreContext, TangleClientContext, ServicesContext)]
pub struct BlsContext {
    #[config]
    pub config: sdk::config::StdGadgetConfiguration,
    #[call_id]
    pub call_id: Option<u64>,
    pub network_backend: Arc<NetworkMultiplexer>,
    pub store: Arc<LocalDatabase<BlsState>>,
    pub identity: ecdsa::Pair,
}

The TangleClientContext, ServicesContext.

Goal
Can we get our primitive blueprints to be environment agnostic?

  • As a developer, if I am building with a primitive blueprint I should be able to use it in Eigenlayer or Tangle environments.

P2P generic client (currently MPC context)

  • Get operators and keys (generic over the client fetching them

Probably best to implement this inside gadget-workspace as we are migrating to a more organized place where dependencies are feature flag protected.

@drewstone drewstone converted this from a draft issue Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Planning 🗺️
Development

No branches or pull requests

1 participant