Skip to content

Commit 4ca4ef9

Browse files
committed
chore: regenerate streams trigger protos after simplification
- Update capability ID to streams-trigger@2.0.0 - Regenerate after proto structure simplification - Remove authorization code (handled by CRE per-capability limits) - Reduces generated code size by ~195 lines
1 parent 3a71f49 commit 4ca4ef9

3 files changed

Lines changed: 201 additions & 396 deletions

File tree

pkg/capabilities/v2/triggers/streams/server/trigger_server_gen.go

Lines changed: 7 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/capabilities/v2/triggers/streams/streams_test.go

Lines changed: 86 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -21,63 +21,66 @@ import (
2121
func TestProtoTypesExist(t *testing.T) {
2222
// Config type
2323
config := &streams.Config{
24-
FeedIds: []string{"0x0001", "0x0002"},
24+
StreamIds: []uint32{1, 2, 3},
2525
MaxFrequencyMs: 5000,
2626
}
2727
assert.NotNil(t, config)
28-
assert.Len(t, config.FeedIds, 2)
28+
assert.Len(t, config.StreamIds, 3)
2929
assert.Equal(t, uint64(5000), config.MaxFrequencyMs)
3030

31-
// Feed type
32-
feed := &streams.Feed{
33-
Timestamp: 1234567890,
34-
Metadata: &streams.SignersMetadata{
35-
Signers: []string{"signer1", "signer2"},
36-
MinRequiredSignatures: 2,
37-
},
38-
Payload: []*streams.FeedReport{
31+
// Report type
32+
report := &streams.Report{
33+
ConfigDigest: []byte{1, 2, 3, 4},
34+
SeqNr: 42,
35+
Report: []byte("report-data"),
36+
Sigs: []*streams.OCRSignature{
37+
{
38+
Signer: 1,
39+
Signature: []byte("sig1"),
40+
},
3941
{
40-
FeedId: "0x0001",
41-
FullReport: []byte("report-data"),
42-
ReportContext: []byte("context"),
43-
Signatures: [][]byte{[]byte("sig1")},
44-
BenchmarkPrice: []byte("price"),
45-
ObservationTimestamp: 1234567890,
42+
Signer: 2,
43+
Signature: []byte("sig2"),
4644
},
4745
},
4846
}
49-
assert.NotNil(t, feed)
50-
assert.Equal(t, int64(1234567890), feed.Timestamp)
51-
assert.Len(t, feed.Payload, 1)
47+
assert.NotNil(t, report)
48+
assert.Equal(t, []byte{1, 2, 3, 4}, report.ConfigDigest)
49+
assert.Equal(t, uint64(42), report.SeqNr)
50+
assert.Len(t, report.Sigs, 2)
5251
}
5352

5453
// TestConfigGetters verifies getter methods work
5554
func TestConfigGetters(t *testing.T) {
5655
config := &streams.Config{
57-
FeedIds: []string{"0xfeed1", "0xfeed2", "0xfeed3"},
56+
StreamIds: []uint32{1, 2, 3},
5857
MaxFrequencyMs: 10000,
5958
}
6059

61-
assert.Equal(t, []string{"0xfeed1", "0xfeed2", "0xfeed3"}, config.GetFeedIds())
60+
assert.Equal(t, []uint32{1, 2, 3}, config.GetStreamIds())
6261
assert.Equal(t, uint64(10000), config.GetMaxFrequencyMs())
6362
}
6463

65-
// TestFeedGetters verifies Feed getter methods
66-
func TestFeedGetters(t *testing.T) {
67-
metadata := &streams.SignersMetadata{
68-
Signers: []string{"signer1"},
69-
MinRequiredSignatures: 1,
64+
// TestReportGetters verifies Report getter methods
65+
func TestReportGetters(t *testing.T) {
66+
sigs := []*streams.OCRSignature{
67+
{
68+
Signer: 1,
69+
Signature: []byte("sig1"),
70+
},
7071
}
7172

72-
feed := &streams.Feed{
73-
Timestamp: 9999999999,
74-
Metadata: metadata,
75-
Payload: []*streams.FeedReport{},
73+
report := &streams.Report{
74+
ConfigDigest: []byte{1, 2, 3, 4},
75+
SeqNr: 99,
76+
Report: []byte("test-report"),
77+
Sigs: sigs,
7678
}
7779

78-
assert.Equal(t, int64(9999999999), feed.GetTimestamp())
79-
assert.Equal(t, metadata, feed.GetMetadata())
80-
assert.NotNil(t, feed.GetPayload())
80+
assert.Equal(t, []byte{1, 2, 3, 4}, report.GetConfigDigest())
81+
assert.Equal(t, uint64(99), report.GetSeqNr())
82+
assert.Equal(t, []byte("test-report"), report.GetReport())
83+
assert.Equal(t, sigs, report.GetSigs())
8184
}
8285

8386
// TestStreamsCapabilityInterface verifies the server interface
@@ -94,13 +97,13 @@ type mockStreamsCapability struct {
9497
closeCalled bool
9598
}
9699

97-
func (m *mockStreamsCapability) RegisterTrigger(ctx context.Context, triggerID string, metadata capabilities.RequestMetadata, input *streams.Config) (<-chan capabilities.TriggerAndId[*streams.Feed], caperrors.Error) {
100+
func (m *mockStreamsCapability) RegisterTrigger(ctx context.Context, triggerID string, metadata capabilities.RequestMetadata, input *streams.Config) (<-chan capabilities.TriggerAndId[*streams.Report], caperrors.Error) {
98101
m.registerCalled = true
99-
ch := make(chan capabilities.TriggerAndId[*streams.Feed], 1)
102+
ch := make(chan capabilities.TriggerAndId[*streams.Report], 1)
100103
return ch, nil
101104
}
102105

103-
func (m *mockStreamsCapability) UnregisterTrigger(ctx context.Context, triggerID string, metadata capabilities.RequestMetadata, input *streams.Config) error {
106+
func (m *mockStreamsCapability) UnregisterTrigger(ctx context.Context, triggerID string, metadata capabilities.RequestMetadata, input *streams.Config) caperrors.Error {
104107
m.unregisterCalled = true
105108
return nil
106109
}
@@ -177,7 +180,7 @@ func TestTriggerRegistration(t *testing.T) {
177180
}
178181

179182
config := &streams.Config{
180-
FeedIds: []string{"0x0001"},
183+
StreamIds: []uint32{1},
181184
MaxFrequencyMs: 1000,
182185
}
183186

@@ -192,34 +195,35 @@ func TestTriggerRegistration(t *testing.T) {
192195
assert.True(t, mock.unregisterCalled)
193196
}
194197

195-
// TestFeedReportStructure tests the FeedReport structure
196-
func TestFeedReportStructure(t *testing.T) {
197-
report := &streams.FeedReport{
198-
FeedId: "0xfeedid12345",
199-
FullReport: []byte("full-report-bytes"),
200-
ReportContext: []byte("report-context"),
201-
Signatures: [][]byte{[]byte("sig1"), []byte("sig2")},
202-
BenchmarkPrice: []byte("benchmark-price-bytes"),
203-
ObservationTimestamp: 1700000000,
198+
// TestReportStructure tests the Report structure
199+
func TestReportStructure(t *testing.T) {
200+
sigs := []*streams.OCRSignature{
201+
{Signer: 1, Signature: []byte("sig1")},
202+
{Signer: 2, Signature: []byte("sig2")},
203+
}
204+
205+
report := &streams.Report{
206+
ConfigDigest: []byte{1, 2, 3, 4, 5},
207+
SeqNr: 123,
208+
Report: []byte("full-report-bytes"),
209+
Sigs: sigs,
204210
}
205211

206-
assert.Equal(t, "0xfeedid12345", report.GetFeedId())
207-
assert.Equal(t, []byte("full-report-bytes"), report.GetFullReport())
208-
assert.Equal(t, []byte("report-context"), report.GetReportContext())
209-
assert.Len(t, report.GetSignatures(), 2)
210-
assert.Equal(t, []byte("benchmark-price-bytes"), report.GetBenchmarkPrice())
211-
assert.Equal(t, int64(1700000000), report.GetObservationTimestamp())
212-
}
213-
214-
// TestSignersMetadata tests the SignersMetadata structure
215-
func TestSignersMetadata(t *testing.T) {
216-
metadata := &streams.SignersMetadata{
217-
Signers: []string{"0xsigner1", "0xsigner2", "0xsigner3"},
218-
MinRequiredSignatures: 2,
212+
assert.Equal(t, []byte{1, 2, 3, 4, 5}, report.GetConfigDigest())
213+
assert.Equal(t, uint64(123), report.GetSeqNr())
214+
assert.Equal(t, []byte("full-report-bytes"), report.GetReport())
215+
assert.Len(t, report.GetSigs(), 2)
216+
}
217+
218+
// TestOCRSignature tests the OCRSignature structure
219+
func TestOCRSignature(t *testing.T) {
220+
sig := &streams.OCRSignature{
221+
Signer: 5,
222+
Signature: []byte("signature-bytes"),
219223
}
220224

221-
assert.Len(t, metadata.GetSigners(), 3)
222-
assert.Equal(t, int64(2), metadata.GetMinRequiredSignatures())
225+
assert.Equal(t, uint32(5), sig.GetSigner())
226+
assert.Equal(t, []byte("signature-bytes"), sig.GetSignature())
223227
}
224228

225229
// TestConfigValidation tests configuration validation scenarios
@@ -230,25 +234,25 @@ func TestConfigValidation(t *testing.T) {
230234
expectValid bool
231235
}{
232236
{
233-
name: "valid config with single feed",
237+
name: "valid config with single stream",
234238
config: &streams.Config{
235-
FeedIds: []string{"0x0001"},
239+
StreamIds: []uint32{1},
236240
MaxFrequencyMs: 1000,
237241
},
238242
expectValid: true,
239243
},
240244
{
241-
name: "valid config with multiple feeds",
245+
name: "valid config with multiple streams",
242246
config: &streams.Config{
243-
FeedIds: []string{"0x0001", "0x0002", "0x0003"},
247+
StreamIds: []uint32{1, 2, 3},
244248
MaxFrequencyMs: 5000,
245249
},
246250
expectValid: true,
247251
},
248252
{
249253
name: "high frequency",
250254
config: &streams.Config{
251-
FeedIds: []string{"0x0001"},
255+
StreamIds: []uint32{1},
252256
MaxFrequencyMs: 100,
253257
},
254258
expectValid: true,
@@ -259,7 +263,7 @@ func TestConfigValidation(t *testing.T) {
259263
t.Run(tt.name, func(t *testing.T) {
260264
// Basic validation - config should be creatable
261265
assert.NotNil(t, tt.config)
262-
assert.NotEmpty(t, tt.config.FeedIds)
266+
assert.NotEmpty(t, tt.config.StreamIds)
263267
assert.Greater(t, tt.config.MaxFrequencyMs, uint64(0))
264268
})
265269
}
@@ -352,33 +356,31 @@ func TestServerLifecycle(t *testing.T) {
352356
infos, err := srv.Infos(ctx)
353357
require.NoError(t, err)
354358
require.Len(t, infos, 1)
355-
assert.Equal(t, "streams-trigger@1.0.0", infos[0].ID)
359+
assert.Equal(t, "streams-trigger@2.0.0", infos[0].ID)
356360

357361
// Close
358362
err = srv.Close()
359363
require.NoError(t, err)
360364
assert.True(t, mock.closeCalled, "Close should be called")
361365
assert.Len(t, mockRegistry.removed, 1, "Capability should be unregistered")
362-
assert.Equal(t, "streams-trigger@1.0.0", mockRegistry.removed[0])
366+
assert.Equal(t, "streams-trigger@2.0.0", mockRegistry.removed[0])
363367
}
364368

365-
// BenchmarkFeedCreation benchmarks creating Feed objects
366-
func BenchmarkFeedCreation(b *testing.B) {
369+
// BenchmarkReportCreation benchmarks creating Report objects
370+
func BenchmarkReportCreation(b *testing.B) {
367371
for i := 0; i < b.N; i++ {
368-
_ = &streams.Feed{
369-
Timestamp: int64(i),
370-
Metadata: &streams.SignersMetadata{
371-
Signers: []string{"signer1", "signer2"},
372-
MinRequiredSignatures: 2,
373-
},
374-
Payload: []*streams.FeedReport{
372+
_ = &streams.Report{
373+
ConfigDigest: []byte{1, 2, 3, 4},
374+
SeqNr: uint64(i),
375+
Report: []byte("report-data"),
376+
Sigs: []*streams.OCRSignature{
377+
{
378+
Signer: 1,
379+
Signature: []byte("sig1"),
380+
},
375381
{
376-
FeedId: "0x0001",
377-
FullReport: []byte("report"),
378-
ReportContext: []byte("context"),
379-
Signatures: [][]byte{[]byte("sig")},
380-
BenchmarkPrice: []byte("price"),
381-
ObservationTimestamp: int64(i),
382+
Signer: 2,
383+
Signature: []byte("sig2"),
382384
},
383385
},
384386
}

0 commit comments

Comments
 (0)