-
Notifications
You must be signed in to change notification settings - Fork 110
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
specs: supervisor api #533
base: main
Are you sure you want to change the base?
Conversation
Take a quick pass at the supervisor api. This is useful because there are many teams integrating into this right now. op-geth has already integrated, the op-reth integration is ongoing as well as the rbuilder integration should be happening soon. This enables us to point to spec as the source of truth in how the API is meant to work.
This doesn't include all of the methods, see https://github.com/ethereum-optimism/optimism/blob/develop/op-supervisor/supervisor/frontend/frontend.go#L18-L28 h/t @refcell |
## RPC API | ||
|
||
### `supervisor_checkMessage` | ||
|
||
Checks the safety level of a specific message based on its identifier and message hash. | ||
This RPC is useful for the block builder to determine if a message is should be included | ||
in a block. |
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.
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.
### `supervisor_checkMessage` | ||
|
||
Checks the safety level of a specific message based on its identifier and message hash. | ||
This RPC is useful for the block builder to determine if a message is should be included |
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.
This RPC is useful for the block builder to determine if a message is should be included | |
This RPC is useful for the block builder to determine if a message should be included |
#### Parameters | ||
|
||
- identifier: [Identifier](./messaging.md#message-identifier) - The identifier of the message to check. | ||
- message hash: Hash - Hash of the initiating message. |
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.
- message hash: Hash - Hash of the initiating message. | |
- message hash: Hash - Hash of the initiating message payload. |
### `supervisor_superRootAtTimestamp` | ||
|
||
Gets the super root at a specific timestamp. | ||
|
||
#### Parameters | ||
|
||
- timestamp: hexutil.Uint64 - Timestamp to query. | ||
|
||
#### Returns | ||
|
||
- object | ||
- timestamp: hexutil.Uint64 - The timestamp of the super root | ||
- superRoot: Hash - The root of the super root | ||
- chains: []object - List of chains included in the super root | ||
- chainId: hexutil.Uint64 - The chainid | ||
- canonical: Hash - output root at the latest canonical block | ||
- pending: hexutil.Bytes - output root preimage | ||
|
||
#### Description | ||
|
||
Retrieves the super root state at the specified timestamp, which represents the global state across all monitored chains. |
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.
would be nice with a sentence about why this is used, like the method above says "to determine if a message should be included in a block"...what's the point of knowing a super root at a certain timestamp?
Description
Take a quick pass at the supervisor api. This is useful because there
are many teams integrating into this right now.
op-geth has already integrated, the op-reth integration is ongoing as
well as the rbuilder integration should be happening soon.
This enables us to point to spec as the source of truth in how the API
is meant to work.