-
Notifications
You must be signed in to change notification settings - Fork 12
Implement the RPCBlockHeaderSubscriber for indexing finalized results
#728
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
m-Peter
wants to merge
106
commits into
main
Choose a base branch
from
mpeter/poc-index-finalized-block-results
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
106 commits
Select commit
Hold shift + click to select a range
a276412
Implement the RPCBlockHeaderSubscriber for indexing finalized results
m-Peter 7d36012
Rename RPCBlockHeaderSubscriber to RPCBlockTrackingSubscriber
m-Peter 75a1d18
Remove redundant fetching of block header prior to SubscribeBlockHead…
m-Peter ce83ebb
Improve error handling in RPCBlockTrackingSubscriber subscription
m-Peter d159467
Simplify RPCBlockTrackingSubscriber by embedding RPCEventSubscriber f…
m-Peter 5e8f388
Optimize RPCBlockTrackingSubscriber to avoid fetch EVM tx events for …
m-Peter bfe6188
Improve length checks for EVM related events
m-Peter 037c234
Close events channel in RPCBlockTrackingSubscriber
m-Peter 6afde4d
Improve error handling to use the gRPC status code instead of strings
m-Peter ff927f7
Simplify constructor of RPCBlockTrackingSubscriber
m-Peter 4555263
Remove redundant fields from RPCBlockTrackingSubscriber
m-Peter 34dbde5
Make us of GetEventsForBlockIDs method instead of GetEventsForHeightR…
m-Peter bf4626c
Add description on RPCBlockTrackingSubscriber type
m-Peter 1f084be
Refactor function for fetching EVM events on a given block header
m-Peter a8329e4
Make PoC configurable
peterargue fa39603
fix enabled conditional
peterargue d68f2ba
Merge pull request #737 from onflow/petera/making-poc-configurable
peterargue 823e965
improve error reconnection handling
peterargue 91b1ec0
Remove redundant start-testnet & start-mainnet make recipes
m-Peter 2ddd052
Merge branch 'main' into mpeter/poc-index-finalized-block-results
peterargue 97f5f93
Merge branch 'main' into mpeter/poc-index-finalized-block-results
peterargue 1e977a9
retry getting events on NotFound and ResourceExhausted
peterargue f978871
Merge branch 'main' into mpeter/poc-index-finalized-block-results
peterargue 23b4c87
add system to verify soft finality events were eventually sealed
peterargue d98d8c5
handle case when sealed stream is ahead
peterargue 2f12447
make verification configurable
peterargue a4766eb
review feedback
peterargue 44aa626
Merge pull request #757 from onflow/petera/add-sealed-data-verification
peterargue 6711c92
Merge branch 'main' into mpeter/poc-index-finalized-block-results
peterargue 219d720
handle verifier reconnects after AN reboot
peterargue 0e90079
Merge branch 'main' into mpeter/poc-index-finalized-block-results
peterargue fc4ead5
fix whitespace issue from resolving conflicts
peterargue 5d95d07
Check system tx if block is missing EVM block events
peterargue 4b59bcb
update from review feedback
peterargue d736faf
tidy
peterargue 70674b9
tidy tests
peterargue 7318ee3
Merge branch 'main' into mpeter/poc-index-finalized-block-results
peterargue f4b1c5f
Merge branch 'mpeter/poc-index-finalized-block-results' into peter/po…
peterargue ace558d
Updates for new keystore
peterargue d728f14
add block height to error
peterargue 62f6916
updates to handle system tx failure correctly
peterargue a4a807f
updates for verifying these blocks
peterargue e10fbf7
add logging
peterargue 8e04341
make verifier wait for reexecuting data when force-start-height is used
peterargue 1b20a6b
use correct unsealed start height
peterargue 7226a6b
also check sealed heights
peterargue 05b38f2
update to fixed version of sdk
peterargue 7ea340a
fix tidy check
peterargue fd55071
reduce logging
peterargue 1457b3e
re-add verifier start block
peterargue 0071e40
update to sdk v1.4.0
peterargue 5f04f5e
Merge branch 'main' into mpeter/poc-index-finalized-block-results
peterargue 08373b3
Merge branch 'mpeter/poc-index-finalized-block-results' into peter/po…
peterargue 4bd108e
Merge pull request #771 from onflow/peter/poc-handle-failing-system-tx
peterargue 6826497
Merge branch 'main' into mpeter/poc-index-finalized-block-results
peterargue 1e2a0fd
fix crash when starting ahead of access node
peterargue f3a5b7f
Update eth_syncing to return false for currentBlock >= highestBlock
peterargue 3ec09b9
Fix panic in debug_traceBlockByNumber when tracer is not set
peterargue 7b1c6f1
Add flag to disable enforcing the minimum gas price
peterargue b8c6187
add docs for flag to readme
peterargue f8a3eb1
add EnforceGasPrice in testing configs
peterargue 3d6f09b
Merge pull request #811 from onflow/peter/add-flag-enforce-gas-price-…
peterargue c00b0f7
Merge branch 'main' into mpeter/poc-index-finalized-block-results
m-Peter b7e6803
Bump flow-go-sdk version to v1.4.0
m-Peter f7dc819
Merge branch 'mpeter/poc-index-finalized-block-results' into feature/…
m-Peter 2fa4139
Merge pull request #816 from onflow/feature/pectra-upgrade-soft-final…
j1010001 3400afc
Create ValidationOptions for each tx submission
m-Peter f39360d
Merge pull request #819 from onflow/mpeter/fix-pectra-rules-tx-valida…
j1010001 a2914c1
Return authorization list for SetCodeTx type
m-Peter 4398ef5
Add comments to describe the tx type checks in NewTransaction
m-Peter 092753c
Merge pull request #822 from onflow/mpeter/display-set-code-tx-auth-l…
j1010001 5a07802
Merge branch 'mpeter/poc-index-finalized-block-results' into mpeter/b…
m-Peter 644f359
Update to Cadence v1.6.2 & latest flow-go
m-Peter 9364624
Merge pull request #833 from onflow/mpeter/batch-run-transactions-bac…
m-Peter 34f6efd
Merge pull request #843 from onflow/mpeter/soft-finality-sync-with-main
m-Peter d36af20
Merge remote-tracking branch 'origin/main' into mpeter/soft-finality-…
m-Peter 71e1ce8
Update RPCBlockTrackingSubscriber to use the new API for NotifyBlock
m-Peter e4cd73c
Merge remote-tracking branch 'origin/main' into mpeter/soft-finality-…
m-Peter 88e6d7e
Merge pull request #848 from onflow/mpeter/soft-finality-sync-with-main
peterargue cfa6656
Give blocks a chance to become sealed before calling NotifyBlock
m-Peter 7575806
Merge pull request #850 from onflow/mpeter/update-notify-block-logic
m-Peter 8b80fd0
Give blocks a better chance to become sealed before calling NotifyBlock
m-Peter 6f5b3c9
Merge pull request #853 from onflow/mpeter/update-notify-block-logic
m-Peter a93abf0
Merge remote-tracking branch 'origin/main' into mpeter/soft-finality-…
m-Peter bcb027f
Merge pull request #854 from onflow/mpeter/soft-finality-sync-with-main
peterargue ed3f17b
Merge remote-tracking branch 'origin/main' into mpeter/sync-soft-fina…
m-Peter f51de72
Replace onflow/go-ethereum with ethereum/go-ethereum
m-Peter 965b10b
Merge remote-tracking branch 'origin/main' into mpeter/sync-soft-fina…
m-Peter fed891a
Merge pull request #869 from onflow/mpeter/sync-soft-finality-with-main
m-Peter a8f7437
Merge remote-tracking branch 'origin/main' into mpeter/poc-index-fina…
m-Peter eab1a53
Merge remote-tracking branch 'origin/main' into mpeter/poc-index-fina…
m-Peter e3d06a2
Merge remote-tracking branch 'origin/main' into mpeter/poc-index-fina…
m-Peter 108e232
Merge remote-tracking branch 'origin/main' into mpeter/poc-index-fina…
m-Peter efd12b0
Merge pull request #882 from onflow/mpeter/bump-flow-go-version-soft-…
m-Peter a404eab
Merge remote-tracking branch 'origin/main' into mpeter/poc-index-fina…
m-Peter 733be55
Merge remote-tracking branch 'origin/main' into mpeter/poc-index-fina…
m-Peter fffd7f8
Merge remote-tracking branch 'origin/main' into mpeter/poc-index-fina…
m-Peter 6552a69
Merge remote-tracking branch 'origin/main' into mpeter/poc-index-fina…
m-Peter e302a12
Merge pull request #905 from onflow/mpeter/soft-finality-update-flow-go
m-Peter 60caf94
Handle missing evm block in spork root block
peterargue c754eb7
verify events even for spork root block
peterargue ec1385e
add support for backfilling past spork blocks in sealing verifier
peterargue cb7f210
verify backfilled blocks
peterargue 5e17b0b
delete stored hashes during force start height
peterargue 5c97d88
Merge pull request #908 from onflow/peter/fix-spork-root-sf
peterargue 2862171
Merge remote-tracking branch 'origin/main' into mpeter/poc-index-fina…
m-Peter File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
💡 Verification agent
🧩 Analysis chain
Consider adjusting the default value for the sealing verification flag.
The
experimentalSealingVerificationEnabledflag is set totrueby default, but the warning indicates it may result in indexing halts if events don't match. For experimental features with potential operational impacts, it's generally safer to default to the more conservative option (false) and require users to explicitly opt-in.This is especially important since the PR is implementing a new subscriber for indexing finalized results, and unexpected halts could impact service reliability.
🏁 Script executed:
Length of output: 338
Action: Change the default for experimentalSealingVerificationEnabled to false to avoid unintended indexing halts.
The current default value of
true(in cmd/run/cmd.go:292-293) risks triggering indexing halts if events don’t match. Since our check in the bootstrap directory didn’t reveal any special handling for this flag, it makes sense to default to the more conservative option. This change ensures that users must explicitly enable the experimental sealing verification feature—and thus accept its potential operational impacts—rather than inadvertently opting into a risky behavior with production consequences.cmd/run/cmd.go(Lines 292-293)Please update the default flag accordingly to improve operational safety when the new subscriber for indexing finalized results is active.
📝 Committable suggestion