chore(release): prepare for v0.1.0 release candidate - #245
Merged
Conversation
seanmcgary
previously approved these changes
Aug 13, 2025
<!--
🚨 ATTENTION! 🚨
This PR template is REQUIRED. PRs not following this format will be
closed without review.
Requirements:
- PR title must follow commit conventions:
https://www.conventionalcommits.org/en/v1.0.0/
- Label your PR with the correct type (e.g., 🐛 Bug, ✨ Enhancement, 🧪
Test, etc.)
- Provide clear and specific details in each section
-->
**Motivation:**
<!--
Explain here the context, and why you're making that change. What is the
problem you're trying to solve.
-->
As a user of Devkit, I need to be able to define multiple keys for my
Operators so that I can assign the same operator to multiple
operatorSets.
**Modifications:**
<!--
Describe the modifications you've done from a high level. What are the
key technical decisions and why were they made?
-->
- Adds a `keystores` entry to the `operators` to list out all available
keys
- Adds a migration to move us to context version `v0.1.0`
- Removes remnant `skip-setup` context entry
- Adds tests for `v0.0.9` and `v0.1.0` context migrations
**Result:**
<!--
*After your change, what will change.
-->
- Users can assign multiple keys to their operators for different
operatorSets
**Testing:**
<!--
*List testing procedures taken and useful artifacts.
-->
- Migration tests have been added and other tests updated
**Open questions:**
<!--
(optional) Any open questions or feedback on design desired?
-->
- depends on:
Layr-Labs/hourglass-avs-template#96
bdchatham
reviewed
Aug 13, 2025
bdchatham
approved these changes
Aug 13, 2025
bdchatham
left a comment
Contributor
There was a problem hiding this comment.
No blocking issues. Just questions on odd nil parameters.
grezle
added a commit
that referenced
this pull request
Sep 3, 2025
## Summary `v0.1.0` elevates DevKit from local experiments to public `testnet` deployments introducing ECDSA keys for signing. ##⚠️ Important - `v0.1.0` brings `testnet` deployments to `devkit` adding the following commands: - `devkit avs deploy contracts l1` - `devkit avs deploy contracts l2` - To deploy to `testnet` you must first configure a `testnet` context using: - `devkit avs context create testnet` ## Breaking changes for template migration (to `v0.0.25`) - In your projects `contracts/src/l2-contracts/AVSTaskHook.sol`, implement the following method: ``` function handlePostTaskResultSubmission(address caller, bytes32 taskHash) external { //TODO: Implement } ``` - Upgrade go dependencies (go.mod): ``` -- github.com/Layr-Labs/hourglass-monorepo/ponos v0.0.0-20250516160557-195c62a908e3 ++ github.com/Layr-Labs/hourglass-monorepo/ponos v0.0.0-20250819223025-195764c9457a -- github.com/Layr-Labs/protocol-apis v1.12.1 ++ github.com/Layr-Labs/protocol-apis v1.17.0 ``` > then run `go mod tidy` && `devkit avs build` ## Changes 0904c13: feat: eigen runtime spec support for devkit driven by avs template by @bdchatham (#235) 6a071b9: feat: allow any context to feed core commands by @grezle (#233) f3af4b9: fix: arbitrary file access during archive extraction ("Zip Slip") by @grezle (#239) 0894887: feat: l1/l2 deploy commands for testnet/mainnet by @grezle (#234) 33f0904: feat: restrict devnet only cmds by @grezle (#238) c514bed: feat: update TableCalculator addresses by @grezle (#241) 962cf2e: fix: allow AVS setup to be skipped from context "flag" by @grezle (#242) 51c333d: fix: disable rpc rate limiting by @grezle (#243) 8f08003: fix: fixing workflow permissions by @anupsv (#236) eee71f8: fix: ensure we're consistently using v6.5.2 of golangci/golangci-lint-action by @grezle (#244) 65c1221: feat: allow operators to define keys for each operatorSet by @grezle (#245) 5a05c46: fix: add missing migration details by @grezle (#247) 3810bd6: feat: expose language selection to relevant template scripts by @grezle (#224) 89f4abc: fix: export chainInfo into outputs artifacts by @grezle (#248) 93999c7: fix: load templateBaseUrl from config correctly by @grezle (#251) a8a651f: feat: upgrading the hourglass avs template version by @bdchatham (#252) 424de41: fix: set PermissionController in context by @grezle (#254) 19af8ff: feat: implement wizard for context creation by @grezle (#255) 32b4c44: feat: allow operatorSets to be registered from context by @grezle (#253) 127930b: feat: set context_name in posthog metrics by @grezle (#259) 3a62a56: fix: take ownership of multichain contracts and register transporters BLS key by @grezle (#261) 9ced76a: fix: use BN254CertificateVerifier for calcOperatorInfoLeaf call by @grezle (#262) 2175ab6: refactor: tidy up transporter flow by @grezle (#263) d99dd09: feat: pass config+context json to run command by @grezle (#264) 223eb18: fix: only update generator on initial Transporter run by @grezle (#266) 23a70ff: chore: bumping hourglass template version to use latest binary by @bdchatham (#265) 4dca543: fix: default baseUrl/version if omitted by @grezle (#267) 678e1cf: fix: use newNode for untouched prop migrations by @grezle (#268) d4735fe: feat: integrate ECDSA registration for KeyRegistrar by @grezle #269) e880d08: feat: check task result is produced after avs call by @grezle (#258) ae32115: chore: bumping base template version to default to ECDSA curveType by @grezle (#270) **Full Changelog**: v0.0.10...v0.1.0-preview.4.rc ### **Pre-Release Preparation** - [x] **Versioning** - Update version number consistently across: - `README.md` - Codebase - Release notes - [x] **Release Notes** - Clearly document all user-facing changes, fixes, and known issues. - [ ] **Prerelease Artifacts** - Ensure release pipeline generates binaries/packages for each target architecture: - [ ] Linux (`amd64`, `arm64`) - [ ] macOS (`amd64`, `arm64`) ### **Communication** - [ ] Announce new release internally (Slack, email, etc.) and externally as appropriate.
6 tasks
grezle
added a commit
that referenced
this pull request
Oct 20, 2025
## Summary `v0.1.0` elevates DevKit from local experiments to public `testnet` deployments introducing ECDSA keys for signing. ##⚠️ Important - `v0.1.0` brings `testnet` deployments to `devkit` adding the following commands: - `devkit avs deploy contracts l1` - `devkit avs deploy contracts l2` - To deploy to `testnet` you must first configure a `testnet` context using: - `devkit avs context create testnet` - To deploy to `mainnet` you must first configure a `mainnet` context using: - `devkit avs context create mainnet` ## Breaking changes for template migration (to `v0.1.0`) - In your projects `contracts/src/l2-contracts/AVSTaskHook.sol`, implement the following method: ``` function handlePostTaskResultSubmission(address caller, bytes32 taskHash) external { //TODO: Implement } ``` - Upgrade go dependencies (go.mod): ``` -- github.com/Layr-Labs/hourglass-monorepo/ponos v0.0.0-20250516160557-195c62a908e3 ++ github.com/Layr-Labs/hourglass-monorepo/ponos v0.0.0-20250819223025-195764c9457a -- github.com/Layr-Labs/protocol-apis v1.12.1 ++ github.com/Layr-Labs/protocol-apis v1.17.0 ``` > then run `go mod tidy` && `devkit avs build` ## Changes 0904c13: feat: eigen runtime spec support for devkit driven by avs template by @bdchatham (#235) 6a071b9: feat: allow any context to feed core commands by @grezle (#233) f3af4b9: fix: arbitrary file access during archive extraction ("Zip Slip") by @grezle (#239) 0894887: feat: l1/l2 deploy commands for testnet/mainnet by @grezle (#234) 33f0904: feat: restrict devnet only cmds by @grezle (#238) c514bed: feat: update TableCalculator addresses by @grezle (#241) 962cf2e: fix: allow AVS setup to be skipped from context "flag" by @grezle (#242) 51c333d: fix: disable rpc rate limiting by @grezle (#243) 8f08003: fix: fixing workflow permissions by @anupsv (#236) eee71f8: fix: ensure we're consistently using v6.5.2 of golangci/golangci-lint-action by @grezle (#244) 65c1221: feat: allow operators to define keys for each operatorSet by @grezle (#245) 5a05c46: fix: add missing migration details by @grezle (#247) 3810bd6: feat: expose language selection to relevant template scripts by @grezle (#224) 89f4abc: fix: export chainInfo into outputs artifacts by @grezle (#248) 93999c7: fix: load templateBaseUrl from config correctly by @grezle (#251) a8a651f: feat: upgrading the hourglass avs template version by @bdchatham (#252) 424de41: fix: set PermissionController in context by @grezle (#254) 19af8ff: feat: implement wizard for context creation by @grezle (#255) 32b4c44: feat: allow operatorSets to be registered from context by @grezle (#253) 127930b: feat: set context_name in posthog metrics by @grezle (#259) 3a62a56: fix: take ownership of multichain contracts and register transporters BLS key by @grezle (#261) 9ced76a: fix: use BN254CertificateVerifier for calcOperatorInfoLeaf call by @grezle (#262) 2175ab6: refactor: tidy up transporter flow by @grezle (#263) d99dd09: feat: pass config+context json to run command by @grezle (#264) 223eb18: fix: only update generator on initial Transporter run by @grezle (#266) 23a70ff: chore: bumping hourglass template version to use latest binary by @bdchatham (#265) 4dca543: fix: default baseUrl/version if omitted by @grezle (#267) 678e1cf: fix: use newNode for untouched prop migrations by @grezle (#268) d4735fe: feat: integrate ECDSA registration for KeyRegistrar by @grezle #269) e880d08: feat: check task result is produced after avs call by @grezle (#258) ae32115: chore: bumping base template version to default to ECDSA curveType by @grezle (#270) 607a52c: chore: bump devkit version by @grezle (#271) d95f55c: fix: take base of projectName for config by @grezle (#272) 3a589b1: fix: ensure v0.0.3 corresponds with 0.0.3 config by @grezle (#275) 707e021: docs: ensure L2_FORK_URL points to base sepolia by @grezle (#276) c2ab8ee: docs: update title to eigencloud by @dabit3 (#277) a952429: chore: rm registrar address from wizard by @tsnewnami (#278) 2b12ad0: chore: prep for v0.1.0-preview.5.rc by @grezle (#279) 606374e: chore: updating README to specify unaudited and not closed alpha by @bdchatham (#280) 64b6dcf: fix: bump default template version by @grezle (#281) 2aedcdc: chore: prep for v0.1.0-preview.6.rc by @grezle (#282) 9d9ccc3: chore: bumping dependencies by @bdchatham & @grezle (#284) ad656ea: feat: use appropriate zeusEnv for contextName by @grezle (#285) 171a770: feat: check for transporter success on devnet start by @grezle (#286) 345f2cb: fix: create tmp directory in working directory by @grezle (#287) d6a7057: fix: save anvil docker-compose.yaml to projects dir by @grezle (#289) dc77b5f: chore: prep for v0.1.0-preview.8.rc by @grezle (#288) f7b5137: feat: sourcing github action credentials for release by @bdchatham (#290) 7ac3227: chore: only running e2e CI on the root canonical repo by @bdchatham (#293) 8a3e173: feat: add override support for devkit avs build target by @mahzoun & @bdchatham (#292) 906bcb6: fix: add mainnet fallback addresses for middleware by @grezle (#295) ce968e2: fix: allow alternative timestamp syncs for L1 and L2 by @grezle (#298) 694b4ee: fix: ensure migrations are context aware by @grezle (#297) f8d7d13: fix: skip ensure docker for L1 deploy outside of devnet by @grezle (#294) **Full Changelog**: v0.0.10...v0.1.0-preview.9.rc ### **Pre-Release Preparation** - [x] **Versioning** - Update version number consistently across: - `README.md` - Codebase - Release notes - [x] **Release Notes** - Clearly document all user-facing changes, fixes, and known issues. - [ ] **Prerelease Artifacts** - Ensure release pipeline generates binaries/packages for each target architecture: - [ ] Linux (`amd64`, `arm64`) - [ ] macOS (`amd64`, `arm64`) ### **Communication** - [ ] Announce new release internally (Slack, email, etc.) and externally as appropriate.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
v0.1.0elevates DevKit from local experiments to publictestnetdeploymentsv0.1.0bringstestnetdeployments todevkitadding the following commands:devkit avs deploy contracts l1devkit avs deploy contracts l2To deploy to
testnetyou must first configure atestnetcontext using:devkit avs context create --context testnetdevkit avs config --set project.context="testnet"devkit avs context --edit --context testnetBreaking changes for template migration (to >
v0.0.17)contracts/src/l2-contracts/AVSTaskHook.sol, implement the following method:Changes
0904c13: feat: eigen runtime spec support for devkit driven by avs template by @bdchatham (#235)
6a071b9: feat: allow any context to feed core commands by @grezle (#233)
f3af4b9: fix: arbitrary file access during archive extraction ("Zip Slip") by @grezle (#239)
0894887: feat: l1/l2 deploy commands for testnet/mainnet by @grezle (#234)
33f0904: feat: restrict devnet only cmds by @grezle (#238)
c514bed: feat: update TableCalculator addresses by @grezle (#241)
962cf2e: fix: allow AVS setup to be skipped from context "flag" by @grezle (#242)
51c333d: fix: disable rpc rate limiting by @grezle (#243)
8f08003: fix: fixing workflow permissions by @anupsv (#236)
eee71f8: fix: ensure we're consistently using v6.5.2 of golangci/golangci-lint-action by @grezle (#244)
65c1221: feat: allow operators to define keys for each operatorSet by @grezle (#245)
Full Changelog: v0.0.10...v0.1.0-preview.2.rc
Pre-Release Preparation
README.mdamd64,arm64)amd64,arm64)Communication