@triton-one/yellowstone-grpc 5.0.3 → 5.0.5
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/dist/cjs/index.js +23 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/grpc/geyser.js +1 -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 +28 -3
- package/dist/types/napi/index.d.ts +2 -1
- package/package.json +5 -5
package/dist/cjs/index.js
CHANGED
|
@@ -362,6 +362,11 @@ var ClientDuplexStream = (function (_super) {
|
|
|
362
362
|
if (_this._isClosed || _this._isDestroying) {
|
|
363
363
|
return;
|
|
364
364
|
}
|
|
365
|
+
if (update == null) {
|
|
366
|
+
_this.push(null);
|
|
367
|
+
_this.destroy();
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
365
370
|
var grpcUpdate = fromJsSubscribeUpdate(update);
|
|
366
371
|
var canContinue = _this.push(grpcUpdate);
|
|
367
372
|
if (canContinue) {
|
|
@@ -377,8 +382,19 @@ var ClientDuplexStream = (function (_super) {
|
|
|
377
382
|
return;
|
|
378
383
|
}
|
|
379
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"));
|
|
380
391
|
_this.push(null);
|
|
381
|
-
|
|
392
|
+
if (isNormalEof) {
|
|
393
|
+
_this.destroy();
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
_this.destroy(err);
|
|
397
|
+
}
|
|
382
398
|
});
|
|
383
399
|
};
|
|
384
400
|
ClientDuplexStream.prototype._read = function (_size) {
|
|
@@ -403,7 +419,12 @@ var ClientDuplexStream = (function (_super) {
|
|
|
403
419
|
return;
|
|
404
420
|
}
|
|
405
421
|
try {
|
|
406
|
-
|
|
422
|
+
var encodedRequest = geyser_1.SubscribeRequest.encode(chunk).finish();
|
|
423
|
+
var nativeStream = this._napiDuplexStream;
|
|
424
|
+
if (typeof nativeStream.writeRaw !== "function") {
|
|
425
|
+
throw new Error("Native stream does not support writeRaw; reinstall the SDK so JS and native bindings match");
|
|
426
|
+
}
|
|
427
|
+
nativeStream.writeRaw(encodedRequest);
|
|
407
428
|
callback();
|
|
408
429
|
}
|
|
409
430
|
catch (err) {
|
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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"}
|
package/dist/esm/grpc/geyser.js
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** TypeScript/JavaScript client for gRPC Geyser. */
|
|
2
2
|
// Import generated gRPC client and types.
|
|
3
|
-
import { GetBlockHeightResponse as GetBlockHeightResponseMessage, GetLatestBlockhashResponse as GetLatestBlockhashResponseMessage, GetSlotResponse as GetSlotResponseMessage, GetVersionResponse as GetVersionResponseMessage, IsBlockhashValidResponse as IsBlockhashValidResponseMessage, PongResponse as PongResponseMessage, SubscribeReplayInfoResponse as SubscribeReplayInfoResponseMessage, SubscribeUpdateTransactionInfo, } from "./grpc/geyser.js";
|
|
3
|
+
import { GetBlockHeightResponse as GetBlockHeightResponseMessage, GetLatestBlockhashResponse as GetLatestBlockhashResponseMessage, GetSlotResponse as GetSlotResponseMessage, GetVersionResponse as GetVersionResponseMessage, IsBlockhashValidResponse as IsBlockhashValidResponseMessage, PongResponse as PongResponseMessage, SubscribeRequest as SubscribeRequestMessage, SubscribeReplayInfoResponse as SubscribeReplayInfoResponseMessage, SubscribeUpdateTransactionInfo, } from "./grpc/geyser.js";
|
|
4
4
|
// Reexport automatically generated types
|
|
5
5
|
export { CommitmentLevel, SubscribeRequest, SubscribeRequest_AccountsEntry, SubscribeRequest_BlocksEntry, SubscribeRequest_BlocksMetaEntry, SubscribeRequest_SlotsEntry, SubscribeRequest_TransactionsEntry, SubscribeRequestAccountsDataSlice, SubscribeRequestFilterAccounts, SubscribeRequestFilterAccountsFilter, SubscribeRequestFilterAccountsFilterLamports, SubscribeRequestFilterAccountsFilterMemcmp, SubscribeRequestFilterBlocks, SubscribeRequestFilterBlocksMeta, SubscribeRequestFilterEntry, SubscribeRequestFilterSlots, SubscribeRequestFilterTransactions, SubscribeUpdate, SubscribeUpdateAccount, SubscribeUpdateAccountInfo, SubscribeUpdateBlock, SubscribeUpdateBlockMeta, SubscribeUpdatePing, SubscribeUpdateSlot, SubscribeUpdateTransaction, SubscribeUpdateTransactionInfo, } from "./grpc/geyser.js";
|
|
6
6
|
import { Duplex } from "stream";
|
|
@@ -174,6 +174,12 @@ export class ClientDuplexStream extends Duplex {
|
|
|
174
174
|
if (this._isClosed || this._isDestroying) {
|
|
175
175
|
return;
|
|
176
176
|
}
|
|
177
|
+
// Native side can signal EOF by returning no update.
|
|
178
|
+
if (update == null) {
|
|
179
|
+
this.push(null);
|
|
180
|
+
this.destroy();
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
177
183
|
const grpcUpdate = fromJsSubscribeUpdate(update);
|
|
178
184
|
// Respect backpressure: only pull again if consumer accepted push.
|
|
179
185
|
const canContinue = this.push(grpcUpdate);
|
|
@@ -190,8 +196,22 @@ export class ClientDuplexStream extends Duplex {
|
|
|
190
196
|
return;
|
|
191
197
|
}
|
|
192
198
|
this._terminalErrorSeen = true;
|
|
199
|
+
// Detect normal end-of-stream / "no update available" sentinel from native side.
|
|
200
|
+
const e = err;
|
|
201
|
+
const isNormalEof = err == null ||
|
|
202
|
+
(e && typeof e.code === "string" && e.code === "NO_UPDATE_AVAILABLE") ||
|
|
203
|
+
(e &&
|
|
204
|
+
typeof e.message === "string" &&
|
|
205
|
+
e.message.toLowerCase().includes("no update available"));
|
|
193
206
|
this.push(null); // Signal end of stream
|
|
194
|
-
|
|
207
|
+
if (isNormalEof) {
|
|
208
|
+
// Graceful shutdown: end without emitting an error event.
|
|
209
|
+
this.destroy();
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
// Real error: propagate as a stream error.
|
|
213
|
+
this.destroy(err);
|
|
214
|
+
}
|
|
195
215
|
});
|
|
196
216
|
}
|
|
197
217
|
_read(_size) {
|
|
@@ -218,7 +238,12 @@ export class ClientDuplexStream extends Duplex {
|
|
|
218
238
|
return;
|
|
219
239
|
}
|
|
220
240
|
try {
|
|
221
|
-
|
|
241
|
+
const encodedRequest = SubscribeRequestMessage.encode(chunk).finish();
|
|
242
|
+
const nativeStream = this._napiDuplexStream;
|
|
243
|
+
if (typeof nativeStream.writeRaw !== "function") {
|
|
244
|
+
throw new Error("Native stream does not support writeRaw; reinstall the SDK so JS and native bindings match");
|
|
245
|
+
}
|
|
246
|
+
nativeStream.writeRaw(encodedRequest);
|
|
222
247
|
callback();
|
|
223
248
|
}
|
|
224
249
|
catch (err) {
|
|
@@ -17,7 +17,7 @@ export declare class DuplexStream {
|
|
|
17
17
|
* Retrieve one `SubscribeUpdate` from the worker and convert it to
|
|
18
18
|
* the generated N-API JS representation (`JsSubscribeUpdate`).
|
|
19
19
|
*/
|
|
20
|
-
read(): Promise<JsSubscribeUpdate>
|
|
20
|
+
read(): Promise<JsSubscribeUpdate | undefined | null>
|
|
21
21
|
/**
|
|
22
22
|
* Write JS Accesspoint.
|
|
23
23
|
*
|
|
@@ -26,6 +26,7 @@ export declare class DuplexStream {
|
|
|
26
26
|
*/
|
|
27
27
|
close(): void
|
|
28
28
|
write(request: JsSubscribeRequest): void
|
|
29
|
+
writeRaw(requestBytes: Buffer): void
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@triton-one/yellowstone-grpc",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.5",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Triton One",
|
|
6
6
|
"description": "Yellowstone gRPC Geyser Node.js Client",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"@solana/rpc-types": "=5.1.0"
|
|
40
40
|
},
|
|
41
41
|
"optionalDependencies": {
|
|
42
|
-
"@triton-one/yellowstone-grpc-napi-linux-x64-gnu": "0.0.
|
|
43
|
-
"@triton-one/yellowstone-grpc-napi-linux-x64-musl": "0.0.
|
|
44
|
-
"@triton-one/yellowstone-grpc-napi-darwin-arm64": "0.0.
|
|
45
|
-
"@triton-one/yellowstone-grpc-napi-darwin-x64": "0.0.
|
|
42
|
+
"@triton-one/yellowstone-grpc-napi-linux-x64-gnu": "0.0.10",
|
|
43
|
+
"@triton-one/yellowstone-grpc-napi-linux-x64-musl": "0.0.10",
|
|
44
|
+
"@triton-one/yellowstone-grpc-napi-darwin-arm64": "0.0.10",
|
|
45
|
+
"@triton-one/yellowstone-grpc-napi-darwin-x64": "0.0.10"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@babel/core": "^7.28.5",
|