@triton-one/yellowstone-grpc 5.0.2 → 5.0.4
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/README.md +15 -1
- package/dist/cjs/grpc/geyser.js +643 -8
- package/dist/cjs/grpc/geyser.js.map +1 -1
- package/dist/cjs/index.js +160 -65
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/grpc/geyser.js +609 -1
- package/dist/esm/grpc/google/protobuf/timestamp.js +1 -1
- package/dist/esm/grpc/solana-storage.js +1 -1
- package/dist/esm/index.js +157 -38
- package/dist/types/grpc/geyser.d.ts +55 -0
- package/dist/types/index.d.ts +31 -17
- package/dist/types/napi/index.d.ts +344 -6
- package/package.json +5 -5
package/dist/cjs/index.js
CHANGED
|
@@ -95,7 +95,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
97
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
98
|
-
exports.txErrDecode = exports.txEncode = exports.SubscribeUpdateTransactionInfo = exports.SubscribeUpdateTransaction = exports.SubscribeUpdateSlot = exports.SubscribeUpdatePing = exports.SubscribeUpdateBlockMeta = exports.SubscribeUpdateBlock = exports.SubscribeUpdateAccountInfo = exports.SubscribeUpdateAccount = exports.SubscribeUpdate = exports.SubscribeRequestFilterTransactions = exports.SubscribeRequestFilterSlots = exports.SubscribeRequestFilterEntry = exports.SubscribeRequestFilterBlocksMeta = exports.SubscribeRequestFilterBlocks = exports.SubscribeRequestFilterAccountsFilterMemcmp = exports.SubscribeRequestFilterAccountsFilterLamports = exports.SubscribeRequestFilterAccountsFilter = exports.SubscribeRequestFilterAccounts = exports.SubscribeRequestAccountsDataSlice = exports.SubscribeRequest_TransactionsEntry = exports.SubscribeRequest_SlotsEntry = exports.SubscribeRequest_BlocksMetaEntry = exports.SubscribeRequest_BlocksEntry = exports.SubscribeRequest_AccountsEntry = exports.SubscribeRequest = exports.CommitmentLevel = void 0;
|
|
98
|
+
exports.txErrDecode = exports.txEncode = exports.ClientDuplexStream = exports.SubscribeUpdateTransactionInfo = exports.SubscribeUpdateTransaction = exports.SubscribeUpdateSlot = exports.SubscribeUpdatePing = exports.SubscribeUpdateBlockMeta = exports.SubscribeUpdateBlock = exports.SubscribeUpdateAccountInfo = exports.SubscribeUpdateAccount = exports.SubscribeUpdate = exports.SubscribeRequestFilterTransactions = exports.SubscribeRequestFilterSlots = exports.SubscribeRequestFilterEntry = exports.SubscribeRequestFilterBlocksMeta = exports.SubscribeRequestFilterBlocks = exports.SubscribeRequestFilterAccountsFilterMemcmp = exports.SubscribeRequestFilterAccountsFilterLamports = exports.SubscribeRequestFilterAccountsFilter = exports.SubscribeRequestFilterAccounts = exports.SubscribeRequestAccountsDataSlice = exports.SubscribeRequest_TransactionsEntry = exports.SubscribeRequest_SlotsEntry = exports.SubscribeRequest_BlocksMetaEntry = exports.SubscribeRequest_BlocksEntry = exports.SubscribeRequest_AccountsEntry = exports.SubscribeRequest = exports.CommitmentLevel = void 0;
|
|
99
99
|
var geyser_1 = require("./grpc/geyser");
|
|
100
100
|
var geyser_2 = require("./grpc/geyser");
|
|
101
101
|
Object.defineProperty(exports, "CommitmentLevel", { enumerable: true, get: function () { return geyser_2.CommitmentLevel; } });
|
|
@@ -126,6 +126,23 @@ Object.defineProperty(exports, "SubscribeUpdateTransaction", { enumerable: true,
|
|
|
126
126
|
Object.defineProperty(exports, "SubscribeUpdateTransactionInfo", { enumerable: true, get: function () { return geyser_2.SubscribeUpdateTransactionInfo; } });
|
|
127
127
|
var stream_1 = require("stream");
|
|
128
128
|
var napi = __importStar(require("./napi/index"));
|
|
129
|
+
function fromJsSubscribeUpdate(update) {
|
|
130
|
+
var _a, _b;
|
|
131
|
+
var oneof = (_a = update.updateOneof) !== null && _a !== void 0 ? _a : {};
|
|
132
|
+
return {
|
|
133
|
+
filters: (_b = update.filters) !== null && _b !== void 0 ? _b : [],
|
|
134
|
+
createdAt: update.createdAt,
|
|
135
|
+
account: oneof.account,
|
|
136
|
+
slot: oneof.slot,
|
|
137
|
+
transaction: oneof.transaction,
|
|
138
|
+
transactionStatus: oneof.transactionStatus,
|
|
139
|
+
block: oneof.block,
|
|
140
|
+
ping: oneof.ping,
|
|
141
|
+
pong: oneof.pong,
|
|
142
|
+
blockMeta: oneof.blockMeta,
|
|
143
|
+
entry: oneof.entry,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
129
146
|
var Client = (function () {
|
|
130
147
|
function Client(endpoint, xToken, channel_options) {
|
|
131
148
|
this._grpcClient = null;
|
|
@@ -133,6 +150,12 @@ var Client = (function () {
|
|
|
133
150
|
this._insecureXToken = xToken;
|
|
134
151
|
this._channelOptions = channel_options;
|
|
135
152
|
}
|
|
153
|
+
Client.prototype._connectedGrpcClient = function () {
|
|
154
|
+
if (!this._grpcClient) {
|
|
155
|
+
throw new Error("Client not connected. Call connect() first");
|
|
156
|
+
}
|
|
157
|
+
return this._grpcClient;
|
|
158
|
+
};
|
|
136
159
|
Client.prototype.connect = function () {
|
|
137
160
|
return __awaiter(this, void 0, void 0, function () {
|
|
138
161
|
var _a;
|
|
@@ -150,136 +173,154 @@ var Client = (function () {
|
|
|
150
173
|
};
|
|
151
174
|
Client.prototype.getLatestBlockhash = function (commitment) {
|
|
152
175
|
return __awaiter(this, void 0, void 0, function () {
|
|
153
|
-
var request;
|
|
176
|
+
var grpcClient, request, response;
|
|
154
177
|
return __generator(this, function (_a) {
|
|
155
178
|
switch (_a.label) {
|
|
156
179
|
case 0:
|
|
157
|
-
|
|
158
|
-
throw new Error("Client not connected. Call connect() first");
|
|
159
|
-
}
|
|
180
|
+
grpcClient = this._connectedGrpcClient();
|
|
160
181
|
request = {
|
|
161
182
|
commitment: commitment !== null && commitment !== void 0 ? commitment : null,
|
|
162
183
|
};
|
|
163
|
-
return [4,
|
|
164
|
-
case 1:
|
|
184
|
+
return [4, grpcClient.getLatestBlockhash(request)];
|
|
185
|
+
case 1:
|
|
186
|
+
response = _a.sent();
|
|
187
|
+
return [2, geyser_1.GetLatestBlockhashResponse.fromPartial({
|
|
188
|
+
slot: response.slot,
|
|
189
|
+
blockhash: response.blockhash,
|
|
190
|
+
lastValidBlockHeight: response.lastValidBlockHeight,
|
|
191
|
+
})];
|
|
165
192
|
}
|
|
166
193
|
});
|
|
167
194
|
});
|
|
168
195
|
};
|
|
169
196
|
Client.prototype.ping = function (count) {
|
|
170
197
|
return __awaiter(this, void 0, void 0, function () {
|
|
171
|
-
var request;
|
|
198
|
+
var grpcClient, request, response;
|
|
172
199
|
return __generator(this, function (_a) {
|
|
173
200
|
switch (_a.label) {
|
|
174
201
|
case 0:
|
|
175
|
-
|
|
176
|
-
throw new Error("Client not connected. Call connect() first");
|
|
177
|
-
}
|
|
202
|
+
grpcClient = this._connectedGrpcClient();
|
|
178
203
|
request = {
|
|
179
204
|
count: count,
|
|
180
205
|
};
|
|
181
|
-
return [4,
|
|
182
|
-
case 1:
|
|
206
|
+
return [4, grpcClient.ping(request)];
|
|
207
|
+
case 1:
|
|
208
|
+
response = _a.sent();
|
|
209
|
+
return [2, geyser_1.PongResponse.fromPartial({
|
|
210
|
+
count: response.count,
|
|
211
|
+
})];
|
|
183
212
|
}
|
|
184
213
|
});
|
|
185
214
|
});
|
|
186
215
|
};
|
|
187
216
|
Client.prototype.getBlockHeight = function (commitment) {
|
|
188
217
|
return __awaiter(this, void 0, void 0, function () {
|
|
189
|
-
var request;
|
|
218
|
+
var grpcClient, request, response;
|
|
190
219
|
return __generator(this, function (_a) {
|
|
191
220
|
switch (_a.label) {
|
|
192
221
|
case 0:
|
|
193
|
-
|
|
194
|
-
throw new Error("Client not connected. Call connect() first");
|
|
195
|
-
}
|
|
222
|
+
grpcClient = this._connectedGrpcClient();
|
|
196
223
|
request = {
|
|
197
224
|
commitment: commitment,
|
|
198
225
|
};
|
|
199
|
-
return [4,
|
|
200
|
-
case 1:
|
|
226
|
+
return [4, grpcClient.getBlockHeight(request)];
|
|
227
|
+
case 1:
|
|
228
|
+
response = _a.sent();
|
|
229
|
+
return [2, geyser_1.GetBlockHeightResponse.fromPartial({
|
|
230
|
+
blockHeight: response.blockHeight,
|
|
231
|
+
})];
|
|
201
232
|
}
|
|
202
233
|
});
|
|
203
234
|
});
|
|
204
235
|
};
|
|
205
236
|
Client.prototype.getSlot = function (commitment) {
|
|
206
237
|
return __awaiter(this, void 0, void 0, function () {
|
|
207
|
-
var request;
|
|
238
|
+
var grpcClient, request, response;
|
|
208
239
|
return __generator(this, function (_a) {
|
|
209
240
|
switch (_a.label) {
|
|
210
241
|
case 0:
|
|
211
|
-
|
|
212
|
-
throw new Error("Client not connected. Call connect() first");
|
|
213
|
-
}
|
|
242
|
+
grpcClient = this._connectedGrpcClient();
|
|
214
243
|
request = {
|
|
215
244
|
commitment: commitment,
|
|
216
245
|
};
|
|
217
|
-
return [4,
|
|
218
|
-
case 1:
|
|
246
|
+
return [4, grpcClient.getSlot(request)];
|
|
247
|
+
case 1:
|
|
248
|
+
response = _a.sent();
|
|
249
|
+
return [2, geyser_1.GetSlotResponse.fromPartial({
|
|
250
|
+
slot: response.slot,
|
|
251
|
+
})];
|
|
219
252
|
}
|
|
220
253
|
});
|
|
221
254
|
});
|
|
222
255
|
};
|
|
223
256
|
Client.prototype.isBlockhashValid = function (blockhash, commitment) {
|
|
224
257
|
return __awaiter(this, void 0, void 0, function () {
|
|
225
|
-
var request;
|
|
258
|
+
var grpcClient, request, response;
|
|
226
259
|
return __generator(this, function (_a) {
|
|
227
260
|
switch (_a.label) {
|
|
228
261
|
case 0:
|
|
229
|
-
|
|
230
|
-
throw new Error("Client not connected. Call connect() first");
|
|
231
|
-
}
|
|
262
|
+
grpcClient = this._connectedGrpcClient();
|
|
232
263
|
request = {
|
|
233
264
|
blockhash: blockhash,
|
|
234
265
|
commitment: commitment,
|
|
235
266
|
};
|
|
236
|
-
return [4,
|
|
237
|
-
case 1:
|
|
267
|
+
return [4, grpcClient.isBlockhashValid(request)];
|
|
268
|
+
case 1:
|
|
269
|
+
response = _a.sent();
|
|
270
|
+
return [2, geyser_1.IsBlockhashValidResponse.fromPartial({
|
|
271
|
+
slot: response.slot,
|
|
272
|
+
valid: response.valid,
|
|
273
|
+
})];
|
|
238
274
|
}
|
|
239
275
|
});
|
|
240
276
|
});
|
|
241
277
|
};
|
|
242
278
|
Client.prototype.getVersion = function () {
|
|
243
279
|
return __awaiter(this, void 0, void 0, function () {
|
|
244
|
-
var request;
|
|
280
|
+
var grpcClient, request, response;
|
|
245
281
|
return __generator(this, function (_a) {
|
|
246
282
|
switch (_a.label) {
|
|
247
283
|
case 0:
|
|
248
|
-
|
|
249
|
-
throw new Error("Client not connected. Call connect() first");
|
|
250
|
-
}
|
|
284
|
+
grpcClient = this._connectedGrpcClient();
|
|
251
285
|
request = {};
|
|
252
|
-
return [4,
|
|
253
|
-
case 1:
|
|
286
|
+
return [4, grpcClient.getVersion(request)];
|
|
287
|
+
case 1:
|
|
288
|
+
response = _a.sent();
|
|
289
|
+
return [2, geyser_1.GetVersionResponse.fromPartial({
|
|
290
|
+
version: response.version,
|
|
291
|
+
})];
|
|
254
292
|
}
|
|
255
293
|
});
|
|
256
294
|
});
|
|
257
295
|
};
|
|
258
296
|
Client.prototype.subscribeReplayInfo = function () {
|
|
259
297
|
return __awaiter(this, void 0, void 0, function () {
|
|
260
|
-
var request;
|
|
298
|
+
var grpcClient, request, response;
|
|
261
299
|
return __generator(this, function (_a) {
|
|
262
300
|
switch (_a.label) {
|
|
263
301
|
case 0:
|
|
264
|
-
|
|
265
|
-
throw new Error("Client not connected. Call connect() first");
|
|
266
|
-
}
|
|
302
|
+
grpcClient = this._connectedGrpcClient();
|
|
267
303
|
request = {};
|
|
268
|
-
return [4,
|
|
269
|
-
case 1:
|
|
304
|
+
return [4, grpcClient.subscribeReplayInfo(request)];
|
|
305
|
+
case 1:
|
|
306
|
+
response = _a.sent();
|
|
307
|
+
return [2, geyser_1.SubscribeReplayInfoResponse.fromPartial({
|
|
308
|
+
firstAvailable: response.firstAvailable,
|
|
309
|
+
})];
|
|
270
310
|
}
|
|
271
311
|
});
|
|
272
312
|
});
|
|
273
313
|
};
|
|
274
314
|
Client.prototype.subscribe = function () {
|
|
275
315
|
return __awaiter(this, void 0, void 0, function () {
|
|
276
|
-
var options, stream;
|
|
316
|
+
var grpcClient, options, stream;
|
|
277
317
|
return __generator(this, function (_a) {
|
|
318
|
+
grpcClient = this._connectedGrpcClient();
|
|
278
319
|
options = {
|
|
279
320
|
objectMode: true,
|
|
280
321
|
decodeStrings: false,
|
|
281
322
|
};
|
|
282
|
-
stream =
|
|
323
|
+
stream = grpcClient.subscribe();
|
|
283
324
|
return [2, new Promise(function (resolve, reject) {
|
|
284
325
|
try {
|
|
285
326
|
resolve(new ClientDuplexStream(stream, options));
|
|
@@ -299,31 +340,84 @@ var ClientDuplexStream = (function (_super) {
|
|
|
299
340
|
function ClientDuplexStream(stream, options) {
|
|
300
341
|
var _this = _super.call(this, __assign({}, options)) || this;
|
|
301
342
|
_this._napiDuplexStream = stream;
|
|
343
|
+
_this._readInFlight = false;
|
|
344
|
+
_this._isClosed = false;
|
|
345
|
+
_this._isDestroying = false;
|
|
346
|
+
_this._terminalErrorSeen = false;
|
|
347
|
+
_this.once("close", function () {
|
|
348
|
+
_this._isClosed = true;
|
|
349
|
+
});
|
|
302
350
|
return _this;
|
|
303
351
|
}
|
|
304
|
-
ClientDuplexStream.prototype.
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
return
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
352
|
+
ClientDuplexStream.prototype._pullNextUpdate = function () {
|
|
353
|
+
var _this = this;
|
|
354
|
+
if (this._isClosed || this._isDestroying || this._readInFlight) {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
this._readInFlight = true;
|
|
358
|
+
this._napiDuplexStream
|
|
359
|
+
.read()
|
|
360
|
+
.then(function (update) {
|
|
361
|
+
_this._readInFlight = false;
|
|
362
|
+
if (_this._isClosed || _this._isDestroying) {
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
if (update == null) {
|
|
366
|
+
_this.push(null);
|
|
367
|
+
_this.destroy();
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
var grpcUpdate = fromJsSubscribeUpdate(update);
|
|
371
|
+
var canContinue = _this.push(grpcUpdate);
|
|
372
|
+
if (canContinue) {
|
|
373
|
+
_this._pullNextUpdate();
|
|
374
|
+
}
|
|
375
|
+
})
|
|
376
|
+
.catch(function (err) {
|
|
377
|
+
_this._readInFlight = false;
|
|
378
|
+
if (_this._isClosed || _this._isDestroying) {
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
if (_this._terminalErrorSeen) {
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
384
|
+
_this._terminalErrorSeen = true;
|
|
385
|
+
var e = err;
|
|
386
|
+
var isNormalEof = err == null ||
|
|
387
|
+
(e && typeof e.code === "string" && e.code === "NO_UPDATE_AVAILABLE") ||
|
|
388
|
+
(e &&
|
|
389
|
+
typeof e.message === "string" &&
|
|
390
|
+
e.message.toLowerCase().includes("no update available"));
|
|
391
|
+
_this.push(null);
|
|
392
|
+
if (isNormalEof) {
|
|
393
|
+
_this.destroy();
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
_this.destroy(err);
|
|
397
|
+
}
|
|
324
398
|
});
|
|
325
399
|
};
|
|
400
|
+
ClientDuplexStream.prototype._read = function (_size) {
|
|
401
|
+
this._pullNextUpdate();
|
|
402
|
+
};
|
|
403
|
+
ClientDuplexStream.prototype._destroy = function (error, callback) {
|
|
404
|
+
this._isDestroying = true;
|
|
405
|
+
this._isClosed = true;
|
|
406
|
+
this._terminalErrorSeen = true;
|
|
407
|
+
try {
|
|
408
|
+
var nativeStream = this._napiDuplexStream;
|
|
409
|
+
if (typeof nativeStream.close === "function") {
|
|
410
|
+
nativeStream.close();
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
catch (_a) { }
|
|
414
|
+
callback(error);
|
|
415
|
+
};
|
|
326
416
|
ClientDuplexStream.prototype._write = function (chunk, _encoding, callback) {
|
|
417
|
+
if (this._isClosed || this._isDestroying) {
|
|
418
|
+
callback(new Error("Cannot write to a closed subscription stream"));
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
327
421
|
try {
|
|
328
422
|
this._napiDuplexStream.write(chunk);
|
|
329
423
|
callback();
|
|
@@ -334,6 +428,7 @@ var ClientDuplexStream = (function (_super) {
|
|
|
334
428
|
};
|
|
335
429
|
return ClientDuplexStream;
|
|
336
430
|
}(stream_1.Duplex));
|
|
431
|
+
exports.ClientDuplexStream = ClientDuplexStream;
|
|
337
432
|
exports.txEncode = {
|
|
338
433
|
encoding: napi.WasmUiTransactionEncoding,
|
|
339
434
|
encode_raw: napi.encodeTx,
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|