@@ -46,6 +46,8 @@ message State {
46
46
repeated Publisher publishers = 8 ;
47
47
// List of governance sources.
48
48
repeated GovernanceSourceState governance_sources = 9 ;
49
+ // Currently active feature flags. Feature flags influence the aggregator's behavior.
50
+ repeated string feature_flags = 10 ;
49
51
}
50
52
51
53
// An item of the state describing a publisher.
@@ -58,6 +60,8 @@ message Publisher {
58
60
repeated bytes public_keys = 3 ;
59
61
// [required] If true, the publisher is active, i.e. it's allowed to publish updates.
60
62
optional bool is_active = 4 ;
63
+ // IDs of the feeds for which the publisher's price will be included in the aggregate.
64
+ repeated uint32 allowed_feed_ids = 5 ;
61
65
}
62
66
63
67
enum FeedState {
@@ -112,6 +116,8 @@ message Feed {
112
116
optional FeedState state = 107 ;
113
117
// [required] Feed kind.
114
118
optional FeedKind kind = 108 ;
119
+ // [required] Current aggregated data of the feed.
120
+ optional FeedDataFields aggregated_data = 109 ;
115
121
116
122
117
123
// [required] Feed status in the current shard. Disabled feeds will not be visible in
@@ -158,16 +164,21 @@ message FeedData {
158
164
optional google.protobuf.Timestamp source_timestamp = 1 ;
159
165
// [required] Timestamp of the publisher.
160
166
optional google.protobuf.Timestamp publisher_timestamp = 2 ;
167
+ // [required] Values of the data fields.
168
+ optional FeedDataFields fields = 3 ;
169
+ }
170
+
171
+ message FeedDataFields {
161
172
// [optional] Best executable price. Can be absent if no data is available. Never present for funding rate feeds.
162
- optional int64 price = 3 ;
173
+ optional int64 price = 1 ;
163
174
// [optional] Best bid price. Can be absent if no data is available. Never present for funding rate feeds.
164
- optional int64 best_bid_price = 4 ;
175
+ optional int64 best_bid_price = 2 ;
165
176
// [optional] Best ask price. Can be absent if no data is available. Never present for funding rate feeds.
166
- optional int64 best_ask_price = 5 ;
177
+ optional int64 best_ask_price = 3 ;
167
178
// [optional] Funding rate. Can be absent if no data is available. Can only be present for funding rate feeds.
168
- optional int64 funding_rate = 6 ;
179
+ optional int64 funding_rate = 4 ;
169
180
// [optional] Funding rate interval. Can be absent if no data is available. Can only be present for funding rate feeds.
170
- optional google.protobuf.Duration funding_rate_interval = 7 ;
181
+ optional google.protobuf.Duration funding_rate_interval = 5 ;
171
182
}
172
183
173
184
// State associated with a governance source.
@@ -206,6 +217,8 @@ message Permissions {
206
217
// including operations added in the future.
207
218
UPDATE_FEED = 112 ;
208
219
REMOVE_FEED = 113 ;
220
+ ADD_FEATURE_FLAG = 114 ;
221
+ REMOVE_FEATURE_FLAG = 115 ;
209
222
}
210
223
211
224
enum UpdateGovernanceSourceAction {
@@ -222,6 +235,9 @@ message Permissions {
222
235
REMOVE_PUBLISHER_PUBLIC_KEYS = 103 ;
223
236
SET_PUBLISHER_PUBLIC_KEYS = 104 ;
224
237
SET_PUBLISHER_ACTIVE = 105 ;
238
+ ADD_PUBLISHER_ALLOWED_FEED_IDS = 106 ;
239
+ REMOVE_PUBLISHER_ALLOWED_FEED_IDS = 107 ;
240
+ SET_PUBLISHER_ALLOWED_FEED_IDS = 108 ;
225
241
}
226
242
227
243
enum UpdateFeedAction {
0 commit comments