Skip to content

Releases: Layr-Labs/devkit-cli

Release v0.1.0-preview.9.rc

20 Oct 22:32
0ab2349

Choose a tag to compare

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

Downloads

Read more

Release v0.1.0-preview.8.rc

07 Oct 10:57
dc77b5f

Choose a tag to compare

Summary

v0.1.0 elevates DevKit from local experiments to public testnet and mainnet 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-20250919005927-aa03fe0c5190
    
    -- 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)
9d9ccc3: chore: bumping dependencies by @bdchatham (#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)

Full Changelog: v0.0.10...v0.1.0-preview.8.rc

Downloads

Release v0.1.0-preview.7.rc

23 Sep 20:32
9d9ccc3

Choose a tag to compare

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.29)

  • 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)

Full Changelog: v0.0.10...v0.1.0-preview.7.rc

Downloads

Release v0.1.0-preview.6.rc

19 Sep 15:14
2aedcdc

Choose a tag to compare

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.27)

  • 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)

Full Changelog: v0.0.10...v0.1.0-preview.6.rc

Downloads

Release v0.1.0-preview.5.rc

15 Sep 16:33
2b12ad0

Choose a tag to compare

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.26)

  • 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)

Full Changelog: v0.0.10...v0.1.0-preview.5.rc

Downloads

Release v0.1.0-preview.4.rc

03 Sep 18:20
d95f55c

Choose a tag to compare

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)
607a52c: chore: bump devkit version by @grezle (#271)
d95f55c: fix: take base of projectName for config by @grezle (#272)

Full Changelog: v0.0.10...v0.1.0-preview.4.rc

Downloads

Release v0.1.0-preview.3.rc

02 Sep 01:00
678e1cf

Choose a tag to compare

Summary

v0.1.0 elevates DevKit from local experiments to public testnet deployments

⚠️ 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 --context testnet

Breaking changes for template migration (to v0.0.24)

  • 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)

Full Changelog: v0.0.10...v0.1.0-preview.3.rc

Downloads

Release v0.1.0-preview.2.rc

14 Aug 16:51
89f4abc

Choose a tag to compare

Summary

v0.1.0 elevates DevKit from local experiments to public testnet deployments

⚠️ 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 --context testnet
    • devkit avs config --set project.context="testnet"
    • devkit avs context --edit --context testnet

Breaking changes for template migration (to > v0.0.17)

  • In your projects contracts/src/l2-contracts/AVSTaskHook.sol, implement the following method:
    function handlePostTaskResultSubmission(address caller, bytes32 taskHash) external {
        //TODO: Implement
    }

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

Downloads

Release v0.1.0-preview.1.rc

04 Aug 17:21

Choose a tag to compare

Summary

v0.1.0 elevates DevKit from local experiments to public testnet deployments

⚠️ 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 --context testnet
    • devkit avs config --set project.context="testnet"
    • devkit avs context --edit --context testnet

Breaking changes for template migration (to > v0.0.17)

  • In your projects contracts/src/l2-contracts/AVSTaskHook.sol, implement the following method:
    function handlePostTaskResultSubmission(address caller, bytes32 taskHash) external {
        //TODO: Implement
    }

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)

Full Changelog: v0.0.10...v0.1.0-preview.2.rc

Downloads

Release v0.0.10

16 Jul 15:40
07edb22

Choose a tag to compare

Summary

v0.0.10 delivers production‑grade build and deployment improvements. It ships multi‑architecture binaries, publishes off‑chain and on‑chain AVS releases, adds first‑class Sepolia L1 + Base‑Sepolia L2 devnet support, introduces a single‑command installer, and extends DevKit with AVS test orchestration, ECDSA keystores, automatic DB migrations, and safer shutdown handling.

⚠️ Important

  • Multi‑arch images: CI and Docker tags now follow the *-amd64, *-arm64 pattern. Update automation to pull the proper digest.
  • Sepolia devnets: Default devnet start now targets Sepolia and Base‑Sepolia. Please adjust your env with appropriate L1 and L2 _FORK_URLs.
  • Installer script: curl -sSfL https://raw.githubusercontent.com/Layr-Labs/devkit-cli/v0.0.10/install-devkit.sh | bash enables zero‑touch setup.
  • AVS release workflow: devkit release now pushes both container images and contracts.
  • Graceful shutdown: SIGTERM fully drains the transport scheduler, preventing orphaned jobs.

Breaking changes for template migration (to v0.0.14)

  1. Custom deployments have now been split according to L1 and L2 targets. After migrating, before building/starting, manually migrate any custom deployments from ./contracts/scripts/DeployMyContracts.s.sol to the appropriate L1/L2 custom deployment script (./contracts/scripts/DeployMyL1Contracts.s.sol and ./contracts/scripts/DeployMyL2Contracts.s.sol)

  2. The TaskAVSRegistrar signature has been extended to include an IKeyRegistrar arg;

  • in ./contracts/test/TaskAVSRegistrar.t.sol, add IKeyRegistrar(address(0)) as the third argument of the TaskAVSRegistrar constructor.

  • IKeyRegistrar can be imported as follows:

    import {IKeyRegistrar} from "@eigenlayer-contracts/src/contracts/interfaces/IKeyRegistrar.sol";
    
  1. If you have been using outputs from .devkit/contracts/script/devnet/output/deploy_custom_contracts_output.json, you should move over to the outputs copied in to your ./contracts/outputs/devnet directory

Changes

0883049: Update README.md - fix release link by @wesfloyd (#212)
9d82e09: feat(release): multi arch build and devkit avs release publish (offchain and onchain) by @supernovahs (#199)
0d5f22e: feat: devkit avs test command support by @bdchatham (#213)
e72b26d: fix: pin template to avs script commit by @grezle (#218)
d9d34db: feat(multichain): l1(sepolia) and l2(base sepolia) devnet support by @supernovahs, @grezle, @bdchatham (#216)
17ab4f2: feat: add single-command install script by @seanmcgary (#214)
03b4cb9: feat: adding ecdsa keystore support by @bdchatham (#219)
991d293: fix: pass docker-compose stdout and stderr to os stdout and stderr by @grezle (#223)
92872d8: fix: SIGTERM should kill transport scheduler cleanly by @grezle (#226)
7fa7369: chore: adding one liner for release command in command table by @bdchatham (#227)
d44f034: fix: skip missing outputs by @grezle (#222)
9e70ae4: feat: run migrations on avs build and devnet start by @grezle (#225)

Full Changelog: v0.0.9...v0.0.10

Downloads