Add BlobSidecar encode & decode test and fix RpcLimit for BlobsByRoot

This commit is contained in:
Jimmy Chen 2023-06-28 22:42:30 +10:00
parent 03a17a84da
commit 5b85aeca5f
No known key found for this signature in database
GPG Key ID: 7AAEE02659DCF690
2 changed files with 23 additions and 4 deletions

View File

@ -723,6 +723,10 @@ mod tests {
SignedBeaconBlock::from_block(full_block, Signature::empty())
}
fn default_blob_sidecar() -> Arc<BlobSidecar<Spec>> {
Arc::new(BlobSidecar::empty())
}
/// Merge block with length < max_rpc_size.
fn merge_block_small(fork_context: &ForkContext) -> SignedBeaconBlock<Spec> {
let mut block: BeaconBlockMerge<_, FullPayload<Spec>> =
@ -1023,6 +1027,24 @@ mod tests {
),
Ok(Some(RPCResponse::MetaData(metadata()))),
);
assert_eq!(
encode_then_decode_response(
SupportedProtocol::BlobsByRangeV1,
RPCCodedResponse::Success(RPCResponse::BlobsByRange(default_blob_sidecar())),
ForkName::Deneb,
),
Ok(Some(RPCResponse::BlobsByRange(default_blob_sidecar()))),
);
assert_eq!(
encode_then_decode_response(
SupportedProtocol::BlobsByRootV1,
RPCCodedResponse::Success(RPCResponse::SidecarByRoot(default_blob_sidecar())),
ForkName::Deneb,
),
Ok(Some(RPCResponse::SidecarByRoot(default_blob_sidecar()))),
);
}
// Test RPCResponse encoding/decoding for V1 messages

View File

@ -421,10 +421,7 @@ impl ProtocolId {
Protocol::BlocksByRange => rpc_block_limits_by_fork(fork_context.current_fork()),
Protocol::BlocksByRoot => rpc_block_limits_by_fork(fork_context.current_fork()),
Protocol::BlobsByRange => RpcLimits::new(*BLOB_SIDECAR_MIN, *BLOB_SIDECAR_MAX),
Protocol::BlobsByRoot => {
// TODO: wrong too
RpcLimits::new(*SIGNED_BLOCK_AND_BLOBS_MIN, *SIGNED_BLOCK_AND_BLOBS_MAX)
}
Protocol::BlobsByRoot => RpcLimits::new(*BLOB_SIDECAR_MIN, *BLOB_SIDECAR_MAX),
Protocol::Ping => RpcLimits::new(
<Ping as Encode>::ssz_fixed_len(),
<Ping as Encode>::ssz_fixed_len(),