-
Notifications
You must be signed in to change notification settings - Fork 8
feat: add override support for devkit avs build target #292
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: add override support for devkit avs build target #292
Conversation
bdchatham
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - ty for the contribution!
|
Looks like CI is broken because the PR is from a fork, making it unable to source the secrets. |
grezle
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fantastic! Thank you @mahzoun!
## 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.
Motivation:
Enable AVS developers whose performer code lives outside the generated Go project to plug in their own build orchestration without modifying
.devkit/scripts/buildor the root Dockerfile.Modifications:
--targetflag todevkit avs buildso callers can invoke an alternate build script while keeping the existing default.Result:
Developers can run
devkit avs build --target <path> -- ...to execute bespoke build logic (e.g., alternate Dockerfiles or external repos) while downstream tooling still gets the artifact details it expects. Closes #291.Testing:
GOCACHE=$(mktemp -d) go test ./pkg/commandsOpen questions:
Should the chosen build target be persisted per context/project to avoid re-specifying it for every build?