@sentio/runtime 2.39.4-rc.1 → 2.39.4-rc.10

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.
@@ -20,6 +20,7 @@ const optionDefinitions = [
20
20
  { name: 'target', type: String, defaultOption: true },
21
21
  { name: 'port', alias: 'p', type: String, defaultValue: '4000' },
22
22
  { name: 'concurrency', type: Number, defaultValue: 4 },
23
+ { name: 'batch-count', type: Number, defaultValue: 1 },
23
24
  // { name: 'use-chainserver', type: Boolean, defaultValue: false },
24
25
  {
25
26
  name: 'chains-config',
@@ -39,6 +40,7 @@ Error.stackTraceLimit = 20;
39
40
  const fullPath = path.resolve(options['chains-config']);
40
41
  const chainsConfig = fs.readJsonSync(fullPath);
41
42
  Endpoints.INSTANCE.concurrency = options.concurrency;
43
+ Endpoints.INSTANCE.batchCount = options['batch-count'];
42
44
  Endpoints.INSTANCE.chainQueryAPI = options['chainquery-server'];
43
45
  Endpoints.INSTANCE.priceFeedAPI = options['pricefeed-server'];
44
46
  for (const [id, config] of Object.entries(chainsConfig)) {
@@ -1 +1 @@
1
- {"version":3,"file":"processor-runner.js","sourceRoot":"","sources":["../src/processor-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processor-runner.js","sourceRoot":"","sources":["../src/processor-runner.ts"],"names":[],"mappings":"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"}
package/lib/service.d.ts CHANGED
@@ -193,5 +193,6 @@ export declare class ProcessorServiceImpl implements ProcessorServiceImplementat
193
193
  } | undefined;
194
194
  } | undefined;
195
195
  }, void, undefined>;
196
+ private handleRequests;
196
197
  }
197
198
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,WAAW,CAAA;AAK5D,OAAO,EACL,WAAW,EACX,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,aAAa,EACb,oBAAoB,EACpB,YAAY,EACb,MAAM,gBAAgB,CAAA;AAWvB,qBAAa,oBAAqB,YAAW,8BAA8B;IACzE,OAAO,CAAC,OAAO,CAAQ;IAEvB,SAAS,EAAE,KAAK,CAAA;IAGhB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAE3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAY;gBAEjC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,EAAE,MAAM,IAAI;IAK9D,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoB9F,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAsClE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAQ1D,eAAe,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA6BxG,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAqBlF,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCjG"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,WAAW,CAAA;AAK5D,OAAO,EACL,WAAW,EAEX,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,aAAa,EACb,oBAAoB,EAEpB,YAAY,EACb,MAAM,gBAAgB,CAAA;AAavB,qBAAa,oBAAqB,YAAW,8BAA8B;IACzE,OAAO,CAAC,OAAO,CAAQ;IAEvB,SAAS,EAAE,KAAK,CAAA;IAGhB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAE3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAY;gBAEjC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,EAAE,MAAM,IAAI;IAK9D,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoB9F,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAsClE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAQ1D,eAAe,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA6BxG,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAqBlF,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiBlF,cAAc;CAiC7B"}
package/lib/service.js CHANGED
@@ -7,6 +7,7 @@ import { PluginManager } from './plugin.js';
7
7
  import { errorString, mergeProcessResults } from './utils.js';
8
8
  import { freezeGlobalConfig, GLOBAL_CONFIG } from './global-config.js';
9
9
  import { StoreContext } from './db-context.js';
10
+ import { Subject } from 'rxjs';
10
11
  BigInt.prototype.toJSON = function () {
11
12
  return this.toString();
12
13
  };
