@miradorlabs/web-grpc 1.0.0

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 (33) hide show
  1. package/README.md +5 -0
  2. package/google/protobuf/timestamp.ts +229 -0
  3. package/package.json +11 -0
  4. package/proto/gateway/common/v1/status.ts +179 -0
  5. package/proto/gateway/common/v1/status_grpc_pb.js +1 -0
  6. package/proto/gateway/common/v1/status_pb.js +237 -0
  7. package/proto/gateway/common/v1/types.ts +176 -0
  8. package/proto/gateway/common/v1/types_grpc_pb.js +1 -0
  9. package/proto/gateway/common/v1/types_pb.js +216 -0
  10. package/proto/gateway/web/v1/account_gateway.ts +7037 -0
  11. package/proto/gateway/web/v1/account_gateway_grpc_pb.js +813 -0
  12. package/proto/gateway/web/v1/account_gateway_pb.js +14338 -0
  13. package/proto/gateway/web/v1/automation_gateway.ts +5605 -0
  14. package/proto/gateway/web/v1/automation_gateway_grpc_pb.js +485 -0
  15. package/proto/gateway/web/v1/automation_gateway_pb.js +11618 -0
  16. package/proto/gateway/web/v1/chain_gateway.ts +3805 -0
  17. package/proto/gateway/web/v1/chain_gateway_grpc_pb.js +115 -0
  18. package/proto/gateway/web/v1/chain_gateway_pb.js +7049 -0
  19. package/proto/gateway/web/v1/market_gateway.ts +492 -0
  20. package/proto/gateway/web/v1/market_gateway_grpc_pb.js +45 -0
  21. package/proto/gateway/web/v1/market_gateway_pb.js +1063 -0
  22. package/proto/gateway/web/v1/oauth_gateway.ts +1163 -0
  23. package/proto/gateway/web/v1/oauth_gateway_grpc_pb.js +150 -0
  24. package/proto/gateway/web/v1/oauth_gateway_pb.js +2316 -0
  25. package/proto/gateway/web/v1/plan_gateway.ts +2463 -0
  26. package/proto/gateway/web/v1/plan_gateway_grpc_pb.js +152 -0
  27. package/proto/gateway/web/v1/plan_gateway_pb.js +4840 -0
  28. package/proto/gateway/web/v1/stream_gateway.ts +2354 -0
  29. package/proto/gateway/web/v1/stream_gateway_grpc_pb.js +145 -0
  30. package/proto/gateway/web/v1/stream_gateway_pb.js +4593 -0
  31. package/proto/gateway/web/v1/trace_gateway.ts +16320 -0
  32. package/proto/gateway/web/v1/trace_gateway_grpc_pb.js +280 -0
  33. package/proto/gateway/web/v1/trace_gateway_pb.js +28667 -0
