@xyo-network/xl1-protocol-sdk 3.0.16 → 3.1.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/dist/neutral/capabilities/resolveProviders.d.ts +4 -1
- package/dist/neutral/capabilities/resolveProviders.d.ts.map +1 -1
- package/dist/neutral/index.mjs +55 -69
- package/dist/neutral/index.mjs.map +4 -4
- package/dist/neutral/simple/systemStatus/index.d.ts +0 -1
- package/dist/neutral/simple/systemStatus/index.d.ts.map +1 -1
- package/dist/neutral/status/SimpleSystemStatusRunner.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/neutral/simple/systemStatus/ConsoleSystemStatusPublisher.d.ts +0 -21
- package/dist/neutral/simple/systemStatus/ConsoleSystemStatusPublisher.d.ts.map +0 -1
|
@@ -43,7 +43,10 @@ export interface ResolveProvidersOptions {
|
|
|
43
43
|
* Plans which providers to register for a given set of needs.
|
|
44
44
|
*
|
|
45
45
|
* 1. Fixpoint-expand monikers from selected descriptor `dependencies`.
|
|
46
|
-
* 2. Require `providerBindings[moniker].connection` for every
|
|
46
|
+
* 2. Require `providerBindings[moniker].connection` for every connection-consuming
|
|
47
|
+
* moniker. A moniker satisfied by a single wildcard candidate consumes no
|
|
48
|
+
* connection of its own (it delegates storage to its dependencies) and binds
|
|
49
|
+
* directly, with no binding required.
|
|
47
50
|
* 3. Filter candidates by bound connection type.
|
|
48
51
|
* 4. Throw when zero or multiple candidates remain.
|
|
49
52
|
* 5. Toposort selected descriptors using `dependencies`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveProviders.d.ts","sourceRoot":"","sources":["../../../src/capabilities/resolveProviders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,qCAAqC,CAAA;AAE3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5D,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAChD,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;gBAEvB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE;CAOjE;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,kBAAkB,EAAE;CAShF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe;CAKrC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM;CAQ7D;AAED,UAAU,mBAAmB;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;CAC5F;AAED
|
|
1
|
+
{"version":3,"file":"resolveProviders.d.ts","sourceRoot":"","sources":["../../../src/capabilities/resolveProviders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,qCAAqC,CAAA;AAE3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5D,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAChD,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;gBAEvB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE;CAOjE;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,kBAAkB,EAAE;CAShF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe;CAKrC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM;CAQ7D;AAED,UAAU,mBAAmB;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;CAC5F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,EACnC,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,OAAO,GAAE,uBAA4B,GACpC,cAAc,CAsBhB"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1520,12 +1520,28 @@ function expandBindingClosure(wanted, bindings, selectedById, candidatesByMonike
|
|
|
1520
1520
|
}
|
|
1521
1521
|
}
|
|
1522
1522
|
function bindMoniker(moniker, wanted, bindings, selectedById, candidatesByMoniker, rejected, allCandidates, options) {
|
|
1523
|
+
const group = candidatesByMoniker.get(moniker) ?? [];
|
|
1524
|
+
const winner = bindsNoConnection(group) ? group[0] : selectByConnection(moniker, group, rejected, allCandidates, options);
|
|
1525
|
+
bindings[moniker] = winner.id;
|
|
1526
|
+
selectedById.set(winner.id, winner);
|
|
1527
|
+
let grew = false;
|
|
1528
|
+
for (const dep of winner.dependencies ?? []) {
|
|
1529
|
+
if (!wanted.has(dep)) {
|
|
1530
|
+
wanted.add(dep);
|
|
1531
|
+
grew = true;
|
|
1532
|
+
}
|
|
1533
|
+
}
|
|
1534
|
+
return grew;
|
|
1535
|
+
}
|
|
1536
|
+
function bindsNoConnection(group) {
|
|
1537
|
+
return group.length === 1 && descriptorConnectionTypes(group[0]).length === 0;
|
|
1538
|
+
}
|
|
1539
|
+
function selectByConnection(moniker, group, rejected, allCandidates, options) {
|
|
1523
1540
|
const connectionName = connectionNameForMoniker(moniker, options);
|
|
1524
1541
|
const connection = options.connections?.[connectionName];
|
|
1525
1542
|
if (!isDefined4(connection)) {
|
|
1526
1543
|
throw new UnknownConnectionError(moniker, connectionName);
|
|
1527
1544
|
}
|
|
1528
|
-
const group = candidatesByMoniker.get(moniker) ?? [];
|
|
1529
1545
|
const { filtered, rejected: connectionRejected } = filterByConnection(
|
|
1530
1546
|
group,
|
|
1531
1547
|
connection.type,
|
|
@@ -1538,17 +1554,7 @@ function bindMoniker(moniker, wanted, bindings, selectedById, candidatesByMonike
|
|
|
1538
1554
|
if (filtered.length > 1) {
|
|
1539
1555
|
throw new AmbiguousProviderError(moniker, filtered);
|
|
1540
1556
|
}
|
|
1541
|
-
|
|
1542
|
-
bindings[moniker] = winner.id;
|
|
1543
|
-
selectedById.set(winner.id, winner);
|
|
1544
|
-
let grew = false;
|
|
1545
|
-
for (const dep of winner.dependencies ?? []) {
|
|
1546
|
-
if (!wanted.has(dep)) {
|
|
1547
|
-
wanted.add(dep);
|
|
1548
|
-
grew = true;
|
|
1549
|
-
}
|
|
1550
|
-
}
|
|
1551
|
-
return grew;
|
|
1557
|
+
return filtered[0];
|
|
1552
1558
|
}
|
|
1553
1559
|
function connectionNameForMoniker(moniker, options) {
|
|
1554
1560
|
const binding = options.providerBindings?.[moniker];
|
|
@@ -6781,41 +6787,13 @@ RestSyncViewer = __decorateClass([
|
|
|
6781
6787
|
creatableProvider()
|
|
6782
6788
|
], RestSyncViewer);
|
|
6783
6789
|
|
|
6784
|
-
// src/simple/systemStatus/ConsoleSystemStatusPublisher.ts
|
|
6785
|
-
import { assertEx as assertEx50 } from "@xylabs/sdk-js";
|
|
6786
|
-
import { SystemStatusPublisherMoniker } from "@xyo-network/xl1-protocol-lib";
|
|
6787
|
-
var ConsoleSystemStatusPublisher = class extends AbstractCreatableProvider {
|
|
6788
|
-
moniker = ConsoleSystemStatusPublisher.defaultMoniker;
|
|
6789
|
-
async startHandler() {
|
|
6790
|
-
await super.startHandler();
|
|
6791
|
-
const runner = assertEx50(
|
|
6792
|
-
this.context.statusReporter,
|
|
6793
|
-
() => "ConsoleSystemStatusPublisher requires a SystemStatusRunner (context.statusReporter)"
|
|
6794
|
-
);
|
|
6795
|
-
runner.onGlobalTransition({ to: "started" }, () => {
|
|
6796
|
-
this.logger?.info("All services started.");
|
|
6797
|
-
});
|
|
6798
|
-
runner.onGlobalTransition({ to: "error" }, () => {
|
|
6799
|
-
this.logger?.error("A service entered an error state.");
|
|
6800
|
-
});
|
|
6801
|
-
}
|
|
6802
|
-
};
|
|
6803
|
-
__publicField(ConsoleSystemStatusPublisher, "connectionTypes", ["memory"]);
|
|
6804
|
-
__publicField(ConsoleSystemStatusPublisher, "defaultMoniker", SystemStatusPublisherMoniker);
|
|
6805
|
-
__publicField(ConsoleSystemStatusPublisher, "dependencies", []);
|
|
6806
|
-
__publicField(ConsoleSystemStatusPublisher, "monikers", [SystemStatusPublisherMoniker]);
|
|
6807
|
-
__publicField(ConsoleSystemStatusPublisher, "surface", "node");
|
|
6808
|
-
ConsoleSystemStatusPublisher = __decorateClass([
|
|
6809
|
-
creatableProvider()
|
|
6810
|
-
], ConsoleSystemStatusPublisher);
|
|
6811
|
-
|
|
6812
6790
|
// src/simple/systemStatus/SimpleSystemStatusViewer.ts
|
|
6813
|
-
import { assertEx as
|
|
6791
|
+
import { assertEx as assertEx50 } from "@xylabs/sdk-js";
|
|
6814
6792
|
import { SystemStatusViewerMoniker } from "@xyo-network/xl1-protocol-lib";
|
|
6815
6793
|
var SimpleSystemStatusViewer = class extends AbstractCreatableProvider {
|
|
6816
6794
|
moniker = SimpleSystemStatusViewer.defaultMoniker;
|
|
6817
6795
|
get runner() {
|
|
6818
|
-
return
|
|
6796
|
+
return assertEx50(this.context.statusReporter, () => "SystemStatusViewer requires a SystemStatusRunner (context.statusReporter)");
|
|
6819
6797
|
}
|
|
6820
6798
|
getGlobalStatus() {
|
|
6821
6799
|
return this.runner.getGlobalStatus();
|
|
@@ -6845,7 +6823,7 @@ SimpleSystemStatusViewer = __decorateClass([
|
|
|
6845
6823
|
// src/simple/timeSync2/SimpleTimeSyncViewer.ts
|
|
6846
6824
|
import {
|
|
6847
6825
|
asHash as asHash5,
|
|
6848
|
-
assertEx as
|
|
6826
|
+
assertEx as assertEx51,
|
|
6849
6827
|
isDefined as isDefined22
|
|
6850
6828
|
} from "@xylabs/sdk-js";
|
|
6851
6829
|
import {
|
|
@@ -6867,7 +6845,7 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
|
|
|
6867
6845
|
async convertTime(fromDomain, toDomain, from) {
|
|
6868
6846
|
switch (fromDomain) {
|
|
6869
6847
|
case "xl1": {
|
|
6870
|
-
const [block, payloads] =
|
|
6848
|
+
const [block, payloads] = assertEx51(await this.blockViewer.blockByNumber(asXL1BlockNumber11(from, true)), () => "Block not found");
|
|
6871
6849
|
const timeSchemaIndex = block.payload_schemas.indexOf(TimeSchema);
|
|
6872
6850
|
const hash = timeSchemaIndex === -1 ? void 0 : block.payload_hashes[timeSchemaIndex];
|
|
6873
6851
|
const timePayload = asTimePayload2(isDefined22(hash) ? payloads.find((p) => p._hash === hash) : void 0);
|
|
@@ -6923,10 +6901,10 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
|
|
|
6923
6901
|
return [Date.now(), null];
|
|
6924
6902
|
}
|
|
6925
6903
|
case "ethereum": {
|
|
6926
|
-
const provider =
|
|
6904
|
+
const provider = assertEx51(this.ethProvider, () => "Ethereum provider not configured");
|
|
6927
6905
|
const blockNumber = await provider.getBlockNumber() ?? 0;
|
|
6928
6906
|
const block = await provider.getBlock(blockNumber);
|
|
6929
|
-
const blockHash = asHash5(
|
|
6907
|
+
const blockHash = asHash5(assertEx51(block?.hash, () => "Block hash not found"), true);
|
|
6930
6908
|
return [blockNumber, blockHash];
|
|
6931
6909
|
}
|
|
6932
6910
|
default: {
|
|
@@ -6941,7 +6919,7 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
|
|
|
6941
6919
|
// this is for the previous block
|
|
6942
6920
|
xl1,
|
|
6943
6921
|
// this is for the previous block
|
|
6944
|
-
xl1Hash:
|
|
6922
|
+
xl1Hash: assertEx51(xl1Hash, () => "No xl1 hash available from time sync service"),
|
|
6945
6923
|
epoch: Date.now()
|
|
6946
6924
|
};
|
|
6947
6925
|
if (isDefined22(this.ethProvider)) {
|
|
@@ -6963,7 +6941,7 @@ SimpleTimeSyncViewer = __decorateClass([
|
|
|
6963
6941
|
], SimpleTimeSyncViewer);
|
|
6964
6942
|
|
|
6965
6943
|
// src/simple/transactionValidation/SimpleTransactionValidationViewer.ts
|
|
6966
|
-
import { assertEx as
|
|
6944
|
+
import { assertEx as assertEx52 } from "@xylabs/sdk-js";
|
|
6967
6945
|
import { PayloadBuilder as PayloadBuilder24 } from "@xyo-network/sdk-js";
|
|
6968
6946
|
import {
|
|
6969
6947
|
AccountBalanceViewerMoniker as AccountBalanceViewerMoniker3,
|
|
@@ -7017,7 +6995,7 @@ var SimpleTransactionValidationViewer = class extends AbstractCreatableProvider
|
|
|
7017
6995
|
let head;
|
|
7018
6996
|
if (isChainQualifiedHeadConfig6(config)) {
|
|
7019
6997
|
const headBlockResult = await this.blockViewer.blockByHash(config.head);
|
|
7020
|
-
head = headBlockResult == null ?
|
|
6998
|
+
head = headBlockResult == null ? assertEx52(
|
|
7021
6999
|
void 0,
|
|
7022
7000
|
() => `Specified a head that is not in the chain [${config.head}]`
|
|
7023
7001
|
) : headBlockResult[0];
|
|
@@ -7089,7 +7067,7 @@ SimpleTransactionValidationViewer = __decorateClass([
|
|
|
7089
7067
|
], SimpleTransactionValidationViewer);
|
|
7090
7068
|
|
|
7091
7069
|
// src/simple/TransactionViewer/SimpleTransactionViewer.ts
|
|
7092
|
-
import { assertEx as
|
|
7070
|
+
import { assertEx as assertEx53, exists as exists10 } from "@xylabs/sdk-js";
|
|
7093
7071
|
import { BoundWitnessSchema } from "@xyo-network/sdk-js";
|
|
7094
7072
|
import {
|
|
7095
7073
|
asSignedHydratedTransactionWithHashMeta as asSignedHydratedTransactionWithHashMeta2,
|
|
@@ -7106,7 +7084,7 @@ var SimpleTransactionViewer = class extends AbstractCreatableProvider {
|
|
|
7106
7084
|
}
|
|
7107
7085
|
async byBlockHashAndIndex(blockHash, transactionIndex) {
|
|
7108
7086
|
return await this.spanAsync("byBlockHashAndIndex", async () => {
|
|
7109
|
-
|
|
7087
|
+
assertEx53(transactionIndex >= 0, () => "transactionIndex must be greater than or equal to 0");
|
|
7110
7088
|
try {
|
|
7111
7089
|
const block = await this.blockViewer.blockByHash(blockHash);
|
|
7112
7090
|
if (!block) return null;
|
|
@@ -7171,7 +7149,7 @@ SimpleTransactionViewer = __decorateClass([
|
|
|
7171
7149
|
|
|
7172
7150
|
// src/simple/windowedBlock/SimpleWindowedBlockViewer.ts
|
|
7173
7151
|
import {
|
|
7174
|
-
assertEx as
|
|
7152
|
+
assertEx as assertEx54,
|
|
7175
7153
|
exists as exists11,
|
|
7176
7154
|
isNull as isNull2
|
|
7177
7155
|
} from "@xylabs/sdk-js";
|
|
@@ -7253,7 +7231,7 @@ var SimpleWindowedBlockViewer = class extends AbstractCreatableProvider {
|
|
|
7253
7231
|
}
|
|
7254
7232
|
async createHandler() {
|
|
7255
7233
|
await super.createHandler();
|
|
7256
|
-
this._blockViewer =
|
|
7234
|
+
this._blockViewer = assertEx54(
|
|
7257
7235
|
this.params.blockViewer ?? await this.locator.getInstance(BlockViewerMoniker7),
|
|
7258
7236
|
() => "BlockViewer instance is required"
|
|
7259
7237
|
);
|
|
@@ -7262,13 +7240,13 @@ var SimpleWindowedBlockViewer = class extends AbstractCreatableProvider {
|
|
|
7262
7240
|
this._transactionHashMap = new MemoryMap2();
|
|
7263
7241
|
}
|
|
7264
7242
|
currentBlock() {
|
|
7265
|
-
return
|
|
7243
|
+
return assertEx54(this._chain.at(-1));
|
|
7266
7244
|
}
|
|
7267
7245
|
currentBlockHash() {
|
|
7268
|
-
return
|
|
7246
|
+
return assertEx54(this._chain.at(-1)?.[0]._hash);
|
|
7269
7247
|
}
|
|
7270
7248
|
currentBlockNumber() {
|
|
7271
|
-
return
|
|
7249
|
+
return assertEx54(this._chain.at(-1)?.[0].block);
|
|
7272
7250
|
}
|
|
7273
7251
|
async payloadByHash(hash) {
|
|
7274
7252
|
const payloads = await this.payloadsByHash([hash]);
|
|
@@ -7363,7 +7341,16 @@ var LoggerStatusReporter = class {
|
|
|
7363
7341
|
};
|
|
7364
7342
|
|
|
7365
7343
|
// src/status/SimpleSystemStatusRunner.ts
|
|
7366
|
-
import {
|
|
7344
|
+
import {
|
|
7345
|
+
SystemStatusPublisherMoniker,
|
|
7346
|
+
SystemStatusRunnerMoniker,
|
|
7347
|
+
SystemStatusViewerMoniker as SystemStatusViewerMoniker2
|
|
7348
|
+
} from "@xyo-network/xl1-protocol-lib";
|
|
7349
|
+
var STATUS_INFRASTRUCTURE_NAMES = /* @__PURE__ */ new Set([
|
|
7350
|
+
SystemStatusRunnerMoniker,
|
|
7351
|
+
SystemStatusViewerMoniker2,
|
|
7352
|
+
SystemStatusPublisherMoniker
|
|
7353
|
+
]);
|
|
7367
7354
|
var statusPriority = {
|
|
7368
7355
|
error: 0,
|
|
7369
7356
|
stopped: 1,
|
|
@@ -7396,7 +7383,7 @@ var SimpleSystemStatusRunner = class extends LoggerStatusReporter {
|
|
|
7396
7383
|
transitions = [];
|
|
7397
7384
|
updatedAtMap = {};
|
|
7398
7385
|
getGlobalStatus() {
|
|
7399
|
-
const statuses = Object.
|
|
7386
|
+
const statuses = Object.entries(this.statusMap).filter(([name]) => !STATUS_INFRASTRUCTURE_NAMES.has(name)).map(([, status]) => status);
|
|
7400
7387
|
if (statuses.length === 0) return SENTINEL_STATUS;
|
|
7401
7388
|
return reduceToMinimumStatus(statuses);
|
|
7402
7389
|
}
|
|
@@ -7476,7 +7463,7 @@ var SimpleSystemStatusRunner = class extends LoggerStatusReporter {
|
|
|
7476
7463
|
};
|
|
7477
7464
|
|
|
7478
7465
|
// src/test/buildRandomChain.ts
|
|
7479
|
-
import { asAddress as asAddress2, assertEx as
|
|
7466
|
+
import { asAddress as asAddress2, assertEx as assertEx57 } from "@xylabs/sdk-js";
|
|
7480
7467
|
import {
|
|
7481
7468
|
Account as Account4,
|
|
7482
7469
|
asSchema as asSchema9,
|
|
@@ -7495,7 +7482,7 @@ import {
|
|
|
7495
7482
|
} from "@xyo-network/xl1-protocol-lib";
|
|
7496
7483
|
|
|
7497
7484
|
// src/test/buildBlock.ts
|
|
7498
|
-
import { assertEx as
|
|
7485
|
+
import { assertEx as assertEx55, isDefined as isDefined23 } from "@xylabs/sdk-js";
|
|
7499
7486
|
import {
|
|
7500
7487
|
asAnyPayload as asAnyPayload5,
|
|
7501
7488
|
BoundWitnessBuilder as BoundWitnessBuilder4,
|
|
@@ -7578,7 +7565,7 @@ function buildStepHashes(blockNumber, inStepHashes, previousBlockHash, chainStep
|
|
|
7578
7565
|
const completedStepReward = calculateCompletedStepReward(i, stepRewardPoolBalance);
|
|
7579
7566
|
completedStepRewardTransfers.push(createTransferPayload(chainStepRewardAddress2, { [completedStepRewardHolderAddress]: completedStepReward }));
|
|
7580
7567
|
}
|
|
7581
|
-
step_hashes.push(
|
|
7568
|
+
step_hashes.push(assertEx55(previousBlockHash, () => `Previous block hash is required for step ${step} at block ${blockNumber}`));
|
|
7582
7569
|
} else if (isDefined23(inStepHashes.at(i))) {
|
|
7583
7570
|
step_hashes.push(inStepHashes[i]);
|
|
7584
7571
|
}
|
|
@@ -7632,7 +7619,7 @@ async function buildBlock(options) {
|
|
|
7632
7619
|
protocol
|
|
7633
7620
|
}).meta({ $epoch: Date.now(), $signatures: [] }).signers(signers).payloads(await PayloadBuilder25.addStorageMeta(payloads));
|
|
7634
7621
|
const [bw, txPayloads] = await builder.build();
|
|
7635
|
-
|
|
7622
|
+
assertEx55(isBlockBoundWitness(bw), () => "Build of BlockBoundWitness failed");
|
|
7636
7623
|
return [await PayloadBuilder25.addStorageMeta(bw), txPayloads.map((p) => asAnyPayload5(p, true))];
|
|
7637
7624
|
}
|
|
7638
7625
|
|
|
@@ -7653,7 +7640,7 @@ async function buildNextBlock(previousBlock, txs, blockPayloads, signers, chainS
|
|
|
7653
7640
|
}
|
|
7654
7641
|
|
|
7655
7642
|
// src/test/buildRandomGenesisBlock.ts
|
|
7656
|
-
import { asAddress, assertEx as
|
|
7643
|
+
import { asAddress, assertEx as assertEx56 } from "@xylabs/sdk-js";
|
|
7657
7644
|
import {
|
|
7658
7645
|
Account as Account3,
|
|
7659
7646
|
asAnyPayload as asAnyPayload6,
|
|
@@ -7697,7 +7684,7 @@ var buildRandomTransaction = async (chain, payloads, account, nbf = asXL1BlockNu
|
|
|
7697
7684
|
};
|
|
7698
7685
|
|
|
7699
7686
|
// src/test/buildRandomGenesisBlock.ts
|
|
7700
|
-
var TestChainId =
|
|
7687
|
+
var TestChainId = assertEx56(asAddress("c5fe2e6F6841Cbab12d8C0618Be2DF8C6156cC44"));
|
|
7701
7688
|
|
|
7702
7689
|
// src/test/createGenesisBlock.ts
|
|
7703
7690
|
import { PayloadBuilder as PayloadBuilder28 } from "@xyo-network/sdk-js";
|
|
@@ -7752,7 +7739,7 @@ var createGenesisBlock = async (initialBlockProducer, nextContractAddress, genes
|
|
|
7752
7739
|
};
|
|
7753
7740
|
|
|
7754
7741
|
// src/test/buildRandomChain.ts
|
|
7755
|
-
var TestGenesisBlockRewardAddress =
|
|
7742
|
+
var TestGenesisBlockRewardAddress = assertEx57(asAddress2("fa7f0bb865a4bfff3d5e2c726d3e063297014da9"));
|
|
7756
7743
|
var buildRandomChain = async (blockProducer, count = 10, previousBlock, chainId, transactionAccount, receiverAddresses) => {
|
|
7757
7744
|
const chainIdToUse = chainId ?? TestChainId;
|
|
7758
7745
|
const blocks = [];
|
|
@@ -7796,7 +7783,7 @@ var buildRandomChain = async (blockProducer, count = 10, previousBlock, chainId,
|
|
|
7796
7783
|
receiverAddress
|
|
7797
7784
|
));
|
|
7798
7785
|
}
|
|
7799
|
-
const previousBlock2 =
|
|
7786
|
+
const previousBlock2 = assertEx57(lastBlock?.[0], () => new Error("No last block"));
|
|
7800
7787
|
const block = await buildNextBlock(previousBlock2, txs, [], [blockProducer], transactionAccountToUse.address);
|
|
7801
7788
|
blocks.push(block);
|
|
7802
7789
|
remaining = remaining - 1;
|
|
@@ -7857,13 +7844,13 @@ function getTestProviderContext2(config) {
|
|
|
7857
7844
|
}
|
|
7858
7845
|
|
|
7859
7846
|
// src/time/primitives/xl1BlockNumberToEthBlockNumber.ts
|
|
7860
|
-
import { assertEx as
|
|
7847
|
+
import { assertEx as assertEx58 } from "@xylabs/sdk-js";
|
|
7861
7848
|
import { asTimePayload as asTimePayload3, TimeSchema as TimeSchema2 } from "@xyo-network/xl1-protocol-lib";
|
|
7862
7849
|
async function xl1BlockNumberToEthBlockNumber(context, xl1BlockNumber) {
|
|
7863
7850
|
const blockHash = await hashFromBlockNumber(context, xl1BlockNumber);
|
|
7864
7851
|
const hydratedBlock = await hydrateBlock(context, blockHash);
|
|
7865
7852
|
const timePayload = asTimePayload3(hydratedBlock[1].find((p) => p.schema === TimeSchema2), { required: true });
|
|
7866
|
-
return
|
|
7853
|
+
return assertEx58(timePayload.ethereum, () => "No ethereum timestamp found on block");
|
|
7867
7854
|
}
|
|
7868
7855
|
|
|
7869
7856
|
// src/validation/lib/isLocalhost.ts
|
|
@@ -7929,7 +7916,6 @@ export {
|
|
|
7929
7916
|
ConfigZod,
|
|
7930
7917
|
ConnectionConfigZod,
|
|
7931
7918
|
ConnectionsConfigZod,
|
|
7932
|
-
ConsoleSystemStatusPublisher,
|
|
7933
7919
|
CreatableProviderContextZod,
|
|
7934
7920
|
DEFAULT_BACKOFF_MS,
|
|
7935
7921
|
DEFAULT_MAX_ATTEMPTS,
|