@sentio/sdk 1.36.4 → 1.37.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/aptos/api.d.ts +1 -1
- package/lib/aptos/api.js +1 -1
- package/lib/aptos/api.js.map +1 -1
- package/lib/aptos/aptos-plugin.d.ts +2 -2
- package/lib/aptos/aptos-plugin.js +14 -19
- package/lib/aptos/aptos-plugin.js.map +1 -1
- package/lib/aptos/aptos-processor.d.ts +2 -2
- package/lib/aptos/aptos-processor.js +3 -3
- package/lib/aptos/aptos-processor.js.map +1 -1
- package/lib/aptos/context.d.ts +1 -1
- package/lib/aptos/context.js +2 -6
- package/lib/aptos/context.js.map +1 -1
- package/lib/binds.d.ts +1 -1
- package/lib/binds.js +2 -2
- package/lib/binds.js.map +1 -1
- package/lib/builtin/internal/eacaggregatorproxy_processor.js +18 -18
- package/lib/builtin/internal/eacaggregatorproxy_processor.js.map +1 -1
- package/lib/builtin/internal/erc1155_processor.js +5 -5
- package/lib/builtin/internal/erc1155_processor.js.map +1 -1
- package/lib/builtin/internal/erc20_processor.js +8 -8
- package/lib/builtin/internal/erc20_processor.js.map +1 -1
- package/lib/builtin/internal/erc20bytes_processor.js +6 -6
- package/lib/builtin/internal/erc20bytes_processor.js.map +1 -1
- package/lib/builtin/internal/erc721_processor.js +9 -9
- package/lib/builtin/internal/erc721_processor.js.map +1 -1
- package/lib/builtin/internal/weth9_processor.js +6 -6
- package/lib/builtin/internal/weth9_processor.js.map +1 -1
- package/lib/core/account-processor.d.ts +1 -1
- package/lib/core/account-processor.js +2 -2
- package/lib/core/account-processor.js.map +1 -1
- package/lib/core/base-context.d.ts +1 -1
- package/lib/core/base-context.js.map +1 -1
- package/lib/core/base-processor-template.d.ts +2 -2
- package/lib/core/base-processor-template.js +7 -21
- package/lib/core/base-processor-template.js.map +1 -1
- package/lib/core/base-processor.d.ts +1 -1
- package/lib/core/base-processor.js +6 -20
- package/lib/core/base-processor.js.map +1 -1
- package/lib/core/bind-options.d.ts +5 -6
- package/lib/core/bind-options.js.map +1 -1
- package/lib/core/context.d.ts +4 -5
- package/lib/core/context.js +6 -10
- package/lib/core/context.js.map +1 -1
- package/lib/core/eth-plugin.d.ts +2 -2
- package/lib/core/eth-plugin.js +8 -12
- package/lib/core/eth-plugin.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 +2 -2
- package/lib/core/exporter.js.map +1 -1
- package/lib/core/generic-processor.test.js.map +1 -1
- package/lib/core/index.d.ts +1 -1
- package/lib/core/index.js +2 -1
- package/lib/core/index.js.map +1 -1
- package/lib/core/logger.d.ts +1 -1
- package/lib/core/logger.js +5 -5
- package/lib/core/logger.js.map +1 -1
- package/lib/core/meter.d.ts +2 -2
- package/lib/core/meter.js +10 -10
- package/lib/core/meter.js.map +1 -1
- package/lib/core/numberish.d.ts +3 -3
- package/lib/core/numberish.js +18 -12
- package/lib/core/numberish.js.map +1 -1
- package/lib/core/numberish.test.js.map +1 -1
- package/lib/core/solana-context.d.ts +2 -3
- package/lib/core/solana-context.js.map +1 -1
- package/lib/core/solana-options.d.ts +2 -3
- package/lib/core/solana-options.js.map +1 -1
- package/lib/core/solana-plugin.d.ts +2 -2
- package/lib/core/solana-plugin.js +6 -6
- package/lib/core/solana-plugin.js.map +1 -1
- package/lib/core/solana-processor.d.ts +7 -8
- package/lib/core/solana-processor.js +5 -15
- package/lib/core/solana-processor.js.map +1 -1
- package/lib/core/sui-plugin.d.ts +2 -2
- package/lib/core/sui-plugin.js +5 -5
- package/lib/core/sui-plugin.js.map +1 -1
- package/lib/core/sui-processor.d.ts +8 -9
- package/lib/core/sui-processor.js +5 -15
- package/lib/core/sui-processor.js.map +1 -1
- package/lib/index.d.ts +2 -3
- package/lib/index.js +3 -5
- package/lib/index.js.map +1 -1
- package/lib/processor-runner.js +4 -4
- package/lib/processor-runner.js.map +1 -1
- package/lib/service.d.ts +3 -4
- package/lib/service.js +7 -11
- package/lib/service.js.map +1 -1
- package/lib/target-ethers-sentio/file.js +1 -0
- package/lib/target-ethers-sentio/file.js.map +1 -1
- package/lib/target-ethers-sentio/view-function.js +1 -1
- package/lib/testing/metric-utils.d.ts +1 -1
- package/lib/testing/metric-utils.js.map +1 -1
- package/lib/testing/test-processor-server.d.ts +3 -3
- package/lib/testing/test-processor-server.js +10 -22
- package/lib/testing/test-processor-server.js.map +1 -1
- package/lib/utils/conversion.d.ts +1 -1
- 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 -10
- package/lib/utils/price.js +1 -1
- package/lib/utils/price.js.map +1 -1
- package/package.json +4 -2
- package/src/aptos/api.ts +1 -1
- package/src/aptos/aptos-plugin.ts +10 -11
- package/src/aptos/aptos-processor.ts +2 -2
- package/src/aptos/context.ts +3 -4
- package/src/binds.ts +1 -1
- package/src/builtin/internal/eacaggregatorproxy_processor.ts +19 -18
- package/src/builtin/internal/erc1155_processor.ts +6 -5
- package/src/builtin/internal/erc20_processor.ts +9 -8
- package/src/builtin/internal/erc20bytes_processor.ts +7 -6
- package/src/builtin/internal/erc721_processor.ts +10 -9
- package/src/builtin/internal/weth9_processor.ts +7 -6
- package/src/core/account-processor.ts +1 -1
- package/src/core/base-context.ts +1 -1
- package/src/core/base-processor-template.ts +6 -15
- package/src/core/base-processor.ts +4 -13
- package/src/core/bind-options.ts +5 -6
- package/src/core/context.ts +10 -11
- package/src/core/eth-plugin.ts +3 -4
- package/src/core/event-tracker.ts +2 -2
- package/src/core/exporter.ts +1 -1
- package/src/core/index.ts +1 -1
- package/src/core/logger.ts +1 -1
- package/src/core/meter.ts +2 -2
- package/src/core/numberish.ts +12 -6
- package/src/core/solana-context.ts +2 -3
- package/src/core/solana-options.ts +2 -4
- package/src/core/solana-plugin.ts +3 -3
- package/src/core/solana-processor.ts +10 -17
- package/src/core/sui-plugin.ts +3 -8
- package/src/core/sui-processor.ts +11 -18
- package/src/index.ts +3 -5
- package/src/processor-runner.ts +3 -3
- package/src/service.ts +5 -5
- package/src/target-ethers-sentio/file.ts +1 -0
- package/src/target-ethers-sentio/view-function.ts +1 -1
- package/src/testing/metric-utils.ts +1 -1
- package/src/testing/test-processor-server.ts +6 -16
- package/src/types/global.d.ts +2 -2
- package/src/utils/conversion.ts +1 -1
- package/src/utils/price.ts +1 -1
- package/lib/gen/builtin.d.ts +0 -6
- package/lib/gen/builtin.js +0 -3
- package/lib/gen/builtin.js.map +0 -1
- package/lib/gen/chainquery/protos/chainquery.d.ts +0 -400
- package/lib/gen/chainquery/protos/chainquery.js +0 -972
- package/lib/gen/chainquery/protos/chainquery.js.map +0 -1
- package/lib/gen/google/protobuf/empty.d.ts +0 -16
- package/lib/gen/google/protobuf/empty.js +0 -47
- package/lib/gen/google/protobuf/empty.js.map +0 -1
- package/lib/gen/google/protobuf/struct.d.ts +0 -73
- package/lib/gen/google/protobuf/struct.js +0 -371
- package/lib/gen/google/protobuf/struct.js.map +0 -1
- package/lib/gen/google/protobuf/timestamp.d.ts +0 -18
- package/lib/gen/google/protobuf/timestamp.js +0 -71
- package/lib/gen/google/protobuf/timestamp.js.map +0 -1
- package/lib/gen/index.d.ts +0 -2
- package/lib/gen/index.js +0 -19
- package/lib/gen/index.js.map +0 -1
- package/lib/gen/processor/protos/processor.d.ts +0 -826
- package/lib/gen/processor/protos/processor.js +0 -3988
- package/lib/gen/processor/protos/processor.js.map +0 -1
- package/lib/gen/service/price/protos/price.d.ts +0 -85
- package/lib/gen/service/price/protos/price.js +0 -269
- package/lib/gen/service/price/protos/price.js.map +0 -1
- package/lib/plugin.d.ts +0 -15
- package/lib/plugin.js +0 -32
- package/lib/plugin.js.map +0 -1
- package/lib/state/processor-state.d.ts +0 -3
- package/lib/state/processor-state.js +0 -8
- package/lib/state/processor-state.js.map +0 -1
- package/lib/state/state-storage.d.ts +0 -17
- package/lib/state/state-storage.js +0 -60
- package/lib/state/state-storage.js.map +0 -1
- package/lib/state/state-storage.test.d.ts +0 -1
- package/lib/state/state-storage.test.js.map +0 -1
- package/src/gen/builtin.ts +0 -22
- package/src/gen/chainquery/protos/chainquery.ts +0 -1212
- package/src/gen/google/protobuf/empty.ts +0 -58
- package/src/gen/google/protobuf/struct.ts +0 -422
- package/src/gen/google/protobuf/timestamp.ts +0 -85
- package/src/gen/index.ts +0 -3
- package/src/gen/processor/protos/processor.ts +0 -4619
- package/src/gen/service/price/protos/price.ts +0 -329
- package/src/plugin.ts +0 -41
- package/src/state/processor-state.ts +0 -3
- package/src/state/state-storage.ts +0 -65
|
@@ -1,329 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
import Long from "long";
|
|
3
|
-
import type { CallContext, CallOptions } from "nice-grpc-common";
|
|
4
|
-
import _m0 from "protobufjs/minimal";
|
|
5
|
-
import { Timestamp } from "../../../google/protobuf/timestamp";
|
|
6
|
-
|
|
7
|
-
export interface CoinID {
|
|
8
|
-
symbol?: string | undefined;
|
|
9
|
-
address?: CoinID_AddressIdentifier | undefined;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export interface CoinID_AddressIdentifier {
|
|
13
|
-
address: string;
|
|
14
|
-
chain: string;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export interface GetPriceRequest {
|
|
18
|
-
timestamp: Date | undefined;
|
|
19
|
-
coinId: CoinID | undefined;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface GetPriceResponse {
|
|
23
|
-
price: number;
|
|
24
|
-
timestamp: Date | undefined;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function createBaseCoinID(): CoinID {
|
|
28
|
-
return { symbol: undefined, address: undefined };
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export const CoinID = {
|
|
32
|
-
encode(message: CoinID, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
33
|
-
if (message.symbol !== undefined) {
|
|
34
|
-
writer.uint32(18).string(message.symbol);
|
|
35
|
-
}
|
|
36
|
-
if (message.address !== undefined) {
|
|
37
|
-
CoinID_AddressIdentifier.encode(message.address, writer.uint32(26).fork()).ldelim();
|
|
38
|
-
}
|
|
39
|
-
return writer;
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
decode(input: _m0.Reader | Uint8Array, length?: number): CoinID {
|
|
43
|
-
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
44
|
-
let end = length === undefined ? reader.len : reader.pos + length;
|
|
45
|
-
const message = createBaseCoinID();
|
|
46
|
-
while (reader.pos < end) {
|
|
47
|
-
const tag = reader.uint32();
|
|
48
|
-
switch (tag >>> 3) {
|
|
49
|
-
case 2:
|
|
50
|
-
message.symbol = reader.string();
|
|
51
|
-
break;
|
|
52
|
-
case 3:
|
|
53
|
-
message.address = CoinID_AddressIdentifier.decode(reader, reader.uint32());
|
|
54
|
-
break;
|
|
55
|
-
default:
|
|
56
|
-
reader.skipType(tag & 7);
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return message;
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
fromJSON(object: any): CoinID {
|
|
64
|
-
return {
|
|
65
|
-
symbol: isSet(object.symbol) ? String(object.symbol) : undefined,
|
|
66
|
-
address: isSet(object.address) ? CoinID_AddressIdentifier.fromJSON(object.address) : undefined,
|
|
67
|
-
};
|
|
68
|
-
},
|
|
69
|
-
|
|
70
|
-
toJSON(message: CoinID): unknown {
|
|
71
|
-
const obj: any = {};
|
|
72
|
-
message.symbol !== undefined && (obj.symbol = message.symbol);
|
|
73
|
-
message.address !== undefined &&
|
|
74
|
-
(obj.address = message.address ? CoinID_AddressIdentifier.toJSON(message.address) : undefined);
|
|
75
|
-
return obj;
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
fromPartial(object: DeepPartial<CoinID>): CoinID {
|
|
79
|
-
const message = createBaseCoinID();
|
|
80
|
-
message.symbol = object.symbol ?? undefined;
|
|
81
|
-
message.address = (object.address !== undefined && object.address !== null)
|
|
82
|
-
? CoinID_AddressIdentifier.fromPartial(object.address)
|
|
83
|
-
: undefined;
|
|
84
|
-
return message;
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
function createBaseCoinID_AddressIdentifier(): CoinID_AddressIdentifier {
|
|
89
|
-
return { address: "", chain: "" };
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export const CoinID_AddressIdentifier = {
|
|
93
|
-
encode(message: CoinID_AddressIdentifier, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
94
|
-
if (message.address !== "") {
|
|
95
|
-
writer.uint32(10).string(message.address);
|
|
96
|
-
}
|
|
97
|
-
if (message.chain !== "") {
|
|
98
|
-
writer.uint32(18).string(message.chain);
|
|
99
|
-
}
|
|
100
|
-
return writer;
|
|
101
|
-
},
|
|
102
|
-
|
|
103
|
-
decode(input: _m0.Reader | Uint8Array, length?: number): CoinID_AddressIdentifier {
|
|
104
|
-
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
105
|
-
let end = length === undefined ? reader.len : reader.pos + length;
|
|
106
|
-
const message = createBaseCoinID_AddressIdentifier();
|
|
107
|
-
while (reader.pos < end) {
|
|
108
|
-
const tag = reader.uint32();
|
|
109
|
-
switch (tag >>> 3) {
|
|
110
|
-
case 1:
|
|
111
|
-
message.address = reader.string();
|
|
112
|
-
break;
|
|
113
|
-
case 2:
|
|
114
|
-
message.chain = reader.string();
|
|
115
|
-
break;
|
|
116
|
-
default:
|
|
117
|
-
reader.skipType(tag & 7);
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return message;
|
|
122
|
-
},
|
|
123
|
-
|
|
124
|
-
fromJSON(object: any): CoinID_AddressIdentifier {
|
|
125
|
-
return {
|
|
126
|
-
address: isSet(object.address) ? String(object.address) : "",
|
|
127
|
-
chain: isSet(object.chain) ? String(object.chain) : "",
|
|
128
|
-
};
|
|
129
|
-
},
|
|
130
|
-
|
|
131
|
-
toJSON(message: CoinID_AddressIdentifier): unknown {
|
|
132
|
-
const obj: any = {};
|
|
133
|
-
message.address !== undefined && (obj.address = message.address);
|
|
134
|
-
message.chain !== undefined && (obj.chain = message.chain);
|
|
135
|
-
return obj;
|
|
136
|
-
},
|
|
137
|
-
|
|
138
|
-
fromPartial(object: DeepPartial<CoinID_AddressIdentifier>): CoinID_AddressIdentifier {
|
|
139
|
-
const message = createBaseCoinID_AddressIdentifier();
|
|
140
|
-
message.address = object.address ?? "";
|
|
141
|
-
message.chain = object.chain ?? "";
|
|
142
|
-
return message;
|
|
143
|
-
},
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
function createBaseGetPriceRequest(): GetPriceRequest {
|
|
147
|
-
return { timestamp: undefined, coinId: undefined };
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
export const GetPriceRequest = {
|
|
151
|
-
encode(message: GetPriceRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
152
|
-
if (message.timestamp !== undefined) {
|
|
153
|
-
Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(10).fork()).ldelim();
|
|
154
|
-
}
|
|
155
|
-
if (message.coinId !== undefined) {
|
|
156
|
-
CoinID.encode(message.coinId, writer.uint32(18).fork()).ldelim();
|
|
157
|
-
}
|
|
158
|
-
return writer;
|
|
159
|
-
},
|
|
160
|
-
|
|
161
|
-
decode(input: _m0.Reader | Uint8Array, length?: number): GetPriceRequest {
|
|
162
|
-
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
163
|
-
let end = length === undefined ? reader.len : reader.pos + length;
|
|
164
|
-
const message = createBaseGetPriceRequest();
|
|
165
|
-
while (reader.pos < end) {
|
|
166
|
-
const tag = reader.uint32();
|
|
167
|
-
switch (tag >>> 3) {
|
|
168
|
-
case 1:
|
|
169
|
-
message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
170
|
-
break;
|
|
171
|
-
case 2:
|
|
172
|
-
message.coinId = CoinID.decode(reader, reader.uint32());
|
|
173
|
-
break;
|
|
174
|
-
default:
|
|
175
|
-
reader.skipType(tag & 7);
|
|
176
|
-
break;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
return message;
|
|
180
|
-
},
|
|
181
|
-
|
|
182
|
-
fromJSON(object: any): GetPriceRequest {
|
|
183
|
-
return {
|
|
184
|
-
timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
|
|
185
|
-
coinId: isSet(object.coinId) ? CoinID.fromJSON(object.coinId) : undefined,
|
|
186
|
-
};
|
|
187
|
-
},
|
|
188
|
-
|
|
189
|
-
toJSON(message: GetPriceRequest): unknown {
|
|
190
|
-
const obj: any = {};
|
|
191
|
-
message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());
|
|
192
|
-
message.coinId !== undefined && (obj.coinId = message.coinId ? CoinID.toJSON(message.coinId) : undefined);
|
|
193
|
-
return obj;
|
|
194
|
-
},
|
|
195
|
-
|
|
196
|
-
fromPartial(object: DeepPartial<GetPriceRequest>): GetPriceRequest {
|
|
197
|
-
const message = createBaseGetPriceRequest();
|
|
198
|
-
message.timestamp = object.timestamp ?? undefined;
|
|
199
|
-
message.coinId = (object.coinId !== undefined && object.coinId !== null)
|
|
200
|
-
? CoinID.fromPartial(object.coinId)
|
|
201
|
-
: undefined;
|
|
202
|
-
return message;
|
|
203
|
-
},
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
function createBaseGetPriceResponse(): GetPriceResponse {
|
|
207
|
-
return { price: 0, timestamp: undefined };
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
export const GetPriceResponse = {
|
|
211
|
-
encode(message: GetPriceResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
212
|
-
if (message.price !== 0) {
|
|
213
|
-
writer.uint32(9).double(message.price);
|
|
214
|
-
}
|
|
215
|
-
if (message.timestamp !== undefined) {
|
|
216
|
-
Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(18).fork()).ldelim();
|
|
217
|
-
}
|
|
218
|
-
return writer;
|
|
219
|
-
},
|
|
220
|
-
|
|
221
|
-
decode(input: _m0.Reader | Uint8Array, length?: number): GetPriceResponse {
|
|
222
|
-
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
223
|
-
let end = length === undefined ? reader.len : reader.pos + length;
|
|
224
|
-
const message = createBaseGetPriceResponse();
|
|
225
|
-
while (reader.pos < end) {
|
|
226
|
-
const tag = reader.uint32();
|
|
227
|
-
switch (tag >>> 3) {
|
|
228
|
-
case 1:
|
|
229
|
-
message.price = reader.double();
|
|
230
|
-
break;
|
|
231
|
-
case 2:
|
|
232
|
-
message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
233
|
-
break;
|
|
234
|
-
default:
|
|
235
|
-
reader.skipType(tag & 7);
|
|
236
|
-
break;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
return message;
|
|
240
|
-
},
|
|
241
|
-
|
|
242
|
-
fromJSON(object: any): GetPriceResponse {
|
|
243
|
-
return {
|
|
244
|
-
price: isSet(object.price) ? Number(object.price) : 0,
|
|
245
|
-
timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
|
|
246
|
-
};
|
|
247
|
-
},
|
|
248
|
-
|
|
249
|
-
toJSON(message: GetPriceResponse): unknown {
|
|
250
|
-
const obj: any = {};
|
|
251
|
-
message.price !== undefined && (obj.price = message.price);
|
|
252
|
-
message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString());
|
|
253
|
-
return obj;
|
|
254
|
-
},
|
|
255
|
-
|
|
256
|
-
fromPartial(object: DeepPartial<GetPriceResponse>): GetPriceResponse {
|
|
257
|
-
const message = createBaseGetPriceResponse();
|
|
258
|
-
message.price = object.price ?? 0;
|
|
259
|
-
message.timestamp = object.timestamp ?? undefined;
|
|
260
|
-
return message;
|
|
261
|
-
},
|
|
262
|
-
};
|
|
263
|
-
|
|
264
|
-
export type PriceServiceDefinition = typeof PriceServiceDefinition;
|
|
265
|
-
export const PriceServiceDefinition = {
|
|
266
|
-
name: "PriceService",
|
|
267
|
-
fullName: "price_service.PriceService",
|
|
268
|
-
methods: {
|
|
269
|
-
getPrice: {
|
|
270
|
-
name: "GetPrice",
|
|
271
|
-
requestType: GetPriceRequest,
|
|
272
|
-
requestStream: false,
|
|
273
|
-
responseType: GetPriceResponse,
|
|
274
|
-
responseStream: false,
|
|
275
|
-
options: {},
|
|
276
|
-
},
|
|
277
|
-
},
|
|
278
|
-
} as const;
|
|
279
|
-
|
|
280
|
-
export interface PriceServiceImplementation<CallContextExt = {}> {
|
|
281
|
-
getPrice(request: GetPriceRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetPriceResponse>>;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
export interface PriceServiceClient<CallOptionsExt = {}> {
|
|
285
|
-
getPrice(request: DeepPartial<GetPriceRequest>, options?: CallOptions & CallOptionsExt): Promise<GetPriceResponse>;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
289
|
-
|
|
290
|
-
type DeepPartial<T> = T extends Builtin ? T
|
|
291
|
-
: T extends Long ? string | number | Long : T extends Array<infer U> ? Array<DeepPartial<U>>
|
|
292
|
-
: T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
|
|
293
|
-
: T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
|
|
294
|
-
: Partial<T>;
|
|
295
|
-
|
|
296
|
-
function toTimestamp(date: Date): Timestamp {
|
|
297
|
-
const seconds = numberToLong(date.getTime() / 1_000);
|
|
298
|
-
const nanos = (date.getTime() % 1_000) * 1_000_000;
|
|
299
|
-
return { seconds, nanos };
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
function fromTimestamp(t: Timestamp): Date {
|
|
303
|
-
let millis = t.seconds.toNumber() * 1_000;
|
|
304
|
-
millis += t.nanos / 1_000_000;
|
|
305
|
-
return new Date(millis);
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
function fromJsonTimestamp(o: any): Date {
|
|
309
|
-
if (o instanceof Date) {
|
|
310
|
-
return o;
|
|
311
|
-
} else if (typeof o === "string") {
|
|
312
|
-
return new Date(o);
|
|
313
|
-
} else {
|
|
314
|
-
return fromTimestamp(Timestamp.fromJSON(o));
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
function numberToLong(number: number) {
|
|
319
|
-
return Long.fromNumber(number);
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
if (_m0.util.Long !== Long) {
|
|
323
|
-
_m0.util.Long = Long as any;
|
|
324
|
-
_m0.configure();
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
function isSet(value: any): boolean {
|
|
328
|
-
return value !== null && value !== undefined;
|
|
329
|
-
}
|
package/src/plugin.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { DataBinding, HandlerType, ProcessConfigResponse, ProcessResult } from './gen'
|
|
2
|
-
|
|
3
|
-
export interface Plugin {
|
|
4
|
-
name: string
|
|
5
|
-
supportedHandlers: HandlerType[]
|
|
6
|
-
|
|
7
|
-
configure(config: ProcessConfigResponse): void
|
|
8
|
-
processBinding(request: DataBinding): Promise<ProcessResult>
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export class PluginManager {
|
|
12
|
-
static INSTANCE = new PluginManager()
|
|
13
|
-
|
|
14
|
-
plugins: Plugin[] = []
|
|
15
|
-
typesToPlugin = new Map<HandlerType, Plugin>()
|
|
16
|
-
|
|
17
|
-
register(plugin: Plugin) {
|
|
18
|
-
this.plugins.push(plugin)
|
|
19
|
-
// for (const plugin of this.plugins) {
|
|
20
|
-
for (const handlerType of plugin.supportedHandlers) {
|
|
21
|
-
const exsited = this.typesToPlugin.get(handlerType)
|
|
22
|
-
if (exsited) {
|
|
23
|
-
throw new Error(`Duplicate plugin for ${handlerType}: ${exsited.name} and ${plugin.name}`)
|
|
24
|
-
}
|
|
25
|
-
this.typesToPlugin.set(handlerType, plugin)
|
|
26
|
-
}
|
|
27
|
-
// }
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
configure(config: ProcessConfigResponse) {
|
|
31
|
-
this.plugins.forEach((plugin) => plugin.configure(config))
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
processBinding(request: DataBinding): Promise<ProcessResult> {
|
|
35
|
-
const plugin = this.typesToPlugin.get(request.handlerType)
|
|
36
|
-
if (!plugin) {
|
|
37
|
-
throw new Error(`No plugin for ${request.handlerType}`)
|
|
38
|
-
}
|
|
39
|
-
return plugin.processBinding(request)
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
export abstract class StateStorage<T> {
|
|
2
|
-
// TODO learn how to define single instance for all subclasses
|
|
3
|
-
|
|
4
|
-
protected constructor() {
|
|
5
|
-
//
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
abstract initValue(): T
|
|
9
|
-
|
|
10
|
-
key(): string {
|
|
11
|
-
return this.constructor.name
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
getOrRegister(): T {
|
|
15
|
-
let metricState: T = global.PROCESSOR_STATE.stateMap.get(this.key())
|
|
16
|
-
if (!metricState) {
|
|
17
|
-
metricState = this.initValue()
|
|
18
|
-
global.PROCESSOR_STATE.stateMap.set(this.key(), metricState)
|
|
19
|
-
}
|
|
20
|
-
return metricState
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export abstract class MapStateStorage<T> extends StateStorage<Map<string, T>> {
|
|
25
|
-
initValue() {
|
|
26
|
-
return new Map<string, T>()
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getValue(key: string): T | undefined {
|
|
30
|
-
const m = this.getOrRegister()
|
|
31
|
-
return m.get(key)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getValues(): T[] {
|
|
35
|
-
const m = this.getOrRegister()
|
|
36
|
-
return Array.from(m.values())
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
getOrSetValue(key: string, value: T): T {
|
|
40
|
-
const m = this.getOrRegister()
|
|
41
|
-
const oldValue = m.get(key)
|
|
42
|
-
if (oldValue) {
|
|
43
|
-
console.warn(key, 'has been registered twice, use the previous one')
|
|
44
|
-
return oldValue
|
|
45
|
-
}
|
|
46
|
-
m.set(key, value)
|
|
47
|
-
return value
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export abstract class ListStateStorage<T> extends StateStorage<T[]> {
|
|
52
|
-
initValue() {
|
|
53
|
-
return []
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
getValues(): T[] {
|
|
57
|
-
return this.getOrRegister()
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
addValue(value: T): T {
|
|
61
|
-
const m = this.getOrRegister()
|
|
62
|
-
m.push(value)
|
|
63
|
-
return value
|
|
64
|
-
}
|
|
65
|
-
}
|