Skip to content

Commit

Permalink
chore: update incredible squaring blueprints to use sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
Serial-ATA committed Jan 22, 2025
1 parent f80275b commit 409a28e
Show file tree
Hide file tree
Showing 15 changed files with 66 additions and 79 deletions.
14 changes: 2 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 3 additions & 14 deletions blueprints/incredible-squaring-eigenlayer/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,8 @@ repository.workspace = true
publish = false

[dependencies]
# Gadget Dependencies
gadget-std = { workspace = true, features = ["std"] }
gadget-event-listeners = { workspace = true, features = ["std", "evm"] }
gadget-macros = { workspace = true, features = ["evm", "std"] }
gadget-contexts = { workspace = true, features = ["std", "eigenlayer", "keystore", "evm"] }
gadget-crypto = { workspace = true, features = ["default"] }
gadget-crypto-tangle-pair-signer = { workspace = true, features = ["evm"] }
gadget-config = { workspace = true, features = ["std"] }
gadget-logging = { workspace = true, features = ["std"] }
gadget-runners = { workspace = true, features = ["eigenlayer"] }
gadget-utils = { workspace = true, features = ["evm"] }
gadget-keystore = { workspace = true, features = ["std", "evm", "eigenlayer"] }

blueprint-sdk = { workspace = true, features = ["eigenlayer", "evm", "macros", "std"] }
futures = { workspace = true }

eigensdk = { workspace = true, features = ["crypto-bls", "services-blsaggregation"] }
tracing = { workspace = true }
Expand Down Expand Up @@ -68,7 +57,7 @@ jsonrpc-http-server = { workspace = true }
num-bigint = { workspace = true }

[dev-dependencies]
gadget-testing-utils = { workspace = true, features = ["anvil", "eigenlayer"] }
blueprint-sdk = { workspace = true, features = ["testing", "eigenlayer", "evm"] }
tempfile = { workspace = true }

[build-dependencies]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ use tokio::task::JoinHandle;
use tokio::time::interval;

use alloy_network::EthereumWallet;
use blueprint_sdk::config::GadgetConfiguration;
use blueprint_sdk::contexts::eigenlayer::EigenlayerContext;
use blueprint_sdk::logging::{debug, error, info};
use blueprint_sdk::macros::contexts::{EigenlayerContext, KeystoreContext};
use blueprint_sdk::runners::core::error::RunnerError;
use blueprint_sdk::runners::core::runner::BackgroundService;
use eigensdk::client_avsregistry::reader::AvsRegistryChainReader;
use eigensdk::common::get_provider;
use eigensdk::crypto_bls::{convert_to_g1_point, convert_to_g2_point, BlsG1Point, BlsG2Point};
Expand All @@ -24,12 +30,6 @@ use eigensdk::services_blsaggregation::{
};
use eigensdk::services_operatorsinfo::operatorsinfo_inmemory::OperatorInfoServiceInMemory;
use eigensdk::types::avs::{TaskIndex, TaskResponseDigest};
use gadget_config::GadgetConfiguration;
use gadget_contexts::eigenlayer::EigenlayerContext;
use gadget_logging::{debug, error, info};
use gadget_macros::contexts::{EigenlayerContext, KeystoreContext};
use gadget_runners::core::error::RunnerError;
use gadget_runners::core::runner::BackgroundService;
use std::collections::HashMap;

pub type BlsAggServiceInMemory = BlsAggregatorService<
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use crate::contexts::client::AggregatorClient;
use gadget_config::GadgetConfiguration;
use gadget_macros::contexts::KeystoreContext;
use blueprint_sdk::config::GadgetConfiguration;
use blueprint_sdk::macros::contexts::KeystoreContext;

#[derive(Clone, KeystoreContext)]
pub struct EigenSquareContext {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ use crate::{
};
use alloy_primitives::{keccak256, Bytes, U256};
use alloy_sol_types::SolType;
use blueprint_sdk::contexts::keystore::KeystoreContext;
use blueprint_sdk::crypto::bn254::ArkBlsBn254;
use blueprint_sdk::event_listeners::evm::EvmContractEventListener;
use blueprint_sdk::keystore::backends::Backend;
use blueprint_sdk::logging::{error, info};
use blueprint_sdk::macros::ext::keystore::backends::bn254::Bn254Backend;
use blueprint_sdk::macros::job;
use color_eyre::Result;
use eigensdk::crypto_bls::BlsKeyPair;
use eigensdk::crypto_bls::OperatorId;
use gadget_contexts::keystore::KeystoreContext;
use gadget_crypto::bn254::ArkBlsBn254;
use gadget_event_listeners::evm::EvmContractEventListener;
use gadget_keystore::backends::Backend;
use gadget_logging::{error, info};
use gadget_macros::ext::keystore::backends::bn254::Bn254Backend;
use gadget_macros::job;
use std::{convert::Infallible, ops::Deref};

/// Sends a signed task response to the BLS Aggregator.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@ use crate::{
contexts::aggregator::AggregatorContext, IncredibleSquaringTaskManager, ProcessorError,
INCREDIBLE_SQUARING_TASK_MANAGER_ABI_STRING,
};
use gadget_event_listeners::evm::EvmContractEventListener;
use gadget_logging::info;
use gadget_macros::job;
use gadget_std::{convert::Infallible, ops::Deref};
use blueprint_sdk::event_listeners::evm::EvmContractEventListener;
use blueprint_sdk::logging::info;
use std::{convert::Infallible, ops::Deref};

