@silvana-one/orderbook 1.1.8 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/node/index.cjs +262 -5
  2. package/dist/node/index.d.ts +2 -1
  3. package/dist/node/index.js +2 -1
  4. package/dist/node/index.js.map +1 -1
  5. package/dist/node/{grpc.d.ts → orderbook.d.ts} +48 -1
  6. package/dist/{web/grpc.js → node/orderbook.js} +50 -2
  7. package/dist/node/orderbook.js.map +1 -0
  8. package/dist/node/pricing.d.ts +81 -0
  9. package/dist/node/pricing.js +115 -0
  10. package/dist/node/pricing.js.map +1 -0
  11. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.d.ts +398 -0
  12. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js +47 -2
  13. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
  14. package/dist/node/proto/silvana/pricing/v1/pricing_pb.d.ts +794 -0
  15. package/dist/node/proto/silvana/pricing/v1/pricing_pb.js +119 -0
  16. package/dist/node/proto/silvana/pricing/v1/pricing_pb.js.map +1 -0
  17. package/dist/tsconfig.tsbuildinfo +1 -1
  18. package/dist/tsconfig.web.tsbuildinfo +1 -1
  19. package/dist/web/index.d.ts +2 -1
  20. package/dist/web/index.js +2 -1
  21. package/dist/web/index.js.map +1 -1
  22. package/dist/web/{grpc.d.ts → orderbook.d.ts} +48 -1
  23. package/dist/{node/grpc.js → web/orderbook.js} +50 -2
  24. package/dist/web/orderbook.js.map +1 -0
  25. package/dist/web/pricing.d.ts +81 -0
  26. package/dist/web/pricing.js +115 -0
  27. package/dist/web/pricing.js.map +1 -0
  28. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.d.ts +398 -0
  29. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js +47 -2
  30. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
  31. package/dist/web/proto/silvana/pricing/v1/pricing_pb.d.ts +794 -0
  32. package/dist/web/proto/silvana/pricing/v1/pricing_pb.js +119 -0
  33. package/dist/web/proto/silvana/pricing/v1/pricing_pb.js.map +1 -0
  34. package/package.json +4 -2
  35. package/src/index.ts +2 -1
  36. package/src/{grpc.ts → orderbook.ts} +91 -0
  37. package/src/pricing.ts +187 -0
  38. package/src/proto/silvana/orderbook/v1/orderbook_pb.ts +475 -2
  39. package/src/proto/silvana/pricing/v1/pricing_pb.ts +950 -0
  40. package/dist/node/grpc.js.map +0 -1
  41. package/dist/web/grpc.js.map +0 -1
