@sentio/runtime 1.39.0-rc.2 → 1.40.0-rc.1
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/full-service.d.ts +24 -0
- package/lib/full-service.js +47 -0
- package/lib/full-service.js.map +1 -1
- package/lib/gen/processor/protos/processor.d.ts +30 -0
- package/lib/gen/processor/protos/processor.js +174 -10
- package/lib/gen/processor/protos/processor.js.map +1 -1
- package/lib/service.js +9 -10
- package/lib/service.js.map +1 -1
- package/lib/service.test.js.map +1 -1
- package/package.json +3 -3
- package/src/full-service.ts +24 -0
- package/src/gen/processor/protos/processor.ts +191 -8
- package/src/service.ts +9 -9
package/lib/full-service.d.ts
CHANGED
@@ -4,6 +4,7 @@ import { Empty } from '@sentio/protos/lib/google/protobuf/empty';
|
|
4
4
|
export declare class FullProcessorServiceImpl implements ProcessorServiceImplementation {
|
5
5
|
constructor(instance: ProcessorServiceImplementation);
|
6
6
|
instance: ProcessorServiceImplementation;
|
7
|
+
sdkMinorVersion: number;
|
7
8
|
getConfig(request: ProcessConfigRequest, context: CallContext): Promise<{
|
8
9
|
config?: {
|
9
10
|
name?: string | undefined;
|
@@ -38,10 +39,28 @@ export declare class FullProcessorServiceImpl implements ProcessorServiceImpleme
|
|
38
39
|
addressType?: import("./gen/processor/protos/processor").AddressType | undefined;
|
39
40
|
}[] | undefined;
|
40
41
|
handlerId?: number | undefined;
|
42
|
+
fetchConfig?: {
|
43
|
+
transaction?: boolean | undefined;
|
44
|
+
transactionReceipt?: boolean | undefined;
|
45
|
+
block?: boolean | undefined;
|
46
|
+
} | undefined;
|
41
47
|
}[] | undefined;
|
42
48
|
traceConfigs?: {
|
43
49
|
signature?: string | undefined;
|
44
50
|
handlerId?: number | undefined;
|
51
|
+
fetchConfig?: {
|
52
|
+
transaction?: boolean | undefined;
|
53
|
+
transactionReceipt?: boolean | undefined;
|
54
|
+
block?: boolean | undefined;
|
55
|
+
} | undefined;
|
56
|
+
}[] | undefined;
|
57
|
+
transactionConfig?: {
|
58
|
+
handlerId?: number | undefined;
|
59
|
+
fetchConfig?: {
|
60
|
+
transaction?: boolean | undefined;
|
61
|
+
transactionReceipt?: boolean | undefined;
|
62
|
+
block?: boolean | undefined;
|
63
|
+
} | undefined;
|
45
64
|
}[] | undefined;
|
46
65
|
aptosEventConfigs?: {
|
47
66
|
filters?: {
|
@@ -127,6 +146,11 @@ export declare class FullProcessorServiceImpl implements ProcessorServiceImpleme
|
|
127
146
|
addressType?: import("./gen/processor/protos/processor").AddressType | undefined;
|
128
147
|
}[] | undefined;
|
129
148
|
handlerId?: number | undefined;
|
149
|
+
fetchConfig?: {
|
150
|
+
transaction?: boolean | undefined;
|
151
|
+
transactionReceipt?: boolean | undefined;
|
152
|
+
block?: boolean | undefined;
|
153
|
+
} | undefined;
|
130
154
|
}[] | undefined;
|
131
155
|
}[] | undefined;
|
132
156
|
metricConfigs?: {
|
package/lib/full-service.js
CHANGED
@@ -1,13 +1,51 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
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
|
+
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;
|
24
|
+
};
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
+
};
|
2
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
29
|
exports.FullProcessorServiceImpl = void 0;
|
4
30
|
// Different than the simple one which
|
5
31
|
const processor_1 = require("./gen/processor/protos/processor");
|
32
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
33
|
+
const assert = __importStar(require("assert"));
|
6
34
|
class FullProcessorServiceImpl {
|
7
35
|
constructor(instance) {
|
8
36
|
this.instance = instance;
|
37
|
+
const sdkPackageJsonPath = require.resolve('@sentio/sdk/package.json');
|
38
|
+
const sdkPackageJsonContent = fs_extra_1.default.readFileSync(sdkPackageJsonPath, 'utf-8');
|
39
|
+
const sdkPackageJson = JSON.parse(sdkPackageJsonContent);
|
40
|
+
const runtimePackageJsonPath = require.resolve('@sentio/runtime/package.json');
|
41
|
+
const runtimePackageJsonContent = fs_extra_1.default.readFileSync(runtimePackageJsonPath, 'utf-8');
|
42
|
+
const runtimePackageJson = JSON.parse(runtimePackageJsonContent);
|
43
|
+
console.log('Runtime version:', runtimePackageJson.version, 'SDK version:', sdkPackageJson.version);
|
44
|
+
const version = sdkPackageJson.version.split('.');
|
45
|
+
this.sdkMinorVersion = parseInt(version[1]);
|
9
46
|
}
|
10
47
|
instance;
|
48
|
+
sdkMinorVersion;
|
11
49
|
async getConfig(request, context) {
|
12
50
|
return this.instance.getConfig(request, context);
|
13
51
|
}
|
@@ -29,6 +67,15 @@ class FullProcessorServiceImpl {
|
|
29
67
|
}
|
30
68
|
adjustDataBinding(dataBinding) {
|
31
69
|
switch (dataBinding.handlerType) {
|
70
|
+
case processor_1.HandlerType.APT_EVENT:
|
71
|
+
if (dataBinding.data?.aptEvent) {
|
72
|
+
const aptEvent = dataBinding.data.aptEvent;
|
73
|
+
if (aptEvent.event && this.sdkMinorVersion < 40) {
|
74
|
+
assert.ok(aptEvent.transaction, 'No Transaction');
|
75
|
+
aptEvent.transaction.events = [aptEvent.event];
|
76
|
+
}
|
77
|
+
}
|
78
|
+
break;
|
32
79
|
case processor_1.HandlerType.UNKNOWN:
|
33
80
|
if (dataBinding.data?.ethBlock) {
|
34
81
|
if (dataBinding.data.raw.length === 0) {
|
package/lib/full-service.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"full-service.js","sourceRoot":"","sources":["../src/full-service.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"full-service.js","sourceRoot":"","sources":["../src/full-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { CallContext } from 'nice-grpc'\n\n// Different than the simple one which\nimport {\n DataBinding,\n HandlerType,\n ProcessBindingsRequest,\n ProcessConfigRequest,\n ProcessorServiceImplementation,\n StartRequest,\n} from './gen/processor/protos/processor'\n\nimport { Empty } from '@sentio/protos/lib/google/protobuf/empty'\nimport fs from 'fs-extra'\nimport * as assert from 'assert'\n\nexport class FullProcessorServiceImpl implements ProcessorServiceImplementation {\n constructor(instance: ProcessorServiceImplementation) {\n this.instance = instance\n const sdkPackageJsonPath = require.resolve('@sentio/sdk/package.json')\n const sdkPackageJsonContent = fs.readFileSync(sdkPackageJsonPath, 'utf-8')\n const sdkPackageJson = JSON.parse(sdkPackageJsonContent)\n\n const runtimePackageJsonPath = require.resolve('@sentio/runtime/package.json')\n const runtimePackageJsonContent = fs.readFileSync(runtimePackageJsonPath, 'utf-8')\n const runtimePackageJson = JSON.parse(runtimePackageJsonContent)\n\n console.log('Runtime version:', runtimePackageJson.version, 'SDK version:', sdkPackageJson.version)\n\n const version = sdkPackageJson.version.split('.')\n this.sdkMinorVersion = parseInt(version[1])\n }\n\n instance: ProcessorServiceImplementation\n sdkMinorVersion: number\n\n async getConfig(request: ProcessConfigRequest, context: CallContext) {\n return this.instance.getConfig(request, context)\n }\n\n async start(request: StartRequest, context: CallContext) {\n return this.instance.start(request, context)\n }\n\n async stop(request: Empty, context: CallContext) {\n return this.instance.stop(request, context)\n }\n\n async processBindings(request: ProcessBindingsRequest, options: CallContext) {\n for (const binding of request.bindings) {\n this.adjustDataBinding(binding)\n }\n return this.instance.processBindings(request, options)\n }\n\n async *processBindingsStream(requests: AsyncIterable<DataBinding>, context: CallContext) {\n throw new Error('Not Implemented for streaming')\n // y this.instance.processBindingsStream(requests, context)\n }\n\n protected adjustDataBinding(dataBinding: DataBinding): void {\n switch (dataBinding.handlerType) {\n case HandlerType.APT_EVENT:\n if (dataBinding.data?.aptEvent) {\n const aptEvent = dataBinding.data.aptEvent\n if (aptEvent.event && this.sdkMinorVersion < 40) {\n assert.ok(aptEvent.transaction, 'No Transaction')\n aptEvent.transaction.events = [aptEvent.event]\n }\n }\n break\n case HandlerType.UNKNOWN:\n if (dataBinding.data?.ethBlock) {\n if (dataBinding.data.raw.length === 0) {\n // This is actually not needed in current system, just as initla test propose, move to test only\n // when this is stable\n dataBinding.data.raw = new TextEncoder().encode(JSON.stringify(dataBinding.data.ethBlock.block))\n }\n }\n break\n default:\n break\n }\n }\n}\n"]}
|
@@ -69,6 +69,7 @@ export interface ContractConfig {
|
|
69
69
|
intervalConfigs: OnIntervalConfig[];
|
70
70
|
logConfigs: LogHandlerConfig[];
|
71
71
|
traceConfigs: TraceHandlerConfig[];
|
72
|
+
transactionConfig: TransactionHandlerConfig[];
|
72
73
|
aptosEventConfigs: AptosEventHandlerConfig[];
|
73
74
|
aptosCallConfigs: AptosCallHandlerConfig[];
|
74
75
|
instructionConfig: InstructionHandlerConfig | undefined;
|
@@ -158,14 +159,21 @@ export interface BlockHandlerConfig {
|
|
158
159
|
export interface EthFetchConfig {
|
159
160
|
transaction: boolean;
|
160
161
|
transactionReceipt: boolean;
|
162
|
+
block: boolean;
|
161
163
|
}
|
162
164
|
export interface TraceHandlerConfig {
|
163
165
|
signature: string;
|
164
166
|
handlerId: number;
|
167
|
+
fetchConfig: EthFetchConfig | undefined;
|
168
|
+
}
|
169
|
+
export interface TransactionHandlerConfig {
|
170
|
+
handlerId: number;
|
171
|
+
fetchConfig: EthFetchConfig | undefined;
|
165
172
|
}
|
166
173
|
export interface LogHandlerConfig {
|
167
174
|
filters: LogFilter[];
|
168
175
|
handlerId: number;
|
176
|
+
fetchConfig: EthFetchConfig | undefined;
|
169
177
|
}
|
170
178
|
export interface LogFilter {
|
171
179
|
topics: Topic[];
|
@@ -236,6 +244,12 @@ export interface Data_EthLog {
|
|
236
244
|
transaction?: {
|
237
245
|
[key: string]: any;
|
238
246
|
} | undefined;
|
247
|
+
transactionReceipt?: {
|
248
|
+
[key: string]: any;
|
249
|
+
} | undefined;
|
250
|
+
block?: {
|
251
|
+
[key: string]: any;
|
252
|
+
} | undefined;
|
239
253
|
}
|
240
254
|
export interface Data_EthBlock {
|
241
255
|
block: {
|
@@ -250,6 +264,9 @@ export interface Data_EthTransaction {
|
|
250
264
|
transactionReceipt?: {
|
251
265
|
[key: string]: any;
|
252
266
|
} | undefined;
|
267
|
+
block?: {
|
268
|
+
[key: string]: any;
|
269
|
+
} | undefined;
|
253
270
|
}
|
254
271
|
export interface Data_EthTrace {
|
255
272
|
trace: {
|
@@ -262,6 +279,9 @@ export interface Data_EthTrace {
|
|
262
279
|
transactionReceipt?: {
|
263
280
|
[key: string]: any;
|
264
281
|
} | undefined;
|
282
|
+
block?: {
|
283
|
+
[key: string]: any;
|
284
|
+
} | undefined;
|
265
285
|
}
|
266
286
|
export interface Data_SolInstruction {
|
267
287
|
instructionData: string;
|
@@ -273,6 +293,9 @@ export interface Data_SolInstruction {
|
|
273
293
|
} | undefined;
|
274
294
|
}
|
275
295
|
export interface Data_AptEvent {
|
296
|
+
event: {
|
297
|
+
[key: string]: any;
|
298
|
+
} | undefined;
|
276
299
|
transaction: {
|
277
300
|
[key: string]: any;
|
278
301
|
} | undefined;
|
@@ -501,6 +524,13 @@ export declare const TraceHandlerConfig: {
|
|
501
524
|
toJSON(message: TraceHandlerConfig): unknown;
|
502
525
|
fromPartial(object: DeepPartial<TraceHandlerConfig>): TraceHandlerConfig;
|
503
526
|
};
|
527
|
+
export declare const TransactionHandlerConfig: {
|
528
|
+
encode(message: TransactionHandlerConfig, writer?: _m0.Writer): _m0.Writer;
|
529
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): TransactionHandlerConfig;
|
530
|
+
fromJSON(object: any): TransactionHandlerConfig;
|
531
|
+
toJSON(message: TransactionHandlerConfig): unknown;
|
532
|
+
fromPartial(object: DeepPartial<TransactionHandlerConfig>): TransactionHandlerConfig;
|
533
|
+
};
|
504
534
|
export declare const LogHandlerConfig: {
|
505
535
|
encode(message: LogHandlerConfig, writer?: _m0.Writer): _m0.Writer;
|
506
536
|
decode(input: _m0.Reader | Uint8Array, length?: number): LogHandlerConfig;
|