@xyo-network/xl1-protocol-sdk 1.26.12 → 1.26.13

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 (323) hide show
  1. package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +2 -2
  2. package/dist/neutral/simple/block/SimpleBlockViewer.d.ts +2 -2
  3. package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts +1 -1
  4. package/dist/neutral/simple/finalization/SimpleFinalizationViewer.d.ts +1 -1
  5. package/dist/neutral/simple/windowedBlock/SimpleWindowedBlockViewer.d.ts +10 -10
  6. package/dist/neutral/transaction/TransactionBuilder.d.ts +4 -4
  7. package/dist/neutral/transaction/signTransaction.d.ts +1 -1
  8. package/package.json +24 -14
  9. package/src/ChainContextHelpers.ts +0 -50
  10. package/src/CreatableProvider/AbstractCreatableProvider.ts +0 -97
  11. package/src/CreatableProvider/CreatableProvider.ts +0 -102
  12. package/src/CreatableProvider/CreatableProviderRegistry.ts +0 -94
  13. package/src/CreatableProvider/GetInstanceOptions.ts +0 -11
  14. package/src/CreatableProvider/LabeledCreatableProviderFactory.ts +0 -24
  15. package/src/CreatableProvider/ProviderFactory.ts +0 -138
  16. package/src/CreatableProvider/ProviderFactoryLocator.ts +0 -170
  17. package/src/CreatableProvider/ProviderFactoryLocatorInstance.ts +0 -70
  18. package/src/CreatableProvider/index.ts +0 -8
  19. package/src/SignedBigInt.ts +0 -59
  20. package/src/_internal/context/getTestProviderContext.ts +0 -13
  21. package/src/_internal/context/index.ts +0 -1
  22. package/src/_internal/index.ts +0 -2
  23. package/src/actor/ActorV3.ts +0 -177
  24. package/src/actor/index.ts +0 -1
  25. package/src/amount/ShiftedBigInt.ts +0 -73
  26. package/src/amount/XL1Amount.ts +0 -103
  27. package/src/amount/index.ts +0 -4
  28. package/src/amount/splitOnDecimal.ts +0 -6
  29. package/src/amount/splitOnDecimalToString.ts +0 -40
  30. package/src/block/hydrate/allHashesPresent.ts +0 -8
  31. package/src/block/hydrate/blockPayloadsFromHydratedBlock.ts +0 -12
  32. package/src/block/hydrate/flattenHydratedBlock.ts +0 -28
  33. package/src/block/hydrate/flattenHydratedBlocks.ts +0 -7
  34. package/src/block/hydrate/hydrateBlock.ts +0 -43
  35. package/src/block/hydrate/index.ts +0 -7
  36. package/src/block/hydrate/transactionsFromHydratedBlock.ts +0 -7
  37. package/src/block/hydrate/tryHydrateBlock.ts +0 -26
  38. package/src/block/index.ts +0 -2
  39. package/src/block/primitives/blockFromBlockNumber.ts +0 -69
  40. package/src/block/primitives/frames/calculateFramesFromRange.ts +0 -30
  41. package/src/block/primitives/frames/deepCalculateFramesFromRange.ts +0 -28
  42. package/src/block/primitives/frames/index.ts +0 -2
  43. package/src/block/primitives/hashFromBlockNumber.ts +0 -9
  44. package/src/block/primitives/index.ts +0 -7
  45. package/src/block/primitives/model.ts +0 -18
  46. package/src/block/primitives/payloads/ChainWindow.ts +0 -7
  47. package/src/block/primitives/payloads/index.ts +0 -1
  48. package/src/block/primitives/toStepIdentityString.ts +0 -6
  49. package/src/block/primitives/validateTransactionOpcodes.ts +0 -45
  50. package/src/config/Actor.ts +0 -32
  51. package/src/config/Actors.ts +0 -9
  52. package/src/config/Base.ts +0 -27
  53. package/src/config/Chain.ts +0 -23
  54. package/src/config/Config.ts +0 -24
  55. package/src/config/DataLake/DataLake.ts +0 -12
  56. package/src/config/DataLake/DataLakeRemoteConfig.ts +0 -11
  57. package/src/config/DataLake/RestDataLakeConfig.ts +0 -18
  58. package/src/config/DataLake/RouterDataLakeConfig.ts +0 -22
  59. package/src/config/DataLake/index.ts +0 -4
  60. package/src/config/DeepPartial.ts +0 -4
  61. package/src/config/Evm.ts +0 -38
  62. package/src/config/HostActor.ts +0 -32
  63. package/src/config/Log.ts +0 -25
  64. package/src/config/Provider.ts +0 -20
  65. package/src/config/Providers.ts +0 -9
  66. package/src/config/Remote.ts +0 -59
  67. package/src/config/Telemetry.ts +0 -49
  68. package/src/config/UsageMeta.ts +0 -46
  69. package/src/config/Validation.ts +0 -29
  70. package/src/config/index.ts +0 -12
  71. package/src/config/storage/Storage.ts +0 -16
  72. package/src/config/storage/driver/Mongo.ts +0 -53
  73. package/src/config/storage/driver/index.ts +0 -1
  74. package/src/config/storage/index.ts +0 -2
  75. package/src/constants.ts +0 -4
  76. package/src/context/Actor.ts +0 -20
  77. package/src/context/HostActor.ts +0 -20
  78. package/src/context/getEmptyProviderContext.ts +0 -19
  79. package/src/context/index.ts +0 -3
  80. package/src/createDeclarationPayload.ts +0 -15
  81. package/src/createTransferPayload.ts +0 -16
  82. package/src/driver/cache/LruCacheMap.ts +0 -48
  83. package/src/driver/cache/index.ts +0 -1
  84. package/src/driver/index.ts +0 -2
  85. package/src/driver/memory/MemoryMap.ts +0 -48
  86. package/src/driver/memory/index.ts +0 -1
  87. package/src/eip-712/Payloads/EIP712Data.ts +0 -35
  88. package/src/eip-712/Payloads/EIP712Signature.ts +0 -32
  89. package/src/eip-712/Payloads/index.ts +0 -2
  90. package/src/eip-712/Types.ts +0 -41
  91. package/src/eip-712/index.ts +0 -4
  92. package/src/eip-712/sign.ts +0 -19
  93. package/src/eip-712/spec/fixtures.ts +0 -27
  94. package/src/eip-712/verify.ts +0 -20
  95. package/src/getFileConfig.ts +0 -36
  96. package/src/index.ts +0 -27
  97. package/src/instances/Address.ts +0 -16
  98. package/src/instances/BoundWitness.ts +0 -13
  99. package/src/instances/Data.ts +0 -4
  100. package/src/instances/Fees.ts +0 -9
  101. package/src/instances/HydratedBoundWitness.ts +0 -16
  102. package/src/instances/Object.ts +0 -6
  103. package/src/instances/Payload.ts +0 -7
  104. package/src/instances/Signature.ts +0 -12
  105. package/src/instances/block/BlockFields.ts +0 -18
  106. package/src/instances/block/HydratedBlock.ts +0 -10
  107. package/src/instances/block/index.ts +0 -1
  108. package/src/instances/index.ts +0 -10
  109. package/src/instances/modifiers/BlockWindowInstance.ts +0 -8
  110. package/src/instances/modifiers/BlockWindowState.ts +0 -6
  111. package/src/instances/modifiers/Signed.ts +0 -9
  112. package/src/instances/modifiers/Validatable.ts +0 -6
  113. package/src/instances/modifiers/index.ts +0 -4
  114. package/src/instances/transaction/HydratedTransaction.ts +0 -9
  115. package/src/instances/transaction/TransactionFields.ts +0 -22
  116. package/src/instances/transaction/index.ts +0 -1
  117. package/src/isInternetAvailable.ts +0 -11
  118. package/src/model/ChainFork/ChainForkStatic.ts +0 -9
  119. package/src/model/ChainFork/index.ts +0 -1
  120. package/src/model/ChainIdentity.ts +0 -6
  121. package/src/model/ChainStore.ts +0 -16
  122. package/src/model/CreatableProviderContext.ts +0 -6
  123. package/src/model/CreatableProviderContext.zod.ts +0 -55
  124. package/src/model/PayloadBundle/bundledPayloadToHydratedBlock.ts +0 -15
  125. package/src/model/PayloadBundle/bundledPayloadToHydratedTransaction.ts +0 -15
  126. package/src/model/PayloadBundle/hydratedBlockToPayloadBundle.ts +0 -19
  127. package/src/model/PayloadBundle/hydratedTransactionToPayloadBundle.ts +0 -19
  128. package/src/model/PayloadBundle/index.ts +0 -4
  129. package/src/model/index.ts +0 -6
  130. package/src/multipliers.ts +0 -18
  131. package/src/payloads/AddressPairPayload.ts +0 -27
  132. package/src/payloads/index.ts +0 -4
  133. package/src/payloads/netBalancesForPayloads.ts +0 -24
  134. package/src/payloads/netSchemasForPayloads.ts +0 -24
  135. package/src/payloads/netTransfersForPayloads.ts +0 -27
  136. package/src/primitives/block/index.ts +0 -2
  137. package/src/primitives/block/range/blockRangeSteps.ts +0 -23
  138. package/src/primitives/block/range/index.ts +0 -1
  139. package/src/primitives/block/rate/blockRate.ts +0 -77
  140. package/src/primitives/block/rate/index.ts +0 -4
  141. package/src/primitives/block/rate/stepRate.ts +0 -37
  142. package/src/primitives/block/rate/timeHelpers.ts +0 -61
  143. package/src/primitives/block/rate/timeRate.ts +0 -121
  144. package/src/primitives/chain/getWindowedChain.ts +0 -50
  145. package/src/primitives/chain/index.ts +0 -3
  146. package/src/primitives/chain/step/chainStepRewardAddress.ts +0 -30
  147. package/src/primitives/chain/step/index.ts +0 -4
  148. package/src/primitives/chain/step/stepRewardBlock.ts +0 -13
  149. package/src/primitives/chain/step/stepRewardTotal.ts +0 -46
  150. package/src/primitives/chain/step/stepsRewardTotal.ts +0 -37
  151. package/src/primitives/chain/time/externalBlockNumberFromXL1BlockNumber.ts +0 -32
  152. package/src/primitives/chain/time/externalBlockRangeFromStep.ts +0 -21
  153. package/src/primitives/chain/time/externalBlockRangeFromXL1BlockRange.ts +0 -17
  154. package/src/primitives/chain/time/index.ts +0 -3
  155. package/src/primitives/datalake/addDataLakePayloads.ts +0 -18
  156. package/src/primitives/datalake/addDataLakePayloadsToPayloads.ts +0 -24
  157. package/src/primitives/datalake/index.ts +0 -2
  158. package/src/primitives/index.ts +0 -13
  159. package/src/primitives/mapToMapType.ts +0 -35
  160. package/src/primitives/payload/index.ts +0 -1
  161. package/src/primitives/payload/mergeTransfers.ts +0 -16
  162. package/src/primitives/readPayloadMapFromStore.ts +0 -58
  163. package/src/primitives/rewardFromBlockNumber.ts +0 -19
  164. package/src/primitives/rewards/index.ts +0 -1
  165. package/src/primitives/rewards/networkStakeStepRewardPositionWeight.ts +0 -26
  166. package/src/primitives/stake/activeStakeAtTimeByAddress.ts +0 -27
  167. package/src/primitives/stake/activeStakeAtTimeByPosition.ts +0 -25
  168. package/src/primitives/stake/allStakersForRange.ts +0 -32
  169. package/src/primitives/stake/allStakersForStep.ts +0 -24
  170. package/src/primitives/stake/index.ts +0 -6
  171. package/src/primitives/stake/mergedAddRemoveStakeEventsByPosition.ts +0 -15
  172. package/src/primitives/stake/mergedAddRemoveStakeEventsByStaker.ts +0 -17
  173. package/src/primitives/stake/weightedStakeForRangeByPosition.ts +0 -69
  174. package/src/primitives/state/findMostRecentBlock.ts +0 -44
  175. package/src/primitives/state/hydratedBlockByNumber.ts +0 -25
  176. package/src/primitives/state/index.ts +0 -2
  177. package/src/primitives/step/completedStepRewardAddress.ts +0 -10
  178. package/src/primitives/step/derivedReceiveAddress.ts +0 -9
  179. package/src/primitives/step/index.ts +0 -4
  180. package/src/primitives/step/stepBlockRange.ts +0 -9
  181. package/src/primitives/step/stepTransferIndex.ts +0 -19
  182. package/src/primitives/transaction/elevatedPayloads.ts +0 -24
  183. package/src/primitives/transaction/index.ts +0 -1
  184. package/src/primitives/uncle/findBestUncle.ts +0 -9
  185. package/src/primitives/uncle/findUncles.ts +0 -75
  186. package/src/primitives/uncle/index.ts +0 -3
  187. package/src/primitives/uncle/scoreUncle.ts +0 -7
  188. package/src/services/AccountTransfersService.ts +0 -13
  189. package/src/services/BlockProducerService.ts +0 -11
  190. package/src/services/Chain/BaseChainService.ts +0 -4
  191. package/src/services/Chain/ChainHeadService.ts +0 -8
  192. package/src/services/Chain/ChainService.ts +0 -6
  193. package/src/services/Chain/index.ts +0 -3
  194. package/src/services/Election.ts +0 -14
  195. package/src/services/NetworkStakeService.ts +0 -4
  196. package/src/services/Params.ts +0 -13
  197. package/src/services/PendingTransactionsService.ts +0 -7
  198. package/src/services/SchemasService.ts +0 -11
  199. package/src/services/StakeIntentService/ChainIndexingServiceStateSchema.ts +0 -50
  200. package/src/services/StakeIntentService/StakeIntentService.ts +0 -35
  201. package/src/services/StakeIntentService/index.ts +0 -2
  202. package/src/services/index.ts +0 -8
  203. package/src/simple/StakeEventsViewer/SimpleStakeEventsViewer.ts +0 -93
  204. package/src/simple/StakeEventsViewer/index.ts +0 -1
  205. package/src/simple/StakeTotalsViewer/SimpleStakeTotalsViewer.ts +0 -116
  206. package/src/simple/StakeTotalsViewer/index.ts +0 -1
  207. package/src/simple/StakeViewer/SimpleStakeViewer.ts +0 -164
  208. package/src/simple/StakeViewer/index.ts +0 -1
  209. package/src/simple/TransactionViewer/SimpleTransactionViewer.ts +0 -100
  210. package/src/simple/TransactionViewer/index.ts +0 -1
  211. package/src/simple/accountBalance/SimpleAccountBalanceViewer.ts +0 -271
  212. package/src/simple/accountBalance/index.ts +0 -1
  213. package/src/simple/block/SimpleBlockViewer.ts +0 -231
  214. package/src/simple/block/index.ts +0 -1
  215. package/src/simple/blockInvalidation/SimpleBlockInvalidationViewer.ts +0 -197
  216. package/src/simple/blockInvalidation/index.ts +0 -1
  217. package/src/simple/blockReward/SimpleBlockRewardViewer.ts +0 -27
  218. package/src/simple/blockReward/index.ts +0 -1
  219. package/src/simple/blockValidation/SimpleBlockValidationViewer.ts +0 -194
  220. package/src/simple/blockValidation/index.ts +0 -1
  221. package/src/simple/chainContractViewer/SimpleChainContractViewer.ts +0 -92
  222. package/src/simple/chainContractViewer/index.ts +0 -1
  223. package/src/simple/client/SimpleXyoClient.ts +0 -14
  224. package/src/simple/client/index.ts +0 -1
  225. package/src/simple/datalake/AbstractRestDataLake.ts +0 -70
  226. package/src/simple/datalake/AbstractSimpleDataLake.ts +0 -62
  227. package/src/simple/datalake/RestDataLakeRunner.ts +0 -54
  228. package/src/simple/datalake/RestDataLakeViewer.ts +0 -22
  229. package/src/simple/datalake/SimpleDataLakeRunner.ts +0 -44
  230. package/src/simple/datalake/SimpleDataLakeViewer.ts +0 -24
  231. package/src/simple/datalake/index.ts +0 -4
  232. package/src/simple/finalization/SimpleFinalizationRunner.ts +0 -45
  233. package/src/simple/finalization/SimpleFinalizationViewer.ts +0 -123
  234. package/src/simple/finalization/index.ts +0 -2
  235. package/src/simple/gateway/SimpleXyoGateway.ts +0 -30
  236. package/src/simple/gateway/SimpleXyoGatewayRunner.ts +0 -137
  237. package/src/simple/gateway/index.ts +0 -2
  238. package/src/simple/index.ts +0 -22
  239. package/src/simple/mempool/SimpleMempoolRunner.ts +0 -390
  240. package/src/simple/mempool/SimpleMempoolViewer.ts +0 -215
  241. package/src/simple/mempool/index.ts +0 -2
  242. package/src/simple/network/SimpleXyoNetwork.ts +0 -48
  243. package/src/simple/network/index.ts +0 -1
  244. package/src/simple/network/lib/FailedNetworkStatusPayloads.ts +0 -16
  245. package/src/simple/network/lib/StatusNetworks.ts +0 -32
  246. package/src/simple/network/lib/index.ts +0 -2
  247. package/src/simple/permissions/SimpleXyoPermissions.ts +0 -82
  248. package/src/simple/permissions/index.ts +0 -2
  249. package/src/simple/permissions/store/MemoryPermissions.ts +0 -32
  250. package/src/simple/permissions/store/PermissionsStore.ts +0 -17
  251. package/src/simple/permissions/store/index.ts +0 -2
  252. package/src/simple/runner/SimpleXyoRunner.ts +0 -41
  253. package/src/simple/runner/index.ts +0 -1
  254. package/src/simple/signer/SimpleXyoSigner.ts +0 -78
  255. package/src/simple/signer/index.ts +0 -1
  256. package/src/simple/timeSync2/SimpleTimeSyncViewer.ts +0 -132
  257. package/src/simple/timeSync2/index.ts +0 -1
  258. package/src/simple/transactionInvalidation/SimpleTransactionInvalidationViewer.ts +0 -197
  259. package/src/simple/transactionInvalidation/index.ts +0 -1
  260. package/src/simple/transactionValidation/SimpleTransactionValidationViewer.ts +0 -173
  261. package/src/simple/transactionValidation/index.ts +0 -1
  262. package/src/simple/windowedBlock/SimpleWindowedBlockViewer.ts +0 -207
  263. package/src/simple/windowedBlock/index.ts +0 -1
  264. package/src/status/RuntimeStatusMonitor.ts +0 -120
  265. package/src/status/ServiceStatus.ts +0 -21
  266. package/src/status/index.ts +0 -2
  267. package/src/summary/index.ts +0 -2
  268. package/src/summary/model/BalancesStepSummary.ts +0 -35
  269. package/src/summary/model/SchemasStepSummary.ts +0 -33
  270. package/src/summary/model/StepSummary.ts +0 -20
  271. package/src/summary/model/TransfersSummary.ts +0 -36
  272. package/src/summary/model/index.ts +0 -4
  273. package/src/summary/primitives/balances/balancesStepSummaryFromRange.ts +0 -94
  274. package/src/summary/primitives/balances/balancesSummary.ts +0 -48
  275. package/src/summary/primitives/balances/index.ts +0 -2
  276. package/src/summary/primitives/index.ts +0 -3
  277. package/src/summary/primitives/schemas/index.ts +0 -2
  278. package/src/summary/primitives/schemas/schemasStepSummaryFromRange.ts +0 -86
  279. package/src/summary/primitives/schemas/schemasSummary.ts +0 -44
  280. package/src/summary/primitives/transfers/index.ts +0 -2
  281. package/src/summary/primitives/transfers/transfersStepSummaryFromRange.ts +0 -109
  282. package/src/summary/primitives/transfers/transfersSummary.ts +0 -52
  283. package/src/test/BuildBlockOptions.ts +0 -81
  284. package/src/test/buildBlock.ts +0 -105
  285. package/src/test/buildGenesisBlock.ts +0 -29
  286. package/src/test/buildNextBlock.ts +0 -37
  287. package/src/test/buildRandomChain.ts +0 -92
  288. package/src/test/buildRandomGenesisBlock.ts +0 -47
  289. package/src/test/createGenesisBlock.ts +0 -41
  290. package/src/test/createProducerChainStakeIntentTransaction.ts +0 -48
  291. package/src/test/getSimpleBlockViewerLocator.ts +0 -41
  292. package/src/test/getTestProviderContext.ts +0 -8
  293. package/src/test/index.ts +0 -2
  294. package/src/time/index.ts +0 -1
  295. package/src/time/primitives/index.ts +0 -1
  296. package/src/time/primitives/xl1BlockNumberToEthBlockNumber.ts +0 -13
  297. package/src/transaction/TransactionBuilder.ts +0 -164
  298. package/src/transaction/buildRandomTransaction.ts +0 -38
  299. package/src/transaction/buildTransaction.ts +0 -68
  300. package/src/transaction/buildUnsignedTransaction.ts +0 -56
  301. package/src/transaction/confirmSubmittedTransaction.ts +0 -42
  302. package/src/transaction/hydrateTransaction.ts +0 -117
  303. package/src/transaction/index.ts +0 -9
  304. package/src/transaction/primitives/index.ts +0 -4
  305. package/src/transaction/primitives/transactionBlockByteCount.ts +0 -10
  306. package/src/transaction/primitives/transactionElevatedPayloads.ts +0 -18
  307. package/src/transaction/primitives/transactionOperations.ts +0 -13
  308. package/src/transaction/primitives/transactionRequiredGas.ts +0 -22
  309. package/src/transaction/script.ts +0 -48
  310. package/src/transaction/signTransaction.ts +0 -32
  311. package/src/utils/HydratedCache.ts +0 -39
  312. package/src/utils/index.ts +0 -2
  313. package/src/utils/isZodError.ts +0 -11
  314. package/src/validation/index.ts +0 -2
  315. package/src/validation/lib/getUrl.ts +0 -7
  316. package/src/validation/lib/index.ts +0 -2
  317. package/src/validation/lib/isLocalhost.ts +0 -9
  318. package/src/validation/schema/Address.ts +0 -2
  319. package/src/validation/schema/Mnemonic.ts +0 -21
  320. package/src/validation/schema/index.ts +0 -2
  321. package/src/wallet/generateXyoBaseWalletFromPhrase.ts +0 -13
  322. package/src/wallet/index.ts +0 -2
  323. package/src/wallet/paths.ts +0 -17
