@apibara/protocol 0.3.0 → 0.4.0-next.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 (139) hide show
  1. package/dist/client.d.ts +28 -27
  2. package/dist/client.js +54 -36
  3. package/dist/client.js.map +1 -1
  4. package/dist/index.d.ts +2 -3
  5. package/dist/index.js +2 -16
  6. package/dist/index.js.map +1 -1
  7. package/dist/proto/apibara/node/v1alpha2/Cursor.d.ts +10 -0
  8. package/dist/proto/apibara/node/{v1alpha1/Node.js → v1alpha2/Cursor.js} +2 -2
  9. package/dist/proto/apibara/node/v1alpha2/Cursor.js.map +1 -0
  10. package/dist/proto/apibara/node/v1alpha2/Data.d.ts +13 -0
  11. package/dist/proto/apibara/node/{v1alpha1 → v1alpha2}/Data.js +1 -1
  12. package/dist/proto/apibara/node/v1alpha2/Data.js.map +1 -0
  13. package/dist/proto/apibara/node/v1alpha2/DataFinality.d.ts +6 -0
  14. package/dist/proto/apibara/node/v1alpha2/DataFinality.js +12 -0
  15. package/dist/proto/apibara/node/v1alpha2/DataFinality.js.map +1 -0
  16. package/dist/proto/apibara/node/{v1alpha1 → v1alpha2}/Heartbeat.d.ts +0 -0
  17. package/dist/proto/apibara/node/v1alpha2/Heartbeat.js +4 -0
  18. package/dist/proto/apibara/node/v1alpha2/Heartbeat.js.map +1 -0
  19. package/dist/proto/apibara/node/v1alpha2/Invalidate.d.ts +7 -0
  20. package/dist/proto/apibara/node/v1alpha2/Invalidate.js +4 -0
  21. package/dist/proto/apibara/node/v1alpha2/Invalidate.js.map +1 -0
  22. package/dist/proto/apibara/node/v1alpha2/Stream.d.ts +16 -0
  23. package/dist/proto/{google/protobuf/Any.js → apibara/node/v1alpha2/Stream.js} +2 -2
  24. package/dist/proto/apibara/node/v1alpha2/Stream.js.map +1 -0
  25. package/dist/proto/apibara/node/v1alpha2/StreamDataRequest.d.ts +24 -0
  26. package/dist/proto/apibara/node/v1alpha2/StreamDataRequest.js +4 -0
  27. package/dist/proto/apibara/node/v1alpha2/StreamDataRequest.js.map +1 -0
  28. package/dist/proto/apibara/node/v1alpha2/StreamDataResponse.d.ts +18 -0
  29. package/dist/proto/apibara/node/v1alpha2/StreamDataResponse.js +4 -0
  30. package/dist/proto/apibara/node/v1alpha2/StreamDataResponse.js.map +1 -0
  31. package/dist/proto/index.d.ts +1 -11
  32. package/dist/proto/index.js +13 -13
  33. package/dist/proto/index.js.map +1 -1
  34. package/dist/proto/stream.d.ts +25 -0
  35. package/dist/proto/{node.js → stream.js} +1 -1
  36. package/dist/proto/stream.js.map +1 -0
  37. package/dist/proto/stream.proto +74 -0
  38. package/dist/proto/testing.d.ts +5 -0
  39. package/dist/proto/testing.js +22 -0
  40. package/dist/proto/testing.js.map +1 -0
  41. package/dist/proto/v1alpha2.d.ts +11 -0
  42. package/dist/proto/v1alpha2.js +12 -0
  43. package/dist/proto/v1alpha2.js.map +1 -0
  44. package/dist/request.d.ts +36 -0
  45. package/dist/request.js +57 -0
  46. package/dist/request.js.map +1 -0
  47. package/dist/request.test.d.ts +1 -0
  48. package/dist/request.test.js +29 -0
  49. package/dist/request.test.js.map +1 -0
  50. package/package.json +7 -4
  51. package/src/client.ts +93 -45
  52. package/src/index.ts +2 -3
  53. package/src/proto/apibara/node/v1alpha2/Cursor.ts +13 -0
  54. package/src/proto/apibara/node/v1alpha2/Data.ts +16 -0
  55. package/src/proto/apibara/node/v1alpha2/DataFinality.ts +8 -0
  56. package/src/proto/apibara/node/{v1alpha1 → v1alpha2}/Heartbeat.ts +1 -1
  57. package/src/proto/apibara/node/v1alpha2/Invalidate.ts +11 -0
  58. package/src/proto/apibara/node/v1alpha2/Stream.ts +23 -0
  59. package/src/proto/apibara/node/v1alpha2/StreamDataRequest.ts +27 -0
  60. package/src/proto/apibara/node/v1alpha2/StreamDataResponse.ts +22 -0
  61. package/src/proto/index.ts +1 -11
  62. package/src/proto/stream.proto +74 -0
  63. package/src/proto/stream.ts +26 -0
  64. package/src/proto/testing.ts +11 -0
  65. package/src/proto/v1alpha2.ts +19 -0
  66. package/src/request.test.ts +31 -0
  67. package/src/request.ts +64 -0
  68. package/dist/buffer.d.ts +0 -12
  69. package/dist/buffer.js +0 -22
  70. package/dist/buffer.js.map +0 -1
  71. package/dist/proto/apibara/node/v1alpha1/ConnectRequest.d.ts +0 -7
  72. package/dist/proto/apibara/node/v1alpha1/ConnectRequest.js +0 -4
  73. package/dist/proto/apibara/node/v1alpha1/ConnectRequest.js.map +0 -1
  74. package/dist/proto/apibara/node/v1alpha1/ConnectResponse.d.ts +0 -12
  75. package/dist/proto/apibara/node/v1alpha1/ConnectResponse.js +0 -4
  76. package/dist/proto/apibara/node/v1alpha1/ConnectResponse.js.map +0 -1
  77. package/dist/proto/apibara/node/v1alpha1/Data.d.ts +0 -10
  78. package/dist/proto/apibara/node/v1alpha1/Data.js.map +0 -1
  79. package/dist/proto/apibara/node/v1alpha1/Heartbeat.js +0 -4
  80. package/dist/proto/apibara/node/v1alpha1/Heartbeat.js.map +0 -1
  81. package/dist/proto/apibara/node/v1alpha1/InputSyncingStatus.d.ts +0 -9
  82. package/dist/proto/apibara/node/v1alpha1/InputSyncingStatus.js +0 -4
  83. package/dist/proto/apibara/node/v1alpha1/InputSyncingStatus.js.map +0 -1
  84. package/dist/proto/apibara/node/v1alpha1/Invalidate.d.ts +0 -7
  85. package/dist/proto/apibara/node/v1alpha1/Invalidate.js +0 -4
  86. package/dist/proto/apibara/node/v1alpha1/Invalidate.js.map +0 -1
  87. package/dist/proto/apibara/node/v1alpha1/Node.d.ts +0 -28
  88. package/dist/proto/apibara/node/v1alpha1/Node.js.map +0 -1
  89. package/dist/proto/apibara/node/v1alpha1/NotStartedStatus.d.ts +0 -4
  90. package/dist/proto/apibara/node/v1alpha1/NotStartedStatus.js +0 -4
  91. package/dist/proto/apibara/node/v1alpha1/NotStartedStatus.js.map +0 -1
  92. package/dist/proto/apibara/node/v1alpha1/StatusRequest.d.ts +0 -4
  93. package/dist/proto/apibara/node/v1alpha1/StatusRequest.js +0 -4
  94. package/dist/proto/apibara/node/v1alpha1/StatusRequest.js.map +0 -1
  95. package/dist/proto/apibara/node/v1alpha1/StatusResponse.d.ts +0 -15
  96. package/dist/proto/apibara/node/v1alpha1/StatusResponse.js +0 -4
  97. package/dist/proto/apibara/node/v1alpha1/StatusResponse.js.map +0 -1
  98. package/dist/proto/apibara/node/v1alpha1/StreamMessagesRequest.d.ts +0 -9
  99. package/dist/proto/apibara/node/v1alpha1/StreamMessagesRequest.js +0 -4
  100. package/dist/proto/apibara/node/v1alpha1/StreamMessagesRequest.js.map +0 -1
  101. package/dist/proto/apibara/node/v1alpha1/StreamMessagesResponse.d.ts +0 -17
  102. package/dist/proto/apibara/node/v1alpha1/StreamMessagesResponse.js +0 -4
  103. package/dist/proto/apibara/node/v1alpha1/StreamMessagesResponse.js.map +0 -1
  104. package/dist/proto/apibara/node/v1alpha1/SyncedStatus.d.ts +0 -7
  105. package/dist/proto/apibara/node/v1alpha1/SyncedStatus.js +0 -4
  106. package/dist/proto/apibara/node/v1alpha1/SyncedStatus.js.map +0 -1
  107. package/dist/proto/apibara/node/v1alpha1/SyncingStatus.d.ts +0 -10
  108. package/dist/proto/apibara/node/v1alpha1/SyncingStatus.js +0 -4
  109. package/dist/proto/apibara/node/v1alpha1/SyncingStatus.js.map +0 -1
  110. package/dist/proto/google/protobuf/Any.d.ts +0 -10
  111. package/dist/proto/google/protobuf/Any.js.map +0 -1
  112. package/dist/proto/node.d.ts +0 -36
  113. package/dist/proto/node.js.map +0 -1
  114. package/dist/proto/node.proto +0 -99
  115. package/dist/stream.d.ts +0 -32
  116. package/dist/stream.js +0 -95
  117. package/dist/stream.js.map +0 -1
  118. package/dist/stream.test.d.ts +0 -0
  119. package/dist/stream.test.js +0 -19
  120. package/dist/stream.test.js.map +0 -1
  121. package/src/buffer.ts +0 -17
  122. package/src/proto/apibara/node/v1alpha1/ConnectRequest.ts +0 -11
  123. package/src/proto/apibara/node/v1alpha1/ConnectResponse.ts +0 -16
  124. package/src/proto/apibara/node/v1alpha1/Data.ts +0 -14
  125. package/src/proto/apibara/node/v1alpha1/InputSyncingStatus.ts +0 -13
  126. package/src/proto/apibara/node/v1alpha1/Invalidate.ts +0 -11
  127. package/src/proto/apibara/node/v1alpha1/Node.ts +0 -37
  128. package/src/proto/apibara/node/v1alpha1/NotStartedStatus.ts +0 -8
  129. package/src/proto/apibara/node/v1alpha1/StatusRequest.ts +0 -8
  130. package/src/proto/apibara/node/v1alpha1/StatusResponse.ts +0 -19
  131. package/src/proto/apibara/node/v1alpha1/StreamMessagesRequest.ts +0 -13
  132. package/src/proto/apibara/node/v1alpha1/StreamMessagesResponse.ts +0 -21
  133. package/src/proto/apibara/node/v1alpha1/SyncedStatus.ts +0 -11
  134. package/src/proto/apibara/node/v1alpha1/SyncingStatus.ts +0 -14
  135. package/src/proto/google/protobuf/Any.ts +0 -13
  136. package/src/proto/node.proto +0 -99
  137. package/src/proto/node.ts +0 -37
  138. package/src/stream.test.ts +0 -9
  139. package/src/stream.ts +0 -127
