@xyo-network/chain-services 1.18.0-rc.1 → 1.18.0

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.
Files changed (68) hide show
  1. package/dist/neutral/implementation/head/index.d.ts +0 -1
  2. package/dist/neutral/implementation/head/index.d.ts.map +1 -1
  3. package/dist/neutral/implementation/index.d.ts +0 -6
  4. package/dist/neutral/implementation/index.d.ts.map +1 -1
  5. package/dist/neutral/index.mjs +133 -293
  6. package/dist/neutral/index.mjs.map +1 -1
  7. package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts +3 -1
  8. package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
  9. package/package.json +10 -12
  10. package/src/AccountBalance/accountBalanceServiceFromArchivist.ts +1 -1
  11. package/src/ChainValidator/XyoValidator.ts +1 -1
  12. package/src/implementation/head/index.ts +0 -1
  13. package/src/implementation/index.ts +0 -6
  14. package/src/simple/block/runner/SimpleBlockRunner.ts +26 -14
  15. package/dist/neutral/implementation/accountBalance.d.ts +0 -7
  16. package/dist/neutral/implementation/accountBalance.d.ts.map +0 -1
  17. package/dist/neutral/implementation/blockViewer.d.ts +0 -4
  18. package/dist/neutral/implementation/blockViewer.d.ts.map +0 -1
  19. package/dist/neutral/implementation/head/createForkedHead/config/getBridgeDestinationDetails.d.ts +0 -8
  20. package/dist/neutral/implementation/head/createForkedHead/config/getBridgeDestinationDetails.d.ts.map +0 -1
  21. package/dist/neutral/implementation/head/createForkedHead/config/getBridgeSourceDetails.d.ts +0 -9
  22. package/dist/neutral/implementation/head/createForkedHead/config/getBridgeSourceDetails.d.ts.map +0 -1
  23. package/dist/neutral/implementation/head/createForkedHead/config/getForkDetails.d.ts +0 -4
  24. package/dist/neutral/implementation/head/createForkedHead/config/getForkDetails.d.ts.map +0 -1
  25. package/dist/neutral/implementation/head/createForkedHead/config/index.d.ts +0 -4
  26. package/dist/neutral/implementation/head/createForkedHead/config/index.d.ts.map +0 -1
  27. package/dist/neutral/implementation/head/createForkedHead/createForkedHead.d.ts +0 -5
  28. package/dist/neutral/implementation/head/createForkedHead/createForkedHead.d.ts.map +0 -1
  29. package/dist/neutral/implementation/head/createForkedHead/getBridgeDestinationObservation.d.ts +0 -11
  30. package/dist/neutral/implementation/head/createForkedHead/getBridgeDestinationObservation.d.ts.map +0 -1
  31. package/dist/neutral/implementation/head/createForkedHead/getBridgeIntent.d.ts +0 -11
  32. package/dist/neutral/implementation/head/createForkedHead/getBridgeIntent.d.ts.map +0 -1
  33. package/dist/neutral/implementation/head/createForkedHead/getBridgeSourceObservation.d.ts +0 -11
  34. package/dist/neutral/implementation/head/createForkedHead/getBridgeSourceObservation.d.ts.map +0 -1
  35. package/dist/neutral/implementation/head/createForkedHead/getFirstBlockForNewChain.d.ts +0 -13
  36. package/dist/neutral/implementation/head/createForkedHead/getFirstBlockForNewChain.d.ts.map +0 -1
  37. package/dist/neutral/implementation/head/createForkedHead/index.d.ts +0 -2
  38. package/dist/neutral/implementation/head/createForkedHead/index.d.ts.map +0 -1
  39. package/dist/neutral/implementation/head/getForkFromBlock.d.ts +0 -13
  40. package/dist/neutral/implementation/head/getForkFromBlock.d.ts.map +0 -1
  41. package/dist/neutral/implementation/head/submitNewChain.d.ts +0 -10
  42. package/dist/neutral/implementation/head/submitNewChain.d.ts.map +0 -1
  43. package/dist/neutral/implementation/mempoolRunner.d.ts +0 -7
  44. package/dist/neutral/implementation/mempoolRunner.d.ts.map +0 -1
  45. package/dist/neutral/implementation/mempoolViewer.d.ts +0 -7
  46. package/dist/neutral/implementation/mempoolViewer.d.ts.map +0 -1
  47. package/dist/neutral/implementation/pendingTransactions.d.ts +0 -9
  48. package/dist/neutral/implementation/pendingTransactions.d.ts.map +0 -1
  49. package/dist/neutral/implementation/reward.d.ts +0 -14
  50. package/dist/neutral/implementation/reward.d.ts.map +0 -1
  51. package/src/implementation/accountBalance.ts +0 -29
  52. package/src/implementation/blockViewer.ts +0 -24
  53. package/src/implementation/head/createForkedHead/config/getBridgeDestinationDetails.ts +0 -27
  54. package/src/implementation/head/createForkedHead/config/getBridgeSourceDetails.ts +0 -19
  55. package/src/implementation/head/createForkedHead/config/getForkDetails.ts +0 -10
  56. package/src/implementation/head/createForkedHead/config/index.ts +0 -3
  57. package/src/implementation/head/createForkedHead/createForkedHead.ts +0 -29
  58. package/src/implementation/head/createForkedHead/getBridgeDestinationObservation.ts +0 -42
  59. package/src/implementation/head/createForkedHead/getBridgeIntent.ts +0 -51
  60. package/src/implementation/head/createForkedHead/getBridgeSourceObservation.ts +0 -46
  61. package/src/implementation/head/createForkedHead/getFirstBlockForNewChain.ts +0 -41
  62. package/src/implementation/head/createForkedHead/index.ts +0 -1
  63. package/src/implementation/head/getForkFromBlock.ts +0 -45
  64. package/src/implementation/head/submitNewChain.ts +0 -27
  65. package/src/implementation/mempoolRunner.ts +0 -29
  66. package/src/implementation/mempoolViewer.ts +0 -29
  67. package/src/implementation/pendingTransactions.ts +0 -36
  68. package/src/implementation/reward.ts +0 -53