@@ -1,17 +0,0 @@
1
- import type { Address } from '@xylabs/sdk-js'
2
- import type { StakeEvent, StakeEventsViewer } from '@xyo-network/xl1-protocol-lib'
3
-
4
- /** MergedAddRemoveStakeEventsByStaker helper function. */
5
- export async function mergedAddRemoveStakeEventsByStaker(
6
- chainEvents: StakeEventsViewer,
7
- range: [number, number],
8
- staked: Address,
9
- staker?: Address,
10
- ): Promise<(StakeEvent<'StakeAdded'> | StakeEvent<'StakeRemoved'>)[]> {
11
- const [addedEvents, removedEvents] = await Promise.all([
12
- chainEvents.stakeEvents(range, { name: 'StakeAdded', args: { staked, staker } }),
13
- chainEvents.stakeEvents(range, { name: 'StakeRemoved', args: { staked, staker } }),
14
- ])
15
- const result = [...addedEvents, ...removedEvents].toSorted((a, b) => a.time - b.time)
16
- return result
17
- }
@@ -1,69 +0,0 @@
1
- import type { Address } from '@xylabs/sdk-js'
2
- import { isDefined } from '@xylabs/sdk-js'
3
- import type {
4
- BlockRange,
5
- BlockViewer,
6
- CachingContext,
7
- StakeEventsViewer,
8
- } from '@xyo-network/xl1-protocol-lib'
9
- import { asBlockNumber } from '@xyo-network/xl1-protocol-lib'
10
-
11
- import { withContextCacheResponse } from '../../ChainContextHelpers.ts'
12
- import { mergedAddRemoveStakeEventsByPosition } from './mergedAddRemoveStakeEventsByPosition.ts'
13
-
14
- /** WeightedStakeForRangeByPosition helper function. */
15
- export async function weightedStakeForRangeByPosition(
16
- context: CachingContext,
17
- blockViewer: BlockViewer,
18
- stakeEventsViewer: StakeEventsViewer,
19
- externalRange: BlockRange, // first to last block of step
20
- staked?: Address,
21
- positionId?: number,
22
- ): Promise<bigint> {
23
- const cacheKey = isDefined(positionId) ? `${externalRange[0]}-${externalRange[1]}-${positionId}` : `${externalRange[0]}-${externalRange[1]}-all`
24
- return await withContextCacheResponse(context, 'weightedStakeForRangeByPosition', cacheKey, async () => {
25
- let weightedStakeSum = 0n
26
- if (isDefined(positionId)) {
27
- const mergedEvents = (await mergedAddRemoveStakeEventsByPosition(
28
- stakeEventsViewer,
29
- [0, externalRange[1]],
30
- positionId,
31
- )).toSorted((a, b) => a.time - b.time)
32
- let currentTime = externalRange[0]
33
- let currentStake = 0n // await activeStakeAtTimeByPosition(chainEvents, pos.staked, currentTime - 1, position)
34
-
35
- // if not staking the desired address, return 0n
36
- if (isDefined(staked) && mergedEvents.at(0)?.args.staked !== staked) {
37
- return 0n
38
- }
39
-
40
- for (const event of mergedEvents) {
41
- if (event.time > currentTime) {
42
- // Add the weighted stake for the period between the range start or previous event and this event
43
- weightedStakeSum += currentStake * BigInt(event.time - currentTime)
44
- }
45
- if (event.name === 'StakeAdded') {
46
- currentStake += event.args.amount
47
- } else if (event.name === 'StakeRemoved') {
48
- currentStake -= event.args.amount
49
- }
50
- // seems that sometimes we get multiple remove events, so ensure stake doesn't go negative
51
- currentStake = currentStake < 0n ? 0n : currentStake
52
- currentTime = asBlockNumber(event.time, { name: 'weightedStakeForRangeByPosition' })
53
- if (currentTime > externalRange[1]) {
54
- break
55
- }
56
- }
57
- if (externalRange[1] > currentTime) {
58
- // Add the weighted stake for the period between the last event and the end of the range
59
- weightedStakeSum += currentStake * BigInt(externalRange[1] - currentTime)
60
- }
61
- } else {
62
- const positionCount = await stakeEventsViewer.positionCount([0, externalRange[1]])
63
- for (let pos = 0; pos < positionCount; pos++) {
64
- weightedStakeSum += await weightedStakeForRangeByPosition(context, blockViewer, stakeEventsViewer, externalRange, staked, pos)
65
- }
66
- }
67
- return weightedStakeSum
68
- })
69
- }
@@ -1,44 +0,0 @@
1
- import type {
2
- NextOptions, Payload, ReadArchivist,
3
- Sequence, WithStorageMeta,
4
- } from '@xyo-network/sdk-js'
5
- import type { SignedBlockBoundWitnessWithHashMeta } from '@xyo-network/xl1-protocol-lib'
6
- import { isSignedBlockBoundWitnessWithStorageMeta } from '@xyo-network/xl1-protocol-lib'
7
-
8
- // TODO: Use some smart value relative to DEFAULT_BLOCK_SIZE
9
- // to ensure we're likely to find it in a single request
10
- // without bringing back too much data
11
- const DEFAULT_NEXT_OPTIONS: NextOptions = { limit: 50 }
12
-
13
- /**
14
- * Iterates an archivist to find the most recent block
15
- * @param chainArchivist The archivist to iterate over for the most recent chain block
16
- * @param nextOptions The options to use when iterating the archivist
17
- * @param maxIterations The max number of iterations to perform when finding the most recent block
18
- * @returns The most recent block found in the archivist or undefined if no blocks are found
19
- */
20
- export const findMostRecentBlock = async (
21
- chainArchivist: ReadArchivist,
22
- nextOptions: NextOptions = DEFAULT_NEXT_OPTIONS,
23
- maxIterations = Number.POSITIVE_INFINITY,
24
- ): Promise<SignedBlockBoundWitnessWithHashMeta | undefined> => {
25
- let mostRecentBlock: SignedBlockBoundWitnessWithHashMeta | undefined
26
- let cursor: Sequence | undefined
27
- let batch: WithStorageMeta<Payload>[]
28
- let iterations = 0
29
- do {
30
- batch = await chainArchivist.next({
31
- ...nextOptions, order: 'desc', cursor,
32
- })
33
- const blocks = batch.filter(isSignedBlockBoundWitnessWithStorageMeta)
34
- const last = blocks?.at(0)
35
- if (last) {
36
- mostRecentBlock = last
37
- break
38
- } else {
39
- cursor = batch.at(-1)?._sequence
40
- }
41
- iterations = iterations + 1
42
- } while (batch.length > 0 && iterations < maxIterations)
43
- return mostRecentBlock
44
- }
@@ -1,25 +0,0 @@
1
- import { assertEx, spanAsync } from '@xylabs/sdk-js'
2
- import type {
3
- ChainContextRead,
4
- HydratedBlockWithHashMeta, XL1BlockNumber,
5
- } from '@xyo-network/xl1-protocol-lib'
6
-
7
- import { blockFromBlockNumber, hydrateBlock } from '../../block/index.ts'
8
- import { withContextCacheResponse } from '../../ChainContextHelpers.ts'
9
-
10
- /** HydratedBlockByNumber helper function. */
11
- export async function hydratedBlockByNumber(context: ChainContextRead, blockNumber: XL1BlockNumber): Promise<HydratedBlockWithHashMeta | null> {
12
- return await spanAsync('hydratedBlockByNumber', async () => {
13
- if (blockNumber < 0) throw new Error(`Block number ${blockNumber} is less than 0`)
14
- if (blockNumber > Number.MAX_SAFE_INTEGER) throw new Error(`Block number ${blockNumber} is greater than the maximum safe integer`)
15
- if (blockNumber % 1 !== 0) throw new Error(`Block number ${blockNumber} is not an integer`)
16
- const cacheKey = `${blockNumber}`
17
- return await withContextCacheResponse(context, 'hydratedBlockByNumber', cacheKey, async () => {
18
- const block = assertEx(
19
- await blockFromBlockNumber(context, blockNumber),
20
- () => `Could not find block for block number ${blockNumber}`,
21
- )
22
- return await hydrateBlock(context, block._hash)
23
- }, { max: 20_000 })
24
- }, { ...context, timeBudgetLimit: 500 })
25
- }
@@ -1,2 +0,0 @@
1
- export * from './findMostRecentBlock.ts'
2
- export * from './hydratedBlockByNumber.ts'
@@ -1,10 +0,0 @@
1
- import { type Address, toAddress } from '@xylabs/sdk-js'
2
- import { type StepIdentity, StepSizes } from '@xyo-network/xl1-protocol-lib'
3
- import { keccak256 } from 'ethers'
4
-
5
- /** CompletedStepRewardAddress helper function. */
6
- export function completedStepRewardAddress({ block, step }: StepIdentity): Address {
7
- const resolvedStepSize = step < StepSizes.length ? StepSizes[step] : step
8
- const addressKey = new TextEncoder().encode(`${block}|${resolvedStepSize}`)
9
- return toAddress(keccak256(addressKey).slice(-40), { prefix: false })
10
- }
@@ -1,9 +0,0 @@
1
- import { type Address, toAddress } from '@xylabs/sdk-js'
2
- import { isDefined } from '@xylabs/sdk-js'
3
- import { keccak256 } from 'ethers'
4
-
5
- /** DerivedReceiveAddress helper function. */
6
- export function derivedReceiveAddress(address: Address, scope?: string): Address {
7
- const addressKey = new TextEncoder().encode(isDefined(scope) ? `${scope}|${address}` : address)
8
- return toAddress(keccak256(addressKey).slice(-40), { prefix: false })
9
- }
@@ -1,4 +0,0 @@
1
- export * from './completedStepRewardAddress.ts'
2
- export * from './derivedReceiveAddress.ts'
3
- export * from './stepBlockRange.ts'
4
- export * from './stepTransferIndex.ts'
@@ -1,9 +0,0 @@
1
- import type { StepIdentity, XL1BlockRange } from '@xyo-network/xl1-protocol-lib'
2
- import { asXL1BlockRange, StepSizes } from '@xyo-network/xl1-protocol-lib'
3
-
4
- /** StepBlockRange helper function. */
5
- export function stepBlockRange({ block, step }: StepIdentity): XL1BlockRange {
6
- const stepSize = StepSizes[step]
7
- const start = block - stepSize
8
- return asXL1BlockRange([start, start + stepSize - 1], { name: 'stepBlockRange' })
9
- }
@@ -1,19 +0,0 @@
1
- import { assertEx } from '@xylabs/sdk-js'
2
- import { StepSizes } from '@xyo-network/xl1-protocol-lib'
3
-
4
- /** StepTransferIndex helper function. */
5
- export function stepTransferIndex(block: number, step: number) {
6
- let rewardTransferCount = 0
7
- let rewardTransferIndex = -1
8
- for (let i = 3; i < StepSizes.length; i++) {
9
- const stepSize = StepSizes[i]
10
- if (block % stepSize === 0) {
11
- if (stepSize === StepSizes[step]) {
12
- rewardTransferIndex = rewardTransferCount
13
- }
14
- rewardTransferCount++
15
- }
16
- }
17
- assertEx(rewardTransferIndex >= 0, () => `Could not find step size for step ${step} at block ${block}`)
18
- return [rewardTransferIndex, rewardTransferCount]
19
- }
@@ -1,24 +0,0 @@
1
- import type { WithHashMeta } from '@xyo-network/sdk-js'
2
- import type { AllowedBlockPayload, HydratedTransactionWithHashMeta } from '@xyo-network/xl1-protocol-lib'
3
- import { isAllowedBlockPayload } from '@xyo-network/xl1-protocol-lib'
4
-
5
- const ELEVATE_OPCODE = 'elevate'
6
-
7
- /** ElevatedPayloads helper function. */
8
- export function elevatedPayloads([tx, payloads]: HydratedTransactionWithHashMeta) {
9
- const opCodes = (tx.script ?? []).filter(operation => operation.startsWith(`${ELEVATE_OPCODE}|`))
10
- const elevatedPayloads: WithHashMeta<AllowedBlockPayload>[] = []
11
- for (const opCode of opCodes) {
12
- const [code, hash] = opCode.split('|')
13
- if (code === ELEVATE_OPCODE) {
14
- const elevatedPayload = payloads.find(payload => payload._hash === hash)
15
- if (isAllowedBlockPayload(elevatedPayload)) {
16
- elevatedPayloads.push(elevatedPayload)
17
- }
18
- }
19
- }
20
- if (opCodes.length === elevatedPayloads.length) {
21
- return elevatedPayloads
22
- }
23
- throw new Error('Not all elevated payloads could be found in the transaction payloads')
24
- }
@@ -1 +0,0 @@
1
- export * from './elevatedPayloads.ts'
@@ -1,9 +0,0 @@
1
- import type { SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol-lib'
2
-
3
- import { scoreUncle } from './scoreUncle.ts'
4
-
5
- /** FindBestUncle helper function. */
6
- export function findBestUncle(finalizedWindowedChain: SignedHydratedBlockWithHashMeta[], uncles: SignedHydratedBlockWithHashMeta[][]) {
7
- const scores = uncles.map(uncle => ([scoreUncle(finalizedWindowedChain, uncle), uncle] as const)).toSorted((a, b) => b[0] - a[0])
8
- return scores[0]?.[1] ?? finalizedWindowedChain
9
- }
@@ -1,75 +0,0 @@
1
- import {
2
- assertEx,
3
- exists, type Hash,
4
- } from '@xylabs/sdk-js'
5
- import type { BaseContext, SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol-lib'
6
- import { isTransactionBoundWitness } from '@xyo-network/xl1-protocol-lib'
7
-
8
- function blocksToChains(blocks: SignedHydratedBlockWithHashMeta[]) {
9
- const chains: SignedHydratedBlockWithHashMeta[][] = []
10
- const map = new Map<Hash, SignedHydratedBlockWithHashMeta>()
11
- for (const block of blocks) {
12
- map.set(block[0]._hash, block)
13
- }
14
- for (const block of blocks) {
15
- let uncle: SignedHydratedBlockWithHashMeta[] = [block]
16
- let previous = block[0].previous ? map.get(block[0].previous) : undefined
17
- while (previous) {
18
- if (previous[0].block === (uncle[0][0].block - 1)) {
19
- uncle.unshift(previous)
20
- previous = previous[0].previous ? map.get(previous[0].previous) : undefined
21
- } else {
22
- // block number sequence is off
23
- uncle = []
24
- break
25
- }
26
- }
27
- if (uncle.length > 0) {
28
- chains.push(uncle)
29
- }
30
- }
31
- return chains
32
- }
33
-
34
- function toValidUncle(
35
- _context: BaseContext,
36
- finalizedWindowedChain: SignedHydratedBlockWithHashMeta[],
37
- possibleUncle: SignedHydratedBlockWithHashMeta[],
38
- ) {
39
- const finalizedWindowStartBlockNumber = finalizedWindowedChain.at(0)?.[0].block ?? -1
40
- const finalizedHead = assertEx(finalizedWindowedChain.at(-1), () => 'finalizedWindowedChain is empty')
41
- // prune the chain to match the finalized head
42
-
43
- const prunedPossibleUncle = possibleUncle.filter(b => b[0].block > finalizedHead[0].block)
44
-
45
- if (prunedPossibleUncle.length === 0) {
46
- return
47
- }
48
-
49
- if (prunedPossibleUncle[0][0].block !== finalizedHead[0].block + 1) {
50
- // uncle does not build on finalized head (block number mismatch)
51
- return
52
- }
53
- if (prunedPossibleUncle[0][0].previous !== finalizedHead[0]._hash) {
54
- // uncle does not build on finalized head (previous hash mismatch)
55
- return
56
- }
57
- const allUncleTransactions = prunedPossibleUncle.flatMap(b => b[1]).filter(isTransactionBoundWitness)
58
- const allFinalizedTransactions = finalizedWindowedChain.flatMap(b => b[1]).filter(isTransactionBoundWitness)
59
- const txPossiblyBeforeWindow = allUncleTransactions.find(tx => tx.nbf < finalizedWindowStartBlockNumber)
60
- if (txPossiblyBeforeWindow) {
61
- // uncle has a transaction that is valid before the finalized window
62
- return
63
- }
64
- const txExistsInWindow = allUncleTransactions.find(tx => allFinalizedTransactions.find(finalTx => finalTx._hash === tx._hash))
65
- if (txExistsInWindow) {
66
- // uncle has a transaction that is already in the finalized window
67
- return
68
- }
69
- return prunedPossibleUncle
70
- }
71
-
72
- /** FindUncles helper function. */
73
- export function findUncles(context: BaseContext, finalizedWindowedChain: SignedHydratedBlockWithHashMeta[], blocks: SignedHydratedBlockWithHashMeta[]) {
74
- return blocksToChains(blocks).map(chain => toValidUncle(context, finalizedWindowedChain, chain)).filter(exists)
75
- }
@@ -1,3 +0,0 @@
1
- export * from './findBestUncle.ts'
2
- export * from './findUncles.ts'
3
- export * from './scoreUncle.ts'
@@ -1,7 +0,0 @@
1
- import type { SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol-lib'
2
-
3
- /** ScoreUncle helper function. */
4
- export function scoreUncle(finalizedWindowedChain: SignedHydratedBlockWithHashMeta[], blocks: SignedHydratedBlockWithHashMeta[]) {
5
- // TODO: More than length check
6
- return blocks.length
7
- }
@@ -1,13 +0,0 @@
1
- import type {
2
- Address, Hash, Promisable,
3
- } from '@xylabs/sdk-js'
4
- import type { AttoXL1 } from '@xyo-network/xl1-protocol-lib'
5
-
6
- /** Provider interface for querying transfer totals by account at a given chain head */
7
- export interface AccountTransfersProvider {
8
- transfer(head: Hash, account: Address): Promisable<AttoXL1>
9
- transfers(head: Hash, accounts: Address[]): Promisable<Partial<Record<Address, AttoXL1>>>
10
- }
11
-
12
- /** Service interface for querying account transfers, extending AccountTransfersProvider */
13
- export interface AccountTransfersService extends AccountTransfersProvider {}
@@ -1,11 +0,0 @@
1
- import type {
2
- Addressable,
3
- BlockBoundWitness, IterableRepository,
4
- SignedHydratedBlockWithHashMeta,
5
- } from '@xyo-network/xl1-protocol-lib'
6
-
7
- /** Repository type for producing the next block from a block bound witness */
8
- export type NextBlockProducer = IterableRepository<BlockBoundWitness, SignedHydratedBlockWithHashMeta | undefined>
9
-
10
- /** Service interface for an addressable block producer */
11
- export interface BlockProducerService extends Addressable, NextBlockProducer {}
@@ -1,4 +0,0 @@
1
- /** Base interface for chain service implementations */
2
- export interface BaseChainService {
3
-
4
- }
@@ -1,8 +0,0 @@
1
- import type { Hash } from '@xylabs/sdk-js'
2
-
3
- import type { BaseChainService } from './BaseChainService.ts'
4
-
5
- /** Service interface for tracking the current chain head hash */
6
- export interface ChainHeadService extends BaseChainService {
7
- head: Hash | null
8
- }
@@ -1,6 +0,0 @@
1
- import type { ChainContractViewer, ChainStakeViewer } from '@xyo-network/xl1-protocol-lib'
2
-
3
- import type { BaseChainService } from './BaseChainService.ts'
4
-
5
- /** @deprecated use ChainContractViewer, StakeTotalsViewer, StakeRunner instead */
6
- export interface ChainService extends Omit<ChainContractViewer, 'moniker'>, Omit<ChainStakeViewer, 'moniker'>, BaseChainService {}
@@ -1,3 +0,0 @@
1
- export * from './BaseChainService.ts'
2
- export * from './ChainHeadService.ts'
3
- export * from './ChainService.ts'
@@ -1,14 +0,0 @@
1
- import type { Address } from '@xylabs/sdk-js'
2
- import type { WithHashMeta } from '@xyo-network/sdk-js'
3
- import type { BlockBoundWitness } from '@xyo-network/xl1-protocol-lib'
4
-
5
- /** Service for determining the block producer committee for the next block */
6
- export interface ElectionService {
7
-
8
- /**
9
- * Given the current block, get the leader for the next block
10
- * @param current The previous block
11
- */
12
- getCreatorCommitteeForNextBlock(current: WithHashMeta<BlockBoundWitness>): Promise<Address[]>
13
-
14
- }
@@ -1,4 +0,0 @@
1
- import type { NetworkStakeStepRewardViewer } from '@xyo-network/xl1-protocol-lib'
2
-
3
- /** Service interface for viewing network stake step rewards */
4
- export interface NetworkStakeStepRewardService extends NetworkStakeStepRewardViewer {}
@@ -1,13 +0,0 @@
1
- import type { CreatableParams } from '@xylabs/sdk-js'
2
- import type { AccountInstance } from '@xyo-network/sdk-js'
3
- import type { OpenTelemetryProviders } from '@xyo-network/xl1-protocol-lib'
4
-
5
- /** Base parameters for all services, including creatable params and OpenTelemetry providers */
6
- export interface BaseServiceParams extends CreatableParams, OpenTelemetryProviders {
7
-
8
- }
9
-
10
- /** Service parameters that include an account instance for signing operations */
11
- export interface BaseAccountableServiceParams extends BaseServiceParams {
12
- account: AccountInstance
13
- }
@@ -1,7 +0,0 @@
1
- import type { Hash } from '@xylabs/sdk-js'
2
- import type { SignedHydratedTransaction } from '@xyo-network/xl1-protocol-lib'
3
-
4
- /** Service for retrieving pending transactions from the mempool */
5
- export interface PendingTransactionsService {
6
- getPendingTransactions(head: Hash, limit: number, timeout?: number): Promise<SignedHydratedTransaction[]>
7
- }
@@ -1,11 +0,0 @@
1
- import type { Hash, Promisable } from '@xylabs/sdk-js'
2
- import type { Schema } from '@xyo-network/sdk-js'
3
-
4
- /** Provider interface for querying schema counts at a given chain head */
5
- export interface SchemasProvider {
6
- schema(head: Hash, schema: Schema): Promisable<number>
7
- schemas(head: Hash, schemas: Schema[]): Promisable<Partial<Record<Schema, number>>>
8
- }
9
-
10
- /** Service interface for querying schema counts, extending SchemasProvider */
11
- export interface SchemasService extends SchemasProvider {}
@@ -1,50 +0,0 @@
1
- import type { Hash, JsonValue } from '@xylabs/sdk-js'
2
- import { AsObjectFactory } from '@xylabs/sdk-js'
3
- import type { Payload, WithStorageMeta } from '@xyo-network/sdk-js'
4
- import {
5
- asSchema, isPayloadOfSchemaType, isStorageMeta,
6
- } from '@xyo-network/sdk-js'
7
-
8
- /** Fields stored by a chain indexing service to track its indexing progress and state */
9
- export interface ChainIndexingServiceStateFields<T extends JsonValue = JsonValue> {
10
- /**
11
- * The hash of the last block that this service has indexing
12
- */
13
- endBlockHash: Hash
14
- /**
15
- * The hash of the block that the service started indexing. If undefined, the service is
16
- * assumed to have started indexing from the genesis block
17
- */
18
- startBlockHash?: Hash
19
- /**
20
- * The indexed state for the range
21
- */
22
- state: T
23
- }
24
- /** Schema identifier for chain indexing service state payloads */
25
- export const ChainIndexingServiceStateSchema = asSchema('network.xyo.chain.indexing.service.state', true)
26
- /** Schema type for ChainIndexingServiceState payloads. */
27
- export type ChainIndexingServiceStateSchema = typeof ChainIndexingServiceStateSchema
28
-
29
- /**
30
- * The result of a ChainIndexingServiceState
31
- */
32
- export type ChainIndexingServiceState<T extends JsonValue = JsonValue> = Payload<ChainIndexingServiceStateFields<T>, ChainIndexingServiceStateSchema>
33
-
34
- /**
35
- * Identity functions for determining if an object is an ChainIndexingServiceState
36
- */
37
- export const isChainIndexingServiceState = <T extends JsonValue = JsonValue>(payload?: unknown): payload is ChainIndexingServiceState<T> => {
38
- return isPayloadOfSchemaType<ChainIndexingServiceState<T>>(ChainIndexingServiceStateSchema)(payload)
39
- }
40
- /** Type assertion factory for ChainIndexingServiceState payloads */
41
- export const asChainIndexingServiceState = AsObjectFactory.create<ChainIndexingServiceState<JsonValue>>(isChainIndexingServiceState)
42
-
43
- /** Type guard for ChainIndexingServiceState with storage metadata */
44
- export const isChainIndexingServiceStateWithStorageMeta
45
- = <T extends JsonValue = JsonValue>(value: unknown): value is WithStorageMeta<ChainIndexingServiceState<T>> =>
46
- isChainIndexingServiceState<T>(value) && isStorageMeta(value)
47
-
48
- /** Type assertion factory for ChainIndexingServiceState with storage metadata */
49
- export const asChainIndexingServiceStateWithStorageMeta
50
- = AsObjectFactory.create<WithStorageMeta<ChainIndexingServiceState>>(isChainIndexingServiceStateWithStorageMeta)
@@ -1,35 +0,0 @@
1
- import type { Address } from '@xylabs/sdk-js'
2
- import type { Intent } from '@xyo-network/xl1-protocol-lib'
3
-
4
- /** Service for managing and querying stake intent declarations on the chain */
5
- export interface StakeIntentService {
6
-
7
- /**
8
- * Gets the declared ranges for an address based on historical on-chain data
9
- * @param address The address to get the declared ranges for
10
- * @param intent The declared intent to filter for
11
- */
12
- getDeclaredCandidateRanges(address: Address, intent: Intent): Promise<Readonly<Readonly<[number, number]>[]>>
13
-
14
- /**
15
- * Gets the declared candidates for a block based on historical on-chain data
16
- * @param block The block number to get the declared candidates for
17
- * @param intent The declared intent to filter for
18
- */
19
- getDeclaredCandidatesForBlock(block: number, intent: Intent): Promise<Address[]>
20
-
21
- /**
22
- * Gets the required minimum stake for a given intent
23
- * @param intent The declared intent to filter for
24
- * @returns The required minimum stake for the intent
25
- */
26
- getRequiredMinimumStakeForIntent(intent: Intent): bigint
27
-
28
- /**
29
- * Checks if the address is staked for a block for a given intent
30
- * @param block The block number to check
31
- * @param intent The declared intent to filter for
32
- * @param address The address to check
33
- */
34
- isStakedForBlock(block: number, intent: Intent, address: Address): Promise<boolean>
35
- }
@@ -1,2 +0,0 @@
1
- export * from './ChainIndexingServiceStateSchema.ts'
2
- export * from './StakeIntentService.ts'
@@ -1,8 +0,0 @@
1
- export * from './AccountTransfersService.ts'
2
- export * from './BlockProducerService.ts'
3
- export * from './Chain/index.ts'
4
- export * from './Election.ts'
5
- export * from './NetworkStakeService.ts'
6
- export * from './PendingTransactionsService.ts'
7
- export * from './SchemasService.ts'
8
- export * from './StakeIntentService/index.ts'