@@ -0,0 +1,794 @@
1
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
3
+ import type { JsonObject, Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file proto/silvana/pricing/v1/pricing.proto.
6
+ */
7
+ export declare const file_proto_silvana_pricing_v1_pricing: GenFile;
8
+ /**
9
+ * @generated from message silvana.pricing.v1.GetPriceRequest
10
+ */
11
+ export type GetPriceRequest = Message<"silvana.pricing.v1.GetPriceRequest"> & {
12
+ /**
13
+ * e.g., "BTC-USD"
14
+ *
15
+ * @generated from field: string market_id = 1;
16
+ */
17
+ marketId: string;
18
+ /**
19
+ * Optional: specific source (binance_spot, bybit, coingecko)
20
+ *
21
+ * @generated from field: optional string source = 2;
22
+ */
23
+ source?: string;
24
+ };
25
+ /**
26
+ * Describes the message silvana.pricing.v1.GetPriceRequest.
27
+ * Use `create(GetPriceRequestSchema)` to create a new message.
28
+ */
29
+ export declare const GetPriceRequestSchema: GenMessage<GetPriceRequest>;
30
+ /**
31
+ * @generated from message silvana.pricing.v1.GetPriceResponse
32
+ */
33
+ export type GetPriceResponse = Message<"silvana.pricing.v1.GetPriceResponse"> & {
34
+ /**
35
+ * @generated from field: string market_id = 1;
36
+ */
37
+ marketId: string;
38
+ /**
39
+ * Not available from all sources (e.g., CoinGecko, Binance Futures)
40
+ *
41
+ * @generated from field: optional double bid = 2;
42
+ */
43
+ bid?: number;
44
+ /**
45
+ * Not available from all sources
46
+ *
47
+ * @generated from field: optional double ask = 3;
48
+ */
49
+ ask?: number;
50
+ /**
51
+ * @generated from field: double last = 4;
52
+ */
53
+ last: number;
54
+ /**
55
+ * @generated from field: optional double volume_24h = 5;
56
+ */
57
+ volume24h?: number;
58
+ /**
59
+ * @generated from field: optional double change_24h_percent = 6;
60
+ */
61
+ change24hPercent?: number;
62
+ /**
63
+ * Not available from CoinGecko simple API
64
+ *
65
+ * @generated from field: optional double high_24h = 7;
66
+ */
67
+ high24h?: number;
68
+ /**
69
+ * Not available from CoinGecko simple API
70
+ *
71
+ * @generated from field: optional double low_24h = 8;
72
+ */
73
+ low24h?: number;
74
+ /**
75
+ * Source that provided this price
76
+ *
77
+ * @generated from field: string source = 9;
78
+ */
79
+ source: string;
80
+ /**
81
+ * @generated from field: google.protobuf.Timestamp timestamp = 10;
82
+ */
83
+ timestamp?: Timestamp;
84
+ };
85
+ /**
86
+ * Describes the message silvana.pricing.v1.GetPriceResponse.
87
+ * Use `create(GetPriceResponseSchema)` to create a new message.
88
+ */
89
+ export declare const GetPriceResponseSchema: GenMessage<GetPriceResponse>;
90
+ /**
91
+ * @generated from message silvana.pricing.v1.GetPricesRequest
92
+ */
93
+ export type GetPricesRequest = Message<"silvana.pricing.v1.GetPricesRequest"> & {
94
+ /**
95
+ * List of market IDs
96
+ *
97
+ * @generated from field: repeated string market_ids = 1;
98
+ */
99
+ marketIds: string[];
100
+ /**
101
+ * Optional: specific source for all
102
+ *
103
+ * @generated from field: optional string source = 2;
104
+ */
105
+ source?: string;
106
+ };
107
+ /**
108
+ * Describes the message silvana.pricing.v1.GetPricesRequest.
109
+ * Use `create(GetPricesRequestSchema)` to create a new message.
110
+ */
111
+ export declare const GetPricesRequestSchema: GenMessage<GetPricesRequest>;
112
+ /**
113
+ * @generated from message silvana.pricing.v1.GetPricesResponse
114
+ */
115
+ export type GetPricesResponse = Message<"silvana.pricing.v1.GetPricesResponse"> & {
116
+ /**
117
+ * @generated from field: repeated silvana.pricing.v1.Price prices = 1;
118
+ */
119
+ prices: Price[];
120
+ };
121
+ /**
122
+ * Describes the message silvana.pricing.v1.GetPricesResponse.
123
+ * Use `create(GetPricesResponseSchema)` to create a new message.
124
+ */
125
+ export declare const GetPricesResponseSchema: GenMessage<GetPricesResponse>;
126
+ /**
127
+ * @generated from message silvana.pricing.v1.Price
128
+ */
129
+ export type Price = Message<"silvana.pricing.v1.Price"> & {
130
+ /**
131
+ * @generated from field: string market_id = 1;
132
+ */
133
+ marketId: string;
134
+ /**
135
+ * Not available from all sources (e.g., CoinGecko, Binance Futures)
136
+ *
137
+ * @generated from field: optional double bid = 2;
138
+ */
139
+ bid?: number;
140
+ /**
141
+ * Not available from all sources
142
+ *
143
+ * @generated from field: optional double ask = 3;
144
+ */
145
+ ask?: number;
146
+ /**
147
+ * @generated from field: double last = 4;
148
+ */
149
+ last: number;
150
+ /**
151
+ * @generated from field: optional double volume_24h = 5;
152
+ */
153
+ volume24h?: number;
154
+ /**
155
+ * @generated from field: optional double change_24h_percent = 6;
156
+ */
157
+ change24hPercent?: number;
158
+ /**
159
+ * Not available from CoinGecko simple API
160
+ *
161
+ * @generated from field: optional double high_24h = 7;
162
+ */
163
+ high24h?: number;
164
+ /**
165
+ * Not available from CoinGecko simple API
166
+ *
167
+ * @generated from field: optional double low_24h = 8;
168
+ */
169
+ low24h?: number;
170
+ /**
171
+ * @generated from field: string source = 9;
172
+ */
173
+ source: string;
174
+ /**
175
+ * @generated from field: google.protobuf.Timestamp timestamp = 10;
176
+ */
177
+ timestamp?: Timestamp;
178
+ };
179
+ /**
180
+ * Describes the message silvana.pricing.v1.Price.
181
+ * Use `create(PriceSchema)` to create a new message.
182
+ */
183
+ export declare const PriceSchema: GenMessage<Price>;
184
+ /**
185
+ * @generated from message silvana.pricing.v1.GetKlinesRequest
186
+ */
187
+ export type GetKlinesRequest = Message<"silvana.pricing.v1.GetKlinesRequest"> & {
188
+ /**
189
+ * @generated from field: string market_id = 1;
190
+ */
191
+ marketId: string;
192
+ /**
193
+ * "1m", "5m", "15m", "30m", "1h", "4h", "1d", "1w"
194
+ *
195
+ * @generated from field: string interval = 2;
196
+ */
197
+ interval: string;
198
+ /**
199
+ * Number of candles (default 100)
200
+ *
201
+ * @generated from field: optional int32 limit = 3;
202
+ */
203
+ limit?: number;
204
+ /**
205
+ * @generated from field: optional google.protobuf.Timestamp start_time = 4;
206
+ */
207
+ startTime?: Timestamp;
208
+ /**
209
+ * @generated from field: optional google.protobuf.Timestamp end_time = 5;
210
+ */
211
+ endTime?: Timestamp;
212
+ /**
213
+ * Optional: specific source
214
+ *
215
+ * @generated from field: optional string source = 6;
216
+ */
217
+ source?: string;
218
+ };
219
+ /**
220
+ * Describes the message silvana.pricing.v1.GetKlinesRequest.
221
+ * Use `create(GetKlinesRequestSchema)` to create a new message.
222
+ */
223
+ export declare const GetKlinesRequestSchema: GenMessage<GetKlinesRequest>;
224
+ /**
225
+ * @generated from message silvana.pricing.v1.GetKlinesResponse
226
+ */
227
+ export type GetKlinesResponse = Message<"silvana.pricing.v1.GetKlinesResponse"> & {
228
+ /**
229
+ * @generated from field: string market_id = 1;
230
+ */
231
+ marketId: string;
232
+ /**
233
+ * @generated from field: string interval = 2;
234
+ */
235
+ interval: string;
236
+ /**
237
+ * @generated from field: repeated silvana.pricing.v1.Kline klines = 3;
238
+ */
239
+ klines: Kline[];
240
+ /**
241
+ * @generated from field: string source = 4;
242
+ */
243
+ source: string;
244
+ };
245
+ /**
246
+ * Describes the message silvana.pricing.v1.GetKlinesResponse.
247
+ * Use `create(GetKlinesResponseSchema)` to create a new message.
248
+ */
249
+ export declare const GetKlinesResponseSchema: GenMessage<GetKlinesResponse>;
250
+ /**
251
+ * @generated from message silvana.pricing.v1.Kline
252
+ */
253
+ export type Kline = Message<"silvana.pricing.v1.Kline"> & {
254
+ /**
255
+ * @generated from field: google.protobuf.Timestamp open_time = 1;
256
+ */
257
+ openTime?: Timestamp;
258
+ /**
259
+ * @generated from field: double open = 2;
260
+ */
261
+ open: number;
262
+ /**
263
+ * @generated from field: double high = 3;
264
+ */
265
+ high: number;
266
+ /**
267
+ * @generated from field: double low = 4;
268
+ */
269
+ low: number;
270
+ /**
271
+ * @generated from field: double close = 5;
272
+ */
273
+ close: number;
274
+ /**
275
+ * @generated from field: double volume = 6;
276
+ */
277
+ volume: number;
278
+ /**
279
+ * @generated from field: google.protobuf.Timestamp close_time = 7;
280
+ */
281
+ closeTime?: Timestamp;
282
+ /**
283
+ * Volume in quote currency
284
+ *
285
+ * @generated from field: double quote_volume = 8;
286
+ */
287
+ quoteVolume: number;
288
+ /**
289
+ * Number of trades
290
+ *
291
+ * @generated from field: int32 trades = 9;
292
+ */
293
+ trades: number;
294
+ };
295
+ /**
296
+ * Describes the message silvana.pricing.v1.Kline.
297
+ * Use `create(KlineSchema)` to create a new message.
298
+ */
299
+ export declare const KlineSchema: GenMessage<Kline>;
300
+ /**
301
+ * @generated from message silvana.pricing.v1.GetOrderBookRequest
302
+ */
303
+ export type GetOrderBookRequest = Message<"silvana.pricing.v1.GetOrderBookRequest"> & {
304
+ /**
305
+ * @generated from field: string market_id = 1;
306
+ */
307
+ marketId: string;
308
+ /**
309
+ * Number of levels (default 20)
310
+ *
311
+ * @generated from field: optional int32 depth = 2;
312
+ */
313
+ depth?: number;
314
+ /**
315
+ * Optional: specific source
316
+ *
317
+ * @generated from field: optional string source = 3;
318
+ */
319
+ source?: string;
320
+ };
321
+ /**
322
+ * Describes the message silvana.pricing.v1.GetOrderBookRequest.
323
+ * Use `create(GetOrderBookRequestSchema)` to create a new message.
324
+ */
325
+ export declare const GetOrderBookRequestSchema: GenMessage<GetOrderBookRequest>;
326
+ /**
327
+ * @generated from message silvana.pricing.v1.GetOrderBookResponse
328
+ */
329
+ export type GetOrderBookResponse = Message<"silvana.pricing.v1.GetOrderBookResponse"> & {
330
+ /**
331
+ * @generated from field: string market_id = 1;
332
+ */
333
+ marketId: string;
334
+ /**
335
+ * @generated from field: repeated silvana.pricing.v1.OrderBookLevel bids = 2;
336
+ */
337
+ bids: OrderBookLevel[];
338
+ /**
339
+ * @generated from field: repeated silvana.pricing.v1.OrderBookLevel asks = 3;
340
+ */
341
+ asks: OrderBookLevel[];
342
+ /**
343
+ * @generated from field: google.protobuf.Timestamp timestamp = 4;
344
+ */
345
+ timestamp?: Timestamp;
346
+ /**
347
+ * @generated from field: string source = 5;
348
+ */
349
+ source: string;
350
+ };
351
+ /**
352
+ * Describes the message silvana.pricing.v1.GetOrderBookResponse.
353
+ * Use `create(GetOrderBookResponseSchema)` to create a new message.
354
+ */
355
+ export declare const GetOrderBookResponseSchema: GenMessage<GetOrderBookResponse>;
356
+ /**
357
+ * @generated from message silvana.pricing.v1.OrderBookLevel
358
+ */
359
+ export type OrderBookLevel = Message<"silvana.pricing.v1.OrderBookLevel"> & {
360
+ /**
361
+ * @generated from field: double price = 1;
362
+ */
363
+ price: number;
364
+ /**
365
+ * @generated from field: double quantity = 2;
366
+ */
367
+ quantity: number;
368
+ };
369
+ /**
370
+ * Describes the message silvana.pricing.v1.OrderBookLevel.
371
+ * Use `create(OrderBookLevelSchema)` to create a new message.
372
+ */
373
+ export declare const OrderBookLevelSchema: GenMessage<OrderBookLevel>;
374
+ /**
375
+ * @generated from message silvana.pricing.v1.StreamPricesRequest
376
+ */
377
+ export type StreamPricesRequest = Message<"silvana.pricing.v1.StreamPricesRequest"> & {
378
+ /**
379
+ * Markets to subscribe to
380
+ *
381
+ * @generated from field: repeated string market_ids = 1;
382
+ */
383
+ marketIds: string[];
384
+ /**
385
+ * Include order book updates
386
+ *
387
+ * @generated from field: optional bool include_orderbook = 2;
388
+ */
389
+ includeOrderbook?: boolean;
390
+ /**
391
+ * Include trade updates
392
+ *
393
+ * @generated from field: optional bool include_trades = 3;
394
+ */
395
+ includeTrades?: boolean;
396
+ };
397
+ /**
398
+ * Describes the message silvana.pricing.v1.StreamPricesRequest.
399
+ * Use `create(StreamPricesRequestSchema)` to create a new message.
400
+ */
401
+ export declare const StreamPricesRequestSchema: GenMessage<StreamPricesRequest>;
402
+ /**
403
+ * @generated from message silvana.pricing.v1.PriceUpdate
404
+ */
405
+ export type PriceUpdate = Message<"silvana.pricing.v1.PriceUpdate"> & {
406
+ /**
407
+ * @generated from field: string market_id = 1;
408
+ */
409
+ marketId: string;
410
+ /**
411
+ * @generated from field: double price = 2;
412
+ */
413
+ price: number;
414
+ /**
415
+ * @generated from field: optional double bid = 3;
416
+ */
417
+ bid?: number;
418
+ /**
419
+ * @generated from field: optional double ask = 4;
420
+ */
421
+ ask?: number;
422
+ /**
423
+ * @generated from field: optional double volume = 5;
424
+ */
425
+ volume?: number;
426
+ /**
427
+ * @generated from field: string source = 6;
428
+ */
429
+ source: string;
430
+ /**
431
+ * @generated from field: google.protobuf.Timestamp timestamp = 7;
432
+ */
433
+ timestamp?: Timestamp;
434
+ /**
435
+ * Optional: order book update
436
+ *
437
+ * @generated from field: optional silvana.pricing.v1.OrderBookUpdate orderbook = 8;
438
+ */
439
+ orderbook?: OrderBookUpdate;
440
+ /**
441
+ * Optional: trade update
442
+ *
443
+ * @generated from field: optional silvana.pricing.v1.TradeUpdate trade = 9;
444
+ */
445
+ trade?: TradeUpdate;
446
+ };
447
+ /**
448
+ * Describes the message silvana.pricing.v1.PriceUpdate.
449
+ * Use `create(PriceUpdateSchema)` to create a new message.
450
+ */
451
+ export declare const PriceUpdateSchema: GenMessage<PriceUpdate>;
452
+ /**
453
+ * @generated from message silvana.pricing.v1.OrderBookUpdate
454
+ */
455
+ export type OrderBookUpdate = Message<"silvana.pricing.v1.OrderBookUpdate"> & {
456
+ /**
457
+ * @generated from field: repeated silvana.pricing.v1.OrderBookLevel bids = 1;
458
+ */
459
+ bids: OrderBookLevel[];
460
+ /**
461
+ * @generated from field: repeated silvana.pricing.v1.OrderBookLevel asks = 2;
462
+ */
463
+ asks: OrderBookLevel[];
464
+ };
465
+ /**
466
+ * Describes the message silvana.pricing.v1.OrderBookUpdate.
467
+ * Use `create(OrderBookUpdateSchema)` to create a new message.
468
+ */
469
+ export declare const OrderBookUpdateSchema: GenMessage<OrderBookUpdate>;
470
+ /**
471
+ * @generated from message silvana.pricing.v1.TradeUpdate
472
+ */
473
+ export type TradeUpdate = Message<"silvana.pricing.v1.TradeUpdate"> & {
474
+ /**
475
+ * @generated from field: double price = 1;
476
+ */
477
+ price: number;
478
+ /**
479
+ * @generated from field: double quantity = 2;
480
+ */
481
+ quantity: number;
482
+ /**
483
+ * true if buyer was the maker
484
+ *
485
+ * @generated from field: bool is_buyer_maker = 3;
486
+ */
487
+ isBuyerMaker: boolean;
488
+ /**
489
+ * @generated from field: google.protobuf.Timestamp timestamp = 4;
490
+ */
491
+ timestamp?: Timestamp;
492
+ };
493
+ /**
494
+ * Describes the message silvana.pricing.v1.TradeUpdate.
495
+ * Use `create(TradeUpdateSchema)` to create a new message.
496
+ */
497
+ export declare const TradeUpdateSchema: GenMessage<TradeUpdate>;
498
+ /**
499
+ * @generated from message silvana.pricing.v1.GetPivotPointsRequest
500
+ */
501
+ export type GetPivotPointsRequest = Message<"silvana.pricing.v1.GetPivotPointsRequest"> & {
502
+ /**
503
+ * @generated from field: string market_id = 1;
504
+ */
505
+ marketId: string;
506
+ /**
507
+ * "daily", "weekly", "monthly"
508
+ *
509
+ * @generated from field: string timeframe = 2;
510
+ */
511
+ timeframe: string;
512
+ /**
513
+ * Optional: specific source
514
+ *
515
+ * @generated from field: optional string source = 3;
516
+ */
517
+ source?: string;
518
+ };
519
+ /**
520
+ * Describes the message silvana.pricing.v1.GetPivotPointsRequest.
521
+ * Use `create(GetPivotPointsRequestSchema)` to create a new message.
522
+ */
523
+ export declare const GetPivotPointsRequestSchema: GenMessage<GetPivotPointsRequest>;
524
+ /**
525
+ * @generated from message silvana.pricing.v1.GetPivotPointsResponse
526
+ */
527
+ export type GetPivotPointsResponse = Message<"silvana.pricing.v1.GetPivotPointsResponse"> & {
528
+ /**
529
+ * @generated from field: string market_id = 1;
530
+ */
531
+ marketId: string;
532
+ /**
533
+ * Classic pivot points
534
+ *
535
+ * @generated from field: silvana.pricing.v1.PivotPoints classic = 2;
536
+ */
537
+ classic?: PivotPoints;
538
+ /**
539
+ * Fibonacci pivot points
540
+ *
541
+ * @generated from field: optional silvana.pricing.v1.PivotPoints fibonacci = 3;
542
+ */
543
+ fibonacci?: PivotPoints;
544
+ /**
545
+ * Camarilla pivot points
546
+ *
547
+ * @generated from field: optional silvana.pricing.v1.PivotPoints camarilla = 4;
548
+ */
549
+ camarilla?: PivotPoints;
550
+ /**
551
+ * Woodie pivot points
552
+ *
553
+ * @generated from field: optional silvana.pricing.v1.PivotPoints woodie = 5;
554
+ */
555
+ woodie?: PivotPoints;
556
+ /**
557
+ * DeMark pivot points
558
+ *
559
+ * @generated from field: optional silvana.pricing.v1.PivotPoints demark = 6;
560
+ */
561
+ demark?: PivotPoints;
562
+ /**
563
+ * @generated from field: google.protobuf.Timestamp calculated_at = 7;
564
+ */
565
+ calculatedAt?: Timestamp;
566
+ };
567
+ /**
568
+ * Describes the message silvana.pricing.v1.GetPivotPointsResponse.
569
+ * Use `create(GetPivotPointsResponseSchema)` to create a new message.
570
+ */
571
+ export declare const GetPivotPointsResponseSchema: GenMessage<GetPivotPointsResponse>;
572
+ /**
573
+ * @generated from message silvana.pricing.v1.PivotPoints
574
+ */
575
+ export type PivotPoints = Message<"silvana.pricing.v1.PivotPoints"> & {
576
+ /**
577
+ * Pivot point
578
+ *
579
+ * @generated from field: double pivot = 1;
580
+ */
581
+ pivot: number;
582
+ /**
583
+ * Resistance 1
584
+ *
585
+ * @generated from field: double r1 = 2;
586
+ */
587
+ r1: number;
588
+ /**
589
+ * Resistance 2
590
+ *
591
+ * @generated from field: double r2 = 3;
592
+ */
593
+ r2: number;
594
+ /**
595
+ * Resistance 3
596
+ *
597
+ * @generated from field: double r3 = 4;
598
+ */
599
+ r3: number;
600
+ /**
601
+ * Support 1
602
+ *
603
+ * @generated from field: double s1 = 5;
604
+ */
605
+ s1: number;
606
+ /**
607
+ * Support 2
608
+ *
609
+ * @generated from field: double s2 = 6;
610
+ */
611
+ s2: number;
612
+ /**
613
+ * Support 3
614
+ *
615
+ * @generated from field: double s3 = 7;
616
+ */
617
+ s3: number;
618
+ /**
619
+ * Resistance 4 (Camarilla)
620
+ *
621
+ * @generated from field: optional double r4 = 8;
622
+ */
623
+ r4?: number;
624
+ /**
625
+ * Support 4 (Camarilla)
626
+ *
627
+ * @generated from field: optional double s4 = 9;
628
+ */
629
+ s4?: number;
630
+ };
631
+ /**
632
+ * Describes the message silvana.pricing.v1.PivotPoints.
633
+ * Use `create(PivotPointsSchema)` to create a new message.
634
+ */
635
+ export declare const PivotPointsSchema: GenMessage<PivotPoints>;
636
+ /**
637
+ * @generated from message silvana.pricing.v1.PriceFeedConfig
638
+ */
639
+ export type PriceFeedConfig = Message<"silvana.pricing.v1.PriceFeedConfig"> & {
640
+ /**
641
+ * @generated from field: repeated silvana.pricing.v1.PriceFeedConfig.DirectFeed direct = 1;
642
+ */
643
+ direct: PriceFeedConfig_DirectFeed[];
644
+ /**
645
+ * @generated from field: optional silvana.pricing.v1.PriceFeedConfig.SyntheticFeed synthetic = 2;
646
+ */
647
+ synthetic?: PriceFeedConfig_SyntheticFeed;
648
+ };
649
+ /**
650
+ * Describes the message silvana.pricing.v1.PriceFeedConfig.
651
+ * Use `create(PriceFeedConfigSchema)` to create a new message.
652
+ */
653
+ export declare const PriceFeedConfigSchema: GenMessage<PriceFeedConfig>;
654
+ /**
655
+ * @generated from message silvana.pricing.v1.PriceFeedConfig.DirectFeed
656
+ */
657
+ export type PriceFeedConfig_DirectFeed = Message<"silvana.pricing.v1.PriceFeedConfig.DirectFeed"> & {
658
+ /**
659
+ * "binance_spot", "binance_futures", "bybit", "coingecko"
660
+ *
661
+ * @generated from field: string source = 1;
662
+ */
663
+ source: string;
664
+ /**
665
+ * Exchange-specific symbol (e.g., "BTCUSDT")
666
+ *
667
+ * @generated from field: string symbol = 2;
668
+ */
669
+ symbol: string;
670
+ /**
671
+ * @generated from field: bool enabled = 3;
672
+ */
673
+ enabled: boolean;
674
+ /**
675
+ * Lower number = higher priority
676
+ *
677
+ * @generated from field: int32 priority = 4;
678
+ */
679
+ priority: number;
680
+ /**
681
+ * Exchange-specific config
682
+ *
683
+ * @generated from field: optional google.protobuf.Struct metadata = 5;
684
+ */
685
+ metadata?: JsonObject;
686
+ };
687
+ /**
688
+ * Describes the message silvana.pricing.v1.PriceFeedConfig.DirectFeed.
689
+ * Use `create(PriceFeedConfig_DirectFeedSchema)` to create a new message.
690
+ */
691
+ export declare const PriceFeedConfig_DirectFeedSchema: GenMessage<PriceFeedConfig_DirectFeed>;
692
+ /**
693
+ * @generated from message silvana.pricing.v1.PriceFeedConfig.SyntheticFeed
694
+ */
695
+ export type PriceFeedConfig_SyntheticFeed = Message<"silvana.pricing.v1.PriceFeedConfig.SyntheticFeed"> & {
696
+ /**
697
+ * "cross_rate", "index", "weighted_average"
698
+ *
699
+ * @generated from field: string type = 1;
700
+ */
701
+ type: string;
702
+ /**
703
+ * e.g., "BTC-USD"
704
+ *
705
+ * @generated from field: string base_market = 2;
706
+ */
707
+ baseMarket: string;
708
+ /**
709
+ * e.g., "CC-USD"
710
+ *
711
+ * @generated from field: string quote_market = 3;
712
+ */
713
+ quoteMarket: string;
714
+ /**
715
+ * "divide", "multiply"
716
+ *
717
+ * @generated from field: string operation = 4;
718
+ */
719
+ operation: string;
720
+ /**
721
+ * @generated from field: optional google.protobuf.Struct metadata = 5;
722
+ */
723
+ metadata?: JsonObject;
724
+ };
725
+ /**
726
+ * Describes the message silvana.pricing.v1.PriceFeedConfig.SyntheticFeed.
727
+ * Use `create(PriceFeedConfig_SyntheticFeedSchema)` to create a new message.
728
+ */
729
+ export declare const PriceFeedConfig_SyntheticFeedSchema: GenMessage<PriceFeedConfig_SyntheticFeed>;
730
+ /**
731
+ * @generated from service silvana.pricing.v1.PricingService
732
+ */
733
+ export declare const PricingService: GenService<{
734
+ /**
735
+ * Get current price for a market
736
+ *
737
+ * @generated from rpc silvana.pricing.v1.PricingService.GetPrice
738
+ */
739
+ getPrice: {
740
+ methodKind: "unary";
741
+ input: typeof GetPriceRequestSchema;
742
+ output: typeof GetPriceResponseSchema;
743
+ };
744
+ /**
745
+ * Get multiple market prices
746
+ *
747
+ * @generated from rpc silvana.pricing.v1.PricingService.GetPrices
748
+ */
749
+ getPrices: {
750
+ methodKind: "unary";
751
+ input: typeof GetPricesRequestSchema;
752
+ output: typeof GetPricesResponseSchema;
753
+ };
754
+ /**
755
+ * Get kline/candle data
756
+ *
757
+ * @generated from rpc silvana.pricing.v1.PricingService.GetKlines
758
+ */
759
+ getKlines: {
760
+ methodKind: "unary";
761
+ input: typeof GetKlinesRequestSchema;
762
+ output: typeof GetKlinesResponseSchema;
763
+ };
764
+ /**
765
+ * Get order book snapshot
766
+ *
767
+ * @generated from rpc silvana.pricing.v1.PricingService.GetOrderBook
768
+ */
769
+ getOrderBook: {
770
+ methodKind: "unary";
771
+ input: typeof GetOrderBookRequestSchema;
772
+ output: typeof GetOrderBookResponseSchema;
773
+ };
774
+ /**
775
+ * Stream real-time price updates
776
+ *
777
+ * @generated from rpc silvana.pricing.v1.PricingService.StreamPrices
778
+ */
779
+ streamPrices: {
780
+ methodKind: "server_streaming";
781
+ input: typeof StreamPricesRequestSchema;
782
+ output: typeof PriceUpdateSchema;
783
+ };
784
+ /**
785
+ * Get calculated pivot points
786
+ *
787
+ * @generated from rpc silvana.pricing.v1.PricingService.GetPivotPoints
788
+ */
789
+ getPivotPoints: {
790
+ methodKind: "unary";
791
+ input: typeof GetPivotPointsRequestSchema;
792
+ output: typeof GetPivotPointsResponseSchema;
793
+ };
794
+ }>;