@xyo-network/chain-orchestration 1.19.7 → 1.19.9
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/ValidatorActor.d.ts +10 -31
- package/dist/neutral/actor/ValidatorActor.d.ts.map +1 -1
- package/dist/neutral/actor/index.d.ts +0 -2
- package/dist/neutral/actor/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +132 -219
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/init/index.d.ts +1 -0
- package/dist/neutral/init/index.d.ts.map +1 -1
- package/dist/neutral/init/initEvmProvidersIfAvailable.d.ts.map +1 -1
- package/dist/neutral/init/initFinalizationArchivistIfNeeded.d.ts +5 -0
- package/dist/neutral/init/initFinalizationArchivistIfNeeded.d.ts.map +1 -0
- package/dist/neutral/init/initWallet.d.ts +2 -0
- package/dist/neutral/init/initWallet.d.ts.map +1 -1
- package/dist/neutral/orchestrator/Orchestrator.d.ts +4 -4
- package/dist/neutral/orchestrator/Orchestrator.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/actor/ValidatorActor.ts +24 -57
- package/src/actor/index.ts +0 -2
- package/src/health/initHealthEndpoints.ts +1 -1
- package/src/init/index.ts +1 -0
- package/src/init/initEvmProvidersIfAvailable.ts +14 -2
- package/src/init/initFinalizationArchivistIfNeeded.ts +42 -0
- package/src/init/initProducerAccount.ts +1 -1
- package/src/init/initSeedPhrase.ts +1 -1
- package/src/init/initWallet.ts +14 -4
- package/src/orchestrator/Orchestrator.ts +6 -4
- package/dist/neutral/actor/BalanceActor.d.ts +0 -17
- package/dist/neutral/actor/BalanceActor.d.ts.map +0 -1
- package/dist/neutral/actor/MempoolActor.d.ts +0 -41
- package/dist/neutral/actor/MempoolActor.d.ts.map +0 -1
- package/src/actor/BalanceActor.ts +0 -41
- package/src/actor/MempoolActor.ts +0 -105
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,166 +1,40 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
3
|
|
|
4
|
-
// src/actor/BalanceActor.ts
|
|
5
|
-
import { assertEx } from "@xylabs/sdk-js";
|
|
6
|
-
import { Actor } from "@xyo-network/xl1-sdk";
|
|
7
|
-
import { Mutex } from "async-mutex";
|
|
8
|
-
var BalanceActor = class extends Actor {
|
|
9
|
-
static {
|
|
10
|
-
__name(this, "BalanceActor");
|
|
11
|
-
}
|
|
12
|
-
_updateMutex = new Mutex();
|
|
13
|
-
get accountBalanceViewer() {
|
|
14
|
-
return assertEx(this.params.accountBalanceViewer, () => "balanceService not set");
|
|
15
|
-
}
|
|
16
|
-
get blockViewer() {
|
|
17
|
-
return assertEx(this.params.blockViewer, () => "blockViewer not set");
|
|
18
|
-
}
|
|
19
|
-
async startHandler() {
|
|
20
|
-
await super.startHandler();
|
|
21
|
-
this.registerTimer(
|
|
22
|
-
"BalanceTimer",
|
|
23
|
-
async () => {
|
|
24
|
-
await this.updateBalance();
|
|
25
|
-
},
|
|
26
|
-
1e3,
|
|
27
|
-
1e4
|
|
28
|
-
/* 1000 */
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
async updateBalance() {
|
|
32
|
-
if (this._updateMutex.isLocked()) return;
|
|
33
|
-
await this._updateMutex.runExclusive(async () => {
|
|
34
|
-
const head = await this.blockViewer.currentBlockHash();
|
|
35
|
-
await this.accountBalanceViewer.accountBalances([], {
|
|
36
|
-
head
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
// src/actor/MempoolActor.ts
|
|
43
|
-
import { assertEx as assertEx2, creatable } from "@xylabs/sdk-js";
|
|
44
|
-
import { Actor as Actor2 } from "@xyo-network/xl1-sdk";
|
|
45
|
-
import { Mutex as Mutex2 } from "async-mutex";
|
|
46
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
47
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
48
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
49
|
-
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;
|
|
50
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
51
|
-
}
|
|
52
|
-
__name(_ts_decorate, "_ts_decorate");
|
|
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
4
|
// src/actor/ValidatorActor.ts
|
|
130
|
-
import {
|
|
5
|
+
import { creatable } from "@xylabs/sdk-js";
|
|
131
6
|
import { processPendingBlocks } from "@xyo-network/chain-sdk";
|
|
132
|
-
import {
|
|
133
|
-
|
|
134
|
-
function _ts_decorate2(decorators, target, key, desc) {
|
|
7
|
+
import { ActorV3, BlockViewerMoniker, FinalizationRunnerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
8
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
135
9
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
136
10
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
137
11
|
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
12
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
139
13
|
}
|
|
140
|
-
__name(
|
|
141
|
-
var ValidatorActor = class extends
|
|
14
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
15
|
+
var ValidatorActor = class extends ActorV3 {
|
|
142
16
|
static {
|
|
143
17
|
__name(this, "ValidatorActor");
|
|
144
18
|
}
|
|
19
|
+
_blockViewer;
|
|
20
|
+
_finalizationRunner;
|
|
145
21
|
_lastValidatedBlock;
|
|
146
22
|
_lastValidatedBlockHash;
|
|
23
|
+
_mempoolViewer;
|
|
147
24
|
get blockViewer() {
|
|
148
|
-
return this.
|
|
25
|
+
return this._blockViewer;
|
|
149
26
|
}
|
|
150
|
-
get
|
|
151
|
-
return
|
|
27
|
+
get finalizationRunner() {
|
|
28
|
+
return this._finalizationRunner;
|
|
152
29
|
}
|
|
153
30
|
get mempoolViewer() {
|
|
154
|
-
return this.
|
|
31
|
+
return this._mempoolViewer;
|
|
155
32
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
finalizedArchivist: assertEx3(params?.finalizedArchivist, () => "finalizedArchivist is required for ValidatorActor"),
|
|
162
|
-
account: assertEx3(params?.account, () => "account is required for ValidatorActor")
|
|
163
|
-
};
|
|
33
|
+
async createHandler() {
|
|
34
|
+
await super.startHandler();
|
|
35
|
+
this._blockViewer = await this.locator.getInstance(BlockViewerMoniker);
|
|
36
|
+
this._finalizationRunner = await this.locator.getInstance(FinalizationRunnerMoniker);
|
|
37
|
+
this._mempoolViewer = await this.locator.getInstance(MempoolViewerMoniker);
|
|
164
38
|
}
|
|
165
39
|
async startHandler() {
|
|
166
40
|
await super.startHandler();
|
|
@@ -174,7 +48,7 @@ var ValidatorActor = class extends Actor3 {
|
|
|
174
48
|
logger: this.logger,
|
|
175
49
|
mempoolViewer: this.mempoolViewer,
|
|
176
50
|
blockViewer: this.blockViewer,
|
|
177
|
-
|
|
51
|
+
finalizationRunner: this.finalizationRunner
|
|
178
52
|
});
|
|
179
53
|
}, {
|
|
180
54
|
...this.context,
|
|
@@ -186,28 +60,18 @@ var ValidatorActor = class extends Actor3 {
|
|
|
186
60
|
/* 500 */
|
|
187
61
|
);
|
|
188
62
|
}
|
|
189
|
-
async slashInvalidBlock(_block) {
|
|
190
|
-
const slashed = await Promise.resolve(true);
|
|
191
|
-
return slashed;
|
|
192
|
-
}
|
|
193
|
-
async validateBlock(block) {
|
|
194
|
-
const valid = await Promise.resolve(true);
|
|
195
|
-
this._lastValidatedBlock = block;
|
|
196
|
-
this._lastValidatedBlockHash = await PayloadBuilder.hash(block);
|
|
197
|
-
return valid;
|
|
198
|
-
}
|
|
199
63
|
};
|
|
200
|
-
ValidatorActor =
|
|
201
|
-
|
|
64
|
+
ValidatorActor = _ts_decorate([
|
|
65
|
+
creatable()
|
|
202
66
|
], ValidatorActor);
|
|
203
67
|
|
|
204
68
|
// src/archivists/ChainFinalized/archivist.ts
|
|
205
69
|
import { startupSpanAsync } from "@xyo-network/chain-utils";
|
|
206
70
|
import { timeBudget } from "@xyo-network/xl1-sdk";
|
|
207
|
-
import { Mutex as
|
|
71
|
+
import { Mutex as Mutex2 } from "async-mutex";
|
|
208
72
|
|
|
209
73
|
// src/archivists/ChainFinalized/local.ts
|
|
210
|
-
import { Mutex
|
|
74
|
+
import { Mutex } from "async-mutex";
|
|
211
75
|
|
|
212
76
|
// src/archivists/lib/localPersistentArchivist.ts
|
|
213
77
|
import { rm } from "fs/promises";
|
|
@@ -235,7 +99,7 @@ var getLocalPersistentArchivist = /* @__PURE__ */ __name((name, dbName, storeNam
|
|
|
235
99
|
}, "getLocalPersistentArchivist");
|
|
236
100
|
|
|
237
101
|
// src/archivists/ChainFinalized/local.ts
|
|
238
|
-
var mutex = new
|
|
102
|
+
var mutex = new Mutex();
|
|
239
103
|
var singleton;
|
|
240
104
|
var initLocalChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config }) => {
|
|
241
105
|
return await mutex.runExclusive(async () => {
|
|
@@ -247,7 +111,7 @@ var initLocalChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config })
|
|
|
247
111
|
}, "initLocalChainFinalizedArchivist");
|
|
248
112
|
|
|
249
113
|
// src/archivists/ChainFinalized/archivist.ts
|
|
250
|
-
var mutex2 = new
|
|
114
|
+
var mutex2 = new Mutex2();
|
|
251
115
|
var singleton2;
|
|
252
116
|
async function initChainFinalizedArchivist(context) {
|
|
253
117
|
return await mutex2.runExclusive(async () => {
|
|
@@ -264,11 +128,11 @@ __name(initChainFinalizedArchivist, "initChainFinalizedArchivist");
|
|
|
264
128
|
// src/archivists/PendingBlocks/archivist.ts
|
|
265
129
|
import { startupSpanAsync as startupSpanAsync2 } from "@xyo-network/chain-utils";
|
|
266
130
|
import { timeBudget as timeBudget2 } from "@xyo-network/xl1-sdk";
|
|
267
|
-
import { Mutex as
|
|
131
|
+
import { Mutex as Mutex4 } from "async-mutex";
|
|
268
132
|
|
|
269
133
|
// src/archivists/PendingBlocks/local.ts
|
|
270
|
-
import { Mutex as
|
|
271
|
-
var mutex3 = new
|
|
134
|
+
import { Mutex as Mutex3 } from "async-mutex";
|
|
135
|
+
var mutex3 = new Mutex3();
|
|
272
136
|
var singleton3;
|
|
273
137
|
var initLocalPendingBlocksArchivist = /* @__PURE__ */ __name(async ({ config }) => {
|
|
274
138
|
return await mutex3.runExclusive(async () => {
|
|
@@ -280,7 +144,7 @@ var initLocalPendingBlocksArchivist = /* @__PURE__ */ __name(async ({ config })
|
|
|
280
144
|
}, "initLocalPendingBlocksArchivist");
|
|
281
145
|
|
|
282
146
|
// src/archivists/PendingBlocks/archivist.ts
|
|
283
|
-
var mutex4 = new
|
|
147
|
+
var mutex4 = new Mutex4();
|
|
284
148
|
var singleton4;
|
|
285
149
|
async function initPendingBlocksArchivist(context) {
|
|
286
150
|
return await mutex4.runExclusive(async () => {
|
|
@@ -297,12 +161,12 @@ __name(initPendingBlocksArchivist, "initPendingBlocksArchivist");
|
|
|
297
161
|
// src/archivists/RejectedTransactions/archivist.ts
|
|
298
162
|
import { startupSpanAsync as startupSpanAsync3 } from "@xyo-network/chain-utils";
|
|
299
163
|
import { timeBudget as timeBudget3 } from "@xyo-network/xl1-sdk";
|
|
300
|
-
import { Mutex as
|
|
164
|
+
import { Mutex as Mutex6 } from "async-mutex";
|
|
301
165
|
|
|
302
166
|
// src/archivists/RejectedTransactions/local.ts
|
|
303
167
|
import { MemoryArchivist, MemoryArchivistConfigSchema } from "@xyo-network/archivist-memory";
|
|
304
|
-
import { Mutex as
|
|
305
|
-
var mutex5 = new
|
|
168
|
+
import { Mutex as Mutex5 } from "async-mutex";
|
|
169
|
+
var mutex5 = new Mutex5();
|
|
306
170
|
var singleton5;
|
|
307
171
|
var initLocalRejectedTransactionsArchivist = /* @__PURE__ */ __name(async () => {
|
|
308
172
|
return await mutex5.runExclusive(async () => {
|
|
@@ -320,7 +184,7 @@ var initLocalRejectedTransactionsArchivist = /* @__PURE__ */ __name(async () =>
|
|
|
320
184
|
}, "initLocalRejectedTransactionsArchivist");
|
|
321
185
|
|
|
322
186
|
// src/archivists/RejectedTransactions/archivist.ts
|
|
323
|
-
var mutex6 = new
|
|
187
|
+
var mutex6 = new Mutex6();
|
|
324
188
|
var singleton6;
|
|
325
189
|
async function initRejectedTransactionsArchivist(params) {
|
|
326
190
|
return await mutex6.runExclusive(async () => {
|
|
@@ -335,27 +199,27 @@ async function initRejectedTransactionsArchivist(params) {
|
|
|
335
199
|
__name(initRejectedTransactionsArchivist, "initRejectedTransactionsArchivist");
|
|
336
200
|
|
|
337
201
|
// src/archivists/StakeIntentState/archivist.ts
|
|
338
|
-
import { assertEx as
|
|
202
|
+
import { assertEx as assertEx2 } from "@xylabs/sdk-js";
|
|
339
203
|
import { startupSpanAsync as startupSpanAsync4 } from "@xyo-network/chain-utils";
|
|
340
204
|
import { timeBudget as timeBudget4 } from "@xyo-network/xl1-sdk";
|
|
341
|
-
import { Mutex as
|
|
205
|
+
import { Mutex as Mutex8 } from "async-mutex";
|
|
342
206
|
|
|
343
207
|
// src/archivists/StakeIntentState/local.ts
|
|
344
|
-
import { assertEx
|
|
345
|
-
import { Mutex as
|
|
346
|
-
var mutex7 = new
|
|
208
|
+
import { assertEx } from "@xylabs/sdk-js";
|
|
209
|
+
import { Mutex as Mutex7 } from "async-mutex";
|
|
210
|
+
var mutex7 = new Mutex7();
|
|
347
211
|
var singleton7;
|
|
348
212
|
var initLocalStakeIntentStateArchivist = /* @__PURE__ */ __name(async ({ config }) => {
|
|
349
213
|
return await mutex7.runExclusive(async () => {
|
|
350
214
|
if (singleton7) return singleton7;
|
|
351
215
|
const { root } = config.storage;
|
|
352
216
|
singleton7 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
|
|
353
|
-
return
|
|
217
|
+
return assertEx(singleton7, () => new Error("Failed to initialize stake intent state archivist"));
|
|
354
218
|
});
|
|
355
219
|
}, "initLocalStakeIntentStateArchivist");
|
|
356
220
|
|
|
357
221
|
// src/archivists/StakeIntentState/archivist.ts
|
|
358
|
-
var mutex8 = new
|
|
222
|
+
var mutex8 = new Mutex8();
|
|
359
223
|
var singleton8;
|
|
360
224
|
var initStakeIntentStateArchivist = /* @__PURE__ */ __name(async (context) => {
|
|
361
225
|
return await mutex8.runExclusive(async () => {
|
|
@@ -363,7 +227,7 @@ var initStakeIntentStateArchivist = /* @__PURE__ */ __name(async (context) => {
|
|
|
363
227
|
return await timeBudget4("initStakeIntentStateArchivist", context.logger, async () => {
|
|
364
228
|
const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
|
|
365
229
|
singleton8 = local;
|
|
366
|
-
return
|
|
230
|
+
return assertEx2(singleton8, () => "StakeIntentStateArchivist is undefined");
|
|
367
231
|
}, 2e3, true);
|
|
368
232
|
});
|
|
369
233
|
}, "initStakeIntentStateArchivist");
|
|
@@ -401,12 +265,12 @@ async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, r
|
|
|
401
265
|
__name(createProducerChainStakeIntentBlock, "createProducerChainStakeIntentBlock");
|
|
402
266
|
|
|
403
267
|
// src/evm/initChainId.ts
|
|
404
|
-
import { assertEx as
|
|
268
|
+
import { assertEx as assertEx3, hexFrom, isDefined, isHex } from "@xylabs/sdk-js";
|
|
405
269
|
var canUseChainId = /* @__PURE__ */ __name((config) => {
|
|
406
270
|
return isDefined(config.evm.chainId);
|
|
407
271
|
}, "canUseChainId");
|
|
408
272
|
var getChainId = /* @__PURE__ */ __name((config) => {
|
|
409
|
-
const chainId =
|
|
273
|
+
const chainId = assertEx3(config.evm.chainId, () => "Missing config.evm.chainId");
|
|
410
274
|
if (isHex(chainId, {
|
|
411
275
|
prefix: true
|
|
412
276
|
})) {
|
|
@@ -420,10 +284,10 @@ var getChainId = /* @__PURE__ */ __name((config) => {
|
|
|
420
284
|
}, "getChainId");
|
|
421
285
|
|
|
422
286
|
// src/evm/initEvmProvider.ts
|
|
423
|
-
import { assertEx as
|
|
287
|
+
import { assertEx as assertEx6 } from "@xylabs/sdk-js";
|
|
424
288
|
|
|
425
289
|
// src/evm/initInfuraProvider.ts
|
|
426
|
-
import { assertEx as
|
|
290
|
+
import { assertEx as assertEx4, isDefined as isDefined2 } from "@xylabs/sdk-js";
|
|
427
291
|
import { InfuraProvider } from "ethers/providers";
|
|
428
292
|
var instance;
|
|
429
293
|
var initInfuraProvider = /* @__PURE__ */ __name((config) => {
|
|
@@ -436,8 +300,8 @@ var canUseInfuraProvider = /* @__PURE__ */ __name((config) => {
|
|
|
436
300
|
return canUseChainId(config) && isDefined2(config.evm?.infura?.projectId) && isDefined2(config.evm?.infura?.projectSecret);
|
|
437
301
|
}, "canUseInfuraProvider");
|
|
438
302
|
var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
439
|
-
const projectId =
|
|
440
|
-
const projectSecret =
|
|
303
|
+
const projectId = assertEx4(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
|
|
304
|
+
const projectSecret = assertEx4(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
|
|
441
305
|
return [
|
|
442
306
|
getChainId(config),
|
|
443
307
|
projectId,
|
|
@@ -446,7 +310,7 @@ var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
|
446
310
|
}, "getInfuraProviderConfig");
|
|
447
311
|
|
|
448
312
|
// src/evm/initJsonRpcProvider.ts
|
|
449
|
-
import { assertEx as
|
|
313
|
+
import { assertEx as assertEx5, isDefined as isDefined3 } from "@xylabs/sdk-js";
|
|
450
314
|
import { JsonRpcProvider } from "ethers/providers";
|
|
451
315
|
var initJsonRpcProvider = /* @__PURE__ */ __name((config) => {
|
|
452
316
|
const providerConfig = getJsonRpcProviderConfig(config);
|
|
@@ -456,7 +320,7 @@ var canUseJsonRpcProvider = /* @__PURE__ */ __name((config) => {
|
|
|
456
320
|
return canUseChainId(config) && isDefined3(config.evm.jsonRpc?.url);
|
|
457
321
|
}, "canUseJsonRpcProvider");
|
|
458
322
|
var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
459
|
-
const jsonRpcUrl =
|
|
323
|
+
const jsonRpcUrl = assertEx5(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
|
|
460
324
|
return [
|
|
461
325
|
jsonRpcUrl,
|
|
462
326
|
getChainId(config)
|
|
@@ -472,7 +336,7 @@ var initEvmProvider = /* @__PURE__ */ __name(async ({ config }) => {
|
|
|
472
336
|
} else if (canUseJsonRpcProvider(config)) {
|
|
473
337
|
provider = initJsonRpcProvider(config);
|
|
474
338
|
}
|
|
475
|
-
return
|
|
339
|
+
return assertEx6(await provider, () => "No provider available");
|
|
476
340
|
}, "initEvmProvider");
|
|
477
341
|
var canUseEvmProvider = /* @__PURE__ */ __name(({ config }) => {
|
|
478
342
|
return canUseInfuraProvider(config) || canUseJsonRpcProvider(config);
|
|
@@ -530,7 +394,7 @@ var createHealthServer = /* @__PURE__ */ __name((port, statusMonitor, logger) =>
|
|
|
530
394
|
}, "createHealthServer");
|
|
531
395
|
var initHealthEndpoints = /* @__PURE__ */ __name((params) => {
|
|
532
396
|
const { config, logger, statusReporter } = params;
|
|
533
|
-
const { healthCheckPort } = config.producer;
|
|
397
|
+
const { healthCheckPort } = config.actors.producer;
|
|
534
398
|
return isDefined4(healthCheckPort) ? createHealthServer(healthCheckPort, statusReporter, logger) : void 0;
|
|
535
399
|
}, "initHealthEndpoints");
|
|
536
400
|
|
|
@@ -575,7 +439,7 @@ var ServiceLifetime = {
|
|
|
575
439
|
|
|
576
440
|
// src/init/initBalanceSummaryMap.ts
|
|
577
441
|
import { BaseMongoSdk } from "@xylabs/mongo";
|
|
578
|
-
import { assertEx as
|
|
442
|
+
import { assertEx as assertEx7 } from "@xylabs/sdk-js";
|
|
579
443
|
import { MongoMap } from "@xyo-network/chain-protocol";
|
|
580
444
|
import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-sdk";
|
|
581
445
|
async function initBalanceSummaryMap({ config, logger }) {
|
|
@@ -600,7 +464,7 @@ async function initBalanceSummaryMap({ config, logger }) {
|
|
|
600
464
|
maxEntries: 5e3
|
|
601
465
|
}
|
|
602
466
|
});
|
|
603
|
-
|
|
467
|
+
assertEx7(await result.start(), () => "Failed to start transfer summary map");
|
|
604
468
|
return result;
|
|
605
469
|
} else {
|
|
606
470
|
logger?.warn("[API] Mongo configuration not found. Using MemoryMap for BalanceSummaryMap.");
|
|
@@ -610,18 +474,18 @@ async function initBalanceSummaryMap({ config, logger }) {
|
|
|
610
474
|
__name(initBalanceSummaryMap, "initBalanceSummaryMap");
|
|
611
475
|
|
|
612
476
|
// src/init/initBridgedModule.ts
|
|
613
|
-
import { assertEx as
|
|
477
|
+
import { assertEx as assertEx8 } from "@xylabs/sdk-js";
|
|
614
478
|
import { asAttachableArchivistInstance } from "@xyo-network/archivist-model";
|
|
615
479
|
import { asAttachableModuleInstance } from "@xyo-network/module-model";
|
|
616
|
-
import { Mutex as
|
|
617
|
-
var initMutex = new
|
|
480
|
+
import { Mutex as Mutex9 } from "async-mutex";
|
|
481
|
+
var initMutex = new Mutex9();
|
|
618
482
|
var bridgedModuleDictionary = {};
|
|
619
483
|
var initBridgedModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) => {
|
|
620
484
|
return await initMutex.runExclusive(async () => {
|
|
621
485
|
const existing = bridgedModuleDictionary?.[bridge.address]?.[moduleName];
|
|
622
486
|
if (existing) return existing;
|
|
623
|
-
const mod =
|
|
624
|
-
const moduleInstance =
|
|
487
|
+
const mod = assertEx8(await bridge.resolve(moduleName), () => `Could not resolve ${moduleName}`);
|
|
488
|
+
const moduleInstance = assertEx8(asAttachableModuleInstance(mod), () => `Could not convert ${moduleName} to attachable module instance`);
|
|
625
489
|
let moduleMap = bridgedModuleDictionary[bridge.address];
|
|
626
490
|
if (moduleMap === void 0) {
|
|
627
491
|
moduleMap = {};
|
|
@@ -632,22 +496,22 @@ var initBridgedModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) =>
|
|
|
632
496
|
});
|
|
633
497
|
}, "initBridgedModule");
|
|
634
498
|
var initBridgedArchivistModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) => {
|
|
635
|
-
return
|
|
499
|
+
return assertEx8(asAttachableArchivistInstance(await initBridgedModule({
|
|
636
500
|
bridge,
|
|
637
501
|
moduleName
|
|
638
502
|
})), () => `Could not convert ${moduleName} to attachable archivist instance`);
|
|
639
503
|
}, "initBridgedArchivistModule");
|
|
640
504
|
|
|
641
505
|
// src/init/initEvmProvidersIfAvailable.ts
|
|
642
|
-
import { asEthAddress, assertEx as
|
|
643
|
-
import { EvmChainContractViewer, EvmStakeEventsViewer, EvmStakeViewer } from "@xyo-network/chain-ethereum";
|
|
644
|
-
import { SimpleChainContractViewer, SimpleStakeEventsViewer, SimpleStakeViewer, SimpleTimeSyncViewer, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
|
|
506
|
+
import { asEthAddress, assertEx as assertEx9 } from "@xylabs/sdk-js";
|
|
507
|
+
import { EvmChainContractViewer, EvmStakeEventsViewer, EvmStakeTotalsViewer, EvmStakeViewer } from "@xyo-network/chain-ethereum";
|
|
508
|
+
import { SimpleChainContractViewer, SimpleStakeEventsViewer, SimpleStakeTotalsViewer, SimpleStakeViewer, SimpleTimeSyncViewer, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
|
|
645
509
|
async function initEvmProvidersIfAvailable(locator) {
|
|
646
510
|
const { config, logger } = locator.context;
|
|
647
511
|
if (canUseEvmProvider({
|
|
648
512
|
config
|
|
649
513
|
})) {
|
|
650
|
-
const chainId =
|
|
514
|
+
const chainId = assertEx9(config.chain.id, () => "Missing config.chain.chainId (required for EVM providers)");
|
|
651
515
|
const provider2 = await initEvmProvider({
|
|
652
516
|
config,
|
|
653
517
|
logger
|
|
@@ -661,6 +525,10 @@ async function initEvmProvidersIfAvailable(locator) {
|
|
|
661
525
|
address,
|
|
662
526
|
provider: provider2
|
|
663
527
|
}));
|
|
528
|
+
locator.register(EvmStakeTotalsViewer.factory(EvmStakeTotalsViewer.dependencies, {
|
|
529
|
+
address,
|
|
530
|
+
provider: provider2
|
|
531
|
+
}));
|
|
664
532
|
locator.register(EvmChainContractViewer.factory(EvmChainContractViewer.dependencies, {
|
|
665
533
|
address,
|
|
666
534
|
provider: provider2
|
|
@@ -671,13 +539,14 @@ async function initEvmProvidersIfAvailable(locator) {
|
|
|
671
539
|
} else {
|
|
672
540
|
logger?.warn("EVM provider not available - running with memory based contract/stake viewers");
|
|
673
541
|
const positions = [];
|
|
674
|
-
const chainId =
|
|
542
|
+
const chainId = assertEx9(config.chain.id, () => "Missing config.chain.chainId (required for non-EVM providers)");
|
|
675
543
|
locator.register(SimpleStakeEventsViewer.factory(SimpleStakeEventsViewer.dependencies, {
|
|
676
544
|
positions
|
|
677
545
|
}));
|
|
678
546
|
locator.register(SimpleStakeViewer.factory(SimpleStakeViewer.dependencies, {
|
|
679
547
|
positions
|
|
680
548
|
}));
|
|
549
|
+
locator.register(SimpleStakeTotalsViewer.factory(SimpleStakeTotalsViewer.dependencies, {}));
|
|
681
550
|
locator.register(SimpleChainContractViewer.factory(SimpleChainContractViewer.dependencies, {
|
|
682
551
|
chainId,
|
|
683
552
|
minWithdrawalBlocks: 10,
|
|
@@ -690,6 +559,33 @@ async function initEvmProvidersIfAvailable(locator) {
|
|
|
690
559
|
}
|
|
691
560
|
__name(initEvmProvidersIfAvailable, "initEvmProvidersIfAvailable");
|
|
692
561
|
|
|
562
|
+
// src/init/initFinalizationArchivistIfNeeded.ts
|
|
563
|
+
import { assertEx as assertEx10 } from "@xylabs/sdk-js";
|
|
564
|
+
import { Account } from "@xyo-network/account";
|
|
565
|
+
import { createBootstrapHead } from "@xyo-network/chain-sdk";
|
|
566
|
+
import { asAttoXL1, findMostRecentBlock, flattenHydratedBlock } from "@xyo-network/xl1-sdk";
|
|
567
|
+
async function initFinalizationArchivistIfNeeded(archivist, config, account) {
|
|
568
|
+
const configuredChainId = config.chain.id;
|
|
569
|
+
const possibleHead = await findMostRecentBlock(archivist);
|
|
570
|
+
if (configuredChainId && possibleHead && possibleHead.chain !== configuredChainId) {
|
|
571
|
+
throw new Error(`Configured chain ID (${configuredChainId}) does not match the existing chain ID (${possibleHead.chain})`);
|
|
572
|
+
}
|
|
573
|
+
let possibleChainId = configuredChainId;
|
|
574
|
+
if (!possibleHead) {
|
|
575
|
+
possibleChainId = possibleChainId ?? (await Account.random()).address;
|
|
576
|
+
const chain = await createBootstrapHead(account, possibleChainId, asAttoXL1(20000000000000000000000n), config.chain.genesisRewardAddress ?? account.address);
|
|
577
|
+
const payloads = chain.flatMap((block) => flattenHydratedBlock(block));
|
|
578
|
+
await archivist.insert(payloads);
|
|
579
|
+
}
|
|
580
|
+
const head = possibleHead ?? assertEx10(await findMostRecentBlock(archivist), () => "No blocks found in chain archivist");
|
|
581
|
+
const chainId = assertEx10(possibleChainId, () => "Chain ID could not be determined");
|
|
582
|
+
return [
|
|
583
|
+
head,
|
|
584
|
+
chainId
|
|
585
|
+
];
|
|
586
|
+
}
|
|
587
|
+
__name(initFinalizationArchivistIfNeeded, "initFinalizationArchivistIfNeeded");
|
|
588
|
+
|
|
693
589
|
// src/init/initFinalizedArchivist.ts
|
|
694
590
|
import { MongoDBArchivistV2 } from "@xyo-network/archivist-mongodb";
|
|
695
591
|
async function initMongoFinalizedArchivist(config) {
|
|
@@ -715,7 +611,7 @@ import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1
|
|
|
715
611
|
var accountServiceSingleton;
|
|
716
612
|
var initProducerAccount = /* @__PURE__ */ __name(async ({ config, logger }) => {
|
|
717
613
|
if (accountServiceSingleton) return accountServiceSingleton;
|
|
718
|
-
let walletPhrase = config.producer.mnemonic;
|
|
614
|
+
let walletPhrase = config.actors.producer.mnemonic;
|
|
719
615
|
if (isUndefined(walletPhrase)) {
|
|
720
616
|
logger?.warn("[Producer] No wallet mnemonic specified!");
|
|
721
617
|
const randomMnemonic = HDWallet.generateMnemonic();
|
|
@@ -733,12 +629,12 @@ ${randomMnemonic}
|
|
|
733
629
|
}, "initProducerAccount");
|
|
734
630
|
|
|
735
631
|
// src/init/initSeedPhrase.ts
|
|
736
|
-
import { assertEx as
|
|
632
|
+
import { assertEx as assertEx11, isString } from "@xylabs/sdk-js";
|
|
737
633
|
import { HDWallet as HDWallet2 } from "@xyo-network/wallet";
|
|
738
634
|
async function initSeedPhrase({ config, logger, bios }) {
|
|
739
635
|
const storedSeedPhrase = await bios.seedPhraseStore.get("os");
|
|
740
636
|
logger?.debug(`[API] Stored mnemonic: ${storedSeedPhrase}`);
|
|
741
|
-
const { mnemonic } = config.api;
|
|
637
|
+
const { mnemonic } = config.actors.api;
|
|
742
638
|
if (isString(storedSeedPhrase) && isString(mnemonic)) {
|
|
743
639
|
logger?.warn("[API] Stored mnemonic does not match supplied. Updating stored mnemonic to supplied.");
|
|
744
640
|
await bios.seedPhraseStore.set("os", mnemonic);
|
|
@@ -753,12 +649,12 @@ async function initSeedPhrase({ config, logger, bios }) {
|
|
|
753
649
|
}
|
|
754
650
|
await bios.seedPhraseStore.set("os", seedPhrase);
|
|
755
651
|
}
|
|
756
|
-
return
|
|
652
|
+
return assertEx11(await bios.seedPhraseStore.get("os"), () => "Unable to acquire mnemonic from bios");
|
|
757
653
|
}
|
|
758
654
|
__name(initSeedPhrase, "initSeedPhrase");
|
|
759
655
|
|
|
760
656
|
// src/init/initServerNode.ts
|
|
761
|
-
import { assertEx as
|
|
657
|
+
import { assertEx as assertEx12 } from "@xylabs/sdk-js";
|
|
762
658
|
import { asArchivistInstance } from "@xyo-network/archivist-model";
|
|
763
659
|
|
|
764
660
|
// src/manifest/getLocator.ts
|
|
@@ -994,7 +890,7 @@ async function writableChainArchivistFromNode(node) {
|
|
|
994
890
|
}
|
|
995
891
|
__name(writableChainArchivistFromNode, "writableChainArchivistFromNode");
|
|
996
892
|
async function readonlyChainArchivistFromNode(node) {
|
|
997
|
-
return
|
|
893
|
+
return assertEx12(asArchivistInstance(await node.resolve("Chain:Validated"), {
|
|
998
894
|
required: true
|
|
999
895
|
}));
|
|
1000
896
|
}
|
|
@@ -1019,7 +915,7 @@ async function initServerNode({ wallet, logger, config, node: providedNode, tran
|
|
|
1019
915
|
transfersSummaryMap,
|
|
1020
916
|
balancesSummaryMap
|
|
1021
917
|
});
|
|
1022
|
-
|
|
918
|
+
assertEx12(await node.start(), () => "Failed to start node");
|
|
1023
919
|
const writableChainArchivist = await writableChainArchivistFromNode(node);
|
|
1024
920
|
const readonlyChainArchivist = await readonlyChainArchivistFromNode(node);
|
|
1025
921
|
const pendingTransactionsArchivist = await pendingTransactionsArchivistFromNode(node);
|
|
@@ -1055,7 +951,7 @@ __name(initStatusReporter, "initStatusReporter");
|
|
|
1055
951
|
|
|
1056
952
|
// src/init/initTransferSummaryMap.ts
|
|
1057
953
|
import { BaseMongoSdk as BaseMongoSdk2 } from "@xylabs/mongo";
|
|
1058
|
-
import { assertEx as
|
|
954
|
+
import { assertEx as assertEx13 } from "@xylabs/sdk-js";
|
|
1059
955
|
import { MongoMap as MongoMap2 } from "@xyo-network/chain-protocol";
|
|
1060
956
|
import { hasMongoConfig as hasMongoConfig3, MemoryMap as MemoryMap2 } from "@xyo-network/xl1-sdk";
|
|
1061
957
|
async function initTransferSummaryMap({ config, logger }) {
|
|
@@ -1080,7 +976,7 @@ async function initTransferSummaryMap({ config, logger }) {
|
|
|
1080
976
|
maxEntries: 5e3
|
|
1081
977
|
}
|
|
1082
978
|
});
|
|
1083
|
-
|
|
979
|
+
assertEx13(await result.start(), () => "Failed to start transfer summary map");
|
|
1084
980
|
return result;
|
|
1085
981
|
} else {
|
|
1086
982
|
logger?.warn("[API] Mongo configuration not found. Using MemoryMap for TransferSummaryMap.");
|
|
@@ -1104,15 +1000,23 @@ async function initWallet({ config, logger }, mnemonic) {
|
|
|
1104
1000
|
}
|
|
1105
1001
|
__name(initWallet, "initWallet");
|
|
1106
1002
|
async function initApiWallet({ config, logger }) {
|
|
1107
|
-
const { mnemonic } = config.api;
|
|
1003
|
+
const { mnemonic } = config.actors.api;
|
|
1108
1004
|
return await initWallet({
|
|
1109
1005
|
config,
|
|
1110
1006
|
logger
|
|
1111
1007
|
}, mnemonic);
|
|
1112
1008
|
}
|
|
1113
1009
|
__name(initApiWallet, "initApiWallet");
|
|
1010
|
+
async function initBridgeWallet({ config, logger }) {
|
|
1011
|
+
const { mnemonic } = config.actors.bridge;
|
|
1012
|
+
return await initWallet({
|
|
1013
|
+
config,
|
|
1014
|
+
logger
|
|
1015
|
+
}, mnemonic);
|
|
1016
|
+
}
|
|
1017
|
+
__name(initBridgeWallet, "initBridgeWallet");
|
|
1114
1018
|
async function initMempoolWallet({ config, logger }) {
|
|
1115
|
-
const { mnemonic } = config.mempool;
|
|
1019
|
+
const { mnemonic } = config.actors.mempool;
|
|
1116
1020
|
return await initWallet({
|
|
1117
1021
|
config,
|
|
1118
1022
|
logger
|
|
@@ -1120,7 +1024,7 @@ async function initMempoolWallet({ config, logger }) {
|
|
|
1120
1024
|
}
|
|
1121
1025
|
__name(initMempoolWallet, "initMempoolWallet");
|
|
1122
1026
|
async function initProducerWallet({ config, logger }) {
|
|
1123
|
-
const { mnemonic } = config.producer;
|
|
1027
|
+
const { mnemonic } = config.actors.producer;
|
|
1124
1028
|
return await initWallet({
|
|
1125
1029
|
config,
|
|
1126
1030
|
logger
|
|
@@ -1128,23 +1032,31 @@ async function initProducerWallet({ config, logger }) {
|
|
|
1128
1032
|
}
|
|
1129
1033
|
__name(initProducerWallet, "initProducerWallet");
|
|
1130
1034
|
async function initRewardsRedemptionApiWallet({ config, logger }) {
|
|
1131
|
-
const { mnemonic } = config.
|
|
1035
|
+
const { mnemonic } = config.actors.rewardRedemption;
|
|
1132
1036
|
return await initWallet({
|
|
1133
1037
|
config,
|
|
1134
1038
|
logger
|
|
1135
1039
|
}, mnemonic);
|
|
1136
1040
|
}
|
|
1137
1041
|
__name(initRewardsRedemptionApiWallet, "initRewardsRedemptionApiWallet");
|
|
1042
|
+
async function initValidatorWallet({ config, logger }) {
|
|
1043
|
+
const { mnemonic } = config.actors.mempool;
|
|
1044
|
+
return await initWallet({
|
|
1045
|
+
config,
|
|
1046
|
+
logger
|
|
1047
|
+
}, mnemonic);
|
|
1048
|
+
}
|
|
1049
|
+
__name(initValidatorWallet, "initValidatorWallet");
|
|
1138
1050
|
|
|
1139
1051
|
// src/orchestrator/Orchestrator.ts
|
|
1140
|
-
import { AbstractCreatable, creatable as
|
|
1141
|
-
function
|
|
1052
|
+
import { AbstractCreatable, creatable as creatable2 } from "@xylabs/sdk-js";
|
|
1053
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
1142
1054
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1143
1055
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1144
1056
|
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;
|
|
1145
1057
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1146
1058
|
}
|
|
1147
|
-
__name(
|
|
1059
|
+
__name(_ts_decorate2, "_ts_decorate");
|
|
1148
1060
|
var Orchestrator = class extends AbstractCreatable {
|
|
1149
1061
|
static {
|
|
1150
1062
|
__name(this, "Orchestrator");
|
|
@@ -1197,14 +1109,12 @@ var Orchestrator = class extends AbstractCreatable {
|
|
|
1197
1109
|
this.logger?.log("[Orchestrator] Stopped...");
|
|
1198
1110
|
}
|
|
1199
1111
|
};
|
|
1200
|
-
Orchestrator =
|
|
1201
|
-
|
|
1112
|
+
Orchestrator = _ts_decorate2([
|
|
1113
|
+
creatable2()
|
|
1202
1114
|
], Orchestrator);
|
|
1203
1115
|
export {
|
|
1204
|
-
BalanceActor,
|
|
1205
1116
|
DefaultServiceProvider,
|
|
1206
1117
|
GenericHost,
|
|
1207
|
-
MempoolActor,
|
|
1208
1118
|
NodeManifest,
|
|
1209
1119
|
Orchestrator,
|
|
1210
1120
|
PrivateChildManifests,
|
|
@@ -1223,11 +1133,13 @@ export {
|
|
|
1223
1133
|
getLocator,
|
|
1224
1134
|
initApiWallet,
|
|
1225
1135
|
initBalanceSummaryMap,
|
|
1136
|
+
initBridgeWallet,
|
|
1226
1137
|
initBridgedArchivistModule,
|
|
1227
1138
|
initBridgedModule,
|
|
1228
1139
|
initChainFinalizedArchivist,
|
|
1229
1140
|
initEvmProvider,
|
|
1230
1141
|
initEvmProvidersIfAvailable,
|
|
1142
|
+
initFinalizationArchivistIfNeeded,
|
|
1231
1143
|
initFinalizedArchivist,
|
|
1232
1144
|
initHealthEndpoints,
|
|
1233
1145
|
initInfuraProvider,
|
|
@@ -1243,6 +1155,7 @@ export {
|
|
|
1243
1155
|
initStakeIntentStateArchivist,
|
|
1244
1156
|
initStatusReporter,
|
|
1245
1157
|
initTransferSummaryMap,
|
|
1158
|
+
initValidatorWallet,
|
|
1246
1159
|
loadNode
|
|
1247
1160
|
};
|
|
1248
1161
|
//# sourceMappingURL=index.mjs.map
|