-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Block RPC PR Followup #3145
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
Merged
xgreenx
merged 35 commits into
chore/add-remote-block-cache
from
chore/pr-followup-changes
Nov 25, 2025
Merged
Block RPC PR Followup #3145
xgreenx
merged 35 commits into
chore/add-remote-block-cache
from
chore/pr-followup-changes
Nov 25, 2025
Conversation
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
a0b25ca to
ae193fe
Compare
Member
Author
I don't get this. |
## Linked Issues/PRs <!-- List of related issues/PRs --> Update to use the protobuf definitions here: FuelLabs/fuel-core-protobuf#2 ## Description <!-- List of detailed changes --> ## Checklist - [ ] Breaking changes are clearly marked as such in the PR description and changelog - [ ] New behavior is reflected in tests - [ ] [The specification](https://github.com/FuelLabs/fuel-specs/) matches the implemented behavior (link update PR if changes are needed) ### Before requesting review - [ ] I have reviewed the code myself - [ ] I have created follow-up issues caused by this PR and linked them here ### After merging, notify other teams [Add or remove entries as needed] - [ ] [Rust SDK](https://github.com/FuelLabs/fuels-rs/) - [ ] [Sway compiler](https://github.com/FuelLabs/sway/) - [ ] [Platform documentation](https://github.com/FuelLabs/devrel-requests/issues/new?assignees=&labels=new+request&projects=&template=NEW-REQUEST.yml&title=%5BRequest%5D%3A+) (for out-of-organization contributors, the person merging the PR will do this) - [ ] Someone else?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Linked Issues/PRs
Complete feedback from:
#3100
#3101
#3112
#3116
As they have all been merged into
#3100
TODOs
Completed
let listener = TcpListener::bind("[::1]:0").unwrap();// TODO: Should this be owned to begin with?Yeah, we should work with reference in proto_header_from_header and in proto_tx_from_txtype GetBlockRangeStream = BoxStream<Result<ProtoBlockResponse, Status>>;#[allow(unused)] fn arb_inputs()serializer_adapter.rs: "We should work with reference to everywhere in this file. And we should also avoid usage of unswap_or_default. All fields are always set, so it is strange why it can be None`if let Some(value) = policies.get(PolicyType::Owner) { values[5] = value; }serializer_adapter.rs: "Why values for policies in an empty array? If the policy is not set, we shouldn't include them. If no policy is set, then it will be empty vector."crates/types/src/blockchain/header.rs: "We don't need to expose the application header. You can find an example on how to create a header here: https://github.com/FuelLabs/fuel-rust-indexer/blob/main/crates/receipts_manager/adapters/graphql_event_adapter.rs#L250", "And the same for the block, you don't need manually calculate it, you can do that from the Block::new."types/src/test_helpers.rs: "Block::new should be enough for you to create a header and a block. You don't need to implement all the logic by yourself.You can clean up getters and setters which you've added, after you udpated code here=)"
self.go_to_sleep_before_continuing().await;Need Feedback
serializer_adapter.rs: "If we use Rust definition to define variants inside of enums, then we can remove useless fields like data for MessageCoinPredicate and witness_index for MessageCoinPredicate" (@xgreenx I don't understand this. What "Rust definition"?)Noop
in(Since this is in a separate repo now, the TryFrom/From impls wouldn't be valid due to the orphan rule)serializer_adapter.rs: "I think instead of creating many procedure fucntions, we could implement TryFrom and From for types, plus, we could split them into its own folders by transactions and some common folder."in( I don't really care for this abstraction, but I could be convinced to DRY this up. Just doesn't seem like much gain)api.proto: "I think all txs have these, maybe we could move them to the top-level Transaction?" DRY up chargeable txs?I think we can move fetching of the full blocks to be a part of default functionality provided by FuelClient along with old functionality (in(I don't want to add new functionality in this work, we could do a followup)test-helpers/src/client_ext.rs)"[nit] https://github.com/FuelLabs/fuel-rust-indexer/blob/main/crates/receipts_manager/service.rs#L584 We can replace the whole service with stream of joined events(old + new)"(WE could do this as a followup)Description
Checklist
Before requesting review
After merging, notify other teams
[Add or remove entries as needed]