Skip to content

Commit c1e421a

Browse files
committed
fixing wrapper continues
1 parent d3cf6e3 commit c1e421a

File tree

4 files changed

+23
-10
lines changed

4 files changed

+23
-10
lines changed

crates/starfish/core/src/authority_service.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,11 @@ impl<C: CoreThreadDispatcher> NetworkService for AuthorityService<C> {
316316
.into_iter()
317317
.chain(ancestor_blocks)
318318
.flatten()
319-
.map(|block| SerializedBlock::from(block))
320-
.collect::<Vec<_>>();
319+
.map(|block| {
320+
let (serialized_block_header, serialized_transactions) = block.serialized();
321+
(serialized_block_header.clone(), serialized_transactions.clone())
322+
})
323+
.unzip();
321324

322325
Ok(result)
323326
}
@@ -326,7 +329,7 @@ impl<C: CoreThreadDispatcher> NetworkService for AuthorityService<C> {
326329
&self,
327330
_peer: AuthorityIndex,
328331
commit_range: CommitRange,
329-
) -> ConsensusResult<(Vec<TrustedCommit>, Vec<VerifiedBlockHeader>)> {
332+
) -> ConsensusResult<(Vec<TrustedCommit>, Vec<VerifiedBlock>)> {
330333
fail_point_async!("consensus-rpc-response");
331334

332335
// Compute an inclusive end index and bound the maximum number of commits
@@ -366,7 +369,7 @@ impl<C: CoreThreadDispatcher> NetworkService for AuthorityService<C> {
366369
}
367370
let certifier_blocks = self
368371
.store
369-
.read_block_headers(&certifier_block_refs)?
372+
.read_blocks(&certifier_block_refs)?
370373
.into_iter()
371374
.flatten()
372375
.collect();

crates/starfish/core/src/commit_syncer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ impl<C: NetworkClient> CommitSyncer<C> {
631631
let mut fetched_blocks = BTreeMap::new();
632632
while let Some(result) = requests.next().await {
633633
for block in result? {
634-
fetched_blocks.insert(block.reference(), block);
634+
fetched_blocks.insert(block.reference(), block.verified_block_header);
635635
}
636636
}
637637

crates/starfish/core/src/network/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ use serde::{Deserialize, Serialize};
3131
use starfish_config::{AuthorityIndex, NetworkKeyPair};
3232

3333
use crate::{Round, VerifiedBlockHeader, block_header::{BlockRef, VerifiedBlock}, commit::{CommitRange, TrustedCommit}, context::Context, error::ConsensusResult};
34+
use crate::block_header::VerifiedTransactions;
3435

3536
// Tonic generated RPC stubs.
3637
mod tonic_gen {
@@ -149,7 +150,7 @@ pub(crate) trait NetworkService: Send + Sync + 'static {
149150
&self,
150151
peer: AuthorityIndex,
151152
commit_range: CommitRange,
152-
) -> ConsensusResult<(Vec<TrustedCommit>, Vec<VerifiedBlockHeader>)>;
153+
) -> ConsensusResult<(Vec<TrustedCommit>, Vec<VerifiedBlock>)>;
153154

154155
/// Handles the request to fetch the latest block for the provided
155156
/// `authorities`.

crates/starfish/core/src/network/tonic_network.rs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ impl<S: NetworkService> ConsensusService for TonicServiceProxy<S> {
543543
return Err(tonic::Status::internal("PeerInfo not found"));
544544
};
545545
let request = request.into_inner();
546-
let (commits, certifier_block_headers) = self
546+
let (commits, certifier_blocks) = self
547547
.service
548548
.handle_fetch_commits(peer_index, (request.start..=request.end).into())
549549
.await
@@ -552,13 +552,19 @@ impl<S: NetworkService> ConsensusService for TonicServiceProxy<S> {
552552
.into_iter()
553553
.map(|c| c.serialized().clone())
554554
.collect();
555-
let certifier_block_headers = certifier_block_headers
555+
let mut certifier_block_headers = vec![];
556+
let mut certifier_block_transactions = vec![];
557+
certifier_blocks
556558
.into_iter()
557-
.map(|b| b.serialized().clone())
558-
.collect();
559+
.map(|b| {
560+
let (certifier_block_header, certifier_block_transaction) = b.serialized();
561+
certifier_block_headers.push(certifier_block_header.clone());
562+
certifier_block_transactions.push(certifier_block_transaction.clone());
563+
});
559564
Ok(Response::new(FetchCommitsResponse {
560565
commits,
561566
certifier_block_headers,
567+
certifier_block_transactions,
562568
}))
563569
}
564570

@@ -1061,6 +1067,9 @@ pub(crate) struct FetchCommitsResponse {
10611067
// Serialized SignedBlockHeader that certify the last commit from above.
10621068
#[prost(bytes = "bytes", repeated, tag = "2")]
10631069
certifier_block_headers: Vec<Bytes>,
1070+
#[prost(bytes = "bytes", repeated, tag = "3")]
1071+
certifier_block_transactions: Vec<Bytes>,
1072+
10641073
}
10651074

10661075
#[derive(Clone, prost::Message)]

0 commit comments

Comments
 (0)