@xyo-network/chain-orchestration 1.19.3 → 1.19.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/actor/BalanceActor.d.ts +8 -4
- package/dist/neutral/actor/BalanceActor.d.ts.map +1 -1
- package/dist/neutral/actor/MempoolActor.d.ts +41 -0
- package/dist/neutral/actor/MempoolActor.d.ts.map +1 -0
- package/dist/neutral/actor/ValidatorActor.d.ts +20 -5
- package/dist/neutral/actor/ValidatorActor.d.ts.map +1 -1
- package/dist/neutral/actor/index.d.ts +1 -0
- package/dist/neutral/actor/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +166 -76
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +6 -6
- package/src/actor/BalanceActor.ts +11 -7
- package/src/actor/MempoolActor.ts +105 -0
- package/src/actor/ValidatorActor.ts +25 -20
- package/src/actor/index.ts +1 -0
- package/src/init/initChainStakeViewer.ts +8 -8
package/dist/neutral/index.mjs
CHANGED
|
@@ -10,8 +10,8 @@ var BalanceActor = class extends Actor {
|
|
|
10
10
|
__name(this, "BalanceActor");
|
|
11
11
|
}
|
|
12
12
|
_updateMutex = new Mutex();
|
|
13
|
-
get
|
|
14
|
-
return assertEx(this.params.
|
|
13
|
+
get accountBalanceViewer() {
|
|
14
|
+
return assertEx(this.params.accountBalanceViewer, () => "balanceService not set");
|
|
15
15
|
}
|
|
16
16
|
get blockViewer() {
|
|
17
17
|
return assertEx(this.params.blockViewer, () => "blockViewer not set");
|
|
@@ -32,18 +32,17 @@ var BalanceActor = class extends Actor {
|
|
|
32
32
|
if (this._updateMutex.isLocked()) return;
|
|
33
33
|
await this._updateMutex.runExclusive(async () => {
|
|
34
34
|
const head = await this.blockViewer.currentBlockHash();
|
|
35
|
-
await this.
|
|
35
|
+
await this.accountBalanceViewer.accountBalances([], {
|
|
36
36
|
head
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
-
// src/actor/
|
|
42
|
+
// src/actor/MempoolActor.ts
|
|
43
43
|
import { assertEx as assertEx2, creatable } from "@xylabs/sdk-js";
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import { Actor as Actor2, BlockViewerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
44
|
+
import { Actor as Actor2 } from "@xyo-network/xl1-sdk";
|
|
45
|
+
import { Mutex as Mutex2 } from "async-mutex";
|
|
47
46
|
function _ts_decorate(decorators, target, key, desc) {
|
|
48
47
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
49
48
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -51,27 +50,117 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
51
50
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
52
51
|
}
|
|
53
52
|
__name(_ts_decorate, "_ts_decorate");
|
|
54
|
-
var
|
|
53
|
+
var MempoolActor = class extends Actor2 {
|
|
54
|
+
static {
|
|
55
|
+
__name(this, "MempoolActor");
|
|
56
|
+
}
|
|
57
|
+
_blockTimerId = null;
|
|
58
|
+
_blockTimerMutex = new Mutex2();
|
|
59
|
+
_transactionTimerId = null;
|
|
60
|
+
_transactionTimerMutex = new Mutex2();
|
|
61
|
+
get mempoolRunner() {
|
|
62
|
+
return this.params.mempoolRunner;
|
|
63
|
+
}
|
|
64
|
+
get pendingBlocksArchivist() {
|
|
65
|
+
return this.params.pendingBlocksArchivist;
|
|
66
|
+
}
|
|
67
|
+
get pendingTransactionsArchivist() {
|
|
68
|
+
return this.params.pendingTransactionsArchivist;
|
|
69
|
+
}
|
|
70
|
+
static async paramsHandler(params) {
|
|
71
|
+
return {
|
|
72
|
+
...await super.paramsHandler(params),
|
|
73
|
+
mempoolRunner: assertEx2(params?.mempoolRunner, () => "mempoolRunner is required for MempoolActor"),
|
|
74
|
+
pendingBlocksArchivist: assertEx2(params?.pendingBlocksArchivist, () => "pendingBlocksArchivist is required for MempoolActor"),
|
|
75
|
+
pendingTransactionsArchivist: assertEx2(params?.pendingTransactionsArchivist, () => "pendingTransactionsArchivist is required for MempoolActor")
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
async startHandler() {
|
|
79
|
+
await super.startHandler();
|
|
80
|
+
this.restartBlockTimer();
|
|
81
|
+
}
|
|
82
|
+
async stopHandler() {
|
|
83
|
+
await super.stopHandler();
|
|
84
|
+
this.stopBlockTimer();
|
|
85
|
+
}
|
|
86
|
+
restartBlockTimer() {
|
|
87
|
+
this.stopBlockTimer();
|
|
88
|
+
this._blockTimerId = setInterval(() => {
|
|
89
|
+
if (this._blockTimerMutex.isLocked()) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
void this._blockTimerMutex.runExclusive(async () => {
|
|
93
|
+
await this.mempoolRunner.prunePendingBlocks({
|
|
94
|
+
batchSize: 50
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}, 1e3);
|
|
98
|
+
}
|
|
99
|
+
restartTransactionTimer() {
|
|
100
|
+
this.stopTransactionTimer();
|
|
101
|
+
this._transactionTimerId = setInterval(() => {
|
|
102
|
+
if (this._transactionTimerMutex.isLocked()) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
void this._transactionTimerMutex.runExclusive(async () => {
|
|
106
|
+
await this.mempoolRunner.prunePendingTransactions({
|
|
107
|
+
batchSize: 50
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
}, 1e3);
|
|
111
|
+
}
|
|
112
|
+
stopBlockTimer() {
|
|
113
|
+
if (this._blockTimerId !== null) {
|
|
114
|
+
clearInterval(this._blockTimerId);
|
|
115
|
+
}
|
|
116
|
+
this._blockTimerId = null;
|
|
117
|
+
}
|
|
118
|
+
stopTransactionTimer() {
|
|
119
|
+
if (this._transactionTimerId !== null) {
|
|
120
|
+
clearInterval(this._transactionTimerId);
|
|
121
|
+
}
|
|
122
|
+
this._transactionTimerId = null;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
MempoolActor = _ts_decorate([
|
|
126
|
+
creatable()
|
|
127
|
+
], MempoolActor);
|
|
128
|
+
|
|
129
|
+
// src/actor/ValidatorActor.ts
|
|
130
|
+
import { assertEx as assertEx3, creatable as creatable2 } from "@xylabs/sdk-js";
|
|
131
|
+
import { processPendingBlocks } from "@xyo-network/chain-sdk";
|
|
132
|
+
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
133
|
+
import { Actor as Actor3 } from "@xyo-network/xl1-sdk";
|
|
134
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
135
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
136
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
137
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
138
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
139
|
+
}
|
|
140
|
+
__name(_ts_decorate2, "_ts_decorate");
|
|
141
|
+
var ValidatorActor = class extends Actor3 {
|
|
55
142
|
static {
|
|
56
143
|
__name(this, "ValidatorActor");
|
|
57
144
|
}
|
|
58
|
-
_blockViewer;
|
|
59
145
|
_lastValidatedBlock;
|
|
60
146
|
_lastValidatedBlockHash;
|
|
61
|
-
_mempoolViewer;
|
|
62
147
|
get blockViewer() {
|
|
63
|
-
return this.
|
|
148
|
+
return this.params.blockViewer;
|
|
64
149
|
}
|
|
65
150
|
get finalizedArchivist() {
|
|
66
|
-
return
|
|
151
|
+
return assertEx3(this.params.finalizedArchivist, () => "finalizedArchivist not set");
|
|
67
152
|
}
|
|
68
153
|
get mempoolViewer() {
|
|
69
|
-
return this.
|
|
154
|
+
return this.params.mempoolViewer;
|
|
70
155
|
}
|
|
71
|
-
async
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
156
|
+
static async paramsHandler(params) {
|
|
157
|
+
return {
|
|
158
|
+
...await super.paramsHandler(params),
|
|
159
|
+
mempoolViewer: assertEx3(params?.mempoolViewer, () => "mempoolViewer is required for ValidatorActor"),
|
|
160
|
+
blockViewer: assertEx3(params?.blockViewer, () => "blockViewer is required for ValidatorActor"),
|
|
161
|
+
finalizedArchivist: assertEx3(params?.finalizedArchivist, () => "finalizedArchivist is required for ValidatorActor"),
|
|
162
|
+
account: assertEx3(params?.account, () => "account is required for ValidatorActor")
|
|
163
|
+
};
|
|
75
164
|
}
|
|
76
165
|
async startHandler() {
|
|
77
166
|
await super.startHandler();
|
|
@@ -108,17 +197,17 @@ var ValidatorActor = class extends Actor2 {
|
|
|
108
197
|
return valid;
|
|
109
198
|
}
|
|
110
199
|
};
|
|
111
|
-
ValidatorActor =
|
|
112
|
-
|
|
200
|
+
ValidatorActor = _ts_decorate2([
|
|
201
|
+
creatable2()
|
|
113
202
|
], ValidatorActor);
|
|
114
203
|
|
|
115
204
|
// src/archivists/ChainFinalized/archivist.ts
|
|
116
205
|
import { startupSpanAsync } from "@xyo-network/chain-utils";
|
|
117
206
|
import { timeBudget } from "@xyo-network/xl1-sdk";
|
|
118
|
-
import { Mutex as
|
|
207
|
+
import { Mutex as Mutex4 } from "async-mutex";
|
|
119
208
|
|
|
120
209
|
// src/archivists/ChainFinalized/local.ts
|
|
121
|
-
import { Mutex as
|
|
210
|
+
import { Mutex as Mutex3 } from "async-mutex";
|
|
122
211
|
|
|
123
212
|
// src/archivists/lib/localPersistentArchivist.ts
|
|
124
213
|
import { rm } from "fs/promises";
|
|
@@ -146,7 +235,7 @@ var getLocalPersistentArchivist = /* @__PURE__ */ __name((name, dbName, storeNam
|
|
|
146
235
|
}, "getLocalPersistentArchivist");
|
|
147
236
|
|
|
148
237
|
// src/archivists/ChainFinalized/local.ts
|
|
149
|
-
var mutex = new
|
|
238
|
+
var mutex = new Mutex3();
|
|
150
239
|
var singleton;
|
|
151
240
|
var initLocalChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config }) => {
|
|
152
241
|
return await mutex.runExclusive(async () => {
|
|
@@ -158,7 +247,7 @@ var initLocalChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config })
|
|
|
158
247
|
}, "initLocalChainFinalizedArchivist");
|
|
159
248
|
|
|
160
249
|
// src/archivists/ChainFinalized/archivist.ts
|
|
161
|
-
var mutex2 = new
|
|
250
|
+
var mutex2 = new Mutex4();
|
|
162
251
|
var singleton2;
|
|
163
252
|
async function initChainFinalizedArchivist(context) {
|
|
164
253
|
return await mutex2.runExclusive(async () => {
|
|
@@ -175,11 +264,11 @@ __name(initChainFinalizedArchivist, "initChainFinalizedArchivist");
|
|
|
175
264
|
// src/archivists/PendingBlocks/archivist.ts
|
|
176
265
|
import { startupSpanAsync as startupSpanAsync2 } from "@xyo-network/chain-utils";
|
|
177
266
|
import { timeBudget as timeBudget2 } from "@xyo-network/xl1-sdk";
|
|
178
|
-
import { Mutex as
|
|
267
|
+
import { Mutex as Mutex6 } from "async-mutex";
|
|
179
268
|
|
|
180
269
|
// src/archivists/PendingBlocks/local.ts
|
|
181
|
-
import { Mutex as
|
|
182
|
-
var mutex3 = new
|
|
270
|
+
import { Mutex as Mutex5 } from "async-mutex";
|
|
271
|
+
var mutex3 = new Mutex5();
|
|
183
272
|
var singleton3;
|
|
184
273
|
var initLocalPendingBlocksArchivist = /* @__PURE__ */ __name(async ({ config }) => {
|
|
185
274
|
return await mutex3.runExclusive(async () => {
|
|
@@ -191,7 +280,7 @@ var initLocalPendingBlocksArchivist = /* @__PURE__ */ __name(async ({ config })
|
|
|
191
280
|
}, "initLocalPendingBlocksArchivist");
|
|
192
281
|
|
|
193
282
|
// src/archivists/PendingBlocks/archivist.ts
|
|
194
|
-
var mutex4 = new
|
|
283
|
+
var mutex4 = new Mutex6();
|
|
195
284
|
var singleton4;
|
|
196
285
|
async function initPendingBlocksArchivist(context) {
|
|
197
286
|
return await mutex4.runExclusive(async () => {
|
|
@@ -208,12 +297,12 @@ __name(initPendingBlocksArchivist, "initPendingBlocksArchivist");
|
|
|
208
297
|
// src/archivists/RejectedTransactions/archivist.ts
|
|
209
298
|
import { startupSpanAsync as startupSpanAsync3 } from "@xyo-network/chain-utils";
|
|
210
299
|
import { timeBudget as timeBudget3 } from "@xyo-network/xl1-sdk";
|
|
211
|
-
import { Mutex as
|
|
300
|
+
import { Mutex as Mutex8 } from "async-mutex";
|
|
212
301
|
|
|
213
302
|
// src/archivists/RejectedTransactions/local.ts
|
|
214
303
|
import { MemoryArchivist, MemoryArchivistConfigSchema } from "@xyo-network/archivist-memory";
|
|
215
|
-
import { Mutex as
|
|
216
|
-
var mutex5 = new
|
|
304
|
+
import { Mutex as Mutex7 } from "async-mutex";
|
|
305
|
+
var mutex5 = new Mutex7();
|
|
217
306
|
var singleton5;
|
|
218
307
|
var initLocalRejectedTransactionsArchivist = /* @__PURE__ */ __name(async () => {
|
|
219
308
|
return await mutex5.runExclusive(async () => {
|
|
@@ -231,7 +320,7 @@ var initLocalRejectedTransactionsArchivist = /* @__PURE__ */ __name(async () =>
|
|
|
231
320
|
}, "initLocalRejectedTransactionsArchivist");
|
|
232
321
|
|
|
233
322
|
// src/archivists/RejectedTransactions/archivist.ts
|
|
234
|
-
var mutex6 = new
|
|
323
|
+
var mutex6 = new Mutex8();
|
|
235
324
|
var singleton6;
|
|
236
325
|
async function initRejectedTransactionsArchivist(params) {
|
|
237
326
|
return await mutex6.runExclusive(async () => {
|
|
@@ -246,27 +335,27 @@ async function initRejectedTransactionsArchivist(params) {
|
|
|
246
335
|
__name(initRejectedTransactionsArchivist, "initRejectedTransactionsArchivist");
|
|
247
336
|
|
|
248
337
|
// src/archivists/StakeIntentState/archivist.ts
|
|
249
|
-
import { assertEx as
|
|
338
|
+
import { assertEx as assertEx5 } from "@xylabs/sdk-js";
|
|
250
339
|
import { startupSpanAsync as startupSpanAsync4 } from "@xyo-network/chain-utils";
|
|
251
340
|
import { timeBudget as timeBudget4 } from "@xyo-network/xl1-sdk";
|
|
252
|
-
import { Mutex as
|
|
341
|
+
import { Mutex as Mutex10 } from "async-mutex";
|
|
253
342
|
|
|
254
343
|
// src/archivists/StakeIntentState/local.ts
|
|
255
|
-
import { assertEx as
|
|
256
|
-
import { Mutex as
|
|
257
|
-
var mutex7 = new
|
|
344
|
+
import { assertEx as assertEx4 } from "@xylabs/sdk-js";
|
|
345
|
+
import { Mutex as Mutex9 } from "async-mutex";
|
|
346
|
+
var mutex7 = new Mutex9();
|
|
258
347
|
var singleton7;
|
|
259
348
|
var initLocalStakeIntentStateArchivist = /* @__PURE__ */ __name(async ({ config }) => {
|
|
260
349
|
return await mutex7.runExclusive(async () => {
|
|
261
350
|
if (singleton7) return singleton7;
|
|
262
351
|
const { root } = config.storage;
|
|
263
352
|
singleton7 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
|
|
264
|
-
return
|
|
353
|
+
return assertEx4(singleton7, () => new Error("Failed to initialize stake intent state archivist"));
|
|
265
354
|
});
|
|
266
355
|
}, "initLocalStakeIntentStateArchivist");
|
|
267
356
|
|
|
268
357
|
// src/archivists/StakeIntentState/archivist.ts
|
|
269
|
-
var mutex8 = new
|
|
358
|
+
var mutex8 = new Mutex10();
|
|
270
359
|
var singleton8;
|
|
271
360
|
var initStakeIntentStateArchivist = /* @__PURE__ */ __name(async (context) => {
|
|
272
361
|
return await mutex8.runExclusive(async () => {
|
|
@@ -274,7 +363,7 @@ var initStakeIntentStateArchivist = /* @__PURE__ */ __name(async (context) => {
|
|
|
274
363
|
return await timeBudget4("initStakeIntentStateArchivist", context.logger, async () => {
|
|
275
364
|
const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
|
|
276
365
|
singleton8 = local;
|
|
277
|
-
return
|
|
366
|
+
return assertEx5(singleton8, () => "StakeIntentStateArchivist is undefined");
|
|
278
367
|
}, 2e3, true);
|
|
279
368
|
});
|
|
280
369
|
}, "initStakeIntentStateArchivist");
|
|
@@ -312,19 +401,19 @@ async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, r
|
|
|
312
401
|
__name(createProducerChainStakeIntentBlock, "createProducerChainStakeIntentBlock");
|
|
313
402
|
|
|
314
403
|
// src/evm/initEvmProvider.ts
|
|
315
|
-
import { assertEx as
|
|
404
|
+
import { assertEx as assertEx9 } from "@xylabs/sdk-js";
|
|
316
405
|
|
|
317
406
|
// src/evm/initInfuraProvider.ts
|
|
318
|
-
import { assertEx as
|
|
407
|
+
import { assertEx as assertEx7, isDefined as isDefined2 } from "@xylabs/sdk-js";
|
|
319
408
|
import { InfuraProvider } from "ethers/providers";
|
|
320
409
|
|
|
321
410
|
// src/evm/initChainId.ts
|
|
322
|
-
import { assertEx as
|
|
411
|
+
import { assertEx as assertEx6, hexFrom, isDefined, isHex } from "@xylabs/sdk-js";
|
|
323
412
|
var canUseChainId = /* @__PURE__ */ __name((config) => {
|
|
324
413
|
return isDefined(config.evm.chainId);
|
|
325
414
|
}, "canUseChainId");
|
|
326
415
|
var getChainId = /* @__PURE__ */ __name((config) => {
|
|
327
|
-
const chainId =
|
|
416
|
+
const chainId = assertEx6(config.evm.chainId, () => "Missing config.evm.chainId");
|
|
328
417
|
if (isHex(chainId, {
|
|
329
418
|
prefix: true
|
|
330
419
|
})) {
|
|
@@ -349,8 +438,8 @@ var canUseInfuraProvider = /* @__PURE__ */ __name((config) => {
|
|
|
349
438
|
return canUseChainId(config) && isDefined2(config.evm?.infura?.projectId) && isDefined2(config.evm?.infura?.projectSecret);
|
|
350
439
|
}, "canUseInfuraProvider");
|
|
351
440
|
var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
352
|
-
const projectId =
|
|
353
|
-
const projectSecret =
|
|
441
|
+
const projectId = assertEx7(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
|
|
442
|
+
const projectSecret = assertEx7(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
|
|
354
443
|
return [
|
|
355
444
|
getChainId(config),
|
|
356
445
|
projectId,
|
|
@@ -359,7 +448,7 @@ var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
|
359
448
|
}, "getInfuraProviderConfig");
|
|
360
449
|
|
|
361
450
|
// src/evm/initJsonRpcProvider.ts
|
|
362
|
-
import { assertEx as
|
|
451
|
+
import { assertEx as assertEx8, isDefined as isDefined3 } from "@xylabs/sdk-js";
|
|
363
452
|
import { JsonRpcProvider } from "ethers/providers";
|
|
364
453
|
var initJsonRpcProvider = /* @__PURE__ */ __name((config) => {
|
|
365
454
|
const providerConfig = getJsonRpcProviderConfig(config);
|
|
@@ -369,7 +458,7 @@ var canUseJsonRpcProvider = /* @__PURE__ */ __name((config) => {
|
|
|
369
458
|
return canUseChainId(config) && isDefined3(config.evm.jsonRpc?.url);
|
|
370
459
|
}, "canUseJsonRpcProvider");
|
|
371
460
|
var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
372
|
-
const jsonRpcUrl =
|
|
461
|
+
const jsonRpcUrl = assertEx8(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
|
|
373
462
|
return [
|
|
374
463
|
jsonRpcUrl,
|
|
375
464
|
getChainId(config)
|
|
@@ -385,7 +474,7 @@ var initEvmProvider = /* @__PURE__ */ __name(async ({ config }) => {
|
|
|
385
474
|
} else if (canUseJsonRpcProvider(config)) {
|
|
386
475
|
provider = initJsonRpcProvider(config);
|
|
387
476
|
}
|
|
388
|
-
return
|
|
477
|
+
return assertEx9(await provider, () => "No provider available");
|
|
389
478
|
}, "initEvmProvider");
|
|
390
479
|
var canUseEvmProvider = /* @__PURE__ */ __name(({ config }) => {
|
|
391
480
|
return canUseInfuraProvider(config) || canUseJsonRpcProvider(config);
|
|
@@ -488,7 +577,7 @@ var ServiceLifetime = {
|
|
|
488
577
|
|
|
489
578
|
// src/init/initBalanceSummaryMap.ts
|
|
490
579
|
import { BaseMongoSdk } from "@xylabs/mongo";
|
|
491
|
-
import { assertEx as
|
|
580
|
+
import { assertEx as assertEx10 } from "@xylabs/sdk-js";
|
|
492
581
|
import { MongoMap } from "@xyo-network/chain-protocol";
|
|
493
582
|
import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-sdk";
|
|
494
583
|
async function initBalanceSummaryMap({ config, logger }) {
|
|
@@ -513,7 +602,7 @@ async function initBalanceSummaryMap({ config, logger }) {
|
|
|
513
602
|
maxEntries: 5e3
|
|
514
603
|
}
|
|
515
604
|
});
|
|
516
|
-
|
|
605
|
+
assertEx10(await result.start(), () => "Failed to start transfer summary map");
|
|
517
606
|
return result;
|
|
518
607
|
} else {
|
|
519
608
|
logger?.warn("[API] Mongo configuration not found. Using MemoryMap for BalanceSummaryMap.");
|
|
@@ -523,18 +612,18 @@ async function initBalanceSummaryMap({ config, logger }) {
|
|
|
523
612
|
__name(initBalanceSummaryMap, "initBalanceSummaryMap");
|
|
524
613
|
|
|
525
614
|
// src/init/initBridgedModule.ts
|
|
526
|
-
import { assertEx as
|
|
615
|
+
import { assertEx as assertEx11 } from "@xylabs/sdk-js";
|
|
527
616
|
import { asAttachableArchivistInstance } from "@xyo-network/archivist-model";
|
|
528
617
|
import { asAttachableModuleInstance } from "@xyo-network/module-model";
|
|
529
|
-
import { Mutex as
|
|
530
|
-
var initMutex = new
|
|
618
|
+
import { Mutex as Mutex11 } from "async-mutex";
|
|
619
|
+
var initMutex = new Mutex11();
|
|
531
620
|
var bridgedModuleDictionary = {};
|
|
532
621
|
var initBridgedModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) => {
|
|
533
622
|
return await initMutex.runExclusive(async () => {
|
|
534
623
|
const existing = bridgedModuleDictionary?.[bridge.address]?.[moduleName];
|
|
535
624
|
if (existing) return existing;
|
|
536
|
-
const mod =
|
|
537
|
-
const moduleInstance =
|
|
625
|
+
const mod = assertEx11(await bridge.resolve(moduleName), () => `Could not resolve ${moduleName}`);
|
|
626
|
+
const moduleInstance = assertEx11(asAttachableModuleInstance(mod), () => `Could not convert ${moduleName} to attachable module instance`);
|
|
538
627
|
let moduleMap = bridgedModuleDictionary[bridge.address];
|
|
539
628
|
if (moduleMap === void 0) {
|
|
540
629
|
moduleMap = {};
|
|
@@ -545,15 +634,15 @@ var initBridgedModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) =>
|
|
|
545
634
|
});
|
|
546
635
|
}, "initBridgedModule");
|
|
547
636
|
var initBridgedArchivistModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) => {
|
|
548
|
-
return
|
|
637
|
+
return assertEx11(asAttachableArchivistInstance(await initBridgedModule({
|
|
549
638
|
bridge,
|
|
550
639
|
moduleName
|
|
551
640
|
})), () => `Could not convert ${moduleName} to attachable archivist instance`);
|
|
552
641
|
}, "initBridgedArchivistModule");
|
|
553
642
|
|
|
554
643
|
// src/init/initChainStakeViewer.ts
|
|
555
|
-
import { asAddress, assertEx as
|
|
556
|
-
import {
|
|
644
|
+
import { asAddress, assertEx as assertEx12, toAddress, toEthAddress } from "@xylabs/sdk-js";
|
|
645
|
+
import { EvmStakeEventsViewer, EvmStakeViewer } from "@xyo-network/chain-sdk";
|
|
557
646
|
import { IStakedXyoChain__factory } from "@xyo-network/typechain";
|
|
558
647
|
import { SimpleStakeViewer } from "@xyo-network/xl1-sdk";
|
|
559
648
|
async function initEvmChainStakeViewer(context, config, logger) {
|
|
@@ -561,21 +650,21 @@ async function initEvmChainStakeViewer(context, config, logger) {
|
|
|
561
650
|
config,
|
|
562
651
|
logger
|
|
563
652
|
});
|
|
564
|
-
const contractAddress =
|
|
653
|
+
const contractAddress = assertEx12(config.chain.id, () => "Missing config.evm.chainId");
|
|
565
654
|
const contract = IStakedXyoChain__factory.connect(toEthAddress(contractAddress), provider2);
|
|
566
|
-
const stakeEventsViewer = await
|
|
655
|
+
const stakeEventsViewer = await EvmStakeEventsViewer.create({
|
|
567
656
|
contract,
|
|
568
657
|
logger,
|
|
569
658
|
context
|
|
570
659
|
});
|
|
571
|
-
|
|
572
|
-
const stakeChainViewer = await
|
|
660
|
+
assertEx12(await stakeEventsViewer.start(), () => "Failed to start EvmStakeEvents reader");
|
|
661
|
+
const stakeChainViewer = await EvmStakeViewer.create({
|
|
573
662
|
contract,
|
|
574
663
|
stakeEventsViewer,
|
|
575
664
|
logger,
|
|
576
665
|
context
|
|
577
666
|
});
|
|
578
|
-
|
|
667
|
+
assertEx12(await stakeChainViewer.start(), () => "Failed to start EvmStake viewer");
|
|
579
668
|
return stakeChainViewer;
|
|
580
669
|
}
|
|
581
670
|
__name(initEvmChainStakeViewer, "initEvmChainStakeViewer");
|
|
@@ -586,7 +675,7 @@ async function initSimpleStakeViewer(context, config, logger) {
|
|
|
586
675
|
logger,
|
|
587
676
|
positions: []
|
|
588
677
|
});
|
|
589
|
-
|
|
678
|
+
assertEx12(await stakeViewer.start(), () => "Failed to start SimpleChainStake viewer");
|
|
590
679
|
return stakeViewer;
|
|
591
680
|
}
|
|
592
681
|
__name(initSimpleStakeViewer, "initSimpleStakeViewer");
|
|
@@ -645,7 +734,7 @@ ${randomMnemonic}
|
|
|
645
734
|
}, "initProducerAccount");
|
|
646
735
|
|
|
647
736
|
// src/init/initSeedPhrase.ts
|
|
648
|
-
import { assertEx as
|
|
737
|
+
import { assertEx as assertEx13, isString } from "@xylabs/sdk-js";
|
|
649
738
|
import { HDWallet as HDWallet2 } from "@xyo-network/wallet";
|
|
650
739
|
async function initSeedPhrase({ config, logger, bios }) {
|
|
651
740
|
const storedSeedPhrase = await bios.seedPhraseStore.get("os");
|
|
@@ -665,12 +754,12 @@ async function initSeedPhrase({ config, logger, bios }) {
|
|
|
665
754
|
}
|
|
666
755
|
await bios.seedPhraseStore.set("os", seedPhrase);
|
|
667
756
|
}
|
|
668
|
-
return
|
|
757
|
+
return assertEx13(await bios.seedPhraseStore.get("os"), () => "Unable to acquire mnemonic from bios");
|
|
669
758
|
}
|
|
670
759
|
__name(initSeedPhrase, "initSeedPhrase");
|
|
671
760
|
|
|
672
761
|
// src/init/initServerNode.ts
|
|
673
|
-
import { assertEx as
|
|
762
|
+
import { assertEx as assertEx14 } from "@xylabs/sdk-js";
|
|
674
763
|
import { asArchivistInstance } from "@xyo-network/archivist-model";
|
|
675
764
|
|
|
676
765
|
// src/manifest/getLocator.ts
|
|
@@ -906,7 +995,7 @@ async function writableChainArchivistFromNode(node) {
|
|
|
906
995
|
}
|
|
907
996
|
__name(writableChainArchivistFromNode, "writableChainArchivistFromNode");
|
|
908
997
|
async function readonlyChainArchivistFromNode(node) {
|
|
909
|
-
return
|
|
998
|
+
return assertEx14(asArchivistInstance(await node.resolve("Chain:Validated"), {
|
|
910
999
|
required: true
|
|
911
1000
|
}));
|
|
912
1001
|
}
|
|
@@ -931,7 +1020,7 @@ async function initServerNode({ wallet, logger, config, node: providedNode, tran
|
|
|
931
1020
|
transfersSummaryMap,
|
|
932
1021
|
balancesSummaryMap
|
|
933
1022
|
});
|
|
934
|
-
|
|
1023
|
+
assertEx14(await node.start(), () => "Failed to start node");
|
|
935
1024
|
const writableChainArchivist = await writableChainArchivistFromNode(node);
|
|
936
1025
|
const readonlyChainArchivist = await readonlyChainArchivistFromNode(node);
|
|
937
1026
|
const pendingTransactionsArchivist = await pendingTransactionsArchivistFromNode(node);
|
|
@@ -967,7 +1056,7 @@ __name(initStatusReporter, "initStatusReporter");
|
|
|
967
1056
|
|
|
968
1057
|
// src/init/initTransferSummaryMap.ts
|
|
969
1058
|
import { BaseMongoSdk as BaseMongoSdk2 } from "@xylabs/mongo";
|
|
970
|
-
import { assertEx as
|
|
1059
|
+
import { assertEx as assertEx15 } from "@xylabs/sdk-js";
|
|
971
1060
|
import { MongoMap as MongoMap2 } from "@xyo-network/chain-protocol";
|
|
972
1061
|
import { hasMongoConfig as hasMongoConfig3, MemoryMap as MemoryMap2 } from "@xyo-network/xl1-sdk";
|
|
973
1062
|
async function initTransferSummaryMap({ config, logger }) {
|
|
@@ -992,7 +1081,7 @@ async function initTransferSummaryMap({ config, logger }) {
|
|
|
992
1081
|
maxEntries: 5e3
|
|
993
1082
|
}
|
|
994
1083
|
});
|
|
995
|
-
|
|
1084
|
+
assertEx15(await result.start(), () => "Failed to start transfer summary map");
|
|
996
1085
|
return result;
|
|
997
1086
|
} else {
|
|
998
1087
|
logger?.warn("[API] Mongo configuration not found. Using MemoryMap for TransferSummaryMap.");
|
|
@@ -1049,14 +1138,14 @@ async function initRewardsRedemptionApiWallet({ config, logger }) {
|
|
|
1049
1138
|
__name(initRewardsRedemptionApiWallet, "initRewardsRedemptionApiWallet");
|
|
1050
1139
|
|
|
1051
1140
|
// src/orchestrator/Orchestrator.ts
|
|
1052
|
-
import { AbstractCreatable, creatable as
|
|
1053
|
-
function
|
|
1141
|
+
import { AbstractCreatable, creatable as creatable3 } from "@xylabs/sdk-js";
|
|
1142
|
+
function _ts_decorate3(decorators, target, key, desc) {
|
|
1054
1143
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1055
1144
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1056
1145
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1057
1146
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1058
1147
|
}
|
|
1059
|
-
__name(
|
|
1148
|
+
__name(_ts_decorate3, "_ts_decorate");
|
|
1060
1149
|
var Orchestrator = class extends AbstractCreatable {
|
|
1061
1150
|
static {
|
|
1062
1151
|
__name(this, "Orchestrator");
|
|
@@ -1109,13 +1198,14 @@ var Orchestrator = class extends AbstractCreatable {
|
|
|
1109
1198
|
this.logger?.log("[Orchestrator] Stopped...");
|
|
1110
1199
|
}
|
|
1111
1200
|
};
|
|
1112
|
-
Orchestrator =
|
|
1113
|
-
|
|
1201
|
+
Orchestrator = _ts_decorate3([
|
|
1202
|
+
creatable3()
|
|
1114
1203
|
], Orchestrator);
|
|
1115
1204
|
export {
|
|
1116
1205
|
BalanceActor,
|
|
1117
1206
|
DefaultServiceProvider,
|
|
1118
1207
|
GenericHost,
|
|
1208
|
+
MempoolActor,
|
|
1119
1209
|
NodeManifest,
|
|
1120
1210
|
Orchestrator,
|
|
1121
1211
|
PrivateChildManifests,
|