@@ -124,38 +125,45 @@ export class ProcessorServiceImpl {
124
125
  if (!this.started) {
125
126
  throw new ServerError(Status.UNAVAILABLE, 'Service Not started.');
126
127
  }
127
- const dbContext = new StoreContext();
128
- new Promise(async (resolve, reject) => {
129
- for await (const request of requests) {
130
- if (request.binding) {
131
- const binding = request.binding;
132
- PluginManager.INSTANCE.processBinding(binding, dbContext)
133
- .then((result) => {
134
- dbContext.subject.next({
135
- result,
136
- processId: request.processId
137
- });
138
- // dbContext.subject.complete()
139
- recordRuntimeInfo(result, binding.handlerType);
140
- })
141
- .catch((e) => {
142
- dbContext.error(request.processId, e);
143
- });
144
- }
145
- if (request.dbResult) {
146
- dbContext.result(request.dbResult);
147
- }
148
- }
149
- resolve(null);
150
- })
128
+ const subject = new Subject();
129
+ this.handleRequests(requests, subject)
151
130
  .then(() => {
152
- dbContext.subject.complete();
131
+ subject.complete();
153
132
  })
154
133
  .catch((e) => {
155
- // should not happen
156
- dbContext.subject.error(e);
134
+ console.error(e);
135
+ subject.error(e);
157
136
  });
158
- yield* from(dbContext.subject).pipe(withAbort(context.signal));
137
+ yield* from(subject).pipe(withAbort(context.signal));
138
+ }
139
+ async handleRequests(requests, subject) {
140
+ const contexts = {};
141
+ for await (const request of requests) {
142
+ if (request.binding) {
143
+ const binding = request.binding;
144
+ const dbContext = new StoreContext(subject, request.processId);
145
+ contexts[request.processId] = dbContext;
146
+ PluginManager.INSTANCE.processBinding(binding, dbContext)
147
+ .then((result) => {
148
+ subject.next({
149
+ result,
150
+ processId: request.processId
151
+ });
152
+ recordRuntimeInfo(result, binding.handlerType);
153
+ })
154
+ .catch((e) => {
155
+ console.error(e);
156
+ dbContext.error(request.processId, e);
157
+ })
158
+ .finally(() => {
159
+ delete contexts[request.processId];
160
+ });
161
+ }
162
+ if (request.dbResult) {
163
+ const dbContext = contexts[request.processId];
164
+ dbContext?.result(request.dbResult);
165
+ }
166
+ }
159
167
  }
160
168
  }
161
169
  function recordRuntimeInfo(results, handlerType) {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentio/runtime",
3
- "version": "2.39.4-rc.1",
3
+ "version": "2.39.4-rc.10",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -32,7 +32,7 @@
32
32
  "rxjs": "^7.8.1",
33
33
  "utility-types": "^3.11.0",
34
34
  "winston": "^3.11.0",
35
- "@sentio/protos": "2.39.4-rc.1"
35
+ "@sentio/protos": "2.39.4-rc.10"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/command-line-args": "^5.2.3",
package/src/db-context.ts CHANGED
@@ -4,11 +4,14 @@ import { DBRequest, DBResponse, DeepPartial, ProcessResult, ProcessStreamRespons
4
4
  type Request = Omit<DBRequest, 'opId'>
5
5
 
6
6
  export class StoreContext {
7
- private opCounter = 0n
7
+ private static opCounter = 0n
8
8
 
9
9
  private defers = new Map<bigint, { resolve: (value: any) => void; reject: (reason?: any) => void }>()
10
10
 
11
- subject = new Subject<DeepPartial<ProcessStreamResponse>>()
11
+ constructor(
12
+ readonly subject: Subject<DeepPartial<ProcessStreamResponse>>,
13
+ readonly processId: number
14
+ ) {}
12
15
 
13
16
  newPromise<T>(opId: bigint) {
14
17
  return new Promise<T>((resolve, reject) => {
@@ -17,14 +20,15 @@ export class StoreContext {
17
20
  }
18
21
 
19
22
  sendRequest(request: DeepPartial<Request>) {
20
- const opId = this.opCounter++
23
+ const opId = StoreContext.opCounter++
21
24
  const promise = this.newPromise(opId)
22
25
  console.debug('sending db request ', opId, request)
23
26
  this.subject.next({
24
27
  dbRequest: {
25
28
  ...request,
26
29
  opId
27
- }
30
+ },
31
+ processId: this.processId
28
32
  })
29
33
  return promise
30
34
  }
package/src/endpoints.ts CHANGED
@@ -6,4 +6,6 @@ export class Endpoints {
6
6
  priceFeedAPI = ''
7
7
 
8
8
  chainServer = new Map<string, string>()
9
+
10
+ batchCount = 1
9
11
  }
@@ -757,9 +757,22 @@ export interface DBResponse {
757
757
  list?: Array<any> | undefined;
758
758
  error?: string | undefined;
759
759
  entities?: RichStructList | undefined;
760
+ entityList?: EntityList | undefined;
760
761
  nextCursor?: string | undefined;
761
762
  }
762
763
 
764
+ export interface Entity {
765
+ entity: string;
766
+ genBlockNumber: bigint;
767
+ genBlockChain: string;
768
+ genBlockTime: Date | undefined;
769
+ data: RichStruct | undefined;
770
+ }
771
+
772
+ export interface EntityList {
773
+ entities: Entity[];
774
+ }
775
+
763
776
  export interface DBRequest {
764
777
  opId: bigint;
765
778
  get?: DBRequest_DBGet | undefined;
@@ -5884,6 +5897,7 @@ function createBaseDBResponse(): DBResponse {
5884
5897
  list: undefined,
5885
5898
  error: undefined,
5886
5899
  entities: undefined,
5900
+ entityList: undefined,
5887
5901
  nextCursor: undefined,
5888
5902
  };
5889
5903
  }
@@ -5908,6 +5922,9 @@ export const DBResponse = {
5908
5922
  if (message.entities !== undefined) {
5909
5923
  RichStructList.encode(message.entities, writer.uint32(50).fork()).ldelim();
5910
5924
  }
5925
+ if (message.entityList !== undefined) {
5926
+ EntityList.encode(message.entityList, writer.uint32(58).fork()).ldelim();
5927
+ }
5911
5928
  if (message.nextCursor !== undefined) {
5912
5929
  writer.uint32(42).string(message.nextCursor);
5913
5930
  }
@@ -5956,6 +5973,13 @@ export const DBResponse = {
5956
5973
 
5957
5974
  message.entities = RichStructList.decode(reader, reader.uint32());
5958
5975
  continue;
5976
+ case 7:
5977
+ if (tag !== 58) {
5978
+ break;
5979
+ }
5980
+
5981
+ message.entityList = EntityList.decode(reader, reader.uint32());
5982
+ continue;
5959
5983
  case 5:
5960
5984
  if (tag !== 42) {
5961
5985
  break;
@@ -5979,6 +6003,7 @@ export const DBResponse = {
5979
6003
  list: globalThis.Array.isArray(object.list) ? [...object.list] : undefined,
5980
6004
  error: isSet(object.error) ? globalThis.String(object.error) : undefined,
5981
6005
  entities: isSet(object.entities) ? RichStructList.fromJSON(object.entities) : undefined,
6006
+ entityList: isSet(object.entityList) ? EntityList.fromJSON(object.entityList) : undefined,
5982
6007
  nextCursor: isSet(object.nextCursor) ? globalThis.String(object.nextCursor) : undefined,
5983
6008
  };
5984
6009
  },
@@ -6000,6 +6025,9 @@ export const DBResponse = {
6000
6025
  if (message.entities !== undefined) {
6001
6026
  obj.entities = RichStructList.toJSON(message.entities);
6002
6027
  }
6028
+ if (message.entityList !== undefined) {
6029
+ obj.entityList = EntityList.toJSON(message.entityList);
6030
+ }
6003
6031
  if (message.nextCursor !== undefined) {
6004
6032
  obj.nextCursor = message.nextCursor;
6005
6033
  }
@@ -6018,11 +6046,197 @@ export const DBResponse = {
6018
6046
  message.entities = (object.entities !== undefined && object.entities !== null)
6019
6047
  ? RichStructList.fromPartial(object.entities)
6020
6048
  : undefined;
6049
+ message.entityList = (object.entityList !== undefined && object.entityList !== null)
6050
+ ? EntityList.fromPartial(object.entityList)
6051
+ : undefined;
6021
6052
  message.nextCursor = object.nextCursor ?? undefined;
6022
6053
  return message;
6023
6054
  },
6024
6055
  };
6025
6056
 
6057
+ function createBaseEntity(): Entity {
6058
+ return { entity: "", genBlockNumber: BigInt("0"), genBlockChain: "", genBlockTime: undefined, data: undefined };
6059
+ }
6060
+
6061
+ export const Entity = {
6062
+ encode(message: Entity, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
6063
+ if (message.entity !== "") {
6064
+ writer.uint32(10).string(message.entity);
6065
+ }
6066
+ if (message.genBlockNumber !== BigInt("0")) {
6067
+ if (BigInt.asUintN(64, message.genBlockNumber) !== message.genBlockNumber) {
6068
+ throw new globalThis.Error("value provided for field message.genBlockNumber of type uint64 too large");
6069
+ }
6070
+ writer.uint32(16).uint64(message.genBlockNumber.toString());
6071
+ }
6072
+ if (message.genBlockChain !== "") {
6073
+ writer.uint32(26).string(message.genBlockChain);
6074
+ }
6075
+ if (message.genBlockTime !== undefined) {
6076
+ Timestamp.encode(toTimestamp(message.genBlockTime), writer.uint32(34).fork()).ldelim();
6077
+ }
6078
+ if (message.data !== undefined) {
6079
+ RichStruct.encode(message.data, writer.uint32(42).fork()).ldelim();
6080
+ }
6081
+ return writer;
6082
+ },
6083
+
6084
+ decode(input: _m0.Reader | Uint8Array, length?: number): Entity {
6085
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
6086
+ let end = length === undefined ? reader.len : reader.pos + length;
6087
+ const message = createBaseEntity();
6088
+ while (reader.pos < end) {
6089
+ const tag = reader.uint32();
6090
+ switch (tag >>> 3) {
6091
+ case 1:
6092
+ if (tag !== 10) {
6093
+ break;
6094
+ }
6095
+
6096
+ message.entity = reader.string();
6097
+ continue;
6098
+ case 2:
6099
+ if (tag !== 16) {
6100
+ break;
6101
+ }
6102
+
6103
+ message.genBlockNumber = longToBigint(reader.uint64() as Long);
6104
+ continue;
6105
+ case 3:
6106
+ if (tag !== 26) {
6107
+ break;
6108
+ }
6109
+
6110
+ message.genBlockChain = reader.string();
6111
+ continue;
6112
+ case 4:
6113
+ if (tag !== 34) {
6114
+ break;
6115
+ }
6116
+
6117
+ message.genBlockTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
6118
+ continue;
6119
+ case 5:
6120
+ if (tag !== 42) {
6121
+ break;
6122
+ }
6123
+
6124
+ message.data = RichStruct.decode(reader, reader.uint32());
6125
+ continue;
6126
+ }
6127
+ if ((tag & 7) === 4 || tag === 0) {
6128
+ break;
6129
+ }
6130
+ reader.skipType(tag & 7);
6131
+ }
6132
+ return message;
6133
+ },
6134
+
6135
+ fromJSON(object: any): Entity {
6136
+ return {
6137
+ entity: isSet(object.entity) ? globalThis.String(object.entity) : "",
6138
+ genBlockNumber: isSet(object.genBlockNumber) ? BigInt(object.genBlockNumber) : BigInt("0"),
6139
+ genBlockChain: isSet(object.genBlockChain) ? globalThis.String(object.genBlockChain) : "",
6140
+ genBlockTime: isSet(object.genBlockTime) ? fromJsonTimestamp(object.genBlockTime) : undefined,
6141
+ data: isSet(object.data) ? RichStruct.fromJSON(object.data) : undefined,
6142
+ };
6143
+ },
6144
+
6145
+ toJSON(message: Entity): unknown {
6146
+ const obj: any = {};
6147
+ if (message.entity !== "") {
6148
+ obj.entity = message.entity;
6149
+ }
6150
+ if (message.genBlockNumber !== BigInt("0")) {
6151
+ obj.genBlockNumber = message.genBlockNumber.toString();
6152
+ }
6153
+ if (message.genBlockChain !== "") {
6154
+ obj.genBlockChain = message.genBlockChain;
6155
+ }
6156
+ if (message.genBlockTime !== undefined) {
6157
+ obj.genBlockTime = message.genBlockTime.toISOString();
6158
+ }
6159
+ if (message.data !== undefined) {
6160
+ obj.data = RichStruct.toJSON(message.data);
6161
+ }
6162
+ return obj;
6163
+ },
6164
+
6165
+ create(base?: DeepPartial<Entity>): Entity {
6166
+ return Entity.fromPartial(base ?? {});
6167
+ },
6168
+ fromPartial(object: DeepPartial<Entity>): Entity {
6169
+ const message = createBaseEntity();
6170
+ message.entity = object.entity ?? "";
6171
+ message.genBlockNumber = object.genBlockNumber ?? BigInt("0");
6172
+ message.genBlockChain = object.genBlockChain ?? "";
6173
+ message.genBlockTime = object.genBlockTime ?? undefined;
6174
+ message.data = (object.data !== undefined && object.data !== null)
6175
+ ? RichStruct.fromPartial(object.data)
6176
+ : undefined;
6177
+ return message;
6178
+ },
6179
+ };
6180
+
6181
+ function createBaseEntityList(): EntityList {
6182
+ return { entities: [] };
6183
+ }
6184
+
6185
+ export const EntityList = {
6186
+ encode(message: EntityList, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
6187
+ for (const v of message.entities) {
6188
+ Entity.encode(v!, writer.uint32(10).fork()).ldelim();
6189
+ }
6190
+ return writer;
6191
+ },
6192
+
6193
+ decode(input: _m0.Reader | Uint8Array, length?: number): EntityList {
6194
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
6195
+ let end = length === undefined ? reader.len : reader.pos + length;
6196
+ const message = createBaseEntityList();
6197
+ while (reader.pos < end) {
6198
+ const tag = reader.uint32();
6199
+ switch (tag >>> 3) {
6200
+ case 1:
6201
+ if (tag !== 10) {
6202
+ break;
6203
+ }
6204
+
6205
+ message.entities.push(Entity.decode(reader, reader.uint32()));
6206
+ continue;
6207
+ }
6208
+ if ((tag & 7) === 4 || tag === 0) {
6209
+ break;
6210
+ }
6211
+ reader.skipType(tag & 7);
6212
+ }
6213
+ return message;
6214
+ },
6215
+
6216
+ fromJSON(object: any): EntityList {
6217
+ return {
6218
+ entities: globalThis.Array.isArray(object?.entities) ? object.entities.map((e: any) => Entity.fromJSON(e)) : [],
6219
+ };
6220
+ },
6221
+
6222
+ toJSON(message: EntityList): unknown {
6223
+ const obj: any = {};
6224
+ if (message.entities?.length) {
6225
+ obj.entities = message.entities.map((e) => Entity.toJSON(e));
6226
+ }
6227
+ return obj;
6228
+ },
6229
+
6230
+ create(base?: DeepPartial<EntityList>): EntityList {
6231
+ return EntityList.fromPartial(base ?? {});
6232
+ },
6233
+ fromPartial(object: DeepPartial<EntityList>): EntityList {
6234
+ const message = createBaseEntityList();
6235
+ message.entities = object.entities?.map((e) => Entity.fromPartial(e)) || [];
6236
+ return message;
6237
+ },
6238
+ };
6239
+
6026
6240
  function createBaseDBRequest(): DBRequest {
6027
6241
  return { opId: BigInt("0"), get: undefined, upsert: undefined, delete: undefined, list: undefined };
6028
6242
  }
@@ -26,6 +26,7 @@ const optionDefinitions = [
26
26
  { name: 'target', type: String, defaultOption: true },
27
27
  { name: 'port', alias: 'p', type: String, defaultValue: '4000' },
28
28
  { name: 'concurrency', type: Number, defaultValue: 4 },
29
+ { name: 'batch-count', type: Number, defaultValue: 1 },
29
30
  // { name: 'use-chainserver', type: Boolean, defaultValue: false },
30
31
  {
31
32
  name: 'chains-config',
@@ -50,6 +51,7 @@ const fullPath = path.resolve(options['chains-config'])
50
51
  const chainsConfig = fs.readJsonSync(fullPath)
51
52
 
52
53
  Endpoints.INSTANCE.concurrency = options.concurrency
54
+ Endpoints.INSTANCE.batchCount = options['batch-count']
53
55
  Endpoints.INSTANCE.chainQueryAPI = options['chainquery-server']
54
56
  Endpoints.INSTANCE.priceFeedAPI = options['pricefeed-server']
55
57
 
package/src/service.ts CHANGED
@@ -5,6 +5,7 @@ import { withAbort } from 'ix/Ix.dom.asynciterable.operators.js'
5
5
 
6
6
  import {
7
7
  DataBinding,
8
+ DeepPartial,
8
9
  Empty,
9
10
  HandlerType,
10
11
  ProcessBindingResponse,
@@ -14,6 +15,7 @@ import {
14
15
  ProcessorServiceImplementation,
15
16
  ProcessResult,
16
17
  ProcessStreamRequest,
18
+ ProcessStreamResponse,
17
19
  StartRequest
18
20
  } from '@sentio/protos'
19
21
 
@@ -22,6 +24,8 @@ import { errorString, mergeProcessResults } from './utils.js'
22
24
  import { freezeGlobalConfig, GLOBAL_CONFIG } from './global-config.js'
23
25
 
24
26
  import { StoreContext } from './db-context.js'
27
+ import { Subject } from 'rxjs'
28
+
25
29
  ;(BigInt.prototype as any).toJSON = function () {
26
30
  return this.toString()
27
31
  }
@@ -162,38 +166,50 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
162
166
  throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')
163
167
  }
164
168
 
165
- const dbContext = new StoreContext()
166
- new Promise(async (resolve, reject) => {
167
- for await (const request of requests) {
168
- if (request.binding) {
169
- const binding = request.binding
170
- PluginManager.INSTANCE.processBinding(binding, dbContext)
171
- .then((result) => {
172
- dbContext.subject.next({
173
- result,
174
- processId: request.processId
175
- })
176
- // dbContext.subject.complete()
177
- recordRuntimeInfo(result, binding.handlerType)
178
- })
179
- .catch((e) => {
180
- dbContext.error(request.processId, e)
181
- })
182
- }
183
- if (request.dbResult) {
184
- dbContext.result(request.dbResult)
185
- }
186
- }
187
- resolve(null)
188
- })
169
+ const subject = new Subject<DeepPartial<ProcessStreamResponse>>()
170
+ this.handleRequests(requests, subject)
189
171
  .then(() => {
190
- dbContext.subject.complete()
172
+ subject.complete()
191
173
  })
192
174
  .catch((e) => {
193
- // should not happen
194
- dbContext.subject.error(e)
175
+ console.error(e)
176
+ subject.error(e)
195
177
  })
196
- yield* from(dbContext.subject).pipe(withAbort(context.signal))
178
+ yield* from(subject).pipe(withAbort(context.signal))
179
+ }
180
+
181
+ private async handleRequests(
182
+ requests: AsyncIterable<ProcessStreamRequest>,
183
+ subject: Subject<DeepPartial<ProcessStreamResponse>>
184
+ ) {
185
+ const contexts: Record<number, StoreContext> = {}
186
+
187
+ for await (const request of requests) {
188
+ if (request.binding) {
189
+ const binding = request.binding
190
+ const dbContext = new StoreContext(subject, request.processId)
191
+ contexts[request.processId] = dbContext
192
+ PluginManager.INSTANCE.processBinding(binding, dbContext)
193
+ .then((result) => {
194
+ subject.next({
195
+ result,
196
+ processId: request.processId
197
+ })
198
+ recordRuntimeInfo(result, binding.handlerType)
199
+ })
200
+ .catch((e) => {
201
+ console.error(e)
202
+ dbContext.error(request.processId, e)
203
+ })
204
+ .finally(() => {
205
+ delete contexts[request.processId]
206
+ })
207
+ }
208
+ if (request.dbResult) {
209
+ const dbContext = contexts[request.processId]
210
+ dbContext?.result(request.dbResult)
211
+ }
212
+ }
197
213
  }
198
214
  }
199
215