-
Notifications
You must be signed in to change notification settings - Fork 11
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
80
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
80 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 760893a
Bump onflow/flow-go & onflow/go-ethereum dependency to v1.15.9
m-Peter 4741e96
Fix breaking changes due to Pectra update
m-Peter c33b839
Construct debug tracer with proper chain config based on EVM height
m-Peter b93e13d
Construct replayer tracer with proper chain config based on EVM height
m-Peter 82106ab
Use EVM block timestamps to detect if we are post Pectra
m-Peter 8ad6517
Remove IsPrague helper in favor of timestamp-based Pectra upgrage
m-Peter e6a368e
Bump onflow/go-ethereum dependency to v1.15.10
m-Peter c00b0f7
Merge branch 'main' into mpeter/poc-index-finalized-block-results
m-Peter 237faaa
Bump flow-go version for Pectra upgrade
m-Peter c95ea08
Improve readability of resolveBlockNumber helper function
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 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
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.
🛠️ Refactor suggestion
Earliest
handled, butFinalized
andSafe
silently map tolatest
The new branch keeps the previous rule “anything
< Pending
⇒ latest”, then adds a special‐case forEarliest
.Consequences:
-3
(finalized) and-4
(safe) are now treated exactly the same as-2
(latest).GetBlockByNumber
).If the intention is to support
finalized
/safe
later, the current behaviour may mis-lead API users.Introduce dedicated branches (even if the value ultimately falls back to
latest
) to make the intent explicit and future refactors safer.📝 Committable suggestion