Skip to content

Hourglass overview #59

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

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Hourglass overview #59

wants to merge 5 commits into from

Conversation

MadelineAu
Copy link
Collaborator

Added an architecture and implementing with Hourglass overview. The location of these files will need to be moved into the DevKit/Hourglass section once #56 is merged.

Copy link

vercel bot commented Jun 27, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
eigencloud-docs ✅ Ready (Inspect) Visit Preview Jul 14, 2025 5:57am


### TaskMailbox

The `TaskMailbox` is an EigenLayer core contract deployed to Ethereum and each support L2 network, and is responsible for:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

support

supported

The `TaskAVSRegistrar` is a per-AVS EigenLayer middleware contract that is responsible for:

* Handling Operator registration for specific Operator Sets of your AVS.
* Providing the offchain components with BLS public keys and socket endpoints for the Aggregator and Executor operators.
Copy link
Member

@seanmcgary seanmcgary Jul 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Providing the offchain components with BLS public keys

This piece is no longer accurate. Keys live in the KeyRegistrar core contract now. The rest about the socket endpoints is correct though

* Providing the offchain components with BLS public keys and socket endpoints for the Aggregator and Executor operators.

The default `TaskAVSRegistrar` is a copy of the provided contract and works as provided. `TaskAVSRegistrar` can be extended
to include additional onchain logic for your use case.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically the TaskAVSRegistrar "is a minimal contract, inheriting the default functionality of the Hourglass TaskAVSRegistrarBase contract, that can be extended to add or modify functionality"

* Validating the task lifecycle.
* Creating fee markets for your AVS.

It's empty by default and works out of the box, but can be extended to include additional onchain validation logic for your AVS.
Copy link
Member

@seanmcgary seanmcgary Jul 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably also want to add something like:

Your AVS contract can also implement the AVSTaskHook if you need direct hook functionality, replacing the default AVSTaskHook contract provided.

The Aggregator is responsible for:

* Listening to events from the Mailbox contract on chain for new tasks
* Discovering Executors by querying the `AVSRegistrar` contract, retrieving their metadata containing a BLS public key and a socket (URL) endpoint that references the Executor's gRPC server.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of date. Peering is done by interacting with the AVSRegistrar (operator sets for exec/aggregator), AllocationManager (operator set members) and KeyRegistrar (public keys for members)


### Task processing in main.go

`main.go` implements the offchain binary run by Operators running the Hourglass Executor. That is, the core business logic
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

main.go represents the entrypoint for the Performer process that is managed and run by Operators running an Hourglass Executor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants