Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .changeset/add-streams-llo-trigger.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"@smartcontractkit/chainlink-protos": minor
---

Add Streams LLO NoDAG Trigger capability proto

- Add streams/v1/trigger.proto with NoDAG API
- Config message (stream_ids, max_frequency_ms)
- Report message matching OCRTriggerEvent structure
- Streams service with Trigger RPC (streams-trigger@2.0.0)
- Supports Data Feeds migration to CRE NoDAG architecture
57 changes: 57 additions & 0 deletions cre/capabilities/streams/v1/trigger.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
syntax = "proto3";

package capabilities.streams.v1;

import "cre/tools/generator/v1alpha/cre_metadata.proto";

Check failure on line 5 in cre/capabilities/streams/v1/trigger.proto

View workflow job for this annotation

GitHub Actions / buf

import "cre/tools/generator/v1alpha/cre_metadata.proto": file does not exist

option go_package = "github.com/smartcontractkit/chainlink-common/pkg/capabilities/v2/triggers/streams";

// Configuration for the Streams LLO Trigger
// This matches the existing LLOTriggerConfig structure
message Config {
// The IDs of the LLO data streams to subscribe to.
// Stream IDs are uint32 values that identify specific feeds.
repeated uint32 stream_ids = 1;

// The minimum interval in milliseconds between trigger events.
// Trigger will only emit events at most once per this interval.
uint64 max_frequency_ms = 2;
}

// An attributed onchain signature
message OCRSignature {
// The signer index
uint32 signer = 1;

// The signature bytes
bytes signature = 2;
}

// OCR Trigger Event payload
// This matches the existing OCRTriggerEvent structure that the transmitter emits
message Report {
// Configuration digest for the OCR round
bytes config_digest = 1;

// Sequence number of the report
uint64 seq_nr = 2;

// The report bytes (raw OCR report)
bytes report = 3;

// Attributed onchain signatures
repeated OCRSignature sigs = 4;
}

// Streams LLO Trigger service definition
// This is the NoDAG API for the existing LLO CRE Transmitter
service Streams {
option (tools.generator.v1alpha.capability) = {
mode: MODE_DON
capability_id: "streams-trigger@2.0.0"
};

// Trigger method that emits OCR reports from the LLO plugin
// This replaces the legacy RegisterTrigger/UnregisterTrigger API
rpc Trigger(Config) returns (stream Report);
}
63 changes: 63 additions & 0 deletions cre/go/installer/pkg/embedded_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading