-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
wip(interop) block dependency graph #10044
Conversation
unverifiedMessages := deps.unverifiedExecutingMessages[blockRef.Hash] | ||
remainingUnverifiedMessages := make([]Message, 0, len(unverifiedMessages)) | ||
for _, msg := range unverifiedMessages { | ||
safety, err := MessageValidity(context.TODO(), msg.Id, msg.Payload, nil) |
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.
return fmt.Errorf("block %s does not build on head %s", blockRef.Hash, head) | ||
} | ||
|
||
_, txs, err := chain.InfoAndTxsByHash(context.TODO(), blockRef.Hash) |
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.
if IsInboxExecutingMessageTx(tx) { | ||
_, id, payload, err := ParseInboxExecuteMessageTxData(tx.Data()) | ||
if err != nil { | ||
// TODO: revisit bad txs to the inbox address |
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.
} | ||
} | ||
|
||
// TODO: we need references to the safe head for every chain |
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.
var finalizedL2Timestamp uint64 | ||
b.mu.RLock() | ||
finalizedL2Timestamp = b.l2FinalizedBlockRef.Time | ||
b.mu.RUnlock() | ||
|
||
// Dependency verification | ||
if id.Timestamp <= finalizedL2Timestamp { | ||
return MessageFinalized, nil | ||
} | ||
|
||
// TODO: support for the other safety labels |
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.
if IsInboxExecutingMessageTx(tx) { | ||
_, id, payload, err := ParseInboxExecuteMessageTxData(tx.Data()) | ||
if err != nil { | ||
// TODO: revisit bad txs to the inbox address |
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.
Semgrep found 1 Named return arguments to functions must be appended with an underscore ( Semgrep found 8
No Semgrep found 1 Iteration over a possibly empty map Semgrep found 1 Please create a GitHub ticket for this TODO. Ignore this finding from todos_require_linear. |
This PR is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
wip on the superchain backend, implementing a block dependency graph used the asynchronously discern between unsafe/cross-unsafe/safe safety labels