Skip to content
This repository was archived by the owner on Apr 25, 2026. It is now read-only.

feat: migrate to blueprint-sdk v2#10

Open
drewstone wants to merge 5 commits intomainfrom
v2
Open

feat: migrate to blueprint-sdk v2#10
drewstone wants to merge 5 commits intomainfrom
v2

Conversation

@drewstone
Copy link
Copy Markdown
Contributor

Summary

  • Update dependencies to use tangle-network/blueprint repository with v2 branch instead of the old gadget repo
  • Update Rust edition to 2024 and toolchain to stable 1.88
  • Migrate from event listener macros to new producer/consumer pattern with PollingProducer and Router
  • Replace GadgetConfiguration with BlueprintEnvironment
  • Add KeystoreContext derive macro for context management
  • Update build.rs to use blueprint-build-utils crate directly

Key Changes

Dependencies

  • blueprint-sdk now comes from tangle-network/blueprint branch v2
  • Added tokio, alloy, and tracing-subscriber as explicit dependencies
  • Build dependencies now use blueprint-build-utils directly

API Changes

  • GadgetConfiguration -> BlueprintEnvironment
  • Event listeners replaced with PollingProducer + Router pattern
  • #[job(...)] macro replaced with #[debug_job]
  • BlueprintRunner::new() -> BlueprintRunner::builder()
  • Context now requires #[derive(KeystoreContext)] with #[config] attribute

Rust Version

  • Edition: 2021 -> 2024
  • rust-version: 1.81 -> 1.86
  • Toolchain: nightly-2024-10-13 -> 1.88 (stable)

Test plan

  • Template generates successfully with cargo tangle blueprint create
  • Generated project compiles with cargo check
  • Contract builds work correctly
  • Blueprint runs and connects to EigenLayer

🤖 Generated with Claude Code

drewstone and others added 5 commits January 15, 2026 16:50
- Update Cargo.toml to use blueprint repo with v2 branch
- Update edition to 2024 and rust-version to 1.86
- Update rust-toolchain.toml to use stable Rust 1.88
- Migrate to new producer/consumer pattern with PollingProducer
- Replace event listener macros with Router and debug_job macro
- Use BlueprintEnvironment instead of GadgetConfiguration
- Add KeystoreContext derive macro for context
- Update build.rs to use blueprint-build-utils

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The direct alloy 0.12 dependency conflicts with SDK's alloy 1.x.
Use blueprint_sdk::alloy re-export instead.

Also fix rust-toolchain to match 1.86.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add default values for all placeholders
- Ignore release.yml to prevent ${{ }} substitution errors
- Enables fully non-interactive project generation with defaults

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The hook script uses 'docker' variable, not 'container'.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant