Skip to content

Feat/sidecar#800

Merged
vbhattaccmu merged 6 commits intoghali/infinity-dafrom
feat/sidecar
Feb 19, 2026
Merged

Feat/sidecar#800
vbhattaccmu merged 6 commits intoghali/infinity-dafrom
feat/sidecar

Conversation

@vbhattaccmu
Copy link
Contributor

@vbhattaccmu vbhattaccmu commented Feb 17, 2026

Pull Request type

Please add the labels corresponding to the type of changes your PR introduces:

  • Feature
  • Bugfix
  • Refactor
  • Format
  • Documentation
  • Testing
  • Other:

Description

Related Issues

Testing Performed

Checklist

  • I have performed a self-review of my own code.
  • The tests pass successfully with cargo test.
  • The code was formatted with cargo fmt.
  • The code compiles with no new warnings with cargo build --release and cargo build --release --features runtime-benchmarks.
  • The code has no new warnings when using cargo clippy.
  • If this change affects documented features or needs new documentation, I have created a PR with a documentation update.

@vbhattaccmu vbhattaccmu changed the base branch from main to ghali/infinity-da February 17, 2026 07:30
blob/src/p2p.rs Outdated
Comment on lines +225 to +228
let blob_topic =
<<Block::Header as HeaderT>::Hashing as HashT>::hash("blob_topic".as_bytes());
let eval_claims_topic =
<<Block::Header as HeaderT>::Hashing as HashT>::hash(EVAL_CLAIMS_TOPIC);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be good to have 'blob_topic' as a const too, so we have to disparity

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added a separate const for blob_topic in latest commit

Comment on lines +244 to 250
maybe_eval = eval_claims_cmd_receiver.recv().fuse() => {
match maybe_eval {
Ok(msg) => {
gossip_engine.gossip_message(eval_claims_topic, msg.encode(), false)
},
_ => break,
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to have the eval_claims_cmd_receiver in its own spawned task ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added as a spawned task in latest commit

Copy link
Contributor

@ToufeeqP ToufeeqP left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vbhattaccmu Were you able to test light-nodes validating the eval_proof with this setup? We need to change the key definition on the publishing side, or else change the key itselfo

blob/src/rpc.rs Outdated
) {
if let Some(eval_sender) = friends.externalities.eval_claims_cmd_sender() {
let eval_msg = avail_blob::types::EvalClaimsMessage {
block_hash: finalized_block_hash.into(),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't be publishing the eval data during blob processing/gossip, instead it should be done either during block production or import, as the block_hash we refer here is of the block in which the blob is included, and that is available only after we have constructed the block/imported it. The finalised block_hash is for a different purpose, and it can be different for different nodes based on their network at the time of their processing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

have updated eval data publishing after block import.

#[derive(Debug, Clone, PartialEq, Eq, Encode, Decode, TypeInfo, Serialize, Deserialize)]
pub struct EvalClaimsMessage {
/// Block hash this eval data belongs to
pub block_hash: H256,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can use the app_id instead of block_hash, which enables us to publish the eval data during blob processing & also lightnodes can filter whether to validate the eval_proof based on app_id.

Copy link
Contributor Author

@vbhattaccmu vbhattaccmu Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using app_id instead of block_hash in latest commit. Light nodes are caching eval messages keyed by blob_hash and can filter per app_id.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you forgot to push it?

@vbhattaccmu
Copy link
Contributor Author

@vbhattaccmu Were you able to test light-nodes validating the eval_proof with this setup? We need to change the key definition on the publishing side, or else change the key itselfo

not yet fully. will need to test

@vbhattaccmu vbhattaccmu marked this pull request as ready for review February 19, 2026 08:21
@vbhattaccmu vbhattaccmu merged commit 7c6d60a into ghali/infinity-da Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants