@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.
- package/lib/db-context.d.ts +5 -184
- package/lib/db-context.d.ts.map +1 -1
- package/lib/db-context.js +10 -5
- package/lib/db-context.js.map +1 -1
- package/lib/endpoints.d.ts +1 -0
- package/lib/endpoints.d.ts.map +1 -1
- package/lib/endpoints.js +1 -0
- package/lib/endpoints.js.map +1 -1
- package/lib/gen/processor/protos/processor.d.ts +27 -0
- package/lib/gen/processor/protos/processor.d.ts.map +1 -1
- package/lib/gen/processor/protos/processor.js +182 -0
- package/lib/gen/processor/protos/processor.js.map +1 -1
- package/lib/processor-runner.js +2 -0
- package/lib/processor-runner.js.map +1 -1
- package/lib/service.d.ts +1 -0
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +36 -28
- package/lib/service.js.map +1 -1
- package/package.json +2 -2
- package/src/db-context.ts +8 -4
- package/src/endpoints.ts +2 -0
- package/src/gen/processor/protos/processor.ts +214 -0
- package/src/processor-runner.ts +2 -0
- package/src/service.ts +44 -28
package/lib/processor-runner.js
CHANGED
@@ -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
package/lib/service.d.ts.map
CHANGED
@@ -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,
|
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
|
128
|
-
|
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
|
-
|
131
|
+
subject.complete();
|
153
132
|
})
|
154
133
|
.catch((e) => {
|
155
|
-
|
156
|
-
|
134
|
+
console.error(e);
|
135
|
+
subject.error(e);
|
157
136
|
});
|
158
|
-
yield* from(
|
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) {
|
package/lib/service.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAEhE,OAAO,
|
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.
|
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.
|
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
|
-
|
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 =
|
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
@@ -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
|
}
|
package/src/processor-runner.ts
CHANGED
@@ -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
|
166
|
-
|
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
|
-
|
172
|
+
subject.complete()
|
191
173
|
})
|
192
174
|
.catch((e) => {
|
193
|
-
|
194
|
-
|
175
|
+
console.error(e)
|
176
|
+
subject.error(e)
|
195
177
|
})
|
196
|
-
yield* from(
|
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
|
|