@@ -476,67 +476,24 @@ BaseElectionService = _ts_decorate4([
476
476
  creatable4()
477
477
  ], BaseElectionService);
478
478
 
479
- // src/implementation/accountBalance.ts
480
- import { isDefined as isDefined2 } from "@xylabs/sdk-js";
481
- import { AccountBalanceViewerRpcSchemas, HttpRpcTransport, JsonRpcAccountBalanceViewer } from "@xyo-network/xl1-rpc";
482
- var balanceServiceSingleton;
483
- var initAccountBalanceService = /* @__PURE__ */ __name(async (params) => {
484
- const { config, logger } = params;
485
- if (balanceServiceSingleton) return balanceServiceSingleton;
486
- const endpoint = config.services?.accountBalanceViewerEndpoint ?? config.services?.apiEndpoint;
487
- if (isDefined2(endpoint)) {
488
- const transport = new HttpRpcTransport(endpoint, {
489
- ...AccountBalanceViewerRpcSchemas
490
- });
491
- const viewer = await JsonRpcAccountBalanceViewer.create({
492
- transport
493
- });
494
- logger?.log("Using AccountBalanceViewer RPC service at", endpoint);
495
- return viewer;
496
- } else {
497
- throw new Error("No AccountBalanceViewer endpoint configured");
498
- }
499
- }, "initAccountBalanceService");
500
-
501
- // src/implementation/blockViewer.ts
502
- import { isDefined as isDefined3 } from "@xylabs/sdk-js";
503
- import { BlockViewerRpcSchemas, HttpRpcTransport as HttpRpcTransport2, JsonRpcBlockViewer } from "@xyo-network/xl1-rpc";
504
- var blockViewerSingleton;
505
- var initBlockViewer = /* @__PURE__ */ __name(async ({ config, logger }) => {
506
- if (blockViewerSingleton) return blockViewerSingleton;
507
- const endpoint = config.services?.apiEndpoint;
508
- if (isDefined3(endpoint)) {
509
- const transport = new HttpRpcTransport2(endpoint, {
510
- ...BlockViewerRpcSchemas
511
- });
512
- const viewer = await JsonRpcBlockViewer.create({
513
- transport
514
- });
515
- logger?.log("Using BlockViewer RPC service at", endpoint);
516
- return viewer;
517
- } else {
518
- throw new Error("No BlockViewer endpoint configured");
519
- }
520
- }, "initBlockViewer");
521
-
522
479
  // src/implementation/chain/index.ts
523
480
  import { assertEx as assertEx9 } from "@xylabs/sdk-js";
524
481
 
525
482
  // src/implementation/chain/evm.ts
526
- import { asAddress, assertEx as assertEx8, isDefined as isDefined7, ZERO_ADDRESS as ZERO_ADDRESS2 } from "@xylabs/sdk-js";
483
+ import { asAddress, assertEx as assertEx8, isDefined as isDefined5, ZERO_ADDRESS as ZERO_ADDRESS2 } from "@xylabs/sdk-js";
527
484
  import { Wallet } from "ethers/wallet";
528
485
 
529
486
  // src/implementation/evm/initEvmProvider.ts
530
487
  import { assertEx as assertEx7 } from "@xylabs/sdk-js";
531
488
 
532
489
  // src/implementation/evm/initInfuraProvider.ts
533
- import { assertEx as assertEx5, isDefined as isDefined5 } from "@xylabs/sdk-js";
490
+ import { assertEx as assertEx5, isDefined as isDefined3 } from "@xylabs/sdk-js";
534
491
  import { InfuraProvider } from "ethers/providers";
535
492
 
536
493
  // src/implementation/evm/initChainId.ts
537
- import { assertEx as assertEx4, hexFrom, isDefined as isDefined4, isHex } from "@xylabs/sdk-js";
494
+ import { assertEx as assertEx4, hexFrom, isDefined as isDefined2, isHex } from "@xylabs/sdk-js";
538
495
  var canUseChainId = /* @__PURE__ */ __name((config) => {
539
- return isDefined4(config.evm.chainId);
496
+ return isDefined2(config.evm.chainId);
540
497
  }, "canUseChainId");