const TASK_CHALLENGE_WINDOW_BLOCK: u32 = 100;
const BLOCK_TIME_SECONDS: u32 = 12;

/// Initializes the task for the aggregator server
#[job(
#[blueprint_sdk::job(
id = 1,
params(task, task_index),
event_listener(
Expand Down
12 changes: 7 additions & 5 deletions blueprints/incredible-squaring-eigenlayer/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#![allow(dead_code)]

use alloy_sol_types::sol;
use gadget_macros::load_abi;
use blueprint_sdk::macros::load_abi;
use serde::{Deserialize, Serialize};
use std::net::AddrParseError;
use thiserror::Error;
Expand Down Expand Up @@ -31,14 +31,16 @@ pub enum Error {
}

type ProcessorError =
gadget_event_listeners::core::Error<gadget_event_listeners::evm::error::Error>;
blueprint_sdk::event_listeners::core::Error<blueprint_sdk::event_listeners::evm::error::Error>;

impl From<Error>
for gadget_event_listeners::core::Error<gadget_event_listeners::evm::error::Error>
for blueprint_sdk::event_listeners::core::Error<
blueprint_sdk::event_listeners::evm::error::Error,
>
{
fn from(value: Error) -> Self {
gadget_event_listeners::core::Error::ProcessorError(
gadget_event_listeners::evm::error::Error::Client(value.to_string()),
blueprint_sdk::event_listeners::core::Error::ProcessorError(
blueprint_sdk::event_listeners::evm::error::Error::Client(value.to_string()),
)
}
}
Expand Down
10 changes: 5 additions & 5 deletions blueprints/incredible-squaring-eigenlayer/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
use alloy_network::EthereumWallet;
use alloy_primitives::Address;
use alloy_signer_local::PrivateKeySigner;
use gadget_logging::info;
use gadget_runners::core::runner::BlueprintRunner;
use gadget_runners::eigenlayer::bls::EigenlayerBLSConfig;
use gadget_utils::evm::get_wallet_provider_http;
use blueprint_sdk::logging::info;
use blueprint_sdk::runners::core::runner::BlueprintRunner;
use blueprint_sdk::runners::eigenlayer::bls::EigenlayerBLSConfig;
use blueprint_sdk::utils::evm::get_wallet_provider_http;
use incredible_squaring_blueprint_eigenlayer::constants::{
AGGREGATOR_PRIVATE_KEY, TASK_MANAGER_ADDRESS,
};
Expand All @@ -15,7 +15,7 @@ use incredible_squaring_blueprint_eigenlayer::jobs::compute_x_square::XsquareEig
use incredible_squaring_blueprint_eigenlayer::jobs::initialize_task::InitializeBlsTaskEventHandler;
use incredible_squaring_blueprint_eigenlayer::IncredibleSquaringTaskManager;

#[gadget_macros::main(env)]
#[blueprint_sdk::main(env)]
async fn main() {
let signer: PrivateKeySigner = AGGREGATOR_PRIVATE_KEY
.parse()
Expand Down
22 changes: 11 additions & 11 deletions blueprints/incredible-squaring-eigenlayer/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@ use alloy_primitives::{Address, Bytes, U256};
use alloy_provider::Provider;
use alloy_signer_local::PrivateKeySigner;
use alloy_sol_types::sol;
use gadget_logging::{error, info, setup_log};
use gadget_macros::ext::futures::StreamExt;
use gadget_runners::eigenlayer::bls::EigenlayerBLSConfig;
use gadget_std::{
use blueprint_sdk::logging::{error, info, setup_log};
use blueprint_sdk::runners::eigenlayer::bls::EigenlayerBLSConfig;
use blueprint_sdk::testing::utils::anvil::anvil::*;
use blueprint_sdk::testing::utils::eigenlayer::runner::EigenlayerBLSTestEnv;
use blueprint_sdk::testing::utils::eigenlayer::EigenlayerTestHarness;
use blueprint_sdk::testing::utils::harness::TestHarness;
use blueprint_sdk::testing::utils::runner::TestEnv;
use blueprint_sdk::utils::evm::{get_provider_http, get_provider_ws, get_wallet_provider_http};
use futures::StreamExt;
use std::{
sync::{Arc, Mutex},
time::Duration,
};
use gadget_testing_utils::anvil::anvil::*;
use gadget_testing_utils::eigenlayer::runner::EigenlayerBLSTestEnv;
use gadget_testing_utils::eigenlayer::EigenlayerTestHarness;
use gadget_testing_utils::harness::TestHarness;
use gadget_testing_utils::runner::TestEnv;
use gadget_utils::evm::{get_provider_http, get_provider_ws, get_wallet_provider_http};

sol!(
#[allow(missing_docs, clippy::too_many_arguments)]
Expand Down Expand Up @@ -119,7 +119,7 @@ async fn test_eigenlayer_incredible_squaring_blueprint() {
aggregator_context_clone.shutdown().await;

// Clean up the ./db directory
let _ = gadget_std::fs::remove_dir_all("./db");
let _ = std::fs::remove_dir_all("./db");

match result {
Ok(Ok(())) => {
Expand Down
1 change: 0 additions & 1 deletion blueprints/incredible-squaring/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ use blueprint_sdk::event_listeners::tangle::services::{services_post_processor,
use blueprint_sdk::macros::contexts::{ServicesContext, TangleClientContext};
use blueprint_sdk::macros::ext::tangle::tangle_subxt::tangle_testnet_runtime::api::services::events::JobCalled;
use blueprint_sdk::config::GadgetConfiguration;
use blueprint_sdk::macros as gadget_macros;

#[cfg(test)]
mod tests;
Expand Down
1 change: 0 additions & 1 deletion blueprints/incredible-squaring/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use blueprint_sdk::logging::info;
use blueprint_sdk::macros as gadget_macros;
use blueprint_sdk::macros::ext::tangle::tangle_subxt::subxt::tx::Signer;
use blueprint_sdk::runners::core::runner::BlueprintRunner;
use blueprint_sdk::runners::tangle::tangle::TangleConfig;
Expand Down
18 changes: 12 additions & 6 deletions crates/sdk/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ gadget-event-listeners = { workspace = true }
gadget-crypto = { workspace = true }
gadget-logging = { workspace = true }
gadget-runners = { workspace = true }
gadget-utils = { workspace = true }
gadget-std = { workspace = true }

# K, V Stores
Expand All @@ -37,7 +38,7 @@ tokio = { workspace = true, default-features = false }
# Networking-related dependencies
gadget-networking = { workspace = true, optional = true }
gadget-client-networking = { workspace = true, optional = true }
gadget-contexts = { workspace = true, optional = true }
gadget-contexts = { workspace = true }
gadget-context-derive = { workspace = true, optional = true }
gadget-clients = { workspace = true, optional = true }

Expand Down Expand Up @@ -88,22 +89,27 @@ tangle = [
"gadget-runners/tangle",
"gadget-macros?/tangle",
"gadget-testing-utils?/tangle",
"gadget-utils/tangle",
]

evm = ["alloy", "gadget-macros?/evm"]
evm = [
"gadget-utils/evm",
"gadget-testing-utils?/anvil",
"alloy",
"gadget-macros?/evm",
]

eigenlayer = [
"gadget-runners/eigenlayer",
"gadget-testing-utils?/eigenlayer",
"gadget-utils/eigenlayer",
"alloy",
"eigensdk"
"eigensdk",
]

testing = [
"std",
"gadget-client-tangle",
"gadget-tangle-testing-utils",
"gadget-testing-utils",
"dep:gadget-testing-utils",
"tempfile"
]

Expand Down
4 changes: 4 additions & 0 deletions crates/sdk/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ pub use gadget_logging as logging;
/// Blueprint execution and runtime utilities
pub use gadget_runners as runners;

pub use gadget_contexts as contexts;

pub use gadget_utils as utils;

pub use gadget_config as config;
pub use gadget_keystore as keystore;
pub use gadget_std as std;
Expand Down
3 changes: 1 addition & 2 deletions crates/testing-utils/eigenlayer/src/harness.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,7 @@ impl TestHarness for EigenlayerTestHarness {
);

// Load environment
let env = gadget_macros::ext::config::load(context_config)
.map_err(|e| Error::Setup(e.to_string()))?;
let env = gadget_config::load(context_config).map_err(|e| Error::Setup(e.to_string()))?;

// Create config
let config = EigenlayerTestConfig {
Expand Down
4 changes: 2 additions & 2 deletions crates/testing-utils/tangle/src/harness.rs
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ impl TestHarness for TangleTestHarness {
);

// Load environment
let mut env = gadget_macros::ext::config::load(context_config)
.map_err(|e| Error::Setup(e.to_string()))?;
let mut env =
gadget_config::load(context_config).map_err(|e| Error::Setup(e.to_string()))?;

// Always set test mode, dont require callers to set env vars
env.test_mode = true;
Expand Down

0 comments on commit 409a28e

Please sign in to comment.