package/dist/client.d.ts CHANGED
@@ -1,28 +1,29 @@
1
- import { ClientOptions, ChannelCredentials } from '@grpc/grpc-js';
2
- import { Retry, StreamMessagesStream } from './stream';
3
- import { NodeClient as GrpcNodeClient } from './proto/apibara/node/v1alpha1/Node';
4
- import { StatusResponse__Output } from './proto/apibara/node/v1alpha1/StatusResponse';
5
- import { StreamMessagesRequest } from './proto/apibara/node/v1alpha1/StreamMessagesRequest';
6
- export declare const Node: (new (address: string, credentials: ChannelCredentials, options?: ClientOptions | undefined) => GrpcNodeClient) & {
7
- service: import("./proto/apibara/node/v1alpha1/Node").NodeDefinition;
8
- };
9
- export declare const credentials: {
10
- combineChannelCredentials: (channelCredentials: ChannelCredentials, ...callCredentials: import("@grpc/grpc-js").CallCredentials[]) => ChannelCredentials;
11
- combineCallCredentials: (first: import("@grpc/grpc-js").CallCredentials, ...additional: import("@grpc/grpc-js").CallCredentials[]) => import("@grpc/grpc-js").CallCredentials;
12
- createInsecure: typeof ChannelCredentials.createInsecure;
13
- createSsl: typeof ChannelCredentials.createSsl;
14
- createFromSecureContext: typeof ChannelCredentials.createFromSecureContext;
15
- createFromMetadataGenerator: typeof import("@grpc/grpc-js").CallCredentials.createFromMetadataGenerator;
16
- createFromGoogleCredential: typeof import("@grpc/grpc-js").CallCredentials.createFromGoogleCredential;
17
- createEmpty: typeof import("@grpc/grpc-js").CallCredentials.createEmpty;
18
- };
19
- export interface StreamMessagesOptions {
20
- reconnect?: boolean;
21
- onRetry?: (retryCount: number) => Retry;
22
- }
23
- export declare class NodeClient {
24
- private readonly client;
25
- constructor(address: string, credentials: ChannelCredentials, options?: ClientOptions);
26
- status(): Promise<StatusResponse__Output | undefined>;
27
- streamMessages(args: StreamMessagesRequest, options?: StreamMessagesOptions): StreamMessagesStream;
1
+ import { ChannelCredentials, ClientDuplexStream } from '@grpc/grpc-js';
2
+ import { v1alpha2 } from './proto';
3
+ export { ChannelCredentials } from '@grpc/grpc-js';
4
+ export declare type ErrorHandler = (client: StreamClient, err: Error) => void | Promise<void>;
5
+ export declare type CloseHandler = (client: StreamClient) => void | Promise<void>;
6
+ export declare type DataHandler = (client: StreamClient, data: v1alpha2.IData) => void | Promise<void>;
7
+ export declare type InvalidateHandler = (client: StreamClient, invalidate: v1alpha2.IInvalidate) => void | Promise<void>;
8
+ export declare type HeartbeatHandler = (client: StreamClient, invalidate: v1alpha2.IHeartbeat) => void | Promise<void>;
9
+ export declare type DataStream = ClientDuplexStream<v1alpha2.IStreamDataRequest, v1alpha2.IStreamDataResponse>;
10
+ export declare class StreamClient {
11
+ private readonly inner;
12
+ private stream?;
13
+ private configured;
14
+ private stream_id;
15
+ constructor({ url, credentials }: {
16
+ url: string;
17
+ credentials?: ChannelCredentials;
18
+ });
19
+ connect(): this;
20
+ [Symbol.asyncIterator](): AsyncIterator<v1alpha2.IStreamDataResponse>;
21
+ configure({ filter, batchSize, cursor, finality, }: {
22
+ filter: Uint8Array;
23
+ batchSize?: number;
24
+ cursor?: v1alpha2.ICursor | null;
25
+ finality?: v1alpha2.DataFinality | null;
26
+ }): void;
27
+ private ensureConnected;
28
+ private ensureConfigured;
28
29
  }
package/dist/client.js CHANGED
@@ -1,46 +1,64 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.NodeClient = exports.credentials = exports.Node = void 0;
13
- const util_1 = require("util");
3
+ exports.StreamClient = exports.ChannelCredentials = void 0;
14
4
  const grpc_js_1 = require("@grpc/grpc-js");
15
- const proto_loader_1 = require("@grpc/proto-loader");
16
- const stream_1 = require("./stream");
17
- const __NODE_PROTO_PATH = __dirname + '/proto/node.proto';
18
- const packageDefinition = (0, proto_loader_1.loadSync)(__NODE_PROTO_PATH, {});
19
- const protoDescriptor = (0, grpc_js_1.loadPackageDefinition)(packageDefinition);
20
- exports.Node = protoDescriptor.apibara.node.v1alpha1.Node;
21
- exports.credentials = grpc_js_1.credentials;
22
- class NodeClient {
23
- constructor(address, credentials, options) {
24
- this.client = new exports.Node(address, credentials, options);
25
- }
26
- status() {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- return (0, util_1.promisify)(this.client.Status.bind(this.client, {}))();
5
+ const proto_1 = require("./proto");
6
+ const request_1 = require("./request");
7
+ var grpc_js_2 = require("@grpc/grpc-js");
8
+ Object.defineProperty(exports, "ChannelCredentials", { enumerable: true, get: function () { return grpc_js_2.ChannelCredentials; } });
9
+ const StreamService = proto_1.v1alpha2.protoDescriptor.apibara.node.v1alpha2.Stream;
10
+ class StreamClient {
11
+ constructor({ url, credentials }) {
12
+ this.inner = new StreamService(url, credentials ?? grpc_js_1.ChannelCredentials.createSsl(), {
13
+ 'grpc.keepalive_timeout_ms': 3600000,
29
14
  });
15
+ this.configured = false;
16
+ this.stream_id = 0;
30
17
  }
31
- streamMessages(args, options) {
32
- // only reconnect if user has opted-in
33
- let onRetry = stream_1.neverRetry;
34
- if (options === null || options === void 0 ? void 0 : options.reconnect) {
35
- if (options.onRetry) {
36
- onRetry = options.onRetry;
37
- }
38
- else {
39
- onRetry = stream_1.defaultOnRetry;
18
+ connect() {
19
+ this.stream = this.inner.streamData();
20
+ return this;
21
+ }
22
+ async *[Symbol.asyncIterator]() {
23
+ this.ensureConnected();
24
+ this.ensureConfigured();
25
+ if (this.stream) {
26
+ for await (const message of this.stream) {
27
+ const messageTyped = message;
28
+ // only return messages if they are with the most recently configured stream
29
+ if (messageTyped.streamId?.toString() == this.stream_id.toString()) {
30
+ yield messageTyped;
31
+ }
40
32
  }
41
33
  }
42
- return new stream_1.StreamMessagesStream({ args, onRetry, client: this.client });
34
+ }
35
+ configure({ filter, batchSize, cursor, finality, }) {
36
+ this.ensureConnected();
37
+ this.configured = true;
38
+ this.stream_id++;
39
+ const builder = request_1.StreamDataRequest.create().withStreamId(this.stream_id).withFilter(filter);
40
+ if (batchSize) {
41
+ builder.withBatchSize(batchSize);
42
+ }
43
+ if (cursor) {
44
+ builder.withStartingCursor(cursor);
45
+ }
46
+ if (finality) {
47
+ builder.withFinality(finality);
48
+ }
49
+ const request = builder.encode();
50
+ this.stream?.write(request);
51
+ }
52
+ ensureConnected() {
53
+ if (!this.stream) {
54
+ throw new Error('StreamClient is not connected');
55
+ }
56
+ }
57
+ ensureConfigured() {
58
+ if (!this.configured) {
59
+ throw new Error('StreamClient must be configured');
60
+ }
43
61
  }
44
62
  }
45
- exports.NodeClient = NodeClient;
63
+ exports.StreamClient = StreamClient;
46
64
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAgC;AAChC,2CAKsB;AACtB,qDAA6C;AAC7C,qCAAkF;AAMlF,MAAM,iBAAiB,GAAG,SAAS,GAAG,mBAAmB,CAAA;AAEzD,MAAM,iBAAiB,GAAG,IAAA,uBAAQ,EAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;AACzD,MAAM,eAAe,GAAG,IAAA,+BAAqB,EAAC,iBAAiB,CAA6B,CAAA;AAE/E,QAAA,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA;AAEjD,QAAA,WAAW,GAAG,qBAAe,CAAA;AAO1C,MAAa,UAAU;IAGrB,YAAY,OAAe,EAAE,WAA+B,EAAE,OAAuB;QACnF,IAAI,CAAC,MAAM,GAAG,IAAI,YAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IACvD,CAAC;IAEY,MAAM;;YACjB,OAAO,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAA;QAC9D,CAAC;KAAA;IAEM,cAAc,CACnB,IAA2B,EAC3B,OAA+B;QAE/B,sCAAsC;QACtC,IAAI,OAAO,GAAG,mBAAU,CAAA;QACxB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE;YACtB,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;aAC1B;iBAAM;gBACL,OAAO,GAAG,uBAAc,CAAA;aACzB;SACF;QAED,OAAO,IAAI,6BAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACzE,CAAC;CACF;AA3BD,gCA2BC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,2CAAsE;AACtE,mCAAkC;AAClC,uCAA6C;AAE7C,yCAAkD;AAAzC,6GAAA,kBAAkB,OAAA;AAc3B,MAAM,aAAa,GAAG,gBAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;AAO3E,MAAa,YAAY;IAOvB,YAAY,EAAE,GAAG,EAAE,WAAW,EAAqD;QACjF,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,WAAW,IAAI,4BAAkB,CAAC,SAAS,EAAE,EAAE;YACjF,2BAA2B,EAAE,OAAS;SACvC,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;QACvB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;IACpB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEvB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE;gBACvC,MAAM,YAAY,GAAG,OAAuC,CAAA;gBAC5D,4EAA4E;gBAC5E,IAAI,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE;oBAClE,MAAM,YAAY,CAAA;iBACnB;aACF;SACF;IACH,CAAC;IAED,SAAS,CAAC,EACR,MAAM,EACN,SAAS,EACT,MAAM,EACN,QAAQ,GAMT;QACC,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QAEtB,IAAI,CAAC,SAAS,EAAE,CAAA;QAEhB,MAAM,OAAO,GAAG,2BAAiB,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAE1F,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;SACjC;QACD,IAAI,MAAM,EAAE;YACV,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;SACnC;QACD,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;SAC/B;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;QAChC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;SACjD;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACnD;IACH,CAAC;CACF;AA9ED,oCA8EC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
+ export * from './proto';
1
2
  export * from './client';
2
- export * from './buffer';
3
- export * from './stream';
4
- export * as proto from './proto';
3
+ export * from './request';
package/dist/index.js CHANGED
@@ -10,25 +10,11 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
12
  }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
15
  };
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
16
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.proto = void 0;
17
+ __exportStar(require("./proto"), exports);
30
18
  __exportStar(require("./client"), exports);
31
- __exportStar(require("./buffer"), exports);
32
- __exportStar(require("./stream"), exports);
33
- exports.proto = __importStar(require("./proto"));
19
+ __exportStar(require("./request"), exports);
34
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,2CAAwB;AACxB,2CAAwB;AACxB,iDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,2CAAwB;AACxB,4CAAyB"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="node" />
2
+ import type { Long } from '@grpc/proto-loader';
3
+ export interface Cursor {
4
+ 'orderKey'?: (number | string | Long);
5
+ 'uniqueKey'?: (Buffer | Uint8Array | string);
6
+ }
7
+ export interface Cursor__Output {
8
+ 'orderKey': (Long);
9
+ 'uniqueKey': (Uint8Array);
10
+ }
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- // Original file: src/proto/node.proto
2
+ // Original file: src/proto/stream.proto
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- //# sourceMappingURL=Node.js.map
4
+ //# sourceMappingURL=Cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cursor.js","sourceRoot":"","sources":["../../../../../src/proto/apibara/node/v1alpha2/Cursor.ts"],"names":[],"mappings":";AAAA,wCAAwC"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="node" />
2
+ import type { Cursor as _apibara_node_v1alpha2_Cursor, Cursor__Output as _apibara_node_v1alpha2_Cursor__Output } from '../../../apibara/node/v1alpha2/Cursor';
3
+ import type { DataFinality as _apibara_node_v1alpha2_DataFinality } from '../../../apibara/node/v1alpha2/DataFinality';
4
+ export interface Data {
5
+ 'endCursor'?: (_apibara_node_v1alpha2_Cursor | null);
6
+ 'finality'?: (_apibara_node_v1alpha2_DataFinality | keyof typeof _apibara_node_v1alpha2_DataFinality);
7
+ 'data'?: (Buffer | Uint8Array | string)[];
8
+ }
9
+ export interface Data__Output {
10
+ 'endCursor': (_apibara_node_v1alpha2_Cursor__Output | null);
11
+ 'finality': (keyof typeof _apibara_node_v1alpha2_DataFinality);
12
+ 'data': (Uint8Array)[];
13
+ }
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- // Original file: src/proto/node.proto
2
+ // Original file: src/proto/stream.proto
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  //# sourceMappingURL=Data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Data.js","sourceRoot":"","sources":["../../../../../src/proto/apibara/node/v1alpha2/Data.ts"],"names":[],"mappings":";AAAA,wCAAwC"}
@@ -0,0 +1,6 @@
1
+ export declare enum DataFinality {
2
+ DATA_STATUS_UNKNOWN = 0,
3
+ DATA_STATUS_PENDING = 1,
4
+ DATA_STATUS_ACCEPTED = 2,
5
+ DATA_STATUS_FINALIZED = 3
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ // Original file: src/proto/stream.proto
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DataFinality = void 0;
5
+ var DataFinality;
6
+ (function (DataFinality) {
7
+ DataFinality[DataFinality["DATA_STATUS_UNKNOWN"] = 0] = "DATA_STATUS_UNKNOWN";
8
+ DataFinality[DataFinality["DATA_STATUS_PENDING"] = 1] = "DATA_STATUS_PENDING";
9
+ DataFinality[DataFinality["DATA_STATUS_ACCEPTED"] = 2] = "DATA_STATUS_ACCEPTED";
10
+ DataFinality[DataFinality["DATA_STATUS_FINALIZED"] = 3] = "DATA_STATUS_FINALIZED";
11
+ })(DataFinality = exports.DataFinality || (exports.DataFinality = {}));
12
+ //# sourceMappingURL=DataFinality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataFinality.js","sourceRoot":"","sources":["../../../../../src/proto/apibara/node/v1alpha2/DataFinality.ts"],"names":[],"mappings":";AAAA,wCAAwC;;;AAExC,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,6EAAuB,CAAA;IACvB,6EAAuB,CAAA;IACvB,+EAAwB,CAAA;IACxB,iFAAyB,CAAA;AAC3B,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Original file: src/proto/stream.proto
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=Heartbeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heartbeat.js","sourceRoot":"","sources":["../../../../../src/proto/apibara/node/v1alpha2/Heartbeat.ts"],"names":[],"mappings":";AAAA,wCAAwC"}
@@ -0,0 +1,7 @@
1
+ import type { Cursor as _apibara_node_v1alpha2_Cursor, Cursor__Output as _apibara_node_v1alpha2_Cursor__Output } from '../../../apibara/node/v1alpha2/Cursor';
2
+ export interface Invalidate {
3
+ 'cursor'?: (_apibara_node_v1alpha2_Cursor | null);
4
+ }
5
+ export interface Invalidate__Output {
6
+ 'cursor': (_apibara_node_v1alpha2_Cursor__Output | null);
7
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Original file: src/proto/stream.proto
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=Invalidate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Invalidate.js","sourceRoot":"","sources":["../../../../../src/proto/apibara/node/v1alpha2/Invalidate.ts"],"names":[],"mappings":";AAAA,wCAAwC"}
@@ -0,0 +1,16 @@
1
+ import type * as grpc from '@grpc/grpc-js';
2
+ import type { MethodDefinition } from '@grpc/proto-loader';
3
+ import type { StreamDataRequest as _apibara_node_v1alpha2_StreamDataRequest, StreamDataRequest__Output as _apibara_node_v1alpha2_StreamDataRequest__Output } from '../../../apibara/node/v1alpha2/StreamDataRequest';
4
+ import type { StreamDataResponse as _apibara_node_v1alpha2_StreamDataResponse, StreamDataResponse__Output as _apibara_node_v1alpha2_StreamDataResponse__Output } from '../../../apibara/node/v1alpha2/StreamDataResponse';
5
+ export interface StreamClient extends grpc.Client {
6
+ StreamData(metadata: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientDuplexStream<_apibara_node_v1alpha2_StreamDataRequest, _apibara_node_v1alpha2_StreamDataResponse__Output>;
7
+ StreamData(options?: grpc.CallOptions): grpc.ClientDuplexStream<_apibara_node_v1alpha2_StreamDataRequest, _apibara_node_v1alpha2_StreamDataResponse__Output>;
8
+ streamData(metadata: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientDuplexStream<_apibara_node_v1alpha2_StreamDataRequest, _apibara_node_v1alpha2_StreamDataResponse__Output>;
9
+ streamData(options?: grpc.CallOptions): grpc.ClientDuplexStream<_apibara_node_v1alpha2_StreamDataRequest, _apibara_node_v1alpha2_StreamDataResponse__Output>;
10
+ }
11
+ export interface StreamHandlers extends grpc.UntypedServiceImplementation {
12
+ StreamData: grpc.handleBidiStreamingCall<_apibara_node_v1alpha2_StreamDataRequest__Output, _apibara_node_v1alpha2_StreamDataResponse>;
13
+ }
14
+ export interface StreamDefinition extends grpc.ServiceDefinition {
15
+ StreamData: MethodDefinition<_apibara_node_v1alpha2_StreamDataRequest, _apibara_node_v1alpha2_StreamDataResponse, _apibara_node_v1alpha2_StreamDataRequest__Output, _apibara_node_v1alpha2_StreamDataResponse__Output>;
16
+ }
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- // Original file: null
2
+ // Original file: src/proto/stream.proto
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- //# sourceMappingURL=Any.js.map
4
+ //# sourceMappingURL=Stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../../../../src/proto/apibara/node/v1alpha2/Stream.ts"],"names":[],"mappings":";AAAA,wCAAwC"}
@@ -0,0 +1,24 @@
1
+ /// <reference types="node" />
2
+ import type { Cursor as _apibara_node_v1alpha2_Cursor, Cursor__Output as _apibara_node_v1alpha2_Cursor__Output } from '../../../apibara/node/v1alpha2/Cursor';
3
+ import type { DataFinality as _apibara_node_v1alpha2_DataFinality } from '../../../apibara/node/v1alpha2/DataFinality';
4
+ import type { Long } from '@grpc/proto-loader';
5
+ export interface StreamDataRequest {
6
+ 'streamId'?: (number | string | Long);
7
+ 'batchSize'?: (number | string | Long);
8
+ 'startingCursor'?: (_apibara_node_v1alpha2_Cursor | null);
9
+ 'finality'?: (_apibara_node_v1alpha2_DataFinality | keyof typeof _apibara_node_v1alpha2_DataFinality);
10
+ 'filter'?: (Buffer | Uint8Array | string);
11
+ '_streamId'?: "streamId";
12
+ '_batchSize'?: "batchSize";
13
+ '_finality'?: "finality";
14
+ }
15
+ export interface StreamDataRequest__Output {
16
+ 'streamId'?: (Long);
17
+ 'batchSize'?: (Long);
18
+ 'startingCursor': (_apibara_node_v1alpha2_Cursor__Output | null);
19
+ 'finality'?: (keyof typeof _apibara_node_v1alpha2_DataFinality);
20
+ 'filter': (Uint8Array);
21
+ '_streamId': "streamId";
22
+ '_batchSize': "batchSize";
23
+ '_finality': "finality";
24
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Original file: src/proto/stream.proto
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=StreamDataRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamDataRequest.js","sourceRoot":"","sources":["../../../../../src/proto/apibara/node/v1alpha2/StreamDataRequest.ts"],"names":[],"mappings":";AAAA,wCAAwC"}
@@ -0,0 +1,18 @@
1
+ import type { Invalidate as _apibara_node_v1alpha2_Invalidate, Invalidate__Output as _apibara_node_v1alpha2_Invalidate__Output } from '../../../apibara/node/v1alpha2/Invalidate';
2
+ import type { Data as _apibara_node_v1alpha2_Data, Data__Output as _apibara_node_v1alpha2_Data__Output } from '../../../apibara/node/v1alpha2/Data';
3
+ import type { Heartbeat as _apibara_node_v1alpha2_Heartbeat, Heartbeat__Output as _apibara_node_v1alpha2_Heartbeat__Output } from '../../../apibara/node/v1alpha2/Heartbeat';
4
+ import type { Long } from '@grpc/proto-loader';
5
+ export interface StreamDataResponse {
6
+ 'streamId'?: (number | string | Long);
7
+ 'Invalidate'?: (_apibara_node_v1alpha2_Invalidate | null);
8
+ 'data'?: (_apibara_node_v1alpha2_Data | null);
9
+ 'heartbeat'?: (_apibara_node_v1alpha2_Heartbeat | null);
10
+ 'message'?: "Invalidate" | "data" | "heartbeat";
11
+ }
12
+ export interface StreamDataResponse__Output {
13
+ 'streamId': (Long);
14
+ 'Invalidate'?: (_apibara_node_v1alpha2_Invalidate__Output | null);
15
+ 'data'?: (_apibara_node_v1alpha2_Data__Output | null);
16
+ 'heartbeat'?: (_apibara_node_v1alpha2_Heartbeat__Output | null);
17
+ 'message': "Invalidate" | "data" | "heartbeat";
18
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Original file: src/proto/stream.proto
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=StreamDataResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamDataResponse.js","sourceRoot":"","sources":["../../../../../src/proto/apibara/node/v1alpha2/StreamDataResponse.ts"],"names":[],"mappings":";AAAA,wCAAwC"}
@@ -1,11 +1 @@
1
- export * from './apibara/node/v1alpha1/Data';
2
- export * from './apibara/node/v1alpha1/Heartbeat';
3
- export * from './apibara/node/v1alpha1/InputSyncingStatus';
4
- export * from './apibara/node/v1alpha1/Invalidate';
5
- export * from './apibara/node/v1alpha1/NotStartedStatus';
6
- export * from './apibara/node/v1alpha1/StatusRequest';
7
- export * from './apibara/node/v1alpha1/StatusResponse';
8
- export * from './apibara/node/v1alpha1/StreamMessagesRequest';
9
- export * from './apibara/node/v1alpha1/StreamMessagesResponse';
10
- export * from './apibara/node/v1alpha1/SyncedStatus';
11
- export * from './apibara/node/v1alpha1/SyncingStatus';
1
+ export * as v1alpha2 from './v1alpha2';
@@ -10,19 +10,19 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
12
  }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
15
24
  };
16
25
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./apibara/node/v1alpha1/Data"), exports);
18
- __exportStar(require("./apibara/node/v1alpha1/Heartbeat"), exports);
19
- __exportStar(require("./apibara/node/v1alpha1/InputSyncingStatus"), exports);
20
- __exportStar(require("./apibara/node/v1alpha1/Invalidate"), exports);
21
- __exportStar(require("./apibara/node/v1alpha1/NotStartedStatus"), exports);
22
- __exportStar(require("./apibara/node/v1alpha1/StatusRequest"), exports);
23
- __exportStar(require("./apibara/node/v1alpha1/StatusResponse"), exports);
24
- __exportStar(require("./apibara/node/v1alpha1/StreamMessagesRequest"), exports);
25
- __exportStar(require("./apibara/node/v1alpha1/StreamMessagesResponse"), exports);
26
- __exportStar(require("./apibara/node/v1alpha1/SyncedStatus"), exports);
27
- __exportStar(require("./apibara/node/v1alpha1/SyncingStatus"), exports);
26
+ exports.v1alpha2 = void 0;
27
+ exports.v1alpha2 = __importStar(require("./v1alpha2"));
28
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA4C;AAC5C,oEAAiD;AACjD,6EAA0D;AAC1D,qEAAkD;AAClD,2EAAwD;AACxD,wEAAqD;AACrD,yEAAsD;AACtD,gFAA6D;AAC7D,iFAA8D;AAC9D,uEAAoD;AACpD,wEAAqD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAsC"}
@@ -0,0 +1,25 @@
1
+ import type * as grpc from '@grpc/grpc-js';
2
+ import type { EnumTypeDefinition, MessageTypeDefinition } from '@grpc/proto-loader';
3
+ import type { StreamClient as _apibara_node_v1alpha2_StreamClient, StreamDefinition as _apibara_node_v1alpha2_StreamDefinition } from './apibara/node/v1alpha2/Stream';
4
+ declare type SubtypeConstructor<Constructor extends new (...args: any) => any, Subtype> = {
5
+ new (...args: ConstructorParameters<Constructor>): Subtype;
6
+ };
7
+ export interface ProtoGrpcType {
8
+ apibara: {
9
+ node: {
10
+ v1alpha2: {
11
+ Cursor: MessageTypeDefinition;
12
+ Data: MessageTypeDefinition;
13
+ DataFinality: EnumTypeDefinition;
14
+ Heartbeat: MessageTypeDefinition;
15
+ Invalidate: MessageTypeDefinition;
16
+ Stream: SubtypeConstructor<typeof grpc.Client, _apibara_node_v1alpha2_StreamClient> & {
17
+ service: _apibara_node_v1alpha2_StreamDefinition;
18
+ };
19
+ StreamDataRequest: MessageTypeDefinition;
20
+ StreamDataResponse: MessageTypeDefinition;
21
+ };
22
+ };
23
+ };
24
+ }
25
+ export {};
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=node.js.map
3
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/proto/stream.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ // Apibara Stream service.
2
+ syntax = "proto3";
3
+
4
+ package apibara.node.v1alpha2;
5
+
6
+ service Stream {
7
+ // Stream data from the node.
8
+ rpc StreamData(stream StreamDataRequest) returns (stream StreamDataResponse);
9
+ }
10
+
11
+ // Request data to be streamed.
12
+ message StreamDataRequest {
13
+ // Used by the client to uniquely identify a stream.
14
+ // All streams use `stream_id = 0` by default.
15
+ optional uint64 stream_id = 1;
16
+ // How many items to send in a single response.
17
+ optional uint64 batch_size = 2;
18
+ // Start streaming from the provided cursor.
19
+ Cursor starting_cursor = 3;
20
+ // Return data with the specified finality.
21
+ // If not specified, defaults to `DATA_STATUS_ACCEPTED`.
22
+ optional DataFinality finality = 4;
23
+ // Return data according to the stream-specific filter.
24
+ bytes filter = 5;
25
+ }
26
+
27
+ // Contains the data requested from the client.
28
+ message StreamDataResponse {
29
+ // The stream id.
30
+ uint64 stream_id = 1;
31
+ oneof message {
32
+ Invalidate Invalidate = 2;
33
+ Data data = 3;
34
+ Heartbeat heartbeat = 4;
35
+ }
36
+ }
37
+
38
+ // A cursor over the stream content.
39
+ message Cursor {
40
+ // Key used for ordering messages in the stream.
41
+ uint64 order_key = 1;
42
+ // Key used to discriminate branches in the stream.
43
+ bytes unique_key = 2;
44
+ }
45
+
46
+ // Data finality.
47
+ enum DataFinality {
48
+ DATA_STATUS_UNKNOWN = 0;
49
+ // Data was received, but is not part of the canonical chain yet.
50
+ DATA_STATUS_PENDING = 1;
51
+ // Data is now part of the canonical chain, but could still be invalidated.
52
+ DATA_STATUS_ACCEPTED = 2;
53
+ // Data is finalized and cannot be invalidated.
54
+ DATA_STATUS_FINALIZED = 3;
55
+ }
56
+
57
+ // Invalidate data after the given cursor.
58
+ message Invalidate {
59
+ // The cursor of the message before the now invalid data.
60
+ Cursor cursor = 1;
61
+ }
62
+
63
+ // A batch of data.
64
+ message Data {
65
+ // Cursor of the last item in the batch.
66
+ Cursor end_cursor = 1;
67
+ // The finality status of the data in the batch.
68
+ DataFinality finality = 2;
69
+ // The stream data.
70
+ repeated bytes data = 3;
71
+ }
72
+
73
+ // Sent to clients to check if stream is still connected.
74
+ message Heartbeat {}
@@ -0,0 +1,5 @@
1
+ import { Message } from 'protobufjs/light';
2
+ export declare class TestFilter extends Message<TestFilter> {
3
+ num: number;
4
+ text: string;
5
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TestFilter = void 0;
10
+ const light_1 = require("protobufjs/light");
11
+ class TestFilter extends light_1.Message {
12
+ }
13
+ __decorate([
14
+ light_1.Field.d(1, 'uint64')
15
+ // @ts-ignore
16
+ ], TestFilter.prototype, "num", void 0);
17
+ __decorate([
18
+ light_1.Field.d(2, 'string')
19
+ // @ts-ignore
20
+ ], TestFilter.prototype, "text", void 0);
21
+ exports.TestFilter = TestFilter;
22
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/proto/testing.ts"],"names":[],"mappings":";;;;;;;;;AAAA,4CAAiD;AAEjD,MAAa,UAAW,SAAQ,eAAmB;CAQlD;AALC;IAFC,aAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IACrB,aAAa;uCACK;AAIlB;IAFC,aAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IACrB,aAAa;wCACM;AAPrB,gCAQC"}