541
498
  var getChainId = /* @__PURE__ */ __name((config) => {
542
499
  const chainId = assertEx4(config.evm.chainId, () => "Missing config.evm.chainId");
@@ -561,7 +518,7 @@ var initInfuraProvider = /* @__PURE__ */ __name((config) => {
561
518
  return instance;
562
519
  }, "initInfuraProvider");
563
520
  var canUseInfuraProvider = /* @__PURE__ */ __name((config) => {
564
- return canUseChainId(config) && isDefined5(config.evm?.infura?.projectId) && isDefined5(config.evm?.infura?.projectSecret);
521
+ return canUseChainId(config) && isDefined3(config.evm?.infura?.projectId) && isDefined3(config.evm?.infura?.projectSecret);
565
522
  }, "canUseInfuraProvider");
566
523
  var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
567
524
  const projectId = assertEx5(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
@@ -574,14 +531,14 @@ var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
574
531
  }, "getInfuraProviderConfig");
575
532
 
576
533
  // src/implementation/evm/initJsonRpcProvider.ts
577
- import { assertEx as assertEx6, isDefined as isDefined6 } from "@xylabs/sdk-js";
534
+ import { assertEx as assertEx6, isDefined as isDefined4 } from "@xylabs/sdk-js";
578
535
  import { JsonRpcProvider } from "ethers/providers";
579
536
  var initJsonRpcProvider = /* @__PURE__ */ __name((config) => {
580
537
  const providerConfig = getJsonRpcProviderConfig(config);
581
538
  return Promise.resolve(new JsonRpcProvider(...providerConfig));
582
539
  }, "initJsonRpcProvider");
583
540
  var canUseJsonRpcProvider = /* @__PURE__ */ __name((config) => {
584
- return canUseChainId(config) && isDefined6(config.evm.jsonRpc?.url);
541
+ return canUseChainId(config) && isDefined4(config.evm.jsonRpc?.url);
585
542
  }, "canUseJsonRpcProvider");
586
543
  var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config) => {
587
544
  const jsonRpcUrl = assertEx6(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
@@ -610,7 +567,7 @@ var canUseEvmProvider = /* @__PURE__ */ __name(({ config }) => {
610
567
  var chainStakeServiceSingleton;
611
568
  var canUseEvmContractChainService = /* @__PURE__ */ __name((config) => {
612
569
  const { id } = config.chain;
613
- return isDefined7(id) && id !== ZERO_ADDRESS2 && canUseEvmProvider({
570
+ return isDefined5(id) && id !== ZERO_ADDRESS2 && canUseEvmProvider({
614
571
  config
615
572
  });
616
573
  }, "canUseEvmContractChainService");
@@ -683,75 +640,87 @@ var createBootstrapHead = /* @__PURE__ */ __name(async (account, chainId, genesi
683
640
  return chain;
684
641
  }, "createBootstrapHead");
685
642
 
686
- // src/implementation/head/submitNewChain.ts
687
- import { delay } from "@xylabs/sdk-js";
688
- import { flattenHydratedBlock } from "@xyo-network/xl1-protocol-sdk";
689
- var submitNewChain = /* @__PURE__ */ __name(async (chain, chainArchivist, chainSubmissionsArchivistWrite) => {
690
- for (const block of chain) {
691
- const [bw] = block;
692
- await chainSubmissionsArchivistWrite.insert(flattenHydratedBlock(block));
693
- while (true) {
694
- const result = await chainArchivist.get([
695
- bw._hash
696
- ]);
697
- if (result.length > 0) break;
698
- await delay(1e3);
699
- }
643
+ // src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts
644
+ import { creatable as creatable5 } from "@xylabs/sdk-js";
645
+ import { NetworkStakeStepRewardViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
646
+ function _ts_decorate5(decorators, target, key, desc) {
647
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
648
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
649
+ 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;
650
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
651
+ }
652
+ __name(_ts_decorate5, "_ts_decorate");
653
+ var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService extends BaseService {
654
+ static {
655
+ __name(this, "BaseNetworkStakeStepRewardService");
700
656
  }
701
- }, "submitNewChain");
702
-
703
- // src/implementation/mempoolRunner.ts
704
- import { isDefined as isDefined8 } from "@xylabs/sdk-js";
705
- import { HttpRpcTransport as HttpRpcTransport3, JsonRpcMempoolRunner, MempoolRunnerRpcSchemas } from "@xyo-network/xl1-rpc";
706
- var mempoolRunnerSingleton;
707
- var initMempoolRunner = /* @__PURE__ */ __name(async (params) => {
708
- const { config, logger } = params;
709
- if (mempoolRunnerSingleton) return mempoolRunnerSingleton;
710
- const endpoint = config.services?.apiEndpoint;
711
- if (isDefined8(endpoint)) {
712
- const transport = new HttpRpcTransport3(endpoint, {
713
- ...MempoolRunnerRpcSchemas
714
- });
715
- const runner = await JsonRpcMempoolRunner.create({
716
- transport
717
- });
718
- logger?.log("Using mempoolRunner RPC service at", endpoint);
719
- return runner;
720
- } else {
721
- throw new Error("No MempoolRunner endpoint configured");
657
+ static defaultMoniker = NetworkStakeStepRewardViewerMoniker;
658
+ static monikers = [
659
+ NetworkStakeStepRewardViewerMoniker
660
+ ];
661
+ moniker = _BaseNetworkStakeStepRewardService.defaultMoniker;
662
+ networkStakeStepRewardAddressHistory(_address) {
663
+ throw new Error("Method [networkStakeStepRewardAddressHistory] not implemented.");
722
664
  }
723
- }, "initMempoolRunner");
724
-
725
- // src/implementation/mempoolViewer.ts
726
- import { isDefined as isDefined9 } from "@xylabs/sdk-js";
727
- import { HttpRpcTransport as HttpRpcTransport4, JsonRpcMempoolViewer, MempoolViewerRpcSchemas } from "@xyo-network/xl1-rpc";
728
- var mempoolViewerSingleton;
729
- var initMempoolViewer = /* @__PURE__ */ __name(async (params) => {
730
- const { config, logger } = params;
731
- if (mempoolViewerSingleton) return mempoolViewerSingleton;
732
- const endpoint = config.services?.apiEndpoint;
733
- if (isDefined9(endpoint)) {
734
- const transport = new HttpRpcTransport4(endpoint, {
735
- ...MempoolViewerRpcSchemas
736
- });
737
- const viewer = await JsonRpcMempoolViewer.create({
738
- transport
739
- });
740
- logger?.log("Using MempoolViewer RPC service at", endpoint);
741
- return viewer;
742
- } else {
743
- throw new Error("No MempoolViewer endpoint configured");
665
+ networkStakeStepRewardAddressReward(_context, _address) {
666
+ throw new Error("Method [networkStakeStepRewardAddressReward] not implemented.");
744
667
  }
745
- }, "initMempoolViewer");
746
-
747
- // src/implementation/pendingTransactions.ts
748
- import { isDefined as isDefined11 } from "@xylabs/sdk-js";
749
- import { timeBudget } from "@xyo-network/xl1-protocol-sdk";
750
- import { HttpRpcTransport as HttpRpcTransport5, JsonRpcMempoolViewer as JsonRpcMempoolViewer2, MempoolViewerRpcSchemas as MempoolViewerRpcSchemas2 } from "@xyo-network/xl1-rpc";
668
+ networkStakeStepRewardAddressShare(_context, _address) {
669
+ throw new Error("Method [networkStakeStepRewardAddressShare] not implemented.");
670
+ }
671
+ networkStakeStepRewardClaimedByAddress(_address) {
672
+ throw new Error("Method [networkStakeStepRewardClaimedByAddress] not implemented.");
673
+ }
674
+ networkStakeStepRewardForPosition(_position, _range) {
675
+ throw new Error("Method [networkStakeStepRewardForPosition] not implemented.");
676
+ }
677
+ networkStakeStepRewardForStep(_context) {
678
+ throw new Error("Method [networkStakeStepRewardForStep] not implemented.");
679
+ }
680
+ networkStakeStepRewardForStepForPosition(_context, _position) {
681
+ throw new Error("Method [networkStakeStepRewardForStepForPosition] not implemented.");
682
+ }
683
+ networkStakeStepRewardPoolRewards(_context) {
684
+ throw new Error("Method [networkStakeStepRewardPoolRewards] not implemented.");
685
+ }
686
+ networkStakeStepRewardPoolShares(_context) {
687
+ throw new Error("Method [networkStakeStepRewardPoolShares] not implemented.");
688
+ }
689
+ networkStakeStepRewardPositionWeight(_context, _position) {
690
+ throw new Error("Method [networkStakeStepRewardPositionWeight] not implemented.");
691
+ }
692
+ networkStakeStepRewardPotentialPositionLoss(_context, _position) {
693
+ throw new Error("Method [networkStakeStepRewardPotentialPositionLoss] not implemented.");
694
+ }
695
+ networkStakeStepRewardRandomizer(_context) {
696
+ throw new Error("Method [networkStakeStepRewardRandomizer] not implemented.");
697
+ }
698
+ networkStakeStepRewardStakerCount(_context) {
699
+ throw new Error("Method [networkStakeStepRewardStakerCount] not implemented.");
700
+ }
701
+ networkStakeStepRewardUnclaimedByAddress(_address) {
702
+ throw new Error("Method [networkStakeStepRewardUnclaimedByAddress] not implemented.");
703
+ }
704
+ networkStakeStepRewardWeightForAddress(_context, _address) {
705
+ throw new Error("Method [networkStakeStepRewardWeightForAddress] not implemented.");
706
+ }
707
+ networkStakeStepRewardsForPosition(_position, _range) {
708
+ throw new Error("Method [networkStakeStepRewardsForPosition] not implemented.");
709
+ }
710
+ networkStakeStepRewardsForRange(_range) {
711
+ throw new Error("Method [networkStakeStepRewardsForRange] not implemented.");
712
+ }
713
+ networkStakeStepRewardsForStepLevel(_stepLevel, _range) {
714
+ throw new Error("Method [networkStakeStepRewardsForStepLevel] not implemented.");
715
+ }
716
+ };
717
+ BaseNetworkStakeStepRewardService = _ts_decorate5([
718
+ creatable5()
719
+ ], BaseNetworkStakeStepRewardService);
751
720
 
752
721
  // src/PendingTransactions/BasePendingTransactions.ts
753
722
  import { ValueType } from "@opentelemetry/api";
754
- import { assertEx as assertEx10, creatable as creatable5, exists, filterAs, filterAsync, forget, isDefined as isDefined10, isUndefined } from "@xylabs/sdk-js";
723
+ import { assertEx as assertEx10, creatable as creatable6, exists, filterAs, filterAsync, forget, isDefined as isDefined6, isUndefined } from "@xylabs/sdk-js";
755
724
  import { MemoryArchivist } from "@xyo-network/archivist-memory";
756
725
  import { asBlockBoundWitnessWithHashMeta, asXL1BlockNumber, isTransactionBoundWitnessWithStorageMeta } from "@xyo-network/xl1-protocol";
757
726
  import { findMostRecentBlock as findMostRecentBlock2, MempoolViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
@@ -791,13 +760,13 @@ var bundle = /* @__PURE__ */ __name((root, transaction) => {
791
760
  }, "bundle");
792
761
 
793
762
  // src/PendingTransactions/BasePendingTransactions.ts
794
- function _ts_decorate5(decorators, target, key, desc) {
763
+ function _ts_decorate6(decorators, target, key, desc) {
795
764
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
796
765
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
797
766
  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;
798
767
  return c > 3 && r && Object.defineProperty(target, key, r), r;
799
768
  }
800
- __name(_ts_decorate5, "_ts_decorate");
769
+ __name(_ts_decorate6, "_ts_decorate");
801
770
  var BasePendingTransactionsService = class _BasePendingTransactionsService extends BaseService {
802
771
  static {
803
772
  __name(this, "BasePendingTransactionsService");
@@ -943,7 +912,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
943
912
  async cleanupWorker() {
944
913
  return await this._updateCuratedPendingTransactionsArchivistMutex.runExclusive(async () => {
945
914
  const lastHead = await findMostRecentBlock2(this.chainArchivist);
946
- if (isDefined10(lastHead)) await this.pruneCuratedPendingTransactionsArchivist(lastHead._hash);
915
+ if (isDefined6(lastHead)) await this.pruneCuratedPendingTransactionsArchivist(lastHead._hash);
947
916
  }, _BasePendingTransactionsService.MutexPriority.PurgeTransactions);
948
917
  }
949
918
  async countPendingTransactions() {
@@ -1005,7 +974,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
1005
974
  let [lastHead] = filterAs(await this.chainArchivist.get([
1006
975
  head
1007
976
  ]), (x) => asBlockBoundWitnessWithHashMeta(x));
1008
- while (isDefined10(lastHead)) {
977
+ while (isDefined6(lastHead)) {
1009
978
  const pendingBundledTransactions = await this.pendingBundledTransactionsLocalArchivist.next({
1010
979
  limit: 100,
1011
980
  order: "asc",
@@ -1039,149 +1008,12 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
1039
1008
  });
1040
1009
  }
1041
1010
  };
1042
- BasePendingTransactionsService = _ts_decorate5([
1043
- creatable5()
1011
+ BasePendingTransactionsService = _ts_decorate6([
1012
+ creatable6()
1044
1013
  ], BasePendingTransactionsService);
1045
1014
  var isTransactionExpired = /* @__PURE__ */ __name((block) => ([txBw]) => txBw.exp < block, "isTransactionExpired");
1046
1015
  var isTransactionActive = /* @__PURE__ */ __name((block) => ([txBw]) => txBw.nbf <= block && txBw.exp >= block, "isTransactionActive");
1047
1016
 
1048
- // src/implementation/pendingTransactions.ts
1049
- var serviceSingleton;
1050
- var initPendingTransactions = /* @__PURE__ */ __name(async ({ config, params, logger }) => {
1051
- if (serviceSingleton) return serviceSingleton;
1052
- return await timeBudget("initPendingTransactions", logger, async () => {
1053
- const endpoint = config.services?.apiEndpoint;
1054
- if (isDefined11(endpoint)) {
1055
- const transport = new HttpRpcTransport5(endpoint, {
1056
- ...MempoolViewerRpcSchemas2
1057
- });
1058
- const viewer = await JsonRpcMempoolViewer2.create({
1059
- transport
1060
- });
1061
- logger?.log("Using MempoolViewer RPC service at", endpoint);
1062
- return viewer;
1063
- } else {
1064
- serviceSingleton = await BasePendingTransactionsService.create(params);
1065
- }
1066
- return serviceSingleton;
1067
- }, 2e3, true);
1068
- }, "initPendingTransactions");
1069
-
1070
- // src/implementation/reward.ts
1071
- import { assertEx as assertEx11 } from "@xylabs/sdk-js";
1072
- import { SimpleBlockRewardViewer, timeBudget as timeBudget2 } from "@xyo-network/xl1-protocol-sdk";
1073
- var rewardServiceSingleton;
1074
- var initBlockRewardViewer = /* @__PURE__ */ __name((params) => {
1075
- if (rewardServiceSingleton) return rewardServiceSingleton;
1076
- return timeBudget2("initBlockRewardViewer", params.logger, () => {
1077
- const { config } = params;
1078
- rewardServiceSingleton = canUseEvmBlockRewardViewer({
1079
- config
1080
- }) ? initEvmBlockRewardViewer(params) : initXyoBlockRewardViewer(params);
1081
- return rewardServiceSingleton;
1082
- }, 2e3, true);
1083
- }, "initBlockRewardViewer");
1084
- var initXyoBlockRewardViewer = /* @__PURE__ */ __name((params) => {
1085
- if (rewardServiceSingleton) return rewardServiceSingleton;
1086
- return timeBudget2("initXyoBlockRewardViewer", params.logger, () => {
1087
- rewardServiceSingleton = SimpleBlockRewardViewer.create(params);
1088
- return rewardServiceSingleton;
1089
- }, 2e3, true);
1090
- }, "initXyoBlockRewardViewer");
1091
- var canUseEvmBlockRewardViewer = /* @__PURE__ */ __name((params) => canUseEvmProvider({
1092
- config: params.config
1093
- }), "canUseEvmBlockRewardViewer");
1094
- var initEvmBlockRewardViewer = /* @__PURE__ */ __name(async (params) => {
1095
- if (rewardServiceSingleton) return rewardServiceSingleton;
1096
- return await timeBudget2("initEvmBlockRewardViewer", params.logger, async () => {
1097
- const provider2 = assertEx11(await initEvmProvider(params));
1098
- const evmBlockRewardViewerParams = {
1099
- ...params,
1100
- provider: provider2
1101
- };
1102
- rewardServiceSingleton = EvmBlockRewardViewer.create(evmBlockRewardViewerParams);
1103
- return rewardServiceSingleton;
1104
- }, 2e3, true);
1105
- }, "initEvmBlockRewardViewer");
1106
-
1107
- // src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts
1108
- import { creatable as creatable6 } from "@xylabs/sdk-js";
1109
- import { NetworkStakeStepRewardViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
1110
- function _ts_decorate6(decorators, target, key, desc) {
1111
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1112
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1113
- 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;
1114
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1115
- }
1116
- __name(_ts_decorate6, "_ts_decorate");
1117
- var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService extends BaseService {
1118
- static {
1119
- __name(this, "BaseNetworkStakeStepRewardService");
1120
- }
1121
- static defaultMoniker = NetworkStakeStepRewardViewerMoniker;
1122
- static monikers = [
1123
- NetworkStakeStepRewardViewerMoniker
1124
- ];
1125
- moniker = _BaseNetworkStakeStepRewardService.defaultMoniker;
1126
- networkStakeStepRewardAddressHistory(_address) {
1127
- throw new Error("Method [networkStakeStepRewardAddressHistory] not implemented.");
1128
- }
1129
- networkStakeStepRewardAddressReward(_context, _address) {
1130
- throw new Error("Method [networkStakeStepRewardAddressReward] not implemented.");
1131
- }
1132
- networkStakeStepRewardAddressShare(_context, _address) {
1133
- throw new Error("Method [networkStakeStepRewardAddressShare] not implemented.");
1134
- }
1135
- networkStakeStepRewardClaimedByAddress(_address) {
1136
- throw new Error("Method [networkStakeStepRewardClaimedByAddress] not implemented.");
1137
- }
1138
- networkStakeStepRewardForPosition(_position, _range) {
1139
- throw new Error("Method [networkStakeStepRewardForPosition] not implemented.");
1140
- }
1141
- networkStakeStepRewardForStep(_context) {
1142
- throw new Error("Method [networkStakeStepRewardForStep] not implemented.");
1143
- }
1144
- networkStakeStepRewardForStepForPosition(_context, _position) {
1145
- throw new Error("Method [networkStakeStepRewardForStepForPosition] not implemented.");
1146
- }
1147
- networkStakeStepRewardPoolRewards(_context) {
1148
- throw new Error("Method [networkStakeStepRewardPoolRewards] not implemented.");
1149
- }
1150
- networkStakeStepRewardPoolShares(_context) {
1151
- throw new Error("Method [networkStakeStepRewardPoolShares] not implemented.");
1152
- }
1153
- networkStakeStepRewardPositionWeight(_context, _position) {
1154
- throw new Error("Method [networkStakeStepRewardPositionWeight] not implemented.");
1155
- }
1156
- networkStakeStepRewardPotentialPositionLoss(_context, _position) {
1157
- throw new Error("Method [networkStakeStepRewardPotentialPositionLoss] not implemented.");
1158
- }
1159
- networkStakeStepRewardRandomizer(_context) {
1160
- throw new Error("Method [networkStakeStepRewardRandomizer] not implemented.");
1161
- }
1162
- networkStakeStepRewardStakerCount(_context) {
1163
- throw new Error("Method [networkStakeStepRewardStakerCount] not implemented.");
1164
- }
1165
- networkStakeStepRewardUnclaimedByAddress(_address) {
1166
- throw new Error("Method [networkStakeStepRewardUnclaimedByAddress] not implemented.");
1167
- }
1168
- networkStakeStepRewardWeightForAddress(_context, _address) {
1169
- throw new Error("Method [networkStakeStepRewardWeightForAddress] not implemented.");
1170
- }
1171
- networkStakeStepRewardsForPosition(_position, _range) {
1172
- throw new Error("Method [networkStakeStepRewardsForPosition] not implemented.");
1173
- }
1174
- networkStakeStepRewardsForRange(_range) {
1175
- throw new Error("Method [networkStakeStepRewardsForRange] not implemented.");
1176
- }
1177
- networkStakeStepRewardsForStepLevel(_stepLevel, _range) {
1178
- throw new Error("Method [networkStakeStepRewardsForStepLevel] not implemented.");
1179
- }
1180
- };
1181
- BaseNetworkStakeStepRewardService = _ts_decorate6([
1182
- creatable6()
1183
- ], BaseNetworkStakeStepRewardService);
1184
-
1185
1017
  // src/Schemas/BaseSchemasService.ts
1186
1018
  import { creatable as creatable7, spanRootAsync } from "@xylabs/sdk-js";
1187
1019
  import { schemasSummary } from "@xyo-network/xl1-protocol-sdk";
@@ -1218,17 +1050,17 @@ BaseSchemasService = _ts_decorate7([
1218
1050
  ], BaseSchemasService);
1219
1051
 
1220
1052
  // src/simple/block/runner/SimpleBlockRunner.ts
1221
- import { assertEx as assertEx13, exists as exists2, hexToBigInt, isDefined as isDefined12 } from "@xylabs/sdk-js";
1053
+ import { assertEx as assertEx12, exists as exists2, hexToBigInt, isDefined as isDefined7 } from "@xylabs/sdk-js";
1222
1054
  import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/archivist-memory";
1223
1055
  import { FixedPercentageBlockRewardDiviner, FixedPercentageBlockRewardDivinerConfigSchema } from "@xyo-network/chain-modules";
1224
1056
  import { buildNextBlock as buildNextBlock2 } from "@xyo-network/chain-protocol";
1225
1057
  import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
1226
1058
  import { asBlockBoundWitness, AttoXL1, BlockNumberSchema, defaultRewardRatio, XYO_STEP_REWARD_ADDRESS } from "@xyo-network/xl1-protocol";
1227
- import { AbstractCreatableProvider as AbstractCreatableProvider2, AccountBalanceViewerMoniker, BlockRewardViewerMoniker as BlockRewardViewerMoniker2, BlockRunnerMoniker, creatableProvider, createDeclarationIntent as createDeclarationIntent2, MempoolRunnerMoniker, MempoolViewerMoniker as MempoolViewerMoniker2, TimeSyncViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
1059
+ import { AbstractCreatableProvider as AbstractCreatableProvider2, AccountBalanceViewerMoniker, BlockRewardViewerMoniker as BlockRewardViewerMoniker2, BlockRunnerMoniker, BlockValidationViewerMoniker, creatableProvider, createDeclarationIntent as createDeclarationIntent2, MempoolRunnerMoniker, MempoolViewerMoniker as MempoolViewerMoniker2, TimeSyncViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
1228
1060
 
1229
1061
  // src/simple/block/runner/generateTransactionFeeTransfers.ts
1230
1062
  import { hexFromBigInt } from "@xylabs/sdk-js";
1231
- import { assertEx as assertEx12 } from "@xylabs/sdk-js";
1063
+ import { assertEx as assertEx11 } from "@xylabs/sdk-js";
1232
1064
  import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
1233
1065
  import { TransferSchema, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-protocol";
1234
1066
  import { transactionRequiredGas } from "@xyo-network/xl1-protocol-sdk";
@@ -1263,7 +1095,7 @@ async function generateTransactionFeeTransfers(address, transactions) {
1263
1095
  return payload;
1264
1096
  });
1265
1097
  for (const [from, amount] of Object.entries(txGasCosts)) {
1266
- const fromPayload = assertEx12(payloads.find((p) => p.from === from), () => "from payload not found");
1098
+ const fromPayload = assertEx11(payloads.find((p) => p.from === from), () => "from payload not found");
1267
1099
  fromPayload.transfers[address] = hexFromBigInt(amount);
1268
1100
  }
1269
1101
  return payloads;
@@ -1297,6 +1129,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1297
1129
  _accountBalanceViewer;
1298
1130
  _address;
1299
1131
  _blockRewardViewer;
1132
+ _blockValidationViewer;
1300
1133
  _mempoolRunner;
1301
1134
  _mempoolViewer;
1302
1135
  _rewardAddress;
@@ -1333,6 +1166,9 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1333
1166
  get blockRewardViewer() {
1334
1167
  return this._blockRewardViewer;
1335
1168
  }
1169
+ get blockValidationViewer() {
1170
+ return this._blockValidationViewer;
1171
+ }
1336
1172
  // protected get electionService() {
1337
1173
  // return assertEx(this.params.electionService, () => 'electionService is required')
1338
1174
  // }
@@ -1349,7 +1185,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1349
1185
  return this._rejectedTransactionsArchivist;
1350
1186
  }
1351
1187
  get rewardAddress() {
1352
- return assertEx13(this.params.rewardAddress, () => "No reward address provided");
1188
+ return assertEx12(this.params.rewardAddress, () => "No reward address provided");
1353
1189
  }
1354
1190
  // protected get stakeIntentService(): StakeIntentService {
1355
1191
  // return assertEx(this.params.stakeIntentService, () => 'No StakeIntentService provided')
@@ -1362,11 +1198,12 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1362
1198
  // }
1363
1199
  async createHandler() {
1364
1200
  this._rejectedTransactionsArchivist = this.params.rejectedTransactionsArchivist ?? await MemoryArchivist2.create();
1365
- this._account = assertEx13(this.params.account, () => "Account is required");
1366
- this._rewardAddress = assertEx13(this.params.rewardAddress, () => "No reward address provided");
1201
+ this._account = assertEx12(this.params.account, () => "Account is required");
1202
+ this._rewardAddress = assertEx12(this.params.rewardAddress, () => "No reward address provided");
1367
1203
  this._address = this.account.address;
1368
1204
  this._accountBalanceViewer = await this.locateAndCreate(AccountBalanceViewerMoniker);
1369
1205
  this._blockRewardViewer = await this.locateAndCreate(BlockRewardViewerMoniker2);
1206
+ this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
1370
1207
  this._mempoolRunner = await this.locateAndCreate(MempoolRunnerMoniker);
1371
1208
  this._mempoolViewer = await this.locateAndCreate(MempoolViewerMoniker2);
1372
1209
  this._timeSyncViewer = await this.locateAndCreate(TimeSyncViewerMoniker);
@@ -1376,7 +1213,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1376
1213
  }
1377
1214
  async produceNextBlock(head, force) {
1378
1215
  const result = await this.proposeNextValidBlock(head);
1379
- return force ? assertEx13(result, () => "Failed to produce next block") : result;
1216
+ return force ? assertEx12(result, () => "Failed to produce next block") : result;
1380
1217
  }
1381
1218
  async getBlockRewardTransfers(block) {
1382
1219
  if (!this._blockRewardDiviner) {
@@ -1413,7 +1250,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1413
1250
  async proposeNextValidBlock(head, validateBalances = false, force = false) {
1414
1251
  return await this.spanAsync("proposeNextValidBlock", async () => {
1415
1252
  try {
1416
- const { block: previousBlock } = assertEx13(asBlockBoundWitness(head), () => "Invalid head block");
1253
+ const { block: previousBlock } = assertEx12(asBlockBoundWitness(head), () => "Invalid head block");
1417
1254
  const nextBlock = previousBlock + 1;
1418
1255
  const nextBlockTransactions = await this.mempoolViewer.pendingTransactions({
1419
1256
  limit: _SimpleBlockRunner.DefaultBlockSize
@@ -1443,11 +1280,23 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1443
1280
  this.account
1444
1281
  ], XYO_STEP_REWARD_ADDRESS, stepRewardPoolBalance);
1445
1282
  this.logger?.info(`Built block ${block[0].block} in ${Date.now() - startBuild}ms with ${block[1].length} payloads`);
1446
- await this.mempoolRunner.submitBlocks([
1447
- block
1448
- ]);
1449
- return block;
1450
- } catch {
1283
+ this.logger?.info(`Validating block ${block[0].block} with ${block[1].length} payloads`);
1284
+ const startValidate = Date.now();
1285
+ const errors = await this.blockValidationViewer.validateBlock(block);
1286
+ this.logger?.info(`Validated block ${block[0].block} in ${Date.now() - startValidate}ms with ${block[1].length} payloads`);
1287
+ if (errors.length > 0) {
1288
+ this.logger?.warn(`Validation of produced block failed: ${errors.at(0)?.message}`);
1289
+ const rejectedTransactions = block[1];
1290
+ await this.rejectedTransactionsArchivist.insert(rejectedTransactions);
1291
+ } else {
1292
+ await this.mempoolRunner.submitBlocks([
1293
+ block
1294
+ ]);
1295
+ return block;
1296
+ }
1297
+ } catch (error) {
1298
+ this.logger?.error(`Error proposing next valid block: ${error.message}`);
1299
+ throw error;
1451
1300
  }
1452
1301
  });
1453
1302
  }
@@ -1486,7 +1335,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1486
1335
  */
1487
1336
  heartbeatRequired(head) {
1488
1337
  const epoch = head.$epoch;
1489
- if (isDefined12(epoch)) {
1338
+ if (isDefined7(epoch)) {
1490
1339
  const { heartbeatInterval } = this.params.context.config.producer;
1491
1340
  if (Date.now() - epoch > heartbeatInterval) {
1492
1341
  return true;
@@ -1526,12 +1375,12 @@ var mapBoundWitnessToStakeIntentHashes = /* @__PURE__ */ __name((bw) => {
1526
1375
  }, "mapBoundWitnessToStakeIntentHashes");
1527
1376
 
1528
1377
  // src/StakeIntent/XyoStakeIntentService.ts
1529
- import { asAddress as asAddress2, assertEx as assertEx14, creatable as creatable8, filterAs as filterAs3, isUndefined as isUndefined2 } from "@xylabs/sdk-js";
1378
+ import { asAddress as asAddress2, assertEx as assertEx13, creatable as creatable8, filterAs as filterAs3, isUndefined as isUndefined2 } from "@xylabs/sdk-js";
1530
1379
  import { analyzeChain, ChainStakeIntentAnalyzer, isChainSummaryStakeIntent } from "@xyo-network/chain-analyze";
1531
1380
  import { DEFAULT_FIND_FIRST_MATCHING_NEXT_OPTIONS, findFirstMatching, IntervalMap } from "@xyo-network/chain-utils";
1532
1381
  import { PayloadBuilder as PayloadBuilder6 } from "@xyo-network/payload-builder";
1533
1382
  import { asBlockBoundWitness as asBlockBoundWitness2, asBlockBoundWitnessWithStorageMeta, asChainStakeIntent as asChainStakeIntent2 } from "@xyo-network/xl1-protocol";
1534
- import { asChainIndexingServiceStateWithStorageMeta, BlockViewerMoniker as BlockViewerMoniker3, ChainIndexingServiceStateSchema, ChainStakeViewerMoniker, isChainIndexingServiceState, readPayloadMapFromStore, timeBudget as timeBudget3 } from "@xyo-network/xl1-protocol-sdk";
1383
+ import { asChainIndexingServiceStateWithStorageMeta, BlockViewerMoniker as BlockViewerMoniker3, ChainIndexingServiceStateSchema, ChainStakeViewerMoniker, isChainIndexingServiceState, readPayloadMapFromStore, timeBudget } from "@xyo-network/xl1-protocol-sdk";
1535
1384
  import { Mutex as Mutex3 } from "async-mutex";
1536
1385
  import { LRUCache } from "lru-cache";
1537
1386
  function _ts_decorate9(decorators, target, key, desc) {
@@ -1568,19 +1417,19 @@ var XyoStakeIntentService = class extends BaseService {
1568
1417
  return this._blockViewer;
1569
1418
  }
1570
1419
  get chainArchivist() {
1571
- return assertEx14(this.params.chainArchivist, () => "chainArchivist not set");
1420
+ return assertEx13(this.params.chainArchivist, () => "chainArchivist not set");
1572
1421
  }
1573
1422
  get chainStakeViewer() {
1574
1423
  return this._chainStakeViewer;
1575
1424
  }
1576
1425
  get stakeIntentStateArchivist() {
1577
- return assertEx14(this.params.stakeIntentStateArchivist, () => "stakeIntentStateArchivist not set");
1426
+ return assertEx13(this.params.stakeIntentStateArchivist, () => "stakeIntentStateArchivist not set");
1578
1427
  }
1579
1428
  static async paramsHandler(params) {
1580
1429
  return {
1581
1430
  ...await super.paramsHandler(params),
1582
- chainArchivist: assertEx14(params?.chainArchivist, () => "chainArchivist is required"),
1583
- stakeIntentStateArchivist: assertEx14(params?.stakeIntentStateArchivist, () => "stakeIntentStateArchivist is required")
1431
+ chainArchivist: assertEx13(params?.chainArchivist, () => "chainArchivist is required"),
1432
+ stakeIntentStateArchivist: assertEx13(params?.stakeIntentStateArchivist, () => "stakeIntentStateArchivist is required")
1584
1433
  };
1585
1434
  }
1586
1435
  async createHandler() {
@@ -1592,13 +1441,13 @@ var XyoStakeIntentService = class extends BaseService {
1592
1441
  }
1593
1442
  async getDeclaredCandidateRanges(address, intent) {
1594
1443
  await Promise.resolve();
1595
- assertEx14(intent === "producer", () => `Support not yet added for intent ${intent}`);
1444
+ assertEx13(intent === "producer", () => `Support not yet added for intent ${intent}`);
1596
1445
  const results = this._producers.get(address);
1597
1446
  return results ?? [];
1598
1447
  }
1599
1448
  async getDeclaredCandidatesForBlock(block, intent) {
1600
1449
  return await this.spanAsync("getDeclaredCandidatesForBlock", async () => {
1601
- assertEx14(intent === "producer", () => `Support not yet added for intent ${intent}`);
1450
+ assertEx13(intent === "producer", () => `Support not yet added for intent ${intent}`);
1602
1451
  const results = this._producers.findAllContaining(block);
1603
1452
  const candidates = [
1604
1453
  ...results
@@ -1663,8 +1512,8 @@ var XyoStakeIntentService = class extends BaseService {
1663
1512
  ]);
1664
1513
  }
1665
1514
  async recoverState(current) {
1666
- return await timeBudget3("XyoStakeIntentService.recoverState", console, async () => {
1667
- const currentBlock = assertEx14(asBlockBoundWitness2((await this.chainArchivist.get([
1515
+ return await timeBudget("XyoStakeIntentService.recoverState", console, async () => {
1516
+ const currentBlock = assertEx13(asBlockBoundWitness2((await this.chainArchivist.get([
1668
1517
  current
1669
1518
  ]))?.[0]), () => `Block ${current} not found`);
1670
1519
  const currentBlockNum = currentBlock.block;
@@ -1706,7 +1555,7 @@ var XyoStakeIntentService = class extends BaseService {
1706
1555
  return await this.spanAsync("updateIndex", async () => {
1707
1556
  const currentHead = (await this.blockViewer.currentBlock())[0];
1708
1557
  if (isUndefined2(currentHead)) return;
1709
- return await timeBudget3("XyoStakeIntentService.updateIndex", console, async () => {
1558
+ return await timeBudget("XyoStakeIntentService.updateIndex", console, async () => {
1710
1559
  const currentHeadHash = currentHead._hash;
1711
1560
  const chainMap = readPayloadMapFromStore(this.chainArchivist);
1712
1561
  const result = await analyzeChain({
@@ -1789,17 +1638,8 @@ export {
1789
1638
  creatableService,
1790
1639
  createBootstrapHead,
1791
1640
  getBlockSignedStakeDeclarations,
1792
- initAccountBalanceService,
1793
- initBlockRewardViewer,
1794
- initBlockViewer,
1795
1641
  initChainService,
1796
- initEvmBlockRewardViewer,
1797
1642
  initEvmProvider,
1798
- initMemoryChainService,
1799
- initMempoolRunner,
1800
- initMempoolViewer,
1801
- initPendingTransactions,
1802
- initXyoBlockRewardViewer,
1803
- submitNewChain
1643
+ initMemoryChainService
1804
1644
  };
1805
1645
  //# sourceMappingURL=index.mjs.map