You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Batch-sender was emitting single-topic ANNOUNCE events, which broke
server-side topic-3 view-tag filtering and forced indexers to full-scan
its output. Per-transfer announcements now go through the announcer
contract, the same announcer_client::announce pattern splitter already
uses, so all three sources emit the v2 4-topic layout:
Issue #62 is an audit-doc correction only. splitter fund_split already
routes through the announcer; no splitter logic change.
Changes
stealth-batch-sender: drop inline (ANNOUNCE,) publish; call announcer
instead. batch_send now takes announcer + scheme_id. Transfer gains
metadata and uses BytesN<32> for the ephemeral key.
Unit + snapshot tests assert the 4-topic layout and view-tag derivation.
New integration test topic_filter.rs: topic-3 filter returns only the
matching view-tag subset across announcer, splitter, and batch-sender.
That import arrived with #171 (metrics wiring), which also added the matching dependency to stellar/stealth-splitter/Cargo.toml. Current develop has both halves and compiles fine. Your branch has the .rs half without the Cargo.toml half, which is the signature of a rebase or merge that took one side of a conflicted file.
Rather than patching the Cargo.toml by hand, rebase cleanly so you pick up both:
git fetch origin
git rebase origin/develop
Then confirm stellar/stealth-splitter/Cargo.toml contains wraith-metrics = { path = "../wraith-metrics" } under [dependencies] before pushing.
One small thing in your own diff: stellar/stealth-batch-sender/Cargo.toml gains a trailing whitespace line and loses its final newline. Harmless, but cargo fmt will not catch it, so worth tidying while you are there.
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
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.
Summary
Batch-sender was emitting single-topic ANNOUNCE events, which broke
server-side topic-3 view-tag filtering and forced indexers to full-scan
its output. Per-transfer announcements now go through the announcer
contract, the same announcer_client::announce pattern splitter already
uses, so all three sources emit the v2 4-topic layout:
topics: ("announce", scheme_id, view_tag_bucket, metadata_kind)
data: (stealth_address, ephemeral_pub_key, metadata)
view_tag_bucket = metadata[0] as u32.
Issue #62 is an audit-doc correction only. splitter fund_split already
routes through the announcer; no splitter logic change.
Changes
instead. batch_send now takes announcer + scheme_id. Transfer gains
metadata and uses BytesN<32> for the ephemeral key.
matching view-tag subset across announcer, splitter, and batch-sender.
audit-doc finding.
sender, splitter, and batch-sender. No batch-sender-specific
single-topic handler.
link it. No splitter source change.
Test plan
Closes #159