@xyo-network/xl1-rpc 1.26.32 → 1.26.33
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/neutral/index.mjs +77 -13
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewer.d.ts +26 -2
- package/dist/neutral/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewer.d.ts.map +1 -1
- package/dist/neutral/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewerMethods.d.ts +3 -3
- package/dist/neutral/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewerMethods.d.ts.map +1 -1
- package/dist/neutral/provider/viewer/JsonRpcViewer.d.ts +3 -2
- package/dist/neutral/provider/viewer/JsonRpcViewer.d.ts.map +1 -1
- package/dist/neutral/provider/viewer/JsonRpcXyoViewer.d.ts +1 -1
- package/dist/neutral/provider/viewer/JsonRpcXyoViewer.d.ts.map +1 -1
- package/dist/node/index-node.mjs +77 -13
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewer.d.ts +26 -2
- package/dist/node/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewer.d.ts.map +1 -1
- package/dist/node/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewerMethods.d.ts +3 -3
- package/dist/node/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewerMethods.d.ts.map +1 -1
- package/dist/node/provider/viewer/JsonRpcViewer.d.ts +3 -2
- package/dist/node/provider/viewer/JsonRpcViewer.d.ts.map +1 -1
- package/dist/node/provider/viewer/JsonRpcXyoViewer.d.ts +1 -1
- package/dist/node/provider/viewer/JsonRpcXyoViewer.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/neutral/index.mjs
CHANGED
|
@@ -1845,6 +1845,7 @@ JsonRpcAccountBalanceViewer = __decorateClass([
|
|
|
1845
1845
|
], JsonRpcAccountBalanceViewer);
|
|
1846
1846
|
|
|
1847
1847
|
// src/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewer.ts
|
|
1848
|
+
import { assertEx as assertEx2 } from "@xylabs/sdk-js";
|
|
1848
1849
|
import {
|
|
1849
1850
|
BlockViewerMoniker as BlockViewerMoniker2
|
|
1850
1851
|
} from "@xyo-network/xl1-protocol-lib";
|
|
@@ -1900,7 +1901,24 @@ var JsonRpcBlockViewerMethods = class extends AbstractJsonRpcViewer {
|
|
|
1900
1901
|
};
|
|
1901
1902
|
|
|
1902
1903
|
// src/provider/viewer/JsonRpcBlockViewer/JsonRpcBlockViewer.ts
|
|
1904
|
+
var MIN_HEAD_POLL_INTERVAL_MS = 5e3;
|
|
1903
1905
|
var JsonRpcBlockViewer = class extends JsonRpcBlockViewerMethods {
|
|
1906
|
+
_headPollHash;
|
|
1907
|
+
_headPollInProgress = false;
|
|
1908
|
+
_headPollTimer = null;
|
|
1909
|
+
get headPollIntervalMs() {
|
|
1910
|
+
return this.params.headPollIntervalMs;
|
|
1911
|
+
}
|
|
1912
|
+
static async paramsHandler(params = {}) {
|
|
1913
|
+
const headPollIntervalMs = params.headPollIntervalMs;
|
|
1914
|
+
if (headPollIntervalMs !== void 0) {
|
|
1915
|
+
assertEx2(headPollIntervalMs >= MIN_HEAD_POLL_INTERVAL_MS, () => `headPollIntervalMs must be at least ${MIN_HEAD_POLL_INTERVAL_MS}ms`);
|
|
1916
|
+
}
|
|
1917
|
+
return {
|
|
1918
|
+
...await super.paramsHandler(params),
|
|
1919
|
+
headPollIntervalMs
|
|
1920
|
+
};
|
|
1921
|
+
}
|
|
1904
1922
|
async blockByHash(hash) {
|
|
1905
1923
|
return (await this.blocksByHash(hash, 1))[0];
|
|
1906
1924
|
}
|
|
@@ -1931,6 +1949,52 @@ var JsonRpcBlockViewer = class extends JsonRpcBlockViewerMethods {
|
|
|
1931
1949
|
async timeDurationRate(timeConfig, startBlockNumber, timeUnit, toleranceMs, maxAttempts) {
|
|
1932
1950
|
return await calculateTimeRate(this, timeConfig, startBlockNumber, timeUnit, toleranceMs, maxAttempts);
|
|
1933
1951
|
}
|
|
1952
|
+
async startHandler() {
|
|
1953
|
+
await super.startHandler();
|
|
1954
|
+
if (this.headPollIntervalMs === void 0) return;
|
|
1955
|
+
await this.pollHead(false);
|
|
1956
|
+
this.startHeadPolling();
|
|
1957
|
+
}
|
|
1958
|
+
async stopHandler() {
|
|
1959
|
+
this.stopHeadPolling();
|
|
1960
|
+
this._headPollHash = void 0;
|
|
1961
|
+
await super.stopHandler();
|
|
1962
|
+
}
|
|
1963
|
+
async pollHead(emitOnChange) {
|
|
1964
|
+
if (this._headPollInProgress) return;
|
|
1965
|
+
this._headPollInProgress = true;
|
|
1966
|
+
try {
|
|
1967
|
+
const block = await this.currentBlock();
|
|
1968
|
+
const hash = block[0]._hash;
|
|
1969
|
+
if (this._headPollHash === void 0) {
|
|
1970
|
+
this._headPollHash = hash;
|
|
1971
|
+
return;
|
|
1972
|
+
}
|
|
1973
|
+
if (hash !== this._headPollHash) {
|
|
1974
|
+
this._headPollHash = hash;
|
|
1975
|
+
if (emitOnChange) {
|
|
1976
|
+
await this.emit("headUpdated", { block });
|
|
1977
|
+
}
|
|
1978
|
+
}
|
|
1979
|
+
} catch (ex) {
|
|
1980
|
+
this.logger?.error("Error polling block head", ex);
|
|
1981
|
+
} finally {
|
|
1982
|
+
this._headPollInProgress = false;
|
|
1983
|
+
}
|
|
1984
|
+
}
|
|
1985
|
+
startHeadPolling() {
|
|
1986
|
+
if (this.headPollIntervalMs === void 0) return;
|
|
1987
|
+
this.stopHeadPolling();
|
|
1988
|
+
this._headPollTimer = setInterval(() => {
|
|
1989
|
+
void this.pollHead(true);
|
|
1990
|
+
}, this.headPollIntervalMs);
|
|
1991
|
+
}
|
|
1992
|
+
stopHeadPolling() {
|
|
1993
|
+
if (this._headPollTimer) {
|
|
1994
|
+
clearInterval(this._headPollTimer);
|
|
1995
|
+
this._headPollTimer = null;
|
|
1996
|
+
}
|
|
1997
|
+
}
|
|
1934
1998
|
};
|
|
1935
1999
|
__publicField(JsonRpcBlockViewer, "defaultMoniker", BlockViewerMoniker2);
|
|
1936
2000
|
__publicField(JsonRpcBlockViewer, "dependencies", []);
|
|
@@ -2241,7 +2305,7 @@ JsonRpcTimeSyncViewer = __decorateClass([
|
|
|
2241
2305
|
|
|
2242
2306
|
// src/provider/viewer/JsonRpcTransactionViewer/JsonRpcTransactionViewer.ts
|
|
2243
2307
|
import {
|
|
2244
|
-
assertEx as
|
|
2308
|
+
assertEx as assertEx3,
|
|
2245
2309
|
exists
|
|
2246
2310
|
} from "@xylabs/sdk-js";
|
|
2247
2311
|
import { BoundWitnessSchema } from "@xyo-network/sdk-js";
|
|
@@ -2261,7 +2325,7 @@ var JsonRpcTransactionViewer = class extends AbstractJsonRpcViewer {
|
|
|
2261
2325
|
}
|
|
2262
2326
|
async byBlockHashAndIndex(blockHash, transactionIndex) {
|
|
2263
2327
|
return await this.spanAsync("byBlockHashAndIndex", async () => {
|
|
2264
|
-
|
|
2328
|
+
assertEx3(transactionIndex >= 0, () => "transactionIndex must be greater than or equal to 0");
|
|
2265
2329
|
try {
|
|
2266
2330
|
const block = await this.blockViewer.blockByHash(blockHash);
|
|
2267
2331
|
if (!block) return null;
|
|
@@ -2324,7 +2388,7 @@ JsonRpcTransactionViewer = __decorateClass([
|
|
|
2324
2388
|
|
|
2325
2389
|
// src/provider/viewer/JsonRpcXyoViewer.ts
|
|
2326
2390
|
import {
|
|
2327
|
-
assertEx as
|
|
2391
|
+
assertEx as assertEx4,
|
|
2328
2392
|
isUndefined
|
|
2329
2393
|
} from "@xylabs/sdk-js";
|
|
2330
2394
|
import { PayloadBuilder } from "@xyo-network/sdk-js";
|
|
@@ -2357,31 +2421,31 @@ var JsonRpcXyoViewer = class extends AbstractJsonRpcViewer {
|
|
|
2357
2421
|
_chainId;
|
|
2358
2422
|
_providers = void 0;
|
|
2359
2423
|
get account() {
|
|
2360
|
-
return { balance:
|
|
2424
|
+
return { balance: assertEx4(this.providers?.[AccountBalanceViewerMoniker3], () => `AccountBalanceViewer provider not found for ${this.moniker}`) };
|
|
2361
2425
|
}
|
|
2362
2426
|
get block() {
|
|
2363
|
-
return
|
|
2427
|
+
return assertEx4(this.providers?.[BlockViewerMoniker4], () => `BlockViewer provider not found for ${this.moniker}`);
|
|
2364
2428
|
}
|
|
2365
2429
|
get finalization() {
|
|
2366
|
-
return
|
|
2430
|
+
return assertEx4(this.providers?.[FinalizationViewerMoniker3], () => `FinalizationViewer provider not found for ${this.moniker}`);
|
|
2367
2431
|
}
|
|
2368
2432
|
get mempool() {
|
|
2369
|
-
return
|
|
2433
|
+
return assertEx4(this.providers?.[MempoolViewerMoniker3], () => `MempoolViewer provider not found for ${this.moniker}`);
|
|
2370
2434
|
}
|
|
2371
2435
|
get networkStake() {
|
|
2372
|
-
return
|
|
2436
|
+
return assertEx4(this.providers?.[NetworkStakeViewerMoniker3], () => `NetworkStakeViewer provider not found for ${this.moniker}`);
|
|
2373
2437
|
}
|
|
2374
2438
|
get stake() {
|
|
2375
|
-
return
|
|
2439
|
+
return assertEx4(this.providers?.[StakeViewerMoniker3], () => `StakeViewer provider not found for ${this.moniker}`);
|
|
2376
2440
|
}
|
|
2377
2441
|
get step() {
|
|
2378
|
-
return
|
|
2442
|
+
return assertEx4(this.providers?.[StepViewerMoniker], () => `StepViewer provider not found for ${this.moniker}`);
|
|
2379
2443
|
}
|
|
2380
2444
|
get time() {
|
|
2381
|
-
return
|
|
2445
|
+
return assertEx4(this.providers?.[TimeSyncViewerMoniker3], () => `TimeSyncViewer provider not found for ${this.moniker}`);
|
|
2382
2446
|
}
|
|
2383
2447
|
get transaction() {
|
|
2384
|
-
return
|
|
2448
|
+
return assertEx4(this.providers?.[TransactionViewerMoniker2], () => `TransactionViewer provider not found for ${this.moniker}`);
|
|
2385
2449
|
}
|
|
2386
2450
|
get providers() {
|
|
2387
2451
|
return this._providers;
|
|
@@ -2430,7 +2494,7 @@ var JsonRpcXyoViewer = class extends AbstractJsonRpcViewer {
|
|
|
2430
2494
|
[TimeSyncViewerMoniker3]: await this.locator.getInstance(TimeSyncViewerMoniker3),
|
|
2431
2495
|
[TransactionViewerMoniker2]: await this.locator.getInstance(TransactionViewerMoniker2)
|
|
2432
2496
|
};
|
|
2433
|
-
for (const [moniker, provider] of Object.entries(
|
|
2497
|
+
for (const [moniker, provider] of Object.entries(assertEx4(this._providers, () => "Failed to initialize JsonRpcXyoViewer: providers not found"))) {
|
|
2434
2498
|
if (isUndefined(provider)) {
|
|
2435
2499
|
throw new Error(`Failed to initialize JsonRpcXyoViewer: missing provider dependency for ${moniker}`);
|
|
2436
2500
|
}
|