@@ -0,0 +1,492 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.11.8
4
+ // protoc v3.21.12
5
+ // source: proto/gateway/web/v1/market_gateway.proto
6
+
7
+ /* eslint-disable */
8
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
9
+ import type { Metadata } from "@grpc/grpc-js";
10
+ import { Observable } from "rxjs";
11
+ import { map } from "rxjs/operators";
12
+
13
+ export const protobufPackage = "gateway.web.v1";
14
+
15
+ export interface StreamFxRatesRequest {
16
+ /** ISO 4217 code (e.g., "USD", "EUR"), default "USD" */
17
+ currency: string;
18
+ }
19
+
20
+ export interface FxRateEnvelope {
21
+ snapshot?: FxRateSnapshot | undefined;
22
+ update?: FxRateUpdate | undefined;
23
+ }
24
+
25
+ export interface FxRateSnapshot {
26
+ rates: CryptoFxRate[];
27
+ currency: string;
28
+ }
29
+
30
+ export interface FxRateUpdate {
31
+ rates: CryptoFxRate[];
32
+ currency: string;
33
+ }
34
+
35
+ export interface CryptoFxRate {
36
+ /** e.g., "ETH", "USDC" */
37
+ symbol: string;
38
+ /** Price in requested fiat currency */
39
+ price: number;
40
+ /** Human-readable (e.g., "$1,750.42") */
41
+ formatted: string;
42
+ }
43
+
44
+ function createBaseStreamFxRatesRequest(): StreamFxRatesRequest {
45
+ return { currency: "" };
46
+ }
47
+
48
+ export const StreamFxRatesRequest: MessageFns<StreamFxRatesRequest> = {
49
+ encode(message: StreamFxRatesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
50
+ if (message.currency !== "") {
51
+ writer.uint32(10).string(message.currency);
52
+ }
53
+ return writer;
54
+ },
55
+
56
+ decode(input: BinaryReader | Uint8Array, length?: number): StreamFxRatesRequest {
57
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
58
+ const end = length === undefined ? reader.len : reader.pos + length;
59
+ const message = createBaseStreamFxRatesRequest();
60
+ while (reader.pos < end) {
61
+ const tag = reader.uint32();
62
+ switch (tag >>> 3) {
63
+ case 1: {
64
+ if (tag !== 10) {
65
+ break;
66
+ }
67
+
68
+ message.currency = reader.string();
69
+ continue;
70
+ }
71
+ }
72
+ if ((tag & 7) === 4 || tag === 0) {
73
+ break;
74
+ }
75
+ reader.skip(tag & 7);
76
+ }
77
+ return message;
78
+ },
79
+
80
+ fromJSON(object: any): StreamFxRatesRequest {
81
+ return { currency: isSet(object.currency) ? globalThis.String(object.currency) : "" };
82
+ },
83
+
84
+ toJSON(message: StreamFxRatesRequest): unknown {
85
+ const obj: any = {};
86
+ if (message.currency !== "") {
87
+ obj.currency = message.currency;
88
+ }
89
+ return obj;
90
+ },
91
+
92
+ create<I extends Exact<DeepPartial<StreamFxRatesRequest>, I>>(base?: I): StreamFxRatesRequest {
93
+ return StreamFxRatesRequest.fromPartial(base ?? ({} as any));
94
+ },
95
+ fromPartial<I extends Exact<DeepPartial<StreamFxRatesRequest>, I>>(object: I): StreamFxRatesRequest {
96
+ const message = createBaseStreamFxRatesRequest();
97
+ message.currency = object.currency ?? "";
98
+ return message;
99
+ },
100
+ };
101
+
102
+ function createBaseFxRateEnvelope(): FxRateEnvelope {
103
+ return { snapshot: undefined, update: undefined };
104
+ }
105
+
106
+ export const FxRateEnvelope: MessageFns<FxRateEnvelope> = {
107
+ encode(message: FxRateEnvelope, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
108
+ if (message.snapshot !== undefined) {
109
+ FxRateSnapshot.encode(message.snapshot, writer.uint32(10).fork()).join();
110
+ }
111
+ if (message.update !== undefined) {
112
+ FxRateUpdate.encode(message.update, writer.uint32(18).fork()).join();
113
+ }
114
+ return writer;
115
+ },
116
+
117
+ decode(input: BinaryReader | Uint8Array, length?: number): FxRateEnvelope {
118
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
119
+ const end = length === undefined ? reader.len : reader.pos + length;
120
+ const message = createBaseFxRateEnvelope();
121
+ while (reader.pos < end) {
122
+ const tag = reader.uint32();
123
+ switch (tag >>> 3) {
124
+ case 1: {
125
+ if (tag !== 10) {
126
+ break;
127
+ }
128
+
129
+ message.snapshot = FxRateSnapshot.decode(reader, reader.uint32());
130
+ continue;
131
+ }
132
+ case 2: {
133
+ if (tag !== 18) {
134
+ break;
135
+ }
136
+
137
+ message.update = FxRateUpdate.decode(reader, reader.uint32());
138
+ continue;
139
+ }
140
+ }
141
+ if ((tag & 7) === 4 || tag === 0) {
142
+ break;
143
+ }
144
+ reader.skip(tag & 7);
145
+ }
146
+ return message;
147
+ },
148
+
149
+ fromJSON(object: any): FxRateEnvelope {
150
+ return {
151
+ snapshot: isSet(object.snapshot) ? FxRateSnapshot.fromJSON(object.snapshot) : undefined,
152
+ update: isSet(object.update) ? FxRateUpdate.fromJSON(object.update) : undefined,
153
+ };
154
+ },
155
+
156
+ toJSON(message: FxRateEnvelope): unknown {
157
+ const obj: any = {};
158
+ if (message.snapshot !== undefined) {
159
+ obj.snapshot = FxRateSnapshot.toJSON(message.snapshot);
160
+ }
161
+ if (message.update !== undefined) {
162
+ obj.update = FxRateUpdate.toJSON(message.update);
163
+ }
164
+ return obj;
165
+ },
166
+
167
+ create<I extends Exact<DeepPartial<FxRateEnvelope>, I>>(base?: I): FxRateEnvelope {
168
+ return FxRateEnvelope.fromPartial(base ?? ({} as any));
169
+ },
170
+ fromPartial<I extends Exact<DeepPartial<FxRateEnvelope>, I>>(object: I): FxRateEnvelope {
171
+ const message = createBaseFxRateEnvelope();
172
+ message.snapshot = (object.snapshot !== undefined && object.snapshot !== null)
173
+ ? FxRateSnapshot.fromPartial(object.snapshot)
174
+ : undefined;
175
+ message.update = (object.update !== undefined && object.update !== null)
176
+ ? FxRateUpdate.fromPartial(object.update)
177
+ : undefined;
178
+ return message;
179
+ },
180
+ };
181
+
182
+ function createBaseFxRateSnapshot(): FxRateSnapshot {
183
+ return { rates: [], currency: "" };
184
+ }
185
+
186
+ export const FxRateSnapshot: MessageFns<FxRateSnapshot> = {
187
+ encode(message: FxRateSnapshot, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
188
+ for (const v of message.rates) {
189
+ CryptoFxRate.encode(v!, writer.uint32(10).fork()).join();
190
+ }
191
+ if (message.currency !== "") {
192
+ writer.uint32(18).string(message.currency);
193
+ }
194
+ return writer;
195
+ },
196
+
197
+ decode(input: BinaryReader | Uint8Array, length?: number): FxRateSnapshot {
198
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
199
+ const end = length === undefined ? reader.len : reader.pos + length;
200
+ const message = createBaseFxRateSnapshot();
201
+ while (reader.pos < end) {
202
+ const tag = reader.uint32();
203
+ switch (tag >>> 3) {
204
+ case 1: {
205
+ if (tag !== 10) {
206
+ break;
207
+ }
208
+
209
+ message.rates.push(CryptoFxRate.decode(reader, reader.uint32()));
210
+ continue;
211
+ }
212
+ case 2: {
213
+ if (tag !== 18) {
214
+ break;
215
+ }
216
+
217
+ message.currency = reader.string();
218
+ continue;
219
+ }
220
+ }
221
+ if ((tag & 7) === 4 || tag === 0) {
222
+ break;
223
+ }
224
+ reader.skip(tag & 7);
225
+ }
226
+ return message;
227
+ },
228
+
229
+ fromJSON(object: any): FxRateSnapshot {
230
+ return {
231
+ rates: globalThis.Array.isArray(object?.rates) ? object.rates.map((e: any) => CryptoFxRate.fromJSON(e)) : [],
232
+ currency: isSet(object.currency) ? globalThis.String(object.currency) : "",
233
+ };
234
+ },
235
+
236
+ toJSON(message: FxRateSnapshot): unknown {
237
+ const obj: any = {};
238
+ if (message.rates?.length) {
239
+ obj.rates = message.rates.map((e) => CryptoFxRate.toJSON(e));
240
+ }
241
+ if (message.currency !== "") {
242
+ obj.currency = message.currency;
243
+ }
244
+ return obj;
245
+ },
246
+
247
+ create<I extends Exact<DeepPartial<FxRateSnapshot>, I>>(base?: I): FxRateSnapshot {
248
+ return FxRateSnapshot.fromPartial(base ?? ({} as any));
249
+ },
250
+ fromPartial<I extends Exact<DeepPartial<FxRateSnapshot>, I>>(object: I): FxRateSnapshot {
251
+ const message = createBaseFxRateSnapshot();
252
+ message.rates = object.rates?.map((e) => CryptoFxRate.fromPartial(e)) || [];
253
+ message.currency = object.currency ?? "";
254
+ return message;
255
+ },
256
+ };
257
+
258
+ function createBaseFxRateUpdate(): FxRateUpdate {
259
+ return { rates: [], currency: "" };
260
+ }
261
+
262
+ export const FxRateUpdate: MessageFns<FxRateUpdate> = {
263
+ encode(message: FxRateUpdate, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
264
+ for (const v of message.rates) {
265
+ CryptoFxRate.encode(v!, writer.uint32(10).fork()).join();
266
+ }
267
+ if (message.currency !== "") {
268
+ writer.uint32(18).string(message.currency);
269
+ }
270
+ return writer;
271
+ },
272
+
273
+ decode(input: BinaryReader | Uint8Array, length?: number): FxRateUpdate {
274
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
275
+ const end = length === undefined ? reader.len : reader.pos + length;
276
+ const message = createBaseFxRateUpdate();
277
+ while (reader.pos < end) {
278
+ const tag = reader.uint32();
279
+ switch (tag >>> 3) {
280
+ case 1: {
281
+ if (tag !== 10) {
282
+ break;
283
+ }
284
+
285
+ message.rates.push(CryptoFxRate.decode(reader, reader.uint32()));
286
+ continue;
287
+ }
288
+ case 2: {
289
+ if (tag !== 18) {
290
+ break;
291
+ }
292
+
293
+ message.currency = reader.string();
294
+ continue;
295
+ }
296
+ }
297
+ if ((tag & 7) === 4 || tag === 0) {
298
+ break;
299
+ }
300
+ reader.skip(tag & 7);
301
+ }
302
+ return message;
303
+ },
304
+
305
+ fromJSON(object: any): FxRateUpdate {
306
+ return {
307
+ rates: globalThis.Array.isArray(object?.rates) ? object.rates.map((e: any) => CryptoFxRate.fromJSON(e)) : [],
308
+ currency: isSet(object.currency) ? globalThis.String(object.currency) : "",
309
+ };
310
+ },
311
+
312
+ toJSON(message: FxRateUpdate): unknown {
313
+ const obj: any = {};
314
+ if (message.rates?.length) {
315
+ obj.rates = message.rates.map((e) => CryptoFxRate.toJSON(e));
316
+ }
317
+ if (message.currency !== "") {
318
+ obj.currency = message.currency;
319
+ }
320
+ return obj;
321
+ },
322
+
323
+ create<I extends Exact<DeepPartial<FxRateUpdate>, I>>(base?: I): FxRateUpdate {
324
+ return FxRateUpdate.fromPartial(base ?? ({} as any));
325
+ },
326
+ fromPartial<I extends Exact<DeepPartial<FxRateUpdate>, I>>(object: I): FxRateUpdate {
327
+ const message = createBaseFxRateUpdate();
328
+ message.rates = object.rates?.map((e) => CryptoFxRate.fromPartial(e)) || [];
329
+ message.currency = object.currency ?? "";
330
+ return message;
331
+ },
332
+ };
333
+
334
+ function createBaseCryptoFxRate(): CryptoFxRate {
335
+ return { symbol: "", price: 0, formatted: "" };
336
+ }
337
+
338
+ export const CryptoFxRate: MessageFns<CryptoFxRate> = {
339
+ encode(message: CryptoFxRate, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
340
+ if (message.symbol !== "") {
341
+ writer.uint32(10).string(message.symbol);
342
+ }
343
+ if (message.price !== 0) {
344
+ writer.uint32(17).double(message.price);
345
+ }
346
+ if (message.formatted !== "") {
347
+ writer.uint32(26).string(message.formatted);
348
+ }
349
+ return writer;
350
+ },
351
+
352
+ decode(input: BinaryReader | Uint8Array, length?: number): CryptoFxRate {
353
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
354
+ const end = length === undefined ? reader.len : reader.pos + length;
355
+ const message = createBaseCryptoFxRate();
356
+ while (reader.pos < end) {
357
+ const tag = reader.uint32();
358
+ switch (tag >>> 3) {
359
+ case 1: {
360
+ if (tag !== 10) {
361
+ break;
362
+ }
363
+
364
+ message.symbol = reader.string();
365
+ continue;
366
+ }
367
+ case 2: {
368
+ if (tag !== 17) {
369
+ break;
370
+ }
371
+
372
+ message.price = reader.double();
373
+ continue;
374
+ }
375
+ case 3: {
376
+ if (tag !== 26) {
377
+ break;
378
+ }
379
+
380
+ message.formatted = reader.string();
381
+ continue;
382
+ }
383
+ }
384
+ if ((tag & 7) === 4 || tag === 0) {
385
+ break;
386
+ }
387
+ reader.skip(tag & 7);
388
+ }
389
+ return message;
390
+ },
391
+
392
+ fromJSON(object: any): CryptoFxRate {
393
+ return {
394
+ symbol: isSet(object.symbol) ? globalThis.String(object.symbol) : "",
395
+ price: isSet(object.price) ? globalThis.Number(object.price) : 0,
396
+ formatted: isSet(object.formatted) ? globalThis.String(object.formatted) : "",
397
+ };
398
+ },
399
+
400
+ toJSON(message: CryptoFxRate): unknown {
401
+ const obj: any = {};
402
+ if (message.symbol !== "") {
403
+ obj.symbol = message.symbol;
404
+ }
405
+ if (message.price !== 0) {
406
+ obj.price = message.price;
407
+ }
408
+ if (message.formatted !== "") {
409
+ obj.formatted = message.formatted;
410
+ }
411
+ return obj;
412
+ },
413
+
414
+ create<I extends Exact<DeepPartial<CryptoFxRate>, I>>(base?: I): CryptoFxRate {
415
+ return CryptoFxRate.fromPartial(base ?? ({} as any));
416
+ },
417
+ fromPartial<I extends Exact<DeepPartial<CryptoFxRate>, I>>(object: I): CryptoFxRate {
418
+ const message = createBaseCryptoFxRate();
419
+ message.symbol = object.symbol ?? "";
420
+ message.price = object.price ?? 0;
421
+ message.formatted = object.formatted ?? "";
422
+ return message;
423
+ },
424
+ };
425
+
426
+ export interface MarketGatewayService {
427
+ /** Real-time FX rate streaming for fiat value display */
428
+ StreamFxRates(request: StreamFxRatesRequest, metadata?: Metadata): Observable<FxRateEnvelope>;
429
+ }
430
+
431
+ export const MarketGatewayServiceServiceName = "gateway.web.v1.MarketGatewayService";
432
+ export class MarketGatewayServiceClientImpl implements MarketGatewayService {
433
+ private readonly rpc: Rpc;
434
+ private readonly service: string;
435
+ constructor(rpc: Rpc, opts?: { service?: string }) {
436
+ this.service = opts?.service || MarketGatewayServiceServiceName;
437
+ this.rpc = rpc;
438
+ this.StreamFxRates = this.StreamFxRates.bind(this);
439
+ }
440
+ StreamFxRates(request: StreamFxRatesRequest, metadata?: Metadata): Observable<FxRateEnvelope> {
441
+ const data = StreamFxRatesRequest.encode(request).finish();
442
+ const result = this.rpc.serverStreamingRequest(this.service, "StreamFxRates", data, metadata);
443
+ return result.pipe(map((data) => FxRateEnvelope.decode(new BinaryReader(data))));
444
+ }
445
+ }
446
+
447
+ interface Rpc {
448
+ request(service: string, method: string, data: Uint8Array, metadata?: Metadata): Promise<Uint8Array>;
449
+ clientStreamingRequest(
450
+ service: string,
451
+ method: string,
452
+ data: Observable<Uint8Array>,
453
+ metadata?: Metadata,
454
+ ): Promise<Uint8Array>;
455
+ serverStreamingRequest(
456
+ service: string,
457
+ method: string,
458
+ data: Uint8Array,
459
+ metadata?: Metadata,
460
+ ): Observable<Uint8Array>;
461
+ bidirectionalStreamingRequest(
462
+ service: string,
463
+ method: string,
464
+ data: Observable<Uint8Array>,
465
+ metadata?: Metadata,
466
+ ): Observable<Uint8Array>;
467
+ }
468
+
469
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
470
+
471
+ export type DeepPartial<T> = T extends Builtin ? T
472
+ : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>
473
+ : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
474
+ : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
475
+ : Partial<T>;
476
+
477
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
478
+ export type Exact<P, I extends P> = P extends Builtin ? P
479
+ : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
480
+
481
+ function isSet(value: any): boolean {
482
+ return value !== null && value !== undefined;
483
+ }
484
+
485
+ export interface MessageFns<T> {
486
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
487
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
488
+ fromJSON(object: any): T;
489
+ toJSON(message: T): unknown;
490
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
491
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
492
+ }
@@ -0,0 +1,45 @@
1
+ // GENERATED CODE -- DO NOT EDIT!
2
+
3
+ 'use strict';
4
+ var grpc = require('@grpc/grpc-js');
5
+ var proto_gateway_web_v1_market_gateway_pb = require('../../../../proto/gateway/web/v1/market_gateway_pb.js');
6
+
7
+ function serialize_gateway_web_v1_FxRateEnvelope(arg) {
8
+ if (!(arg instanceof proto_gateway_web_v1_market_gateway_pb.FxRateEnvelope)) {
9
+ throw new Error('Expected argument of type gateway.web.v1.FxRateEnvelope');
10
+ }
11
+ return Buffer.from(arg.serializeBinary());
12
+ }
13
+
14
+ function deserialize_gateway_web_v1_FxRateEnvelope(buffer_arg) {
15
+ return proto_gateway_web_v1_market_gateway_pb.FxRateEnvelope.deserializeBinary(new Uint8Array(buffer_arg));
16
+ }
17
+
18
+ function serialize_gateway_web_v1_StreamFxRatesRequest(arg) {
19
+ if (!(arg instanceof proto_gateway_web_v1_market_gateway_pb.StreamFxRatesRequest)) {
20
+ throw new Error('Expected argument of type gateway.web.v1.StreamFxRatesRequest');
21
+ }
22
+ return Buffer.from(arg.serializeBinary());
23
+ }
24
+
25
+ function deserialize_gateway_web_v1_StreamFxRatesRequest(buffer_arg) {
26
+ return proto_gateway_web_v1_market_gateway_pb.StreamFxRatesRequest.deserializeBinary(new Uint8Array(buffer_arg));
27
+ }
28
+
29
+
30
+ var MarketGatewayServiceService = exports.MarketGatewayServiceService = {
31
+ // Real-time FX rate streaming for fiat value display
32
+ streamFxRates: {
33
+ path: '/gateway.web.v1.MarketGatewayService/StreamFxRates',
34
+ requestStream: false,
35
+ responseStream: true,
36
+ requestType: proto_gateway_web_v1_market_gateway_pb.StreamFxRatesRequest,
37
+ responseType: proto_gateway_web_v1_market_gateway_pb.FxRateEnvelope,
38
+ requestSerialize: serialize_gateway_web_v1_StreamFxRatesRequest,
39
+ requestDeserialize: deserialize_gateway_web_v1_StreamFxRatesRequest,
40
+ responseSerialize: serialize_gateway_web_v1_FxRateEnvelope,
41
+ responseDeserialize: deserialize_gateway_web_v1_FxRateEnvelope,
42
+ },
43
+ };
44
+
45
+ exports.MarketGatewayServiceClient = grpc.makeGenericClientConstructor(MarketGatewayServiceService, 'MarketGatewayService');