Conversation
|
Caution Review failedFailed to post review comments WalkthroughIntroduces multi-chain support (Cardano, Ethereum, Bitcoin) via new framework modules and a new Chain/Record model. Adds Ethereum and Bitcoin sources and watch subcommands behind feature flags. Refactors filters/sinks to use Cardano-namespaced records. Updates daemon config types. Adds extensive v3 documentation, examples, and metadata. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant CLI as CLI (watch)
participant Runner as Watch Runner
participant Daemon as Daemon
participant Source as Source (per chain)
participant Filters as Filters
participant Sink as Sink
CLI->>Runner: Parse subcommand (cardano|bitcoin|ethereum)
Runner->>Daemon: Build ConfigRoot (Chain, Source, Intersect, Filters, Sink)
Daemon->>Source: spawn()
loop stream blocks
Source-->>Daemon: ChainEvent::Apply(Point, Record::{Cardano|Bitcoin|Ethereum})
Daemon->>Filters: process(record)
Filters-->>Daemon: record'
Daemon->>Sink: deliver(record')
Sink-->>Daemon: ack
end
Daemon-->>Runner: shutdown
sequenceDiagram
autonumber
participant ETH as Ethereum Source
participant WS as WS Provider
participant Node as ETH Node
ETH->>WS: connect(url)
WS-->>ETH: connected
ETH->>Node: subscribe newHeads
loop headers
Node-->>ETH: header(hash,height)
ETH->>Node: eth_getBlockByHash
Node-->>ETH: block
ETH-->>Daemon: Apply(Point(height,hash), Record::Ethereum(ParsedBlock))
end
sequenceDiagram
autonumber
participant BTC as Bitcoin Source
participant RPC as bitcoind RPC
loop interval
BTC->>RPC: getblockchaininfo
alt new best_block_hash
BTC->>RPC: getblock by hash
RPC-->>BTC: block(json)
BTC-->>Daemon: Apply(Point(height,hash), Record::Bitcoin(ParsedBlock))
else unchanged
BTC-->>BTC: Idle
end
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary by CodeRabbit
New Features
Documentation
Chores