@xyo-network/xl1-cli-lib 1.14.0 → 1.14.2
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/node/index.mjs +79 -26
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/orchestration/actor/implementation/BalanceActor.d.ts +1 -1
- package/dist/node/orchestration/actor/implementation/BalanceActor.d.ts.map +1 -1
- package/dist/node/orchestration/actor/implementation/ProducerActor.d.ts +1 -1
- package/dist/node/orchestration/actor/implementation/ProducerActor.d.ts.map +1 -1
- package/dist/node/orchestration/actor/implementation/ValidatorActor.d.ts +1 -1
- package/dist/node/orchestration/actor/implementation/ValidatorActor.d.ts.map +1 -1
- package/dist/node/orchestration/initServices.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/head.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/head.d.ts.map +1 -1
- package/dist/node/xl1.mjs +77 -24
- package/dist/node/xl1.mjs.map +1 -1
- package/package.json +7 -7
- package/src/orchestration/actor/implementation/BalanceActor.ts +2 -2
- package/src/orchestration/actor/implementation/ProducerActor.ts +4 -4
- package/src/orchestration/actor/implementation/ValidatorActor.ts +4 -4
- package/src/orchestration/initServices.ts +11 -7
- package/src/orchestration/services/implementation/head.ts +73 -6
- package/src/spec/BootstrapChain.spec.ts +2 -2
|
@@ -3,7 +3,7 @@ import type { Promisable } from '@xylabs/promise';
|
|
|
3
3
|
import type { ChainServiceCollectionV2, Config } from '@xyo-network/xl1-protocol-sdk';
|
|
4
4
|
import { Mutex } from 'async-mutex';
|
|
5
5
|
import { Actor } from '../model/index.ts';
|
|
6
|
-
export type BalanceActorParams = BaseParams<Pick<ChainServiceCollectionV2, '
|
|
6
|
+
export type BalanceActorParams = BaseParams<Pick<ChainServiceCollectionV2, 'balance' | 'chainIterator'> & {
|
|
7
7
|
config: Config;
|
|
8
8
|
}>;
|
|
9
9
|
export declare class BalanceActor extends Actor<BalanceActorParams> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceActor.d.ts","sourceRoot":"","sources":["../../../../../src/orchestration/actor/implementation/BalanceActor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,MAAM,kBAAkB,GAAG,UAAU,CACzC,IAAI,CAAC,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"BalanceActor.d.ts","sourceRoot":"","sources":["../../../../../src/orchestration/actor/implementation/BalanceActor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,MAAM,kBAAkB,GAAG,UAAU,CACzC,IAAI,CAAC,wBAAwB,EAAE,SAAS,GAAG,eAAe,CAAC,GACzD;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEvB,qBAAa,YAAa,SAAQ,KAAK,CAAC,kBAAkB,CAAC;IACzD,SAAS,CAAC,YAAY,QAAc;IAEpC,SAAS,aAAa,MAAM,EAAE,kBAAkB;IAIhD,SAAS,KAAK,cAAc,gEAE3B;IAED,SAAS,KAAK,aAAa,gFAE1B;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC;IAIpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAUrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/C"}
|
|
@@ -3,7 +3,7 @@ import type { Promisable } from '@xylabs/promise';
|
|
|
3
3
|
import type { ChainStakeIntent, HydratedBlock } from '@xyo-network/xl1-protocol';
|
|
4
4
|
import type { ChainServiceCollectionV2, Config } from '@xyo-network/xl1-protocol-sdk';
|
|
5
5
|
import { Actor } from '../model/index.ts';
|
|
6
|
-
export type ProducerActorParams = BaseParams<Pick<ChainServiceCollectionV2, 'account' | '
|
|
6
|
+
export type ProducerActorParams = BaseParams<Pick<ChainServiceCollectionV2, 'account' | 'balance' | 'chainIterator' | 'chainStakeViewer' | 'chainSubmissionsArchivistWrite' | 'pendingBundledTransactionsArchivistWrite' | 'producer' | 'stakeIntent'> & {
|
|
7
7
|
config: Config;
|
|
8
8
|
}>;
|
|
9
9
|
export declare class ProducerActor extends Actor<ProducerActorParams> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProducerActor.d.ts","sourceRoot":"","sources":["../../../../../src/orchestration/actor/implementation/ProducerActor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAMjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAKrF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAC1C,IAAI,CAAC,wBAAwB,EAC7B,SAAS,GACP,
|
|
1
|
+
{"version":3,"file":"ProducerActor.d.ts","sourceRoot":"","sources":["../../../../../src/orchestration/actor/implementation/ProducerActor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAMjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAKrF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAC1C,IAAI,CAAC,wBAAwB,EAC7B,SAAS,GACP,SAAS,GACT,eAAe,GACf,kBAAkB,GAClB,gCAAgC,GAChC,0CAA0C,GAC1C,UAAU,GACV,aAAa,CACd,GAAG;IACF,MAAM,EAAE,MAAM,CAAA;CACf,CAAC,CAAA;AAKJ,qBAAa,aAAc,SAAQ,KAAK,CAAC,mBAAmB,CAAC;IAC3D,SAAS,CAAC,kBAAkB,EAAE,aAAa,GAAG,SAAS,CAAA;IACvD,SAAS,CAAC,wBAAwB,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAEhE,SAAS,aAAa,MAAM,EAAE,mBAAmB;IAIjD,SAAS,KAAK,OAAO,uDAEpB;IAED,SAAS,KAAK,cAAc,6DAE3B;IAED,SAAS,KAAK,aAAa,6EAE1B;IAED,SAAS,KAAK,gBAAgB,sDAE7B;IAED,SAAS,KAAK,8BAA8B;;;;QAE3C;IAED,SAAS,KAAK,wCAAwC,iVAErD;IAED,SAAS,KAAK,QAAQ,0DAErB;IAED,SAAS,KAAK,kBAAkB,wDAE/B;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,UAAU,CAAC,aAAa,CAAC;IAItD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAmGrB,iDAAiD,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAkBxF,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;cAqBrG,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;cAe1C,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;CAWzD"}
|
|
@@ -4,7 +4,7 @@ import type { Promisable } from '@xylabs/promise';
|
|
|
4
4
|
import type { BlockBoundWitness } from '@xyo-network/xl1-protocol';
|
|
5
5
|
import type { ChainServiceCollectionV2, Config } from '@xyo-network/xl1-protocol-sdk';
|
|
6
6
|
import { Actor } from '../model/index.ts';
|
|
7
|
-
export type ValidatorActorParams = BaseParams<Pick<ChainServiceCollectionV2, 'account' | '
|
|
7
|
+
export type ValidatorActorParams = BaseParams<Pick<ChainServiceCollectionV2, 'account' | 'balance' | 'chainIterator' | 'chainStakeViewer' | 'chainSubmissionsArchivistWrite' | 'pendingBundledTransactionsArchivistWrite' | 'stakeIntent'> & {
|
|
8
8
|
config: Config;
|
|
9
9
|
}>;
|
|
10
10
|
export declare class ValidatorActor extends Actor<ValidatorActorParams> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidatorActor.d.ts","sourceRoot":"","sources":["../../../../../src/orchestration/actor/implementation/ValidatorActor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAErF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC3C,IAAI,CAAC,wBAAwB,EAC7B,SAAS,GACP,
|
|
1
|
+
{"version":3,"file":"ValidatorActor.d.ts","sourceRoot":"","sources":["../../../../../src/orchestration/actor/implementation/ValidatorActor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAErF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC3C,IAAI,CAAC,wBAAwB,EAC7B,SAAS,GACP,SAAS,GACT,eAAe,GACf,kBAAkB,GAClB,gCAAgC,GAChC,0CAA0C,GAC1C,aAAa,CACd,GAAG;IACF,MAAM,EAAE,MAAM,CAAA;CACf,CAAC,CAAA;AAEJ,qBAAa,cAAe,SAAQ,KAAK,CAAC,oBAAoB,CAAC;IAC7D,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC5D,SAAS,CAAC,uBAAuB,EAAE,IAAI,GAAG,SAAS,CAAA;IAEnD,SAAS,aAAa,MAAM,EAAE,oBAAoB;IAIlD,SAAS,KAAK,OAAO,uDAEpB;IAED,SAAS,KAAK,cAAc,gEAE3B;IAED,SAAS,KAAK,aAAa,gFAE1B;IAED,SAAS,KAAK,gBAAgB,yDAE7B;IAED,SAAS,KAAK,8BAA8B;;;;QAE3C;IAED,SAAS,KAAK,wCAAwC,iVAErD;IAED,SAAS,KAAK,kBAAkB,2DAE/B;IAMD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,UAAU,CAAC,cAAc,CAAC;IAIxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cA2BrB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;cAM9D,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAU1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initServices.d.ts","sourceRoot":"","sources":["../../../src/orchestration/initServices.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAM5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAuBrF,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,YAAY,GAAU,SAAS,mBAAmB,KAAG,OAAO,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"initServices.d.ts","sourceRoot":"","sources":["../../../src/orchestration/initServices.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAM5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAuBrF,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,YAAY,GAAU,SAAS,mBAAmB,KAAG,OAAO,CAAC,wBAAwB,CA8MjG,CAAA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ArchivistInstance } from '@xyo-network/archivist-model';
|
|
2
2
|
import type { WithStorageMeta } from '@xyo-network/payload-model';
|
|
3
3
|
import type { WalletInstance } from '@xyo-network/wallet-model';
|
|
4
|
-
import type { BlockBoundWitness, Initializable } from '@xyo-network/xl1-protocol';
|
|
4
|
+
import type { BlockBoundWitness, ChainService, Initializable } from '@xyo-network/xl1-protocol';
|
|
5
5
|
export declare const initHead: Initializable<{
|
|
6
6
|
account: WalletInstance;
|
|
7
7
|
chainArchivist: ArchivistInstance;
|
|
8
|
+
chainService: ChainService;
|
|
8
9
|
chainSubmissionsArchivistWrite: ArchivistInstance;
|
|
9
10
|
}, WithStorageMeta<BlockBoundWitness>>;
|
|
10
11
|
//# sourceMappingURL=head.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../../../../src/orchestration/services/implementation/head.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../../../../src/orchestration/services/implementation/head.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKrE,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EACV,iBAAiB,EAAS,YAAY,EAAE,aAAa,EACtD,MAAM,2BAA2B,CAAA;AA0DlC,eAAO,MAAM,QAAQ,EAAE,aAAa,CAAC;IACnC,OAAO,EAAE,cAAc,CAAA;IACvB,cAAc,EAAE,iBAAiB,CAAA;IACjC,YAAY,EAAE,YAAY,CAAA;IAC1B,8BAA8B,EAAE,iBAAiB,CAAA;CAClD,EAAE,eAAe,CAAC,iBAAiB,CAAC,CA+BnC,CAAA"}
|
package/dist/node/xl1.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import { config as config2 } from "dotenv";
|
|
|
6
6
|
|
|
7
7
|
// src/runCLI.ts
|
|
8
8
|
import { deepMerge } from "@xylabs/object";
|
|
9
|
-
import { isDefined as
|
|
9
|
+
import { isDefined as isDefined13 } from "@xylabs/typeof";
|
|
10
10
|
import { ConfigZod } from "@xyo-network/xl1-protocol-sdk";
|
|
11
11
|
import yargs from "yargs";
|
|
12
12
|
import { hideBin } from "yargs/helpers";
|
|
@@ -184,7 +184,7 @@ var BalanceActor = class _BalanceActor extends Actor {
|
|
|
184
184
|
super("BalanceActor", "Balance", params);
|
|
185
185
|
}
|
|
186
186
|
get balanceService() {
|
|
187
|
-
return assertEx(this.params.
|
|
187
|
+
return assertEx(this.params.balance, () => "balanceService not set");
|
|
188
188
|
}
|
|
189
189
|
get chainIterator() {
|
|
190
190
|
return assertEx(this.params.chainIterator, () => "chainIterator not set");
|
|
@@ -284,7 +284,7 @@ var ProducerActor = class _ProducerActor extends Actor {
|
|
|
284
284
|
return assertEx3(this.params.account, () => "account not set");
|
|
285
285
|
}
|
|
286
286
|
get balanceService() {
|
|
287
|
-
return assertEx3(this.params.
|
|
287
|
+
return assertEx3(this.params.balance, () => "balanceService not set");
|
|
288
288
|
}
|
|
289
289
|
get chainIterator() {
|
|
290
290
|
return assertEx3(this.params.chainIterator, () => "chainIterator not set");
|
|
@@ -302,7 +302,7 @@ var ProducerActor = class _ProducerActor extends Actor {
|
|
|
302
302
|
return assertEx3(this.params.producer, () => "producer not set");
|
|
303
303
|
}
|
|
304
304
|
get stakeIntentService() {
|
|
305
|
-
return assertEx3(this.params.
|
|
305
|
+
return assertEx3(this.params.stakeIntent, () => "stakeIntentService not set");
|
|
306
306
|
}
|
|
307
307
|
static create(params) {
|
|
308
308
|
return new _ProducerActor(params);
|
|
@@ -472,8 +472,8 @@ var initHealthEndpoints = /* @__PURE__ */ __name((params) => {
|
|
|
472
472
|
// src/orchestration/initServices.ts
|
|
473
473
|
import { assertEx as assertEx16 } from "@xylabs/assert";
|
|
474
474
|
import { asAddress as asAddress2 } from "@xylabs/hex";
|
|
475
|
-
import { isDefined as
|
|
476
|
-
import { balanceSummaryRepositoryFromMap, initTelemetry, startupSpanAsync as startupSpanAsync7, validateHydratedBlockState } from "@xyo-network/chain-sdk";
|
|
475
|
+
import { isDefined as isDefined10 } from "@xylabs/typeof";
|
|
476
|
+
import { balanceSummaryRepositoryFromMap, BaseTimeSyncService, initTelemetry, startupSpanAsync as startupSpanAsync7, validateHydratedBlockState } from "@xyo-network/chain-sdk";
|
|
477
477
|
|
|
478
478
|
// src/orchestration/archivists/ChainFinalized/archivist.ts
|
|
479
479
|
import { initArchivistSync, startupSpanAsync } from "@xyo-network/chain-sdk";
|
|
@@ -1034,8 +1034,9 @@ var init = /* @__PURE__ */ __name((params) => {
|
|
|
1034
1034
|
|
|
1035
1035
|
// src/orchestration/services/implementation/head.ts
|
|
1036
1036
|
import { delay } from "@xylabs/delay";
|
|
1037
|
-
import { ZERO_ADDRESS as ZERO_ADDRESS2 } from "@xylabs/hex";
|
|
1038
|
-
import {
|
|
1037
|
+
import { asHash, hexFromBigInt, ZERO_ADDRESS as ZERO_ADDRESS2 } from "@xylabs/hex";
|
|
1038
|
+
import { isDefined as isDefined9 } from "@xylabs/typeof";
|
|
1039
|
+
import { buildBlock, createGenesisBlock, findMostRecentBlock as findMostRecentBlock2, isBlockBoundWitnessWithHashStorageMeta } from "@xyo-network/chain-sdk";
|
|
1039
1040
|
import { flattenHydratedBlock as flattenHydratedBlock2 } from "@xyo-network/xl1-protocol-sdk";
|
|
1040
1041
|
var headSingleton;
|
|
1041
1042
|
var createBootstrapHead = /* @__PURE__ */ __name(async (chainSubmissionsArchivistWrite, chainArchivist, account) => {
|
|
@@ -1051,11 +1052,57 @@ var createBootstrapHead = /* @__PURE__ */ __name(async (chainSubmissionsArchivis
|
|
|
1051
1052
|
}
|
|
1052
1053
|
return bw;
|
|
1053
1054
|
}, "createBootstrapHead");
|
|
1055
|
+
var createForkedHead = /* @__PURE__ */ __name(async (chainSubmissionsArchivistWrite, chainArchivist, account, forkBlock, chainId) => {
|
|
1056
|
+
const { _hash: previousBlockHash, block: previousBlockNumber, step_hashes: previousStepHashes, protocol } = forkBlock;
|
|
1057
|
+
const forkBlockReward = 0n;
|
|
1058
|
+
const forkBlockRewardAddress = account.address;
|
|
1059
|
+
const options = {
|
|
1060
|
+
blockPayloads: [],
|
|
1061
|
+
chainId,
|
|
1062
|
+
previousBlockHash,
|
|
1063
|
+
previousBlockNumber,
|
|
1064
|
+
previousStepHashes,
|
|
1065
|
+
signers: [
|
|
1066
|
+
account
|
|
1067
|
+
],
|
|
1068
|
+
txs: [],
|
|
1069
|
+
protocol,
|
|
1070
|
+
reward: forkBlockReward,
|
|
1071
|
+
rewardAddress: forkBlockRewardAddress
|
|
1072
|
+
};
|
|
1073
|
+
const block = await buildBlock(options);
|
|
1074
|
+
const [bw] = block;
|
|
1075
|
+
await chainSubmissionsArchivistWrite.insert(flattenHydratedBlock2(block));
|
|
1076
|
+
while (true) {
|
|
1077
|
+
const result = await chainArchivist.get([
|
|
1078
|
+
bw._hash
|
|
1079
|
+
]);
|
|
1080
|
+
if (result.length > 0) break;
|
|
1081
|
+
await delay(1e3);
|
|
1082
|
+
}
|
|
1083
|
+
return bw;
|
|
1084
|
+
}, "createForkedHead");
|
|
1054
1085
|
var initHead = /* @__PURE__ */ __name(async (params) => {
|
|
1055
|
-
const { account, chainArchivist, chainSubmissionsArchivistWrite } = params;
|
|
1086
|
+
const { account, chainArchivist, chainSubmissionsArchivistWrite, chainService } = params;
|
|
1056
1087
|
if (headSingleton) return headSingleton;
|
|
1057
1088
|
let head = await findMostRecentBlock2(chainArchivist);
|
|
1058
|
-
if (!head)
|
|
1089
|
+
if (!head) {
|
|
1090
|
+
head = await createBootstrapHead(chainSubmissionsArchivistWrite, chainArchivist, account);
|
|
1091
|
+
} else if (head.chain !== chainService.chainId) {
|
|
1092
|
+
const forkedAtBigInt = await chainService.forkedAtHash();
|
|
1093
|
+
const forkedAtHex = hexFromBigInt(forkedAtBigInt);
|
|
1094
|
+
const forkedAtHash = asHash(forkedAtHex);
|
|
1095
|
+
if (isDefined9(forkedAtHash)) {
|
|
1096
|
+
const [forkBlock] = await chainArchivist.get([
|
|
1097
|
+
forkedAtHash
|
|
1098
|
+
]);
|
|
1099
|
+
const forkedChainId = await chainService.forkedChainId();
|
|
1100
|
+
const forkedAtBlockNumber = Number(await chainService.forkedAtBlockNumber());
|
|
1101
|
+
if (isBlockBoundWitnessWithHashStorageMeta(forkBlock) && forkBlock.chain === forkedChainId && forkBlock.block === forkedAtBlockNumber) {
|
|
1102
|
+
head = await createForkedHead(chainSubmissionsArchivistWrite, chainArchivist, account, forkBlock, chainService.chainId);
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
}
|
|
1059
1106
|
headSingleton = head;
|
|
1060
1107
|
return headSingleton;
|
|
1061
1108
|
}, "initHead");
|
|
@@ -1225,7 +1272,7 @@ var RuntimeStatusMonitor = class extends LoggerStatusReporter {
|
|
|
1225
1272
|
|
|
1226
1273
|
// src/orchestration/initServices.ts
|
|
1227
1274
|
var isStartable = /* @__PURE__ */ __name((value) => {
|
|
1228
|
-
return
|
|
1275
|
+
return isDefined10(value.start) && typeof value.start === "function";
|
|
1229
1276
|
}, "isStartable");
|
|
1230
1277
|
var initServices = /* @__PURE__ */ __name(async (context) => {
|
|
1231
1278
|
const { config: config3, logger } = context;
|
|
@@ -1289,7 +1336,8 @@ var initServices = /* @__PURE__ */ __name(async (context) => {
|
|
|
1289
1336
|
...initParams,
|
|
1290
1337
|
account,
|
|
1291
1338
|
chainArchivist,
|
|
1292
|
-
chainSubmissionsArchivistWrite
|
|
1339
|
+
chainSubmissionsArchivistWrite,
|
|
1340
|
+
chainService
|
|
1293
1341
|
}));
|
|
1294
1342
|
const [pendingTransactionsService, rewardService, chainIterator, balanceService] = await Promise.all([
|
|
1295
1343
|
startupSpanAsync7("PendingTransactions", () => initPendingTransactions({
|
|
@@ -1346,7 +1394,11 @@ var initServices = /* @__PURE__ */ __name(async (context) => {
|
|
|
1346
1394
|
validateHydratedBlockState,
|
|
1347
1395
|
...initParams
|
|
1348
1396
|
};
|
|
1349
|
-
const
|
|
1397
|
+
const time = await BaseTimeSyncService.create({
|
|
1398
|
+
chainArchivist,
|
|
1399
|
+
chainIterator
|
|
1400
|
+
});
|
|
1401
|
+
const rewardAddress = isDefined10(config3.producer.rewardAddress) ? assertEx16(asAddress2(config3.producer.rewardAddress), () => "Invalid block reward address provided") : account.address;
|
|
1350
1402
|
const producerParams = {
|
|
1351
1403
|
...validatorParams,
|
|
1352
1404
|
name: "Producer",
|
|
@@ -1356,24 +1408,25 @@ var initServices = /* @__PURE__ */ __name(async (context) => {
|
|
|
1356
1408
|
pendingTransactionsService,
|
|
1357
1409
|
rejectedTransactionsArchivist,
|
|
1358
1410
|
rewardAddress,
|
|
1411
|
+
time,
|
|
1359
1412
|
...initParams
|
|
1360
1413
|
};
|
|
1361
1414
|
const producer = await startupSpanAsync7("Producer", () => initBlockProducer(producerParams));
|
|
1362
1415
|
const result = {
|
|
1363
1416
|
account,
|
|
1364
|
-
balanceService,
|
|
1417
|
+
balance: balanceService,
|
|
1365
1418
|
chainArchivist,
|
|
1366
1419
|
chainContractViewer,
|
|
1367
1420
|
chainIterator,
|
|
1368
1421
|
chainStaker,
|
|
1369
1422
|
chainStakeViewer,
|
|
1370
1423
|
chainSubmissionsArchivistWrite,
|
|
1371
|
-
electionService,
|
|
1424
|
+
election: electionService,
|
|
1372
1425
|
pendingBundledTransactionsArchivistWrite,
|
|
1373
|
-
pendingTransactionsService,
|
|
1426
|
+
pendingTransactions: pendingTransactionsService,
|
|
1374
1427
|
producer,
|
|
1375
|
-
rewardService,
|
|
1376
|
-
stakeIntentService
|
|
1428
|
+
reward: rewardService,
|
|
1429
|
+
stakeIntent: stakeIntentService
|
|
1377
1430
|
};
|
|
1378
1431
|
logger?.log("All services created. Starting...");
|
|
1379
1432
|
const startableServices = [
|
|
@@ -1431,16 +1484,16 @@ var XL1LogoColorizedAscii = `\x1B[38;2;128;128;128m\xA0\xA0\xA0\xA0\xA0\xA0\xA0\
|
|
|
1431
1484
|
// src/initLogger.ts
|
|
1432
1485
|
import { Base as Base2 } from "@xylabs/base";
|
|
1433
1486
|
import { ConsoleLogger, LogLevel, SilentLogger } from "@xylabs/logger";
|
|
1434
|
-
import { isDefined as
|
|
1487
|
+
import { isDefined as isDefined11 } from "@xylabs/typeof";
|
|
1435
1488
|
var initLogger = /* @__PURE__ */ __name((config3) => {
|
|
1436
1489
|
let logger;
|
|
1437
1490
|
if (config3.silent) {
|
|
1438
1491
|
logger = new SilentLogger();
|
|
1439
1492
|
} else {
|
|
1440
1493
|
let level;
|
|
1441
|
-
if (
|
|
1494
|
+
if (isDefined11(config3.logLevel)) {
|
|
1442
1495
|
const parsed = LogLevel[config3.logLevel.toLowerCase()];
|
|
1443
|
-
if (
|
|
1496
|
+
if (isDefined11(parsed)) level = parsed;
|
|
1444
1497
|
}
|
|
1445
1498
|
logger = new ConsoleLogger(level);
|
|
1446
1499
|
}
|
|
@@ -1466,7 +1519,7 @@ var optionsFromGlobalZodRegistry = /* @__PURE__ */ __name(() => {
|
|
|
1466
1519
|
}, "optionsFromGlobalZodRegistry");
|
|
1467
1520
|
|
|
1468
1521
|
// src/tryParseConfig.ts
|
|
1469
|
-
import { isDefined as
|
|
1522
|
+
import { isDefined as isDefined12, isNull } from "@xylabs/typeof";
|
|
1470
1523
|
import { cosmiconfigSync } from "cosmiconfig";
|
|
1471
1524
|
var configName = "xyo";
|
|
1472
1525
|
var configSection = "xl1";
|
|
@@ -1475,7 +1528,7 @@ var tryParseConfig = /* @__PURE__ */ __name(() => {
|
|
|
1475
1528
|
const result = explorer.search();
|
|
1476
1529
|
if (!isNull(result)) {
|
|
1477
1530
|
const section = result?.config?.[configSection];
|
|
1478
|
-
if (
|
|
1531
|
+
if (isDefined12(section) && typeof section === "object") {
|
|
1479
1532
|
return section;
|
|
1480
1533
|
}
|
|
1481
1534
|
}
|
|
@@ -1505,7 +1558,7 @@ var waitForHostPort = /* @__PURE__ */ __name((host, port) => {
|
|
|
1505
1558
|
|
|
1506
1559
|
// src/runCLI.ts
|
|
1507
1560
|
var config;
|
|
1508
|
-
var version =
|
|
1561
|
+
var version = isDefined13("1.14.1") ? "1.14.1" : "unknown";
|
|
1509
1562
|
var getContextFromConfig = /* @__PURE__ */ __name((config3) => {
|
|
1510
1563
|
const logger = initLogger(config3);
|
|
1511
1564
|
const orchestrator = new Orchestrator(logger);
|