-
Notifications
You must be signed in to change notification settings - Fork 1
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
base: main
Are you sure you want to change the base?
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
||
### TaskMailbox | ||
|
||
The `TaskMailbox` is an EigenLayer core contract deployed to Ethereum and each support L2 network, and is responsible for: |
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.
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. |
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.
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. |
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.
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. |
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.
Probably also want to add something like:
Your AVS contract can also implement the
AVSTaskHook
if you need direct hook functionality, replacing the defaultAVSTaskHook
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. |
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.
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 |
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.
main.go
represents the entrypoint for the Performer process that is managed and run by Operators running an Hourglass Executor
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.