@sentio/sdk 1.27.10 → 1.29.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.
- package/lib/aptos/api.d.ts +2 -0
- package/lib/aptos/api.js +14 -0
- package/lib/aptos/api.js.map +1 -0
- package/lib/aptos/aptos-processor.d.ts +5 -4
- package/lib/aptos/aptos-processor.js +8 -9
- package/lib/aptos/aptos-processor.js.map +1 -1
- package/lib/aptos/context.d.ts +3 -2
- package/lib/aptos/context.js +3 -3
- package/lib/aptos/context.js.map +1 -1
- package/lib/aptos/index.d.ts +3 -2
- package/lib/aptos/index.js +18 -3
- package/lib/aptos/index.js.map +1 -1
- package/lib/aptos/models.d.ts +23 -0
- package/lib/aptos/models.js +3 -0
- package/lib/aptos/models.js.map +1 -0
- package/lib/aptos/type-registry.d.ts +21 -0
- package/lib/aptos/type-registry.js +156 -0
- package/lib/aptos/type-registry.js.map +1 -0
- package/lib/aptos/types.d.ts +1 -33
- package/lib/aptos/types.js +49 -142
- package/lib/aptos/types.js.map +1 -1
- package/lib/aptos/types.test.js.map +1 -1
- package/lib/aptos/utils.d.ts +0 -2
- package/lib/aptos/utils.js +1 -8
- package/lib/aptos/utils.js.map +1 -1
- package/lib/aptos-codegen/codegen.js +2 -1
- package/lib/aptos-codegen/codegen.js.map +1 -1
- package/lib/aptos-codegen/typegen.d.ts +0 -1
- package/lib/aptos-codegen/typegen.js +3 -61
- package/lib/aptos-codegen/typegen.js.map +1 -1
- package/lib/cli/upload.js +2 -1
- package/lib/cli/upload.js.map +1 -1
- package/lib/core/base-context.d.ts +12 -0
- package/lib/core/base-context.js +25 -0
- package/lib/core/base-context.js.map +1 -0
- package/lib/core/base-processor.d.ts +1 -2
- package/lib/core/base-processor.js.map +1 -1
- package/lib/core/context.d.ts +2 -11
- package/lib/core/context.js +5 -24
- package/lib/core/context.js.map +1 -1
- package/lib/core/event-tracker.d.ts +1 -1
- package/lib/core/event-tracker.js +2 -2
- package/lib/core/event-tracker.js.map +1 -1
- package/lib/core/exporter.d.ts +1 -1
- package/lib/core/exporter.js.map +1 -1
- package/lib/core/generic-processor.test.js.map +1 -1
- package/lib/core/logger.d.ts +1 -1
- package/lib/core/logger.js.map +1 -1
- package/lib/core/meter.d.ts +1 -1
- package/lib/core/meter.js.map +1 -1
- package/lib/endpoints.d.ts +6 -0
- package/lib/endpoints.js +11 -0
- package/lib/endpoints.js.map +1 -0
- package/lib/gen/google/protobuf/timestamp.d.ts +18 -0
- package/lib/gen/google/protobuf/timestamp.js +75 -0
- package/lib/gen/google/protobuf/timestamp.js.map +1 -0
- package/lib/gen/service/price/protos/price.d.ts +85 -0
- package/lib/gen/service/price/protos/price.js +281 -0
- package/lib/gen/service/price/protos/price.js.map +1 -0
- package/lib/processor-runner.js +6 -0
- package/lib/processor-runner.js.map +1 -1
- package/lib/processor-state.d.ts +2 -6
- package/lib/processor-state.js +0 -2
- package/lib/processor-state.js.map +1 -1
- package/lib/provider.js +5 -5
- package/lib/provider.js.map +1 -1
- package/lib/testing/test-processor-server.d.ts +4 -1
- package/lib/testing/test-processor-server.js +15 -7
- package/lib/testing/test-processor-server.js.map +1 -1
- package/lib/utils/conversion.d.ts +2 -1
- package/lib/utils/conversion.js +3 -3
- package/lib/utils/conversion.js.map +1 -1
- package/lib/utils/dex-price.test.js.map +1 -1
- package/lib/utils/erc20.test.js.map +1 -1
- package/lib/utils/price.d.ts +10 -0
- package/lib/utils/price.js +59 -0
- package/lib/utils/price.js.map +1 -0
- package/lib/utils/token.d.ts +1 -1
- package/lib/utils/token.js +2 -2
- package/lib/utils/token.js.map +1 -1
- package/package.json +5 -2
- package/src/aptos/api.ts +11 -0
- package/src/aptos/aptos-processor.ts +7 -10
- package/src/aptos/context.ts +3 -3
- package/src/aptos/index.ts +3 -2
- package/src/aptos/models.ts +34 -0
- package/src/aptos/type-registry.ts +187 -0
- package/src/aptos/types.ts +53 -199
- package/src/aptos/utils.ts +0 -9
- package/src/aptos-codegen/codegen.ts +2 -1
- package/src/aptos-codegen/typegen.ts +1 -67
- package/src/cli/upload.ts +2 -1
- package/src/core/base-context.ts +28 -0
- package/src/core/base-processor.ts +1 -2
- package/src/core/context.ts +2 -26
- package/src/core/event-tracker.ts +2 -2
- package/src/core/exporter.ts +1 -1
- package/src/core/logger.ts +1 -1
- package/src/core/meter.ts +1 -1
- package/src/endpoints.ts +9 -0
- package/src/gen/google/protobuf/timestamp.ts +105 -0
- package/src/gen/service/price/protos/price.ts +394 -0
- package/src/processor-runner.ts +6 -0
- package/src/processor-state.ts +2 -7
- package/src/provider.ts +5 -5
- package/src/testing/test-processor-server.ts +10 -6
- package/src/utils/conversion.ts +2 -1
- package/src/utils/price.ts +58 -0
- package/src/utils/token.ts +1 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { CallContext, CallOptions } from "nice-grpc-common";
|
|
2
|
+
import Long from "long";
|
|
3
|
+
import _m0 from "protobufjs/minimal";
|
|
4
|
+
export interface CoinID {
|
|
5
|
+
symbol: string | undefined;
|
|
6
|
+
address: CoinID_AddressIdentifier | undefined;
|
|
7
|
+
}
|
|
8
|
+
export interface CoinID_AddressIdentifier {
|
|
9
|
+
address: string;
|
|
10
|
+
chain: string;
|
|
11
|
+
}
|
|
12
|
+
export interface GetPriceRequest {
|
|
13
|
+
timestamp: Date | undefined;
|
|
14
|
+
coinId: CoinID | undefined;
|
|
15
|
+
}
|
|
16
|
+
export interface GetPriceResponse {
|
|
17
|
+
price: number;
|
|
18
|
+
timestamp: Date | undefined;
|
|
19
|
+
}
|
|
20
|
+
export declare const CoinID: {
|
|
21
|
+
encode(message: CoinID, writer?: _m0.Writer): _m0.Writer;
|
|
22
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): CoinID;
|
|
23
|
+
fromJSON(object: any): CoinID;
|
|
24
|
+
toJSON(message: CoinID): unknown;
|
|
25
|
+
fromPartial(object: DeepPartial<CoinID>): CoinID;
|
|
26
|
+
};
|
|
27
|
+
export declare const CoinID_AddressIdentifier: {
|
|
28
|
+
encode(message: CoinID_AddressIdentifier, writer?: _m0.Writer): _m0.Writer;
|
|
29
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): CoinID_AddressIdentifier;
|
|
30
|
+
fromJSON(object: any): CoinID_AddressIdentifier;
|
|
31
|
+
toJSON(message: CoinID_AddressIdentifier): unknown;
|
|
32
|
+
fromPartial(object: DeepPartial<CoinID_AddressIdentifier>): CoinID_AddressIdentifier;
|
|
33
|
+
};
|
|
34
|
+
export declare const GetPriceRequest: {
|
|
35
|
+
encode(message: GetPriceRequest, writer?: _m0.Writer): _m0.Writer;
|
|
36
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): GetPriceRequest;
|
|
37
|
+
fromJSON(object: any): GetPriceRequest;
|
|
38
|
+
toJSON(message: GetPriceRequest): unknown;
|
|
39
|
+
fromPartial(object: DeepPartial<GetPriceRequest>): GetPriceRequest;
|
|
40
|
+
};
|
|
41
|
+
export declare const GetPriceResponse: {
|
|
42
|
+
encode(message: GetPriceResponse, writer?: _m0.Writer): _m0.Writer;
|
|
43
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): GetPriceResponse;
|
|
44
|
+
fromJSON(object: any): GetPriceResponse;
|
|
45
|
+
toJSON(message: GetPriceResponse): unknown;
|
|
46
|
+
fromPartial(object: DeepPartial<GetPriceResponse>): GetPriceResponse;
|
|
47
|
+
};
|
|
48
|
+
export declare type PriceServiceDefinition = typeof PriceServiceDefinition;
|
|
49
|
+
export declare const PriceServiceDefinition: {
|
|
50
|
+
readonly name: "PriceService";
|
|
51
|
+
readonly fullName: "price_service.PriceService";
|
|
52
|
+
readonly methods: {
|
|
53
|
+
readonly getPrice: {
|
|
54
|
+
readonly name: "GetPrice";
|
|
55
|
+
readonly requestType: {
|
|
56
|
+
encode(message: GetPriceRequest, writer?: _m0.Writer): _m0.Writer;
|
|
57
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): GetPriceRequest;
|
|
58
|
+
fromJSON(object: any): GetPriceRequest;
|
|
59
|
+
toJSON(message: GetPriceRequest): unknown;
|
|
60
|
+
fromPartial(object: DeepPartial<GetPriceRequest>): GetPriceRequest;
|
|
61
|
+
};
|
|
62
|
+
readonly requestStream: false;
|
|
63
|
+
readonly responseType: {
|
|
64
|
+
encode(message: GetPriceResponse, writer?: _m0.Writer): _m0.Writer;
|
|
65
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): GetPriceResponse;
|
|
66
|
+
fromJSON(object: any): GetPriceResponse;
|
|
67
|
+
toJSON(message: GetPriceResponse): unknown;
|
|
68
|
+
fromPartial(object: DeepPartial<GetPriceResponse>): GetPriceResponse;
|
|
69
|
+
};
|
|
70
|
+
readonly responseStream: false;
|
|
71
|
+
readonly options: {};
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
export interface PriceServiceServiceImplementation<CallContextExt = {}> {
|
|
76
|
+
getPrice(request: GetPriceRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetPriceResponse>>;
|
|
77
|
+
}
|
|
78
|
+
export interface PriceServiceClient<CallOptionsExt = {}> {
|
|
79
|
+
getPrice(request: DeepPartial<GetPriceRequest>, options?: CallOptions & CallOptionsExt): Promise<GetPriceResponse>;
|
|
80
|
+
}
|
|
81
|
+
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
82
|
+
declare type DeepPartial<T> = T extends Builtin ? T : T extends Long ? string | number | Long : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
|
|
83
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
84
|
+
} : Partial<T>;
|
|
85
|
+
export {};
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PriceServiceDefinition = exports.GetPriceResponse = exports.GetPriceRequest = exports.CoinID_AddressIdentifier = exports.CoinID = void 0;
|
|
7
|
+
const timestamp_1 = require("../../../google/protobuf/timestamp");
|
|
8
|
+
const long_1 = __importDefault(require("long"));
|
|
9
|
+
const minimal_1 = __importDefault(require("protobufjs/minimal"));
|
|
10
|
+
function createBaseCoinID() {
|
|
11
|
+
return { symbol: undefined, address: undefined };
|
|
12
|
+
}
|
|
13
|
+
exports.CoinID = {
|
|
14
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
15
|
+
if (message.symbol !== undefined) {
|
|
16
|
+
writer.uint32(18).string(message.symbol);
|
|
17
|
+
}
|
|
18
|
+
if (message.address !== undefined) {
|
|
19
|
+
exports.CoinID_AddressIdentifier.encode(message.address, writer.uint32(26).fork()).ldelim();
|
|
20
|
+
}
|
|
21
|
+
return writer;
|
|
22
|
+
},
|
|
23
|
+
decode(input, length) {
|
|
24
|
+
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
|
|
25
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
26
|
+
const message = createBaseCoinID();
|
|
27
|
+
while (reader.pos < end) {
|
|
28
|
+
const tag = reader.uint32();
|
|
29
|
+
switch (tag >>> 3) {
|
|
30
|
+
case 2:
|
|
31
|
+
message.symbol = reader.string();
|
|
32
|
+
break;
|
|
33
|
+
case 3:
|
|
34
|
+
message.address = exports.CoinID_AddressIdentifier.decode(reader, reader.uint32());
|
|
35
|
+
break;
|
|
36
|
+
default:
|
|
37
|
+
reader.skipType(tag & 7);
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return message;
|
|
42
|
+
},
|
|
43
|
+
fromJSON(object) {
|
|
44
|
+
return {
|
|
45
|
+
symbol: isSet(object.symbol) ? String(object.symbol) : undefined,
|
|
46
|
+
address: isSet(object.address)
|
|
47
|
+
? exports.CoinID_AddressIdentifier.fromJSON(object.address)
|
|
48
|
+
: undefined,
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
toJSON(message) {
|
|
52
|
+
const obj = {};
|
|
53
|
+
message.symbol !== undefined && (obj.symbol = message.symbol);
|
|
54
|
+
message.address !== undefined &&
|
|
55
|
+
(obj.address = message.address
|
|
56
|
+
? exports.CoinID_AddressIdentifier.toJSON(message.address)
|
|
57
|
+
: undefined);
|
|
58
|
+
return obj;
|
|
59
|
+
},
|
|
60
|
+
fromPartial(object) {
|
|
61
|
+
const message = createBaseCoinID();
|
|
62
|
+
message.symbol = object.symbol ?? undefined;
|
|
63
|
+
message.address =
|
|
64
|
+
object.address !== undefined && object.address !== null
|
|
65
|
+
? exports.CoinID_AddressIdentifier.fromPartial(object.address)
|
|
66
|
+
: undefined;
|
|
67
|
+
return message;
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
function createBaseCoinID_AddressIdentifier() {
|
|
71
|
+
return { address: "", chain: "" };
|
|
72
|
+
}
|
|
73
|
+
exports.CoinID_AddressIdentifier = {
|
|
74
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
75
|
+
if (message.address !== "") {
|
|
76
|
+
writer.uint32(10).string(message.address);
|
|
77
|
+
}
|
|
78
|
+
if (message.chain !== "") {
|
|
79
|
+
writer.uint32(18).string(message.chain);
|
|
80
|
+
}
|
|
81
|
+
return writer;
|
|
82
|
+
},
|
|
83
|
+
decode(input, length) {
|
|
84
|
+
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
|
|
85
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
86
|
+
const message = createBaseCoinID_AddressIdentifier();
|
|
87
|
+
while (reader.pos < end) {
|
|
88
|
+
const tag = reader.uint32();
|
|
89
|
+
switch (tag >>> 3) {
|
|
90
|
+
case 1:
|
|
91
|
+
message.address = reader.string();
|
|
92
|
+
break;
|
|
93
|
+
case 2:
|
|
94
|
+
message.chain = reader.string();
|
|
95
|
+
break;
|
|
96
|
+
default:
|
|
97
|
+
reader.skipType(tag & 7);
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return message;
|
|
102
|
+
},
|
|
103
|
+
fromJSON(object) {
|
|
104
|
+
return {
|
|
105
|
+
address: isSet(object.address) ? String(object.address) : "",
|
|
106
|
+
chain: isSet(object.chain) ? String(object.chain) : "",
|
|
107
|
+
};
|
|
108
|
+
},
|
|
109
|
+
toJSON(message) {
|
|
110
|
+
const obj = {};
|
|
111
|
+
message.address !== undefined && (obj.address = message.address);
|
|
112
|
+
message.chain !== undefined && (obj.chain = message.chain);
|
|
113
|
+
return obj;
|
|
114
|
+
},
|
|
115
|
+
fromPartial(object) {
|
|
116
|
+
const message = createBaseCoinID_AddressIdentifier();
|
|
117
|
+
message.address = object.address ?? "";
|
|
118
|
+
message.chain = object.chain ?? "";
|
|
119
|
+
return message;
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
function createBaseGetPriceRequest() {
|
|
123
|
+
return { timestamp: undefined, coinId: undefined };
|
|
124
|
+
}
|
|
125
|
+
exports.GetPriceRequest = {
|
|
126
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
127
|
+
if (message.timestamp !== undefined) {
|
|
128
|
+
timestamp_1.Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(10).fork()).ldelim();
|
|
129
|
+
}
|
|
130
|
+
if (message.coinId !== undefined) {
|
|
131
|
+
exports.CoinID.encode(message.coinId, writer.uint32(18).fork()).ldelim();
|
|
132
|
+
}
|
|
133
|
+
return writer;
|
|
134
|
+
},
|
|
135
|
+
decode(input, length) {
|
|
136
|
+
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
|
|
137
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
138
|
+
const message = createBaseGetPriceRequest();
|
|
139
|
+
while (reader.pos < end) {
|
|
140
|
+
const tag = reader.uint32();
|
|
141
|
+
switch (tag >>> 3) {
|
|
142
|
+
case 1:
|
|
143
|
+
message.timestamp = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
|
|
144
|
+
break;
|
|
145
|
+
case 2:
|
|
146
|
+
message.coinId = exports.CoinID.decode(reader, reader.uint32());
|
|
147
|
+
break;
|
|
148
|
+
default:
|
|
149
|
+
reader.skipType(tag & 7);
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return message;
|
|
154
|
+
},
|
|
155
|
+
fromJSON(object) {
|
|
156
|
+
return {
|
|
157
|
+
timestamp: isSet(object.timestamp)
|
|
158
|
+
? fromJsonTimestamp(object.timestamp)
|
|
159
|
+
: undefined,
|
|
160
|
+
coinId: isSet(object.coinId) ? exports.CoinID.fromJSON(object.coinId) : undefined,
|
|
161
|
+
};
|
|
162
|
+
},
|
|
163
|
+
toJSON(message) {
|
|
164
|
+
const obj = {};
|
|
165
|
+
message.timestamp !== undefined &&
|
|
166
|
+
(obj.timestamp = message.timestamp.toISOString());
|
|
167
|
+
message.coinId !== undefined &&
|
|
168
|
+
(obj.coinId = message.coinId ? exports.CoinID.toJSON(message.coinId) : undefined);
|
|
169
|
+
return obj;
|
|
170
|
+
},
|
|
171
|
+
fromPartial(object) {
|
|
172
|
+
const message = createBaseGetPriceRequest();
|
|
173
|
+
message.timestamp = object.timestamp ?? undefined;
|
|
174
|
+
message.coinId =
|
|
175
|
+
object.coinId !== undefined && object.coinId !== null
|
|
176
|
+
? exports.CoinID.fromPartial(object.coinId)
|
|
177
|
+
: undefined;
|
|
178
|
+
return message;
|
|
179
|
+
},
|
|
180
|
+
};
|
|
181
|
+
function createBaseGetPriceResponse() {
|
|
182
|
+
return { price: 0, timestamp: undefined };
|
|
183
|
+
}
|
|
184
|
+
exports.GetPriceResponse = {
|
|
185
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
186
|
+
if (message.price !== 0) {
|
|
187
|
+
writer.uint32(9).double(message.price);
|
|
188
|
+
}
|
|
189
|
+
if (message.timestamp !== undefined) {
|
|
190
|
+
timestamp_1.Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(18).fork()).ldelim();
|
|
191
|
+
}
|
|
192
|
+
return writer;
|
|
193
|
+
},
|
|
194
|
+
decode(input, length) {
|
|
195
|
+
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
|
|
196
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
197
|
+
const message = createBaseGetPriceResponse();
|
|
198
|
+
while (reader.pos < end) {
|
|
199
|
+
const tag = reader.uint32();
|
|
200
|
+
switch (tag >>> 3) {
|
|
201
|
+
case 1:
|
|
202
|
+
message.price = reader.double();
|
|
203
|
+
break;
|
|
204
|
+
case 2:
|
|
205
|
+
message.timestamp = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
|
|
206
|
+
break;
|
|
207
|
+
default:
|
|
208
|
+
reader.skipType(tag & 7);
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return message;
|
|
213
|
+
},
|
|
214
|
+
fromJSON(object) {
|
|
215
|
+
return {
|
|
216
|
+
price: isSet(object.price) ? Number(object.price) : 0,
|
|
217
|
+
timestamp: isSet(object.timestamp)
|
|
218
|
+
? fromJsonTimestamp(object.timestamp)
|
|
219
|
+
: undefined,
|
|
220
|
+
};
|
|
221
|
+
},
|
|
222
|
+
toJSON(message) {
|
|
223
|
+
const obj = {};
|
|
224
|
+
message.price !== undefined && (obj.price = message.price);
|
|
225
|
+
message.timestamp !== undefined &&
|
|
226
|
+
(obj.timestamp = message.timestamp.toISOString());
|
|
227
|
+
return obj;
|
|
228
|
+
},
|
|
229
|
+
fromPartial(object) {
|
|
230
|
+
const message = createBaseGetPriceResponse();
|
|
231
|
+
message.price = object.price ?? 0;
|
|
232
|
+
message.timestamp = object.timestamp ?? undefined;
|
|
233
|
+
return message;
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
exports.PriceServiceDefinition = {
|
|
237
|
+
name: "PriceService",
|
|
238
|
+
fullName: "price_service.PriceService",
|
|
239
|
+
methods: {
|
|
240
|
+
getPrice: {
|
|
241
|
+
name: "GetPrice",
|
|
242
|
+
requestType: exports.GetPriceRequest,
|
|
243
|
+
requestStream: false,
|
|
244
|
+
responseType: exports.GetPriceResponse,
|
|
245
|
+
responseStream: false,
|
|
246
|
+
options: {},
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
function toTimestamp(date) {
|
|
251
|
+
const seconds = numberToLong(date.getTime() / 1_000);
|
|
252
|
+
const nanos = (date.getTime() % 1_000) * 1_000_000;
|
|
253
|
+
return { seconds, nanos };
|
|
254
|
+
}
|
|
255
|
+
function fromTimestamp(t) {
|
|
256
|
+
let millis = t.seconds.toNumber() * 1_000;
|
|
257
|
+
millis += t.nanos / 1_000_000;
|
|
258
|
+
return new Date(millis);
|
|
259
|
+
}
|
|
260
|
+
function fromJsonTimestamp(o) {
|
|
261
|
+
if (o instanceof Date) {
|
|
262
|
+
return o;
|
|
263
|
+
}
|
|
264
|
+
else if (typeof o === "string") {
|
|
265
|
+
return new Date(o);
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
return fromTimestamp(timestamp_1.Timestamp.fromJSON(o));
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
function numberToLong(number) {
|
|
272
|
+
return long_1.default.fromNumber(number);
|
|
273
|
+
}
|
|
274
|
+
if (minimal_1.default.util.Long !== long_1.default) {
|
|
275
|
+
minimal_1.default.util.Long = long_1.default;
|
|
276
|
+
minimal_1.default.configure();
|
|
277
|
+
}
|
|
278
|
+
function isSet(value) {
|
|
279
|
+
return value !== null && value !== undefined;
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=price.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price.js","sourceRoot":"","sources":["../../../../../src/gen/service/price/protos/price.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable */\nimport { CallContext, CallOptions } from \"nice-grpc-common\";\nimport { Timestamp } from \"../../../google/protobuf/timestamp\";\nimport Long from \"long\";\nimport _m0 from \"protobufjs/minimal\";\n\nexport interface CoinID {\n symbol: string | undefined;\n address: CoinID_AddressIdentifier | undefined;\n}\n\nexport interface CoinID_AddressIdentifier {\n address: string;\n chain: string;\n}\n\nexport interface GetPriceRequest {\n timestamp: Date | undefined;\n coinId: CoinID | undefined;\n}\n\nexport interface GetPriceResponse {\n price: number;\n timestamp: Date | undefined;\n}\n\nfunction createBaseCoinID(): CoinID {\n return { symbol: undefined, address: undefined };\n}\n\nexport const CoinID = {\n encode(\n message: CoinID,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.symbol !== undefined) {\n writer.uint32(18).string(message.symbol);\n }\n if (message.address !== undefined) {\n CoinID_AddressIdentifier.encode(\n message.address,\n writer.uint32(26).fork()\n ).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): CoinID {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCoinID();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.symbol = reader.string();\n break;\n case 3:\n message.address = CoinID_AddressIdentifier.decode(\n reader,\n reader.uint32()\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): CoinID {\n return {\n symbol: isSet(object.symbol) ? String(object.symbol) : undefined,\n address: isSet(object.address)\n ? CoinID_AddressIdentifier.fromJSON(object.address)\n : undefined,\n };\n },\n\n toJSON(message: CoinID): unknown {\n const obj: any = {};\n message.symbol !== undefined && (obj.symbol = message.symbol);\n message.address !== undefined &&\n (obj.address = message.address\n ? CoinID_AddressIdentifier.toJSON(message.address)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<CoinID>): CoinID {\n const message = createBaseCoinID();\n message.symbol = object.symbol ?? undefined;\n message.address =\n object.address !== undefined && object.address !== null\n ? CoinID_AddressIdentifier.fromPartial(object.address)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseCoinID_AddressIdentifier(): CoinID_AddressIdentifier {\n return { address: \"\", chain: \"\" };\n}\n\nexport const CoinID_AddressIdentifier = {\n encode(\n message: CoinID_AddressIdentifier,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n if (message.chain !== \"\") {\n writer.uint32(18).string(message.chain);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): CoinID_AddressIdentifier {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCoinID_AddressIdentifier();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.address = reader.string();\n break;\n case 2:\n message.chain = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): CoinID_AddressIdentifier {\n return {\n address: isSet(object.address) ? String(object.address) : \"\",\n chain: isSet(object.chain) ? String(object.chain) : \"\",\n };\n },\n\n toJSON(message: CoinID_AddressIdentifier): unknown {\n const obj: any = {};\n message.address !== undefined && (obj.address = message.address);\n message.chain !== undefined && (obj.chain = message.chain);\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<CoinID_AddressIdentifier>\n ): CoinID_AddressIdentifier {\n const message = createBaseCoinID_AddressIdentifier();\n message.address = object.address ?? \"\";\n message.chain = object.chain ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetPriceRequest(): GetPriceRequest {\n return { timestamp: undefined, coinId: undefined };\n}\n\nexport const GetPriceRequest = {\n encode(\n message: GetPriceRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.timestamp !== undefined) {\n Timestamp.encode(\n toTimestamp(message.timestamp),\n writer.uint32(10).fork()\n ).ldelim();\n }\n if (message.coinId !== undefined) {\n CoinID.encode(message.coinId, writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): GetPriceRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetPriceRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.timestamp = fromTimestamp(\n Timestamp.decode(reader, reader.uint32())\n );\n break;\n case 2:\n message.coinId = CoinID.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): GetPriceRequest {\n return {\n timestamp: isSet(object.timestamp)\n ? fromJsonTimestamp(object.timestamp)\n : undefined,\n coinId: isSet(object.coinId) ? CoinID.fromJSON(object.coinId) : undefined,\n };\n },\n\n toJSON(message: GetPriceRequest): unknown {\n const obj: any = {};\n message.timestamp !== undefined &&\n (obj.timestamp = message.timestamp.toISOString());\n message.coinId !== undefined &&\n (obj.coinId = message.coinId ? CoinID.toJSON(message.coinId) : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<GetPriceRequest>): GetPriceRequest {\n const message = createBaseGetPriceRequest();\n message.timestamp = object.timestamp ?? undefined;\n message.coinId =\n object.coinId !== undefined && object.coinId !== null\n ? CoinID.fromPartial(object.coinId)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseGetPriceResponse(): GetPriceResponse {\n return { price: 0, timestamp: undefined };\n}\n\nexport const GetPriceResponse = {\n encode(\n message: GetPriceResponse,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.price !== 0) {\n writer.uint32(9).double(message.price);\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(\n toTimestamp(message.timestamp),\n writer.uint32(18).fork()\n ).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): GetPriceResponse {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetPriceResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.price = reader.double();\n break;\n case 2:\n message.timestamp = fromTimestamp(\n Timestamp.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): GetPriceResponse {\n return {\n price: isSet(object.price) ? Number(object.price) : 0,\n timestamp: isSet(object.timestamp)\n ? fromJsonTimestamp(object.timestamp)\n : undefined,\n };\n },\n\n toJSON(message: GetPriceResponse): unknown {\n const obj: any = {};\n message.price !== undefined && (obj.price = message.price);\n message.timestamp !== undefined &&\n (obj.timestamp = message.timestamp.toISOString());\n return obj;\n },\n\n fromPartial(object: DeepPartial<GetPriceResponse>): GetPriceResponse {\n const message = createBaseGetPriceResponse();\n message.price = object.price ?? 0;\n message.timestamp = object.timestamp ?? undefined;\n return message;\n },\n};\n\nexport type PriceServiceDefinition = typeof PriceServiceDefinition;\nexport const PriceServiceDefinition = {\n name: \"PriceService\",\n fullName: \"price_service.PriceService\",\n methods: {\n getPrice: {\n name: \"GetPrice\",\n requestType: GetPriceRequest,\n requestStream: false,\n responseType: GetPriceResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\nexport interface PriceServiceServiceImplementation<CallContextExt = {}> {\n getPrice(\n request: GetPriceRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<GetPriceResponse>>;\n}\n\nexport interface PriceServiceClient<CallOptionsExt = {}> {\n getPrice(\n request: DeepPartial<GetPriceRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<GetPriceResponse>;\n}\n\ntype Builtin =\n | Date\n | Function\n | Uint8Array\n | string\n | number\n | boolean\n | undefined;\n\ntype DeepPartial<T> = T extends Builtin\n ? T\n : T extends Long\n ? string | number | Long\n : T extends Array<infer U>\n ? Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U>\n ? ReadonlyArray<DeepPartial<U>>\n : T extends {}\n ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = numberToLong(date.getTime() / 1_000);\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = t.seconds.toNumber() * 1_000;\n millis += t.nanos / 1_000_000;\n return new Date(millis);\n}\n\nfunction fromJsonTimestamp(o: any): Date {\n if (o instanceof Date) {\n return o;\n } else if (typeof o === \"string\") {\n return new Date(o);\n } else {\n return fromTimestamp(Timestamp.fromJSON(o));\n }\n}\n\nfunction numberToLong(number: number) {\n return Long.fromNumber(number);\n}\n\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n"]}
|
package/lib/processor-runner.js
CHANGED
|
@@ -14,7 +14,9 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
14
14
|
const processor_state_1 = require("./processor-state");
|
|
15
15
|
const loader_1 = require("./loader");
|
|
16
16
|
const compression_algorithms_1 = require("@grpc/grpc-js/build/src/compression-algorithms");
|
|
17
|
+
const endpoints_1 = require("./endpoints");
|
|
17
18
|
global.PROCESSOR_STATE = new processor_state_1.ProcessorState();
|
|
19
|
+
global.ENDPOINTS = new endpoints_1.Endpoints();
|
|
18
20
|
const optionDefinitions = [
|
|
19
21
|
{ name: 'target', type: String, defaultOption: true },
|
|
20
22
|
{ name: 'port', alias: 'p', type: String, defaultValue: '4000' },
|
|
@@ -26,12 +28,16 @@ const optionDefinitions = [
|
|
|
26
28
|
type: String,
|
|
27
29
|
defaultValue: 'chains-config.json',
|
|
28
30
|
},
|
|
31
|
+
{ name: 'chainquery-server', type: String, defaultValue: '' },
|
|
32
|
+
{ name: 'pricefeed-server', type: String, defaultValue: '' },
|
|
29
33
|
];
|
|
30
34
|
const options = (0, command_line_args_1.default)(optionDefinitions, { partial: true });
|
|
31
35
|
console.log('loading', options.target);
|
|
32
36
|
const fullPath = path_1.default.resolve(options['chains-config']);
|
|
33
37
|
const chainsConfig = fs_extra_1.default.readJsonSync(fullPath);
|
|
34
38
|
(0, provider_1.setProvider)(chainsConfig, options.concurrency, options['use-chainserver']);
|
|
39
|
+
globalThis.ENDPOINTS.chainQueryAPI = options['chainquery-server'];
|
|
40
|
+
globalThis.ENDPOINTS.priceFeedAPI = options['pricefeed-server'];
|
|
35
41
|
console.log('Start Server', options);
|
|
36
42
|
const server = (0, nice_grpc_1.createServer)({
|
|
37
43
|
'grpc.max_send_message_length': 128 * 1024 * 1024,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-runner.js","sourceRoot":"","sources":["../src/processor-runner.ts"],"names":[],"mappings":";;;;;;AAEA,0EAA+C;AAC/C,yCAAwC;AACxC,+BAA2C;AAC3C,uCAAgD;AAChD,yCAAwC;AAExC,gDAAuB;AACvB,wDAAyB;AACzB,uDAAkD;AAClD,qCAA+B;AAC/B,2FAAsF;
|
|
1
|
+
{"version":3,"file":"processor-runner.js","sourceRoot":"","sources":["../src/processor-runner.ts"],"names":[],"mappings":";;;;;;AAEA,0EAA+C;AAC/C,yCAAwC;AACxC,+BAA2C;AAC3C,uCAAgD;AAChD,yCAAwC;AAExC,gDAAuB;AACvB,wDAAyB;AACzB,uDAAkD;AAClD,qCAA+B;AAC/B,2FAAsF;AACtF,2CAAuC;AAEvC,MAAM,CAAC,eAAe,GAAG,IAAI,gCAAc,EAAE,CAAA;AAC7C,MAAM,CAAC,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAA;AAElC,MAAM,iBAAiB,GAAG;IACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;IAChE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE;IACtD,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;IAC/D;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,oBAAoB;KACnC;IACD,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE;IAC7D,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE;CAC7D,CAAA;AAED,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAErE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AAEtC,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;AACvD,MAAM,YAAY,GAAG,kBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE9C,IAAA,sBAAW,EAAC,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAC1E,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AACjE,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAE/D,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAEpC,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC;IAC1B,8BAA8B,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IACjD,iCAAiC,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IACpD,oCAAoC,EAAE,8CAAqB,CAAC,IAAI;CACjE,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,IAAI,8BAAoB,CAAC,GAAG,EAAE,CAAC,IAAA,aAAI,EAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;AACrF,MAAM,CAAC,GAAG,CAAC,yBAAmB,EAAE,OAAO,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA","sourcesContent":["#!/usr/bin/env node\n\nimport commandLineArgs from 'command-line-args'\nimport { createServer } from 'nice-grpc'\nimport { ProcessorDefinition } from './gen'\nimport { ProcessorServiceImpl } from './service'\nimport { setProvider } from './provider'\n\nimport path from 'path'\nimport fs from 'fs-extra'\nimport { ProcessorState } from './processor-state'\nimport { load } from './loader'\nimport { CompressionAlgorithms } from '@grpc/grpc-js/build/src/compression-algorithms'\nimport { Endpoints } from './endpoints'\n\nglobal.PROCESSOR_STATE = new ProcessorState()\nglobal.ENDPOINTS = new Endpoints()\n\nconst optionDefinitions = [\n { name: 'target', type: String, defaultOption: true },\n { name: 'port', alias: 'p', type: String, defaultValue: '4000' },\n { name: 'concurrency', type: Number, defaultValue: 4 },\n { name: 'use-chainserver', type: Boolean, defaultValue: false },\n {\n name: 'chains-config',\n alias: 'c',\n type: String,\n defaultValue: 'chains-config.json',\n },\n { name: 'chainquery-server', type: String, defaultValue: '' },\n { name: 'pricefeed-server', type: String, defaultValue: '' },\n]\n\nconst options = commandLineArgs(optionDefinitions, { partial: true })\n\nconsole.log('loading', options.target)\n\nconst fullPath = path.resolve(options['chains-config'])\nconst chainsConfig = fs.readJsonSync(fullPath)\n\nsetProvider(chainsConfig, options.concurrency, options['use-chainserver'])\nglobalThis.ENDPOINTS.chainQueryAPI = options['chainquery-server']\nglobalThis.ENDPOINTS.priceFeedAPI = options['pricefeed-server']\n\nconsole.log('Start Server', options)\n\nconst server = createServer({\n 'grpc.max_send_message_length': 128 * 1024 * 1024,\n 'grpc.max_receive_message_length': 128 * 1024 * 1024,\n 'grpc.default_compression_algorithm': CompressionAlgorithms.gzip,\n})\n\nconst service = new ProcessorServiceImpl(() => load(options.target), server.shutdown)\nserver.add(ProcessorDefinition, service)\n\nserver.listen('0.0.0.0:' + options.port)\n"]}
|
package/lib/processor-state.d.ts
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
import { BaseProcessor, BoundContractView, ContractView, BaseProcessorTemplate, SolanaBaseProcessor, SuiBaseProcessor } from './core';
|
|
2
|
-
import { AptosBaseProcessor } from './aptos';
|
|
1
|
+
import { BaseProcessor, BoundContractView, ContractView, BaseProcessorTemplate, SolanaBaseProcessor, SuiBaseProcessor, EventTracker } from './core';
|
|
3
2
|
import { BaseContract } from 'ethers';
|
|
4
3
|
import { TemplateInstance } from './gen';
|
|
5
|
-
import { Provider } from '@ethersproject/providers';
|
|
6
|
-
import { EventTracker } from './core';
|
|
7
4
|
import { Metric } from './core/meter';
|
|
8
|
-
import { AptosAccountProcessor } from './aptos/aptos-processor';
|
|
9
5
|
import { Exporter } from './core/exporter';
|
|
6
|
+
import { AptosBaseProcessor, AptosAccountProcessor } from './aptos/aptos-processor';
|
|
10
7
|
export declare class ProcessorState {
|
|
11
8
|
contracts: Map<string, ContractView<BaseContract>>;
|
|
12
9
|
processors: BaseProcessor<BaseContract, BoundContractView<BaseContract, any>>[];
|
|
13
10
|
processorMap: Map<string, BaseProcessor<any, any>>;
|
|
14
|
-
providers: Map<number, Provider>;
|
|
15
11
|
templates: BaseProcessorTemplate<BaseContract, BoundContractView<BaseContract, any>>[];
|
|
16
12
|
templatesInstances: TemplateInstance[];
|
|
17
13
|
solanaProcessors: SolanaBaseProcessor[];
|
package/lib/processor-state.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-state.js","sourceRoot":"","sources":["../src/processor-state.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"processor-state.js","sourceRoot":"","sources":["../src/processor-state.ts"],"names":[],"mappings":";;;AAgBA,MAAa,cAAc;IACzB,mDAAmD;IACnD,SAAS,GAAG,IAAI,GAAG,EAAsC,CAAA;IACzD,qBAAqB;IACrB,UAAU,GAAwE,EAAE,CAAA;IACpF,oCAAoC;IACpC,YAAY,GAAG,IAAI,GAAG,EAAmC,CAAA;IACzD,0BAA0B;IAC1B,SAAS,GAAgF,EAAE,CAAA;IAC3F,wCAAwC;IACxC,kBAAkB,GAAuB,EAAE,CAAA;IAE3C,gBAAgB,GAA0B,EAAE,CAAA;IAE5C,aAAa,GAAuB,EAAE,CAAA;IAEtC,eAAe,GAAyB,EAAE,CAAA;IAC1C,sBAAsB,GAA4B,EAAE,CAAA;IAEpD,aAAa,GAAmB,EAAE,CAAA;IAElC,SAAS,GAAe,EAAE,CAAA;IAE1B,OAAO,GAAa,EAAE,CAAA;CACvB;AAxBD,wCAwBC","sourcesContent":["import {\n BaseProcessor,\n BoundContractView,\n ContractView,\n BaseProcessorTemplate,\n SolanaBaseProcessor,\n SuiBaseProcessor,\n EventTracker,\n} from './core'\n\nimport { BaseContract } from 'ethers'\nimport { TemplateInstance } from './gen'\nimport { Metric } from './core/meter'\nimport { Exporter } from './core/exporter'\nimport { AptosBaseProcessor, AptosAccountProcessor } from './aptos/aptos-processor'\n\nexport class ProcessorState {\n // from abiName_address_chainId => contract wrapper\n contracts = new Map<string, ContractView<BaseContract>>()\n // all evm processors\n processors: BaseProcessor<BaseContract, BoundContractView<BaseContract, any>>[] = []\n // from abiName_options to contracts\n processorMap = new Map<string, BaseProcessor<any, any>>()\n // evm processor templates\n templates: BaseProcessorTemplate<BaseContract, BoundContractView<BaseContract, any>>[] = []\n // evm processor template instances spec\n templatesInstances: TemplateInstance[] = []\n\n solanaProcessors: SolanaBaseProcessor[] = []\n\n suiProcessors: SuiBaseProcessor[] = []\n\n aptosProcessors: AptosBaseProcessor[] = []\n aptosAccountProcessors: AptosAccountProcessor[] = []\n\n eventTrackers: EventTracker[] = []\n\n exporters: Exporter[] = []\n\n metrics: Metric[] = []\n}\n"]}
|
package/lib/provider.js
CHANGED
|
@@ -12,21 +12,21 @@ function getProvider(networkish) {
|
|
|
12
12
|
networkish = 1;
|
|
13
13
|
}
|
|
14
14
|
const network = (0, providers_1.getNetwork)(networkish);
|
|
15
|
-
if (!global.
|
|
15
|
+
if (!global.ENDPOINTS.providers) {
|
|
16
16
|
throw Error('Provider not set');
|
|
17
17
|
}
|
|
18
|
-
const value = global.
|
|
18
|
+
const value = global.ENDPOINTS.providers.get(network.chainId);
|
|
19
19
|
if (value === undefined) {
|
|
20
20
|
throw Error('Provider not found for chain ' +
|
|
21
21
|
network.chainId +
|
|
22
22
|
', configured chains: ' +
|
|
23
|
-
[...global.
|
|
23
|
+
[...global.ENDPOINTS.providers.keys()].join(' '));
|
|
24
24
|
}
|
|
25
25
|
return value;
|
|
26
26
|
}
|
|
27
27
|
exports.getProvider = getProvider;
|
|
28
28
|
function setProvider(config, concurrency = 4, useChainServer = false) {
|
|
29
|
-
|
|
29
|
+
globalThis.ENDPOINTS.providers = new Map();
|
|
30
30
|
for (const chainIdStr in config) {
|
|
31
31
|
if (isNaN(Number.parseInt(chainIdStr))) {
|
|
32
32
|
continue;
|
|
@@ -49,7 +49,7 @@ function setProvider(config, concurrency = 4, useChainServer = false) {
|
|
|
49
49
|
rpcAddress = chainConfig.Https[idx];
|
|
50
50
|
}
|
|
51
51
|
const provider = new QueuedStaticJsonRpcProvider(rpcAddress, chainId, concurrency);
|
|
52
|
-
global.
|
|
52
|
+
global.ENDPOINTS.providers.set(chainId, provider);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
exports.setProvider = setProvider;
|
package/lib/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAsF;AAEtF,sDAA4B;AAIf,QAAA,aAAa,GAAG,IAAI,iCAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;AAEpE,SAAgB,WAAW,CAAC,UAAuB;IACjD,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,CAAC,CAAA;KACf;IACD,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAA;IAEtC,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAsF;AAEtF,sDAA4B;AAIf,QAAA,aAAa,GAAG,IAAI,iCAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;AAEpE,SAAgB,WAAW,CAAC,UAAuB;IACjD,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,CAAC,CAAA;KACf;IACD,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAA;IAEtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE;QAC/B,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAA;KAChC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7D,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,KAAK,CACT,+BAA+B;YAC7B,OAAO,CAAC,OAAO;YACf,uBAAuB;YACvB,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACnD,CAAA;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAnBD,kCAmBC;AAED,SAAgB,WAAW,CAAC,MAAmC,EAAE,WAAW,GAAG,CAAC,EAAE,cAAc,GAAG,KAAK;IACtG,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAA;IAE5D,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE;QAC/B,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;YACtC,SAAQ;SACT;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;QAElC,8CAA8C;QAC9C,0CAA0C;QAC1C,6DAA6D;QAC7D,IAAI;QACJ,iBAAiB;QACjB,wDAAwD;QAExD,mDAAmD;QAEnD,IAAI,UAAU,GAAG,EAAE,CAAA;QACnB,IAAI,cAAc,IAAI,WAAW,CAAC,WAAW,EAAE;YAC7C,UAAU,GAAG,WAAW,CAAC,WAAW,CAAA;SACrC;aAAM;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAChE,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACpC;QAED,MAAM,QAAQ,GAAG,IAAI,2BAA2B,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAClF,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;KAClD;AACH,CAAC;AA/BD,kCA+BC;AAED,MAAM,2BAA4B,SAAQ,iCAAqB;IAC7D,QAAQ,CAAQ;IAEhB,YAAY,GAA4B,EAAE,OAAmB,EAAE,WAAmB;QAChF,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAM,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,MAAkB;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5D,CAAC;CACF","sourcesContent":["import { getNetwork, Provider, StaticJsonRpcProvider } from '@ethersproject/providers'\nimport { Networkish } from '@ethersproject/networks'\nimport PQueue from 'p-queue'\nimport { ConnectionInfo } from '@ethersproject/web'\nimport { ChainConfig } from './chain-config'\n\nexport const DummyProvider = new StaticJsonRpcProvider(undefined, 1)\n\nexport function getProvider(networkish?: Networkish): Provider {\n if (!networkish) {\n networkish = 1\n }\n const network = getNetwork(networkish)\n\n if (!global.ENDPOINTS.providers) {\n throw Error('Provider not set')\n }\n const value = global.ENDPOINTS.providers.get(network.chainId)\n if (value === undefined) {\n throw Error(\n 'Provider not found for chain ' +\n network.chainId +\n ', configured chains: ' +\n [...global.ENDPOINTS.providers.keys()].join(' ')\n )\n }\n return value\n}\n\nexport function setProvider(config: Record<string, ChainConfig>, concurrency = 4, useChainServer = false) {\n globalThis.ENDPOINTS.providers = new Map<number, Provider>()\n\n for (const chainIdStr in config) {\n if (isNaN(Number.parseInt(chainIdStr))) {\n continue\n }\n\n const chainConfig = config[chainIdStr]\n const chainId = Number(chainIdStr)\n\n // let providers: StaticJsonRpcProvider[] = []\n // for (const http of chainConfig.Https) {\n // providers.push(new StaticJsonRpcProvider(http, chainId))\n // }\n // random shuffle\n // providers = providers.sort(() => Math.random() - 0.5)\n\n // const provider = new FallbackProvider(providers)\n\n let rpcAddress = ''\n if (useChainServer && chainConfig.ChainServer) {\n rpcAddress = chainConfig.ChainServer\n } else {\n const idx = Math.floor(Math.random() * chainConfig.Https.length)\n rpcAddress = chainConfig.Https[idx]\n }\n\n const provider = new QueuedStaticJsonRpcProvider(rpcAddress, chainId, concurrency)\n global.ENDPOINTS.providers.set(chainId, provider)\n }\n}\n\nclass QueuedStaticJsonRpcProvider extends StaticJsonRpcProvider {\n executor: PQueue\n\n constructor(url: ConnectionInfo | string, network: Networkish, concurrency: number) {\n super(url, network)\n this.executor = new PQueue({ concurrency: concurrency })\n }\n\n send(method: string, params: Array<any>): Promise<any> {\n return this.executor.add(() => super.send(method, params))\n }\n}\n"]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { BlockBinding, ContractConfig, DataBinding, ProcessBindingResponse, ProcessBindingsRequest, ProcessBlocksRequest, ProcessConfigRequest, ProcessConfigResponse, ProcessInstructionsRequest,
|
|
1
|
+
import { BlockBinding, ContractConfig, DataBinding, ProcessBindingResponse, ProcessBindingsRequest, ProcessBlocksRequest, ProcessConfigRequest, ProcessConfigResponse, ProcessInstructionsRequest, ProcessorServiceImplementation, ProcessTransactionsRequest, StartRequest } from '../gen';
|
|
2
2
|
import { CallContext } from 'nice-grpc-common';
|
|
3
3
|
import { Empty } from '../gen/google/protobuf/empty';
|
|
4
4
|
import { Block, Log } from '@ethersproject/abstract-provider';
|
|
5
5
|
import { Networkish } from '@ethersproject/providers';
|
|
6
|
+
import { ProcessorServiceImpl } from '../service';
|
|
7
|
+
import { Trace } from '../core/trace';
|
|
6
8
|
export declare const TEST_CONTEXT: CallContext;
|
|
9
|
+
export declare function cleanTest(): void;
|
|
7
10
|
export declare class TestProcessorServer implements ProcessorServiceImplementation {
|
|
8
11
|
service: ProcessorServiceImpl;
|
|
9
12
|
contractConfig: ContractConfig[];
|
|
@@ -3,21 +3,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TestProcessorServer = exports.TEST_CONTEXT = void 0;
|
|
7
|
-
const
|
|
6
|
+
exports.TestProcessorServer = exports.cleanTest = exports.TEST_CONTEXT = void 0;
|
|
7
|
+
const gen_1 = require("../gen");
|
|
8
8
|
const chain_1 = require("../utils/chain");
|
|
9
9
|
const long_1 = __importDefault(require("long"));
|
|
10
10
|
const providers_1 = require("@ethersproject/providers");
|
|
11
|
+
const endpoints_1 = require("../endpoints");
|
|
12
|
+
const processor_state_1 = require("../processor-state");
|
|
13
|
+
const service_1 = require("../service");
|
|
14
|
+
const provider_1 = require("../provider");
|
|
11
15
|
exports.TEST_CONTEXT = {};
|
|
12
16
|
function cleanTest() {
|
|
13
|
-
global.PROCESSOR_STATE = new
|
|
17
|
+
global.PROCESSOR_STATE = new processor_state_1.ProcessorState();
|
|
18
|
+
if (!global.ENDPOINTS) {
|
|
19
|
+
global.ENDPOINTS = new endpoints_1.Endpoints();
|
|
20
|
+
}
|
|
14
21
|
}
|
|
22
|
+
exports.cleanTest = cleanTest;
|
|
15
23
|
class TestProcessorServer {
|
|
16
24
|
service;
|
|
17
25
|
contractConfig;
|
|
18
26
|
constructor(loader, httpEndpoints = {}) {
|
|
19
27
|
cleanTest();
|
|
20
|
-
this.service = new
|
|
28
|
+
this.service = new service_1.ProcessorServiceImpl(loader);
|
|
21
29
|
const dummyConfig = {};
|
|
22
30
|
for (const k in chain_1.CHAIN_MAP) {
|
|
23
31
|
const http = httpEndpoints[k] || '';
|
|
@@ -26,7 +34,7 @@ class TestProcessorServer {
|
|
|
26
34
|
Https: [http],
|
|
27
35
|
};
|
|
28
36
|
}
|
|
29
|
-
(0,
|
|
37
|
+
(0, provider_1.setProvider)(dummyConfig);
|
|
30
38
|
}
|
|
31
39
|
async start(request = { templateInstances: [] }, context = exports.TEST_CONTEXT) {
|
|
32
40
|
const res = await this.service.start(request, context);
|
|
@@ -89,7 +97,7 @@ class TestProcessorServer {
|
|
|
89
97
|
raw: toBytes(trace),
|
|
90
98
|
},
|
|
91
99
|
handlerId: config.handlerId,
|
|
92
|
-
handlerType:
|
|
100
|
+
handlerType: gen_1.HandlerType.ETH_TRACE,
|
|
93
101
|
};
|
|
94
102
|
}
|
|
95
103
|
}
|
|
@@ -146,7 +154,7 @@ class TestProcessorServer {
|
|
|
146
154
|
raw: toBytes(log),
|
|
147
155
|
},
|
|
148
156
|
handlerId: config.handlerId,
|
|
149
|
-
handlerType:
|
|
157
|
+
handlerType: gen_1.HandlerType.ETH_LOG,
|
|
150
158
|
};
|
|
151
159
|
}
|
|
152
160
|
}
|