@xyo-network/xl1-protocol-sdk 3.0.3 → 3.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/neutral/Archivists/ArchivistConnectOptions.d.ts +8 -0
- package/dist/neutral/Archivists/ArchivistConnectOptions.d.ts.map +1 -0
- package/dist/neutral/Archivists/ArchivistFactory.d.ts +31 -0
- package/dist/neutral/Archivists/ArchivistFactory.d.ts.map +1 -0
- package/dist/neutral/Archivists/MemoryArchivistFactory.d.ts +16 -0
- package/dist/neutral/Archivists/MemoryArchivistFactory.d.ts.map +1 -0
- package/dist/neutral/Archivists/archivistRoles.d.ts +12 -0
- package/dist/neutral/Archivists/archivistRoles.d.ts.map +1 -0
- package/dist/neutral/Archivists/connectArchivist.d.ts +11 -0
- package/dist/neutral/Archivists/connectArchivist.d.ts.map +1 -0
- package/dist/neutral/Archivists/index.d.ts +6 -0
- package/dist/neutral/Archivists/index.d.ts.map +1 -0
- package/dist/neutral/CreatableProvider/AbstractCreatableProvider.d.ts +4 -0
- package/dist/neutral/CreatableProvider/AbstractCreatableProvider.d.ts.map +1 -1
- package/dist/neutral/config/Actor.d.ts +24 -0
- package/dist/neutral/config/Actor.d.ts.map +1 -1
- package/dist/neutral/config/Actors.d.ts +4 -0
- package/dist/neutral/config/Actors.d.ts.map +1 -1
- package/dist/neutral/config/Base.d.ts +4 -0
- package/dist/neutral/config/Base.d.ts.map +1 -1
- package/dist/neutral/config/Config.d.ts +16 -0
- package/dist/neutral/config/Config.d.ts.map +1 -1
- package/dist/neutral/config/HostActor.d.ts +24 -0
- package/dist/neutral/config/HostActor.d.ts.map +1 -1
- package/dist/neutral/config/transports/Transport.d.ts +9 -0
- package/dist/neutral/config/transports/Transport.d.ts.map +1 -1
- package/dist/neutral/context/Actor.d.ts +24 -0
- package/dist/neutral/context/Actor.d.ts.map +1 -1
- package/dist/neutral/context/HostActor.d.ts +24 -0
- package/dist/neutral/context/HostActor.d.ts.map +1 -1
- package/dist/neutral/getFileConfig.d.ts +8 -0
- package/dist/neutral/getFileConfig.d.ts.map +1 -1
- package/dist/neutral/getFileConfig.mjs +3 -1
- package/dist/neutral/getFileConfig.mjs.map +2 -2
- package/dist/neutral/index.d.ts +1 -0
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +195 -84
- package/dist/neutral/index.mjs.map +4 -4
- package/dist/neutral/model/CreatableProviderContext.zod.d.ts +24 -0
- package/dist/neutral/model/CreatableProviderContext.zod.d.ts.map +1 -1
- package/dist/neutral/simple/StakeTotalsViewer/SimpleStakeTotalsViewer.d.ts +1 -1
- package/dist/neutral/simple/StakeTotalsViewer/SimpleStakeTotalsViewer.d.ts.map +1 -1
- package/dist/neutral/simple/StakeViewer/SimpleStakeViewer.d.ts +1 -1
- package/dist/neutral/simple/StakeViewer/SimpleStakeViewer.d.ts.map +1 -1
- package/dist/neutral/simple/TransactionViewer/SimpleTransactionViewer.d.ts +1 -1
- package/dist/neutral/simple/TransactionViewer/SimpleTransactionViewer.d.ts.map +1 -1
- package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +1 -1
- package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts.map +1 -1
- package/dist/neutral/simple/block/SimpleBlockViewer.d.ts +5 -2
- package/dist/neutral/simple/block/SimpleBlockViewer.d.ts.map +1 -1
- package/dist/neutral/simple/blockInvalidation/SimpleBlockInvalidationViewer.d.ts +1 -1
- package/dist/neutral/simple/blockInvalidation/SimpleBlockInvalidationViewer.d.ts.map +1 -1
- package/dist/neutral/simple/blockReward/SimpleBlockRewardViewer.d.ts +1 -1
- package/dist/neutral/simple/blockReward/SimpleBlockRewardViewer.d.ts.map +1 -1
- package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts +1 -1
- package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts.map +1 -1
- package/dist/neutral/simple/chainContractViewer/SimpleChainContractViewer.d.ts +1 -1
- package/dist/neutral/simple/chainContractViewer/SimpleChainContractViewer.d.ts.map +1 -1
- package/dist/neutral/simple/finalization/SimpleFinalizationRunner.d.ts +7 -2
- package/dist/neutral/simple/finalization/SimpleFinalizationRunner.d.ts.map +1 -1
- package/dist/neutral/simple/finalization/SimpleFinalizationViewer.d.ts +6 -3
- package/dist/neutral/simple/finalization/SimpleFinalizationViewer.d.ts.map +1 -1
- package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts +9 -6
- package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts.map +1 -1
- package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts +9 -5
- package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts.map +1 -1
- package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts +1 -1
- package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts.map +1 -1
- package/dist/neutral/simple/timeSync2/SimpleTimeSyncViewer.d.ts +1 -1
- package/dist/neutral/simple/timeSync2/SimpleTimeSyncViewer.d.ts.map +1 -1
- package/dist/neutral/simple/transactionValidation/SimpleTransactionValidationViewer.d.ts +1 -1
- package/dist/neutral/simple/transactionValidation/SimpleTransactionValidationViewer.d.ts.map +1 -1
- package/dist/neutral/simple/windowedBlock/SimpleWindowedBlockViewer.d.ts +1 -1
- package/dist/neutral/simple/windowedBlock/SimpleWindowedBlockViewer.d.ts.map +1 -1
- package/dist/neutral/test/index.mjs +82 -11
- package/dist/neutral/test/index.mjs.map +4 -4
- package/package.json +6 -6
package/dist/neutral/simple/transactionValidation/SimpleTransactionValidationViewer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTransactionValidationViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/transactionValidation/SimpleTransactionValidationViewer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EACX,mBAAmB,EAEnB,0CAA0C,EAC1C,kCAAkC,EAClC,qCAAqC,EACrC,yBAAyB,EACzB,qCAAqC,EACrC,2BAA2B,EAC3B,kCAAkC,EAClC,2BAA2B,EAC5B,MAAM,+BAA+B,CAAA;AAWtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAA;AAE/F,wDAAwD;AACxD,MAAM,WAAW,uCAAwC,SAAQ,uBAAuB;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,qCAAqC,CAAA;IAChD,KAAK,CAAC,EAAE,0CAA0C,CAAA;CACnD;AAED,wDAAwD;AACxD,qBACa,iCAAkC,SAC7C,yBAAyB,CAAC,uCAAuC,CAAE,YAAW,2BAA2B;IACzG,MAAM,CAAC,QAAQ,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"SimpleTransactionValidationViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/transactionValidation/SimpleTransactionValidationViewer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EACX,mBAAmB,EAEnB,0CAA0C,EAC1C,kCAAkC,EAClC,qCAAqC,EACrC,yBAAyB,EACzB,qCAAqC,EACrC,2BAA2B,EAC3B,kCAAkC,EAClC,2BAA2B,EAC5B,MAAM,+BAA+B,CAAA;AAWtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAA;AAE/F,wDAAwD;AACxD,MAAM,WAAW,uCAAwC,SAAQ,uBAAuB;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,qCAAqC,CAAA;IAChD,KAAK,CAAC,EAAE,0CAA0C,CAAA;CACnD;AAED,wDAAwD;AACxD,qBACa,iCAAkC,SAC7C,yBAAyB,CAAC,uCAAuC,CAAE,YAAW,2BAA2B;IACzG,MAAM,CAAC,QAAQ,CAAC,eAAe,8CAA8C;IAC7E,MAAM,CAAC,QAAQ,CAAC,cAAc,gCAAqC;IACnE,MAAM,CAAC,QAAQ,CAAC,YAAY,qEAAgF;IAC5G,MAAM,CAAC,QAAQ,CAAC,QAAQ,kCAAuC;IAC/D,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAS;IACzC,OAAO,gCAAmD;IAE1D,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,oBAAoB,CAAsB;IAElD,SAAS,KAAK,WAAW,+BAExB;IAED,SAAS,KAAK,mBAAmB,wBAEhC;IAED,SAAS,KAAK,kBAAkB,WAE/B;WAEqB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,uCAAuC,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC;IAShI,aAAa;IAOtB,4BAA4B,CAChC,KAAK,EAAE,qCAAqC,EAC5C,MAAM,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,CAAC,kCAAkC,EAAE,GAAG,qCAAqC,EAAE,kCAAkC,CAAC,CAAC;IAKxH,6BAA6B,CACjC,YAAY,EAAE,yBAAyB,EAAE,EACzC,MAAM,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,CAAC,CAAC,kCAAkC,EAAE,GAAG,qCAAqC,CAAC,EAAE,EAAE,kCAAkC,CAAC,CAAC;IA2ClI,sBAAsB,CACpB,aAAa,EAAE,yBAAyB,EAAE,EAC1C,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,CAAC,CAAC,kCAAkC,EAAE,GAAG,qCAAqC,CAAC,EAAE,EAAE,kCAAkC,CAAC,CAAC;IAI5H,mBAAmB,CACvB,KAAK,EAAE,yBAAyB,EAChC,MAAM,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,kCAAkC,EAAE,GAAG,qCAAqC,CAAC;IAKlF,oBAAoB,CACxB,YAAY,EAAE,yBAAyB,EAAE,EACzC,MAAM,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,CAAC,kCAAkC,EAAE,GAAG,qCAAqC,CAAC,EAAE,CAAC;YAK9E,kBAAkB;YAalB,eAAe;CAc9B"}
|
|
@@ -10,7 +10,7 @@ export interface SimpleWindowedBlockViewerParams extends CreatableProviderParams
|
|
|
10
10
|
}
|
|
11
11
|
/** SimpleWindowedBlockViewer implementation. */
|
|
12
12
|
export declare class SimpleWindowedBlockViewer extends AbstractCreatableProvider<SimpleWindowedBlockViewerParams> implements WindowedBlockViewer {
|
|
13
|
-
static readonly connectionTypes: readonly ["lmdb", "mongo", "rpc"];
|
|
13
|
+
static readonly connectionTypes: readonly ["lmdb", "mongo", "memory", "rpc"];
|
|
14
14
|
static readonly defaultMoniker: "WindowedBlockViewer";
|
|
15
15
|
static readonly dependencies: "BlockViewer"[];
|
|
16
16
|
static readonly monikers: "WindowedBlockViewer"[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleWindowedBlockViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/windowedBlock/SimpleWindowedBlockViewer.ts"],"names":[],"mappings":"AAAA,OAAO,EACa,KAAK,IAAI,EAAU,KAAK,UAAU,EACrD,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAW,mBAAmB,EAAE,cAAc,EAClH,MAAM,+BAA+B,CAAA;AAOtC,OAAO,EACL,yBAAyB,EAAqB,KAAK,uBAAuB,EAC3E,MAAM,kCAAkC,CAAA;AAEzC,gDAAgD;AAChD,MAAM,WAAW,+BAAgC,SAAQ,uBAAuB;IAC9E,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,gDAAgD;AAChD,qBACa,yBAA0B,SAAQ,yBAAyB,CAAC,+BAA+B,CAAE,YAAW,mBAAmB;IACtI,MAAM,CAAC,QAAQ,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"SimpleWindowedBlockViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/windowedBlock/SimpleWindowedBlockViewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1192,13 +1192,15 @@ var EvmRpcTransportConfigZod = z5.object({
|
|
|
1192
1192
|
type: "string"
|
|
1193
1193
|
})
|
|
1194
1194
|
}).describe("EVM JSON-RPC transport");
|
|
1195
|
+
var MemoryTransportConfigZod = z5.object({ type: z5.literal("memory") }).describe("In-process memory transport");
|
|
1195
1196
|
var TransportConfigZod = z5.discriminatedUnion("type", [
|
|
1196
1197
|
LmdbTransportConfigZod,
|
|
1197
1198
|
MongoTransportConfigZod,
|
|
1198
1199
|
RpcTransportConfigZod,
|
|
1199
1200
|
RestTransportConfigZod,
|
|
1200
1201
|
S3TransportConfigZod,
|
|
1201
|
-
EvmRpcTransportConfigZod
|
|
1202
|
+
EvmRpcTransportConfigZod,
|
|
1203
|
+
MemoryTransportConfigZod
|
|
1202
1204
|
]);
|
|
1203
1205
|
var TransportsConfigZod = z5.record(z5.string(), TransportConfigZod).default({});
|
|
1204
1206
|
|
|
@@ -1782,6 +1784,70 @@ import {
|
|
|
1782
1784
|
} from "@xyo-network/xl1-protocol-lib";
|
|
1783
1785
|
import { Semaphore } from "async-mutex";
|
|
1784
1786
|
|
|
1787
|
+
// src/Archivists/ArchivistFactory.ts
|
|
1788
|
+
import { Mutex } from "async-mutex";
|
|
1789
|
+
var KEY_SEPARATOR = "::";
|
|
1790
|
+
function archivistCacheKey(connectionName, archivistName) {
|
|
1791
|
+
return `${connectionName}${KEY_SEPARATOR}${archivistName}`;
|
|
1792
|
+
}
|
|
1793
|
+
var ArchivistInstanceCache = class {
|
|
1794
|
+
cache = /* @__PURE__ */ new Map();
|
|
1795
|
+
mutex = new Mutex();
|
|
1796
|
+
async clear() {
|
|
1797
|
+
await this.mutex.runExclusive(() => {
|
|
1798
|
+
this.cache.clear();
|
|
1799
|
+
});
|
|
1800
|
+
}
|
|
1801
|
+
async getOrCreate(connectionName, archivistName, create) {
|
|
1802
|
+
const key = archivistCacheKey(connectionName, archivistName);
|
|
1803
|
+
return await this.mutex.runExclusive(async () => {
|
|
1804
|
+
const existing = this.cache.get(key);
|
|
1805
|
+
if (existing !== void 0) return existing;
|
|
1806
|
+
const created = await create();
|
|
1807
|
+
this.cache.set(key, created);
|
|
1808
|
+
return created;
|
|
1809
|
+
});
|
|
1810
|
+
}
|
|
1811
|
+
has(connectionName, archivistName) {
|
|
1812
|
+
return this.cache.has(archivistCacheKey(connectionName, archivistName));
|
|
1813
|
+
}
|
|
1814
|
+
};
|
|
1815
|
+
|
|
1816
|
+
// src/Archivists/archivistRoles.ts
|
|
1817
|
+
var CHAIN_ARCHIVIST_ROLE = "chain";
|
|
1818
|
+
|
|
1819
|
+
// src/Archivists/MemoryArchivistFactory.ts
|
|
1820
|
+
import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/sdk-js";
|
|
1821
|
+
var MemoryArchivistFactory = class _MemoryArchivistFactory {
|
|
1822
|
+
static cache = new ArchivistInstanceCache();
|
|
1823
|
+
static async connect(connectionName, _config, options) {
|
|
1824
|
+
const { name, max } = options;
|
|
1825
|
+
return await _MemoryArchivistFactory.cache.getOrCreate(
|
|
1826
|
+
connectionName,
|
|
1827
|
+
name,
|
|
1828
|
+
// Omit `max` when unset so the chain store inherits MemoryArchivist's default
|
|
1829
|
+
// (the node-backed memory fallback never capped it — a small cap would evict blocks).
|
|
1830
|
+
async () => await MemoryArchivist2.create({ account: "random", config: max === void 0 ? { name } : { max, name } })
|
|
1831
|
+
);
|
|
1832
|
+
}
|
|
1833
|
+
/** Test-only: drop all cached memory archivists so a fresh process state can be simulated. */
|
|
1834
|
+
static async reset() {
|
|
1835
|
+
await _MemoryArchivistFactory.cache.clear();
|
|
1836
|
+
}
|
|
1837
|
+
};
|
|
1838
|
+
|
|
1839
|
+
// src/Archivists/connectArchivist.ts
|
|
1840
|
+
async function connectArchivist(binding, options) {
|
|
1841
|
+
switch (binding.config.type) {
|
|
1842
|
+
case "memory": {
|
|
1843
|
+
return await MemoryArchivistFactory.connect(binding.name, binding.config, options);
|
|
1844
|
+
}
|
|
1845
|
+
default: {
|
|
1846
|
+
throw new Error(`connectArchivist: connection type '${binding.config.type}' is not self-provisioned \u2014 inject the archivist instead`);
|
|
1847
|
+
}
|
|
1848
|
+
}
|
|
1849
|
+
}
|
|
1850
|
+
|
|
1785
1851
|
// src/utils/HydratedCache.ts
|
|
1786
1852
|
import { LRUCache } from "lru-cache";
|
|
1787
1853
|
var HydratedCache = class {
|
|
@@ -1820,7 +1886,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
|
|
|
1820
1886
|
_headPollTimer = null;
|
|
1821
1887
|
_signedHydratedBlockCache;
|
|
1822
1888
|
get finalizedArchivist() {
|
|
1823
|
-
return this.params.finalizedArchivist;
|
|
1889
|
+
return assertEx15(this.params.finalizedArchivist, () => "finalizedArchivist is required \u2014 inject it or bind a connection");
|
|
1824
1890
|
}
|
|
1825
1891
|
get blocksSummaryMap() {
|
|
1826
1892
|
this._blocksSummaryMap ??= this.params.blocksSummaryMap ?? new LruCacheMap2({ max: 32 });
|
|
@@ -1846,10 +1912,12 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
|
|
|
1846
1912
|
if (headPollIntervalMs !== void 0) {
|
|
1847
1913
|
assertEx15(headPollIntervalMs >= MIN_HEAD_POLL_INTERVAL_MS, () => `headPollIntervalMs must be at least ${MIN_HEAD_POLL_INTERVAL_MS}ms`);
|
|
1848
1914
|
}
|
|
1915
|
+
const connection = params.connection;
|
|
1916
|
+
const finalizedArchivist = params.finalizedArchivist ?? (connection ? await connectArchivist(connection, { name: CHAIN_ARCHIVIST_ROLE }) : void 0);
|
|
1849
1917
|
return {
|
|
1850
1918
|
...await super.paramsHandler(params),
|
|
1851
1919
|
blocksSummaryMap: params.blocksSummaryMap,
|
|
1852
|
-
finalizedArchivist: assertEx15(
|
|
1920
|
+
finalizedArchivist: assertEx15(finalizedArchivist, () => "finalizedArchivist is required \u2014 inject it or bind a connection"),
|
|
1853
1921
|
headPollIntervalMs
|
|
1854
1922
|
};
|
|
1855
1923
|
}
|
|
@@ -1947,7 +2015,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
|
|
|
1947
2015
|
async createHandler() {
|
|
1948
2016
|
await super.createHandler();
|
|
1949
2017
|
this.finalizationViewer = await this.locator.getInstance(FinalizationViewerMoniker);
|
|
1950
|
-
this._store = { chainMap: this.
|
|
2018
|
+
this._store = { chainMap: this.finalizedArchivist };
|
|
1951
2019
|
}
|
|
1952
2020
|
async currentBlock() {
|
|
1953
2021
|
return await this.finalizationViewer.head();
|
|
@@ -2047,7 +2115,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
|
|
|
2047
2115
|
this._headPollTimer = null;
|
|
2048
2116
|
}
|
|
2049
2117
|
};
|
|
2050
|
-
__publicField(SimpleBlockViewer, "connectionTypes", ["lmdb", "mongo"]);
|
|
2118
|
+
__publicField(SimpleBlockViewer, "connectionTypes", ["lmdb", "mongo", "memory"]);
|
|
2051
2119
|
__publicField(SimpleBlockViewer, "defaultMoniker", BlockViewerMoniker);
|
|
2052
2120
|
__publicField(SimpleBlockViewer, "dependencies", [FinalizationViewerMoniker]);
|
|
2053
2121
|
__publicField(SimpleBlockViewer, "monikers", [BlockViewerMoniker]);
|
|
@@ -2107,7 +2175,7 @@ var SimpleChainContractViewer = class extends AbstractCreatableProvider {
|
|
|
2107
2175
|
return this.params.stakingTokenAddress;
|
|
2108
2176
|
}
|
|
2109
2177
|
};
|
|
2110
|
-
__publicField(SimpleChainContractViewer, "connectionTypes", ["lmdb", "mongo"]);
|
|
2178
|
+
__publicField(SimpleChainContractViewer, "connectionTypes", ["lmdb", "mongo", "memory"]);
|
|
2111
2179
|
__publicField(SimpleChainContractViewer, "defaultMoniker", ChainContractViewerMoniker);
|
|
2112
2180
|
__publicField(SimpleChainContractViewer, "dependencies", [FinalizationViewerMoniker2]);
|
|
2113
2181
|
__publicField(SimpleChainContractViewer, "monikers", [ChainContractViewerMoniker]);
|
|
@@ -2129,7 +2197,7 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
|
|
|
2129
2197
|
_store;
|
|
2130
2198
|
_signedHydratedBlockCache;
|
|
2131
2199
|
get finalizedArchivist() {
|
|
2132
|
-
return this.params.finalizedArchivist;
|
|
2200
|
+
return assertEx17(this.params.finalizedArchivist, () => "finalizedArchivist is required \u2014 inject it or bind a connection");
|
|
2133
2201
|
}
|
|
2134
2202
|
get hydratedBlockCache() {
|
|
2135
2203
|
if (this._signedHydratedBlockCache) return this._signedHydratedBlockCache;
|
|
@@ -2144,9 +2212,11 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
|
|
|
2144
2212
|
return this._store;
|
|
2145
2213
|
}
|
|
2146
2214
|
static async paramsHandler(params) {
|
|
2215
|
+
const connection = params.connection;
|
|
2216
|
+
const finalizedArchivist = params.finalizedArchivist ?? (connection ? await connectArchivist(connection, { name: CHAIN_ARCHIVIST_ROLE }) : void 0);
|
|
2147
2217
|
return {
|
|
2148
2218
|
...await super.paramsHandler(params),
|
|
2149
|
-
finalizedArchivist: assertEx17(
|
|
2219
|
+
finalizedArchivist: assertEx17(finalizedArchivist, () => "finalizedArchivist is required \u2014 inject it or bind a connection")
|
|
2150
2220
|
};
|
|
2151
2221
|
}
|
|
2152
2222
|
chainId() {
|
|
@@ -2154,9 +2224,10 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
|
|
|
2154
2224
|
}
|
|
2155
2225
|
async createHandler() {
|
|
2156
2226
|
await super.createHandler();
|
|
2157
|
-
const
|
|
2227
|
+
const finalizedArchivist = this.finalizedArchivist;
|
|
2228
|
+
const mostRecentBlock = await findMostRecentBlock(finalizedArchivist);
|
|
2158
2229
|
this._chainId = assertEx17(this.config.chain.id ?? mostRecentBlock?.chain, () => "chain.id is required if empty archivist");
|
|
2159
|
-
this._store = { chainMap:
|
|
2230
|
+
this._store = { chainMap: finalizedArchivist };
|
|
2160
2231
|
}
|
|
2161
2232
|
async head() {
|
|
2162
2233
|
return await this.spanAsync("head", async () => {
|
|
@@ -2201,7 +2272,7 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
|
|
|
2201
2272
|
return result;
|
|
2202
2273
|
}
|
|
2203
2274
|
};
|
|
2204
|
-
__publicField(SimpleFinalizationViewer, "connectionTypes", ["lmdb", "mongo"]);
|
|
2275
|
+
__publicField(SimpleFinalizationViewer, "connectionTypes", ["lmdb", "mongo", "memory"]);
|
|
2205
2276
|
__publicField(SimpleFinalizationViewer, "defaultMoniker", FinalizationViewerMoniker3);
|
|
2206
2277
|
__publicField(SimpleFinalizationViewer, "dependencies", [ChainContractViewerMoniker2]);
|
|
2207
2278
|
__publicField(SimpleFinalizationViewer, "monikers", [FinalizationViewerMoniker3]);
|