@xyo-network/xl1-protocol-lib 1.26.24 → 1.26.27

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.
@@ -27,6 +27,9 @@ var XyoRunnerMoniker = "XyoRunner";
27
27
  // src/runners/Block.ts
28
28
  var BlockRunnerMoniker = "BlockRunner";
29
29
 
30
+ // src/runners/DeadLetterQueue.ts
31
+ var DeadLetterQueueRunnerMoniker = "DeadLetterQueueRunner";
32
+
30
33
  // src/runners/Finalization.ts
31
34
  var FinalizationRunnerMoniker = "FinalizationRunner";
32
35
 
@@ -196,21 +199,36 @@ var ChainContractViewerMoniker = "ChainContractViewer";
196
199
  // src/viewers/ChainStakeViewer.ts
197
200
  var ChainStakeViewerMoniker = "ChainStakeViewer";
198
201
 
199
- // src/viewers/Finalization.ts
200
- var FinalizationViewerMoniker = "FinalizationViewer";
201
-
202
- // src/viewers/Mempool.ts
202
+ // src/viewers/DeadLetterQueue.ts
203
203
  import { HashZod as HashZod2 } from "@xylabs/sdk-js";
204
- import { XL1BlockRangeZod } from "@xyo-network/xl1-protocol-model";
205
204
  import { z as z5 } from "zod";
206
- var PendingTransactionsOptionsZod = z5.object({
205
+ var RejectedBlocksOptionsZod = z5.object({
207
206
  cursor: HashZod2.optional(),
208
207
  limit: z5.number().int().positive().optional(),
209
- window: XL1BlockRangeZod.optional()
208
+ rejector: z5.string().optional()
210
209
  });
211
- var PendingBlocksOptionsZod = z5.object({
210
+ var RejectedTransactionsOptionsZod = z5.object({
212
211
  cursor: HashZod2.optional(),
213
212
  limit: z5.number().int().positive().optional(),
213
+ rejector: z5.string().optional()
214
+ });
215
+ var DeadLetterQueueViewerMoniker = "DeadLetterQueueViewer";
216
+
217
+ // src/viewers/Finalization.ts
218
+ var FinalizationViewerMoniker = "FinalizationViewer";
219
+
220
+ // src/viewers/Mempool.ts
221
+ import { HashZod as HashZod3 } from "@xylabs/sdk-js";
222
+ import { XL1BlockRangeZod } from "@xyo-network/xl1-protocol-model";
223
+ import { z as z6 } from "zod";
224
+ var PendingTransactionsOptionsZod = z6.object({
225
+ cursor: HashZod3.optional(),
226
+ limit: z6.number().int().positive().optional(),
227
+ window: XL1BlockRangeZod.optional()
228
+ });
229
+ var PendingBlocksOptionsZod = z6.object({
230
+ cursor: HashZod3.optional(),
231
+ limit: z6.number().int().positive().optional(),
214
232
  window: XL1BlockRangeZod.optional()
215
233
  });
216
234
  var MempoolViewerMoniker = "MempoolViewer";
@@ -266,18 +284,18 @@ import {
266
284
  ChainQualifiedHeadConfigZod as ChainQualifiedHeadConfigZod3,
267
285
  ChainQualifiedRangeConfigZod as ChainQualifiedRangeConfigZod3
268
286
  } from "@xyo-network/xl1-protocol-model";
269
- import { z as z6 } from "zod";
287
+ import { z as z7 } from "zod";
270
288
  var TransactionInvalidationQualificationZod = ChainQualificationZod3;
271
289
  var isTransactionInvalidationQualification = zodIsFactory5(TransactionInvalidationQualificationZod);
272
- var TransactionInvalidationConfigFieldsZod = z6.object({
273
- state: z6.boolean().optional(),
274
- value: z6.boolean().optional()
290
+ var TransactionInvalidationConfigFieldsZod = z7.object({
291
+ state: z7.boolean().optional(),
292
+ value: z7.boolean().optional()
275
293
  });
276
- var TransactionInvalidationConfigZod = z6.union([
294
+ var TransactionInvalidationConfigZod = z7.union([
277
295
  TransactionInvalidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod3.shape),
278
296
  TransactionInvalidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod3.shape),
279
297
  TransactionInvalidationConfigFieldsZod,
280
- z6.object({})
298
+ z7.object({})
281
299
  ]);
282
300
  var isTransactionInvalidationConfig = zodIsFactory5(TransactionInvalidationConfigZod);
283
301
  var TransactionInvalidationViewerMoniker = "TransactionInvalidationViewer";
@@ -289,18 +307,18 @@ import {
289
307
  ChainQualifiedHeadConfigZod as ChainQualifiedHeadConfigZod4,
290
308
  ChainQualifiedRangeConfigZod as ChainQualifiedRangeConfigZod4
291
309
  } from "@xyo-network/xl1-protocol-model";
292
- import { z as z7 } from "zod";
310
+ import { z as z8 } from "zod";
293
311
  var TransactionValidationQualificationZod = ChainQualificationZod4;
294
312
  var isTransactionValidationQualification = zodIsFactory6(TransactionValidationQualificationZod);
295
- var TransactionValidationConfigFieldsZod = z7.object({
296
- value: z7.boolean().optional(),
297
- state: z7.boolean().optional()
313
+ var TransactionValidationConfigFieldsZod = z8.object({
314
+ value: z8.boolean().optional(),
315
+ state: z8.boolean().optional()
298
316
  });
299
- var TransactionValidationConfigZod = z7.union([
317
+ var TransactionValidationConfigZod = z8.union([
300
318
  TransactionValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod4.shape),
301
319
  TransactionValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod4.shape),
302
320
  TransactionValidationConfigFieldsZod,
303
- z7.object({})
321
+ z8.object({})
304
322
  ]);
305
323
  var isTransactionValidationConfig = zodIsFactory6(TransactionValidationConfigZod);
306
324
  var TransactionValidationViewerMoniker = "TransactionValidationViewer";
@@ -336,6 +354,8 @@ export {
336
354
  DEFAULT_MAX_EXP_AHEAD,
337
355
  DataLakeRunnerMoniker,
338
356
  DataLakeViewerMoniker,
357
+ DeadLetterQueueRunnerMoniker,
358
+ DeadLetterQueueViewerMoniker,
339
359
  FinalizationRunnerMoniker,
340
360
  FinalizationViewerMoniker,
341
361
  HydratedBlockStateValidationError,
@@ -357,6 +377,8 @@ export {
357
377
  NetworkStatusSchema,
358
378
  PendingBlocksOptionsZod,
359
379
  PendingTransactionsOptionsZod,
380
+ RejectedBlocksOptionsZod,
381
+ RejectedTransactionsOptionsZod,
360
382
  StakeEventNames,
361
383
  StakeEventsViewerMoniker,
362
384
  StakeRunnerMoniker,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/network/Status.ts","../../src/providers/DataLake/Runner.ts","../../src/providers/DataLake/Viewer.ts","../../src/providers/signer/XyoSigner.ts","../../src/providers/XyoConnection.ts","../../src/providers/XyoGateway.ts","../../src/providers/XyoGatewayRunner.ts","../../src/providers/XyoRunner.ts","../../src/runners/Block.ts","../../src/runners/Finalization.ts","../../src/runners/Mempool.ts","../../src/validation/block/error.ts","../../src/validation/error.ts","../../src/validation/boundwitness/error.ts","../../src/validation/payload/error.ts","../../src/validation/transaction/error.ts","../../src/viewers/Block.ts","../../src/viewers/BlockInvalidation.ts","../../src/viewers/BlockReward.ts","../../src/viewers/BlockValidation.ts","../../src/viewers/ChainContract.ts","../../src/viewers/ChainStakeViewer.ts","../../src/viewers/Finalization.ts","../../src/viewers/Mempool.ts","../../src/viewers/NetworkStake/NetworkStakeViewer.ts","../../src/viewers/NetworkStake/Rewards/ByPositionViewer.ts","../../src/viewers/NetworkStake/Rewards/ByStakerViewer.ts","../../src/viewers/NetworkStake/Rewards/ByStepViewer.ts","../../src/viewers/NetworkStake/Rewards/TotalViewer.ts","../../src/viewers/NetworkStake/Rewards/Viewer.ts","../../src/viewers/NetworkStakeStepReward.ts","../../src/viewers/Stake.ts","../../src/viewers/StakeEvents.ts","../../src/viewers/StakeTotals.ts","../../src/viewers/StepStake.ts","../../src/viewers/StepViewer.ts","../../src/viewers/TimeSync.ts","../../src/viewers/Transaction.ts","../../src/viewers/TransactionInvalidation.ts","../../src/viewers/TransactionValidation.ts","../../src/viewers/TransferBalance.ts","../../src/viewers/WindowedBlock.ts","../../src/viewers/XyoViewer.ts","../../src/index.ts"],"sourcesContent":["import type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\n\n/** Schema identifier for network status payloads. */\nexport const NetworkStatusSchema = asSchema('network.xyo.chain.status', true)\n/** Schema type for NetworkStatus payloads. */\nexport type NetworkStatusSchema = typeof NetworkStatusSchema\n\n/** Possible states of the network: online, offline, degraded, or unknown. */\nexport type NetworkStatusState = 'online' | 'offline' | 'degraded' | 'unknown'\n\n/** Represents a single network status update with a time range and description. */\nexport interface NetworkStatusUpdate {\n end: number\n start: number\n update: string\n}\n\n/** Fields describing the current network status, including state and optional updates. */\nexport interface NetworkStatusFields {\n description: string\n state: NetworkStatusState\n updates?: NetworkStatusUpdate[]\n}\n\n/** A payload representing the current network status. */\nexport type NetworkStatus = Payload<NetworkStatusFields, NetworkStatusSchema>\n\n/** Type guard that checks whether a value is a NetworkStatus payload. */\nexport const isNetworkStatus = isPayloadOfSchemaType<NetworkStatus>(NetworkStatusSchema)\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { WriteArchivistFunctions } from '@xyo-network/sdk-js'\n\nimport type { DataLakeData, DataLakeProvider } from './Provider.ts'\nimport type { DataLakeViewer, DataLakeViewerMethods } from './Viewer.ts'\n\n/** Moniker identifier for the DataLakeRunner provider. */\nexport const DataLakeRunnerMoniker = 'DataLakeRunner' as const\n/** Type literal for the DataLakeRunner provider moniker. */\nexport type DataLakeRunnerMoniker = typeof DataLakeRunnerMoniker\n\n/** DataLakeRunnerMethods interface. */\nexport interface DataLakeRunnerMethods extends WriteArchivistFunctions<DataLakeData, DataLakeData, DataLakeData, Hash>, DataLakeViewerMethods {}\n\n/** Runner interface for executing DataLake operations. */\nexport interface DataLakeRunner extends DataLakeProvider<DataLakeRunnerMoniker>, DataLakeRunnerMethods, Omit<DataLakeViewer, 'moniker'> {}\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { ReadArchivistFunctions, Sequence } from '@xyo-network/sdk-js'\n\nimport type { DataLakeData, DataLakeProvider } from './Provider.ts'\n\n/** Moniker identifier for the DataLakeViewer provider. */\nexport const DataLakeViewerMoniker = 'DataLakeViewer' as const\n/** Type literal for the DataLakeViewer provider moniker. */\nexport type DataLakeViewerMoniker = typeof DataLakeViewerMoniker\n\n/** DataLakeViewerMethods interface. */\nexport interface DataLakeViewerMethods extends ReadArchivistFunctions<DataLakeData, Hash, Sequence> {}\n\n/** Viewer interface for reading DataLake data. */\nexport interface DataLakeViewer extends DataLakeProvider<DataLakeViewerMoniker>, DataLakeViewerMethods {\n}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Payload, Signed } from '@xyo-network/sdk-js'\nimport type {\n AllowedBlockPayload, ChainId, Provider, SignedHydratedTransactionWithHashMeta, TransactionBoundWitness, TransactionFeesBigInt,\n} from '@xyo-network/xl1-protocol-model'\n\n/** Moniker identifier for the XyoSigner provider. */\nexport const XyoSignerMoniker = 'XyoSigner' as const\n/** Type literal for the XyoSigner provider moniker. */\nexport type XyoSignerMoniker = typeof XyoSignerMoniker\n\n/** XyoSignerMethods interface. */\nexport interface XyoSignerMethods {\n address(): Promisable<Address>\n // The tx passed in must have all the payloads (on and off chain) in the payloads array\n // Returns the signed transaction and the payloads array excluding the off-chain payloads.\n // The return value is ready to be broadcast to block producers\n signTransaction(tx: [TransactionBoundWitness, Payload[]]): Promisable<SignedHydratedTransactionWithHashMeta>\n}\n\n/** XyoSigner interface. */\nexport interface XyoSigner extends XyoSignerMethods, Provider<XyoSignerMoniker> {}\n\n/** XyoSignerDeprecated interface. */\nexport interface XyoSignerDeprecated {\n /** @deprecated use signTransaction instead */\n createSignedTransaction(\n chain: ChainId,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promisable<Signed<TransactionBoundWitness>>\n}\n","import type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeViewer, XyoViewer } from '../viewers/index.ts'\nimport type { DataLakeRunner, DataLakeViewer } from './DataLake/index.ts'\nimport type { XyoNetwork } from './XyoNetwork.ts'\nimport type { XyoRunner } from './XyoRunner.ts'\n\n/** Moniker identifier for the XyoConnection provider. */\nexport const XyoConnectionMoniker = 'XyoConnection' as const\n/** Type literal for the XyoConnection provider moniker. */\nexport type XyoConnectionMoniker = typeof XyoConnectionMoniker\n\n/** XyoConnection interface. */\nexport interface XyoConnection extends Provider<XyoConnectionMoniker> {\n network?: XyoNetwork\n networkStake?: NetworkStakeViewer\n runner?: XyoRunner\n storage?: DataLakeRunner | DataLakeViewer | (DataLakeRunner & DataLakeViewer)\n viewer?: XyoViewer\n}\n","import type { Provider, ProviderMoniker } from '@xyo-network/xl1-protocol-model'\n\nimport type { XyoConnection } from './XyoConnection.ts'\n\n/** Moniker identifier for the XyoGateway provider. */\nexport const XyoGatewayMoniker = 'XyoGateway' as const\n/** Type literal for the XyoGateway provider moniker. */\nexport type XyoGatewayMoniker = typeof XyoGatewayMoniker\n\n/** XyoGatewayMethods interface. */\nexport interface XyoGatewayMethods {}\n\n/** XyoGatewayProvider interface. */\nexport interface XyoGatewayProvider<\n TMoniker extends ProviderMoniker = ProviderMoniker> extends XyoGatewayMethods, Provider<TMoniker> {\n /**\n * Returns the connection provider for this gateway.\n */\n connection: XyoConnection\n}\n\n/** XyoGateway interface. */\nexport interface XyoGateway extends XyoGatewayProvider<XyoGatewayMoniker>, Provider<XyoGatewayMoniker> {\n}\n","import type {\n Address, Hash, Logger, Promisable,\n} from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport type {\n AllowedBlockPayload, AttoXL1, ChainId,\n SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n TransactionFeesBigInt, UnsignedHydratedTransaction, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-model'\n\nimport type { XyoSigner } from './signer/index.ts'\nimport type { XyoGatewayProvider } from './XyoGateway.ts'\n\n/** ConfirmSubmittedTransactionOptions type. */\nexport interface ConfirmSubmittedTransactionOptions {\n /**\n * Number of attempts to confirm the transaction.\n * Defaults to 20.\n */\n attempts?: number\n /**\n * Delay in milliseconds between confirmation attempts.\n * Defaults to 1000 (1 second).\n */\n delay?: number\n /**\n * Optional logger instance for logging progress.\n */\n logger?: Logger\n}\n\n/** Options for Transaction. */\nexport interface TransactionOptions {\n chain?: ChainId\n exp?: XL1BlockNumber\n fees?: TransactionFeesBigInt\n from?: Address\n nbf?: XL1BlockNumber\n}\n\n/** Moniker identifier for the XyoGatewayRunner provider. */\nexport const XyoGatewayRunnerMoniker = 'XyoGatewayRunner' as const\n/** Type literal for the XyoGatewayRunner provider moniker. */\nexport type XyoGatewayRunnerMoniker = typeof XyoGatewayRunnerMoniker\n\n/** XyoGatewayRunnerMethods interface. */\nexport interface XyoGatewayRunnerMethods {\n\n addPayloadsToChain(\n onChain: AllowedBlockPayload[],\n offChain: Payload[],\n options?: TransactionOptions\n ): Promisable<[Hash, SignedHydratedTransactionWithHashMeta]>\n\n addTransactionToChain(\n tx: UnsignedHydratedTransaction | SignedHydratedTransaction,\n offChain?: Payload[]\n ): Promisable<[Hash, SignedHydratedTransactionWithHashMeta]>\n\n confirmSubmittedTransaction(txHash: Hash, options?: ConfirmSubmittedTransactionOptions): Promisable<SignedHydratedTransaction>\n\n send(to: Address, amount: AttoXL1, options?: TransactionOptions): Promisable<Hash>\n sendMany(transfers: Record<Address, AttoXL1>, options?: TransactionOptions): Promisable<Hash>\n}\n\n/** Runner interface for executing XyoGateway operations. */\nexport interface XyoGatewayRunner extends XyoGatewayRunnerMethods, XyoGatewayProvider<XyoGatewayRunnerMoniker> {\n /**\n * Returns the signer for this gateway.\n */\n signer: XyoSigner\n}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type { Provider, SignedHydratedTransaction } from '@xyo-network/xl1-protocol-model'\n\nimport type { MempoolRunner } from '../runners/index.ts'\n\n/** XyoRunnerMethods interface. */\nexport interface XyoRunnerMethods {\n broadcastTransaction(transaction: SignedHydratedTransaction): Promisable<Hash>\n}\n\n/** Moniker identifier for the XyoRunner provider. */\nexport const XyoRunnerMoniker = 'XyoRunner' as const\n/** Type literal for the XyoRunner provider moniker. */\nexport type XyoRunnerMoniker = typeof XyoRunnerMoniker\n\n/** Runner interface for executing Xyo operations. */\nexport interface XyoRunner extends XyoRunnerMethods, Provider<XyoRunnerMoniker> {\n mempool: MempoolRunner\n}\n","import type { WithHashMeta } from '@xyo-network/sdk-js'\nimport type {\n BlockBoundWitness, Provider,\n SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\n\n/** BlockRunnerMethods interface. */\nexport interface BlockRunnerMethods {\n produceNextBlock(head: SignedBlockBoundWitnessWithHashMeta, force: true): Promise<SignedHydratedBlockWithHashMeta>\n produceNextBlock(head: SignedBlockBoundWitnessWithHashMeta, force?: boolean): Promise<SignedHydratedBlockWithHashMeta | undefined>\n}\n\n/** Moniker identifier for the BlockRunner provider. */\nexport const BlockRunnerMoniker = 'BlockRunner' as const\n/** Type literal for the BlockRunner provider moniker. */\nexport type BlockRunnerMoniker = typeof BlockRunnerMoniker\n\n/** Runner interface for executing Block operations. */\nexport interface BlockRunner extends BlockRunnerMethods, Provider<BlockRunnerMoniker> {\n next(head: WithHashMeta<BlockBoundWitness>): Promise<SignedHydratedBlockWithHashMeta | undefined>\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { Provider, SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol-model'\n\n/** FinalizationRunnerMethods interface. */\nexport interface FinalizationRunnerMethods {\n finalizeBlocks(blocks: SignedHydratedBlockWithHashMeta[]): Promise<Hash[]>\n}\n\n/** Moniker identifier for the FinalizationRunner provider. */\nexport const FinalizationRunnerMoniker = 'FinalizationRunner' as const\n/** Type literal for the FinalizationRunner provider moniker. */\nexport type FinalizationRunnerMoniker = typeof FinalizationRunnerMoniker\n\n/** Runner interface for executing Finalization operations. */\nexport interface FinalizationRunner extends FinalizationRunnerMethods, Provider<FinalizationRunnerMoniker> {\n finalizeBlock(block: SignedHydratedBlockWithHashMeta): Promise<Hash>\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedBlock, SignedHydratedTransaction,\n} from '@xyo-network/xl1-protocol-model'\n\n/** MempoolRunnerMethods interface. */\nexport interface MempoolRunnerMethods {\n submitBlocks(blocks: SignedHydratedBlock[]): Promise<Hash[]>\n submitTransactions(transactions: SignedHydratedTransaction[]): Promise<Hash[]>\n}\n\n/** Moniker identifier for the MempoolRunner provider. */\nexport const MempoolRunnerMoniker = 'MempoolRunner' as const\n/** Type literal for the MempoolRunner provider moniker. */\nexport type MempoolRunnerMoniker = typeof MempoolRunnerMoniker\n\n/** DEFAULT_MAX_EXP_AHEAD constant. */\nexport const DEFAULT_MAX_EXP_AHEAD = 1000\n\n/** Options for MempoolPrune. */\nexport interface MempoolPruneOptions {\n batchSize?: number\n maxCheck?: number\n maxPrune?: number\n}\n\n/** Runner interface for executing Mempool operations. */\nexport interface MempoolRunner extends MempoolRunnerMethods, Provider<MempoolRunnerMoniker> {\n prunePendingBlocks(options?: MempoolPruneOptions): Promise<[number, number]>\n prunePendingTransactions(options?: MempoolPruneOptions): Promise<[number, number]>\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport {\n HexZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type {\n BlockBoundWitness, ChainId, HydratedBlock,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\nimport { ValidationError, ValidationErrorZod } from '../error.ts'\n\nexport const BlockValidationErrorZod = ValidationErrorZod.extend({ name: z.literal('BlockValidationError') }).loose()\n\nexport type BlockValidationErrorType = z.infer<typeof BlockValidationErrorZod>\n\n/** Error thrown during Block validation operations. */\nexport class BlockValidationError extends ValidationError<BlockBoundWitness> {}\n\nexport const isBlockValidationError = zodIsFactory(BlockValidationErrorZod)\nexport const asBlockValidationError = zodAsFactory(BlockValidationErrorZod, 'BlockValidationError')\nexport const toBlockValidationError = zodToFactory(BlockValidationErrorZod, 'BlockValidationError')\n\nexport const HydratedBlockValidationErrorZod = ValidationErrorZod.extend({ name: z.literal('HydratedBlockValidationError') }).loose()\n\nexport type HydratedBlockValidationErrorType = z.infer<typeof HydratedBlockValidationErrorZod>\n\n/** Error thrown during HydratedBlock validation operations. */\nexport class HydratedBlockValidationError extends ValidationError<HydratedBlock> {}\n\nexport const isHydratedBlockValidationError = zodIsFactory(HydratedBlockValidationErrorZod)\nexport const asHydratedBlockValidationError = zodAsFactory(HydratedBlockValidationErrorZod, 'HydratedBlockValidationError')\nexport const toHydratedBlockValidationError = zodToFactory(HydratedBlockValidationErrorZod, 'HydratedBlockValidationError')\n\nexport const HydratedBlockStateValidationErrorZod = ValidationErrorZod.extend({\n chainId: HexZod,\n name: z.literal('HydratedBlockStateValidationError'),\n}).loose()\n\nexport type HydratedBlockStateValidationErrorType = z.infer<typeof HydratedBlockStateValidationErrorZod>\n\n/** Error thrown during HydratedBlockState validation operations. */\nexport class HydratedBlockStateValidationError extends ValidationError<HydratedBlock> {\n chainId: ChainId\n constructor(hash: Hash, chainId: ChainId, value: HydratedBlock, message: string, cause?: unknown) {\n super(hash, value, message, cause)\n this.chainId = chainId\n }\n}\n\nexport const isHydratedBlockStateValidationError = zodIsFactory(HydratedBlockStateValidationErrorZod)\nexport const asHydratedBlockStateValidationError = zodAsFactory(HydratedBlockStateValidationErrorZod, 'HydratedBlockStateValidationError')\nexport const toHydratedBlockStateValidationError = zodToFactory(HydratedBlockStateValidationErrorZod, 'HydratedBlockStateValidationError')\n","import {\n type Hash, HashZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\nexport const ValidationErrorZod = z.object({\n hash: HashZod,\n message: z.string().optional(),\n name: z.string(),\n value: z.unknown(),\n}).loose()\n\nexport type ValidationErrorType = z.infer<typeof ValidationErrorZod>\n\n/** Error thrown during validation operations. */\nexport class ValidationError<TValue = Payload> extends Error {\n override cause?: unknown\n hash: Hash\n override message: string\n value: TValue\n constructor(hash: Hash, value: TValue, message: string, cause?: unknown) {\n super(message)\n this.hash = hash\n this.message = message\n this.name = this.constructor.name\n this.value = value\n this.cause = cause\n }\n}\n\n/** Type guard that checks if a value is a valid ValidationError. */\nexport const isValidationError = zodIsFactory(ValidationErrorZod)\nexport const asValidationError = zodAsFactory(ValidationErrorZod, 'ValidationError')\nexport const toValidationError = zodToFactory(ValidationErrorZod, 'ValidationError')\n","import type { BoundWitness, HydratedBoundWitness } from '@xyo-network/sdk-js'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during BoundWitnessvalidation operations. */\nexport class BoundWitnessValidationError extends ValidationError<BoundWitness> {}\n\n/** Type guard that checks if a value is a valid BoundWitnessValidationError. */\nexport const isBoundWitnessValidationError = (\n error: unknown,\n): error is BoundWitnessValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === BoundWitnessValidationError.constructor.name\n )\n}\n\n/** Error thrown during HydratedBoundWitnessvalidation operations. */\nexport class HydratedBoundWitnessValidationError extends ValidationError<HydratedBoundWitness> {}\n\n/** Type guard that checks if a value is a valid HydratedBoundWitnessValidationError. */\nexport const isHydratedBoundWitnessValidationError = (\n error: unknown,\n): error is HydratedBoundWitnessValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === HydratedBoundWitnessValidationError.constructor.name\n )\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport { type Payload } from '@xyo-network/sdk-js'\nimport type { HydratedBlock } from '@xyo-network/xl1-protocol-model'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during InBlockPayload validation operations. */\nexport class InBlockPayloadValidationError extends ValidationError<Payload> {\n block: HydratedBlock\n constructor(hash: Hash, block: HydratedBlock, value: Payload, message: string, cause?: unknown) {\n super(hash, value, message, cause)\n this.block = block\n }\n}\n\n/** Type guard that checks if a value is a valid InBlockPayloadValidationError. */\nexport const isInBlockPayloadValidationError = (\n error: unknown,\n): error is InBlockPayloadValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === InBlockPayloadValidationError.constructor.name\n )\n}\n","import type { HydratedTransaction } from '@xyo-network/xl1-protocol-model'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during HydratedTransactionvalidation operations. */\nexport class HydratedTransactionValidationError extends ValidationError<HydratedTransaction> {}\n\n/** Type guard that checks if a value is a valid HydratedTransactionValidationError. */\nexport const isHydratedTransactionValidationError = (\n error: unknown,\n): error is HydratedTransactionValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === HydratedTransactionValidationError.constructor.name\n )\n}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type { Payload, WithHashMeta } from '@xyo-network/sdk-js'\nimport type {\n BlockRate, ChainId,\n Provider, ProviderMoniker, SignedHydratedBlockWithHashMeta, SingleTimeConfig, TimeDurations, XL1BlockNumber, XL1BlockRange,\n} from '@xyo-network/xl1-protocol-model'\n\n/** BlockViewerMethods interface. */\nexport interface BlockViewerMethods {\n blocksByHash(hash: Hash, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n blocksByNumber(block: XL1BlockNumber, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n currentBlock(): Promisable<SignedHydratedBlockWithHashMeta>\n payloadsByHash(hashes: Hash[]): Promisable<WithHashMeta<Payload>[]>\n}\n\n/** Moniker identifier for the BlockViewer provider. */\nexport const BlockViewerMoniker = 'BlockViewer' as const\n/** Type literal for the BlockViewer provider moniker. */\nexport type BlockViewerMoniker = typeof BlockViewerMoniker\n\n/** Viewer interface for reading Block data. */\nexport interface BlockViewer<TMoniker extends ProviderMoniker = BlockViewerMoniker> extends BlockViewerMethods, Provider<TMoniker> {\n blockByHash(hash: Hash): Promisable<SignedHydratedBlockWithHashMeta | null>\n blockByNumber(block: XL1BlockNumber): Promisable<SignedHydratedBlockWithHashMeta | null>\n chainId(): Promisable<ChainId>\n chainId(blockNumber: XL1BlockNumber): Promisable<ChainId>\n chainId(blockNumber: 'latest'): Promisable<ChainId>\n currentBlockHash(): Promisable<Hash>\n currentBlockNumber(): Promisable<XL1BlockNumber>\n payloadByHash(hash: Hash): Promisable<WithHashMeta<Payload> | null>\n rate(range: XL1BlockRange, timeUnit?: keyof TimeDurations): Promisable<BlockRate>\n stepSizeRate(start: XL1BlockNumber, stepIndex: number, count?: number, timeUnit?: keyof TimeDurations): Promisable<BlockRate>\n timeDurationRate(\n timeConfig: SingleTimeConfig,\n startBlockNumber?: XL1BlockNumber,\n timeUnit?: keyof TimeDurations,\n toleranceMs?: number,\n maxAttempts?: number,\n ): Promisable<BlockRate>\n}\n","import { type Promisable } from '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedBlock, SignedHydratedBlockWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\nimport type { HydratedBlockValidationError } from '../validation/index.ts'\n\n/** BlockInvalidationQualificationZod constant. */\nexport const BlockInvalidationQualificationZod = ChainQualificationZod\n/** BlockInvalidationQualification type. */\nexport type BlockInvalidationQualification = z.infer<typeof BlockInvalidationQualificationZod>\n/** Type guard that checks if a value is a valid BlockInvalidationQualification. */\nexport const isBlockInvalidationQualification = zodIsFactory(BlockInvalidationQualificationZod)\n\n/** BlockInvalidationConfigFieldsZod constant. */\nexport const BlockInvalidationConfigFieldsZod = z.object({\n state: z.boolean().optional(),\n value: z.boolean().optional(),\n})\n\n/** BlockInvalidationConfigZod constant. */\nexport const BlockInvalidationConfigZod = z.union([\n BlockInvalidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n BlockInvalidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n BlockInvalidationConfigFieldsZod,\n z.object({}),\n])\n\n/** BlockInvalidationConfig type. */\nexport type BlockInvalidationConfig = z.infer<typeof BlockInvalidationConfigZod>\n/** Type guard that checks if a value is a valid BlockInvalidationConfig. */\nexport const isBlockInvalidationConfig = zodIsFactory(BlockInvalidationConfigZod)\n\n/**\n * Checks if blocks are invalid (impossible to ever become valid) according to protocol rules.\n */\n\nexport interface BlockInvalidationViewerMethods {\n qualifiedInvalidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockInvalidationQualification]>\n\n qualifiedInvalidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockInvalidationQualification]>\n}\n\n/** Moniker identifier for the BlockInvalidationViewer provider. */\nexport const BlockInvalidationViewerMoniker = 'BlockInvalidationViewer' as const\n/** Type literal for the BlockInvalidationViewer provider moniker. */\nexport type BlockInvalidationViewerMoniker = typeof BlockInvalidationViewerMoniker\n\n/** Viewer interface for reading BlockInvalidation data. */\nexport interface BlockInvalidationViewer extends BlockInvalidationViewerMethods, Provider<BlockInvalidationViewerMoniker> {\n invalidateBlock(\n block: SignedHydratedBlock,\n config?: BlockInvalidationConfig\n ): Promisable<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>\n\n invalidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n invalidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n qualifiedInvalidateBlock(\n block: SignedHydratedBlock,\n config?: BlockInvalidationConfig\n ): Promisable<[HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta, BlockInvalidationQualification]>\n}\n","import type { Promisable } from '@xylabs/sdk-js'\nimport type {\n AttoXL1, Provider, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-model'\n\n/** BlockRewardViewerMethods interface. */\nexport interface BlockRewardViewerMethods {\n // The amount of xl1 to send to the producer from the block reward\n allowedRewardForBlock(block: XL1BlockNumber): Promisable<AttoXL1>\n}\n\n/** Moniker identifier for the BlockRewardViewer provider. */\nexport const BlockRewardViewerMoniker = 'BlockRewardViewer' as const\n/** Type literal for the BlockRewardViewer provider moniker. */\nexport type BlockRewardViewerMoniker = typeof BlockRewardViewerMoniker\n\n/** Viewer interface for reading BlockReward data. */\nexport interface BlockRewardViewer extends BlockRewardViewerMethods, Provider<BlockRewardViewerMoniker> {}\n","import { type Promisable } from '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedBlock, SignedHydratedBlockWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\nimport type { HydratedBlockValidationError } from '../validation/index.ts'\n\n/** BlockValidationQualificationZod constant. */\nexport const BlockValidationQualificationZod = ChainQualificationZod\n/** BlockValidationQualification type. */\nexport type BlockValidationQualification = z.infer<typeof BlockValidationQualificationZod>\n/** Type guard that checks if a value is a valid BlockValidationQualification. */\nexport const isBlockValidationQualification = zodIsFactory(BlockValidationQualificationZod)\n\n/** BlockValidationConfigFieldsZod constant. */\nexport const BlockValidationConfigFieldsZod = z.object({\n value: z.boolean().optional(),\n state: z.boolean().optional(),\n})\n\n/** BlockValidationConfigZod constant. */\nexport const BlockValidationConfigZod = z.union([\n BlockValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n BlockValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n BlockValidationConfigFieldsZod,\n z.object({}),\n])\n\n/** BlockValidationConfig type. */\nexport type BlockValidationConfig = z.infer<typeof BlockValidationConfigZod>\n/** Type guard that checks if a value is a valid BlockValidationConfig. */\nexport const isBlockValidationConfig = zodIsFactory(BlockValidationConfigZod)\n\n/** BlockValidationViewerMethods interface. */\nexport interface BlockValidationViewerMethods {\n qualifiedValidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockValidationQualification]>\n\n qualifiedValidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockValidationQualification]>\n}\n\n/** Moniker identifier for the BlockValidationViewer provider. */\nexport const BlockValidationViewerMoniker = 'BlockValidationViewer' as const\n/** Type literal for the BlockValidationViewer provider moniker. */\nexport type BlockValidationViewerMoniker = typeof BlockValidationViewerMoniker\n\n/**\n * Checks if blocks are valid (currently valid) according to protocol rules. In the case that they are not valid, they may still become valid in the future.\n */\n\nexport interface BlockValidationViewer extends BlockValidationViewerMethods, Provider<BlockValidationViewerMoniker> {\n qualifiedValidateBlock(\n block: SignedHydratedBlock,\n config?: BlockValidationConfig\n ): Promisable<[HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta, BlockValidationQualification]>\n\n validateBlock(\n block: SignedHydratedBlock,\n config?: BlockValidationConfig\n ): Promisable<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>\n\n validateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n validateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n}\n","import type {\n Address, Hash, Promisable,\n} from '@xylabs/sdk-js'\nimport type {\n ChainId, Provider, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-model'\n\n/** ChainContractViewerMethods interface. */\nexport interface ChainContractViewerMethods {\n chainId(): Promisable<ChainId>\n forkedAtBlockNumber(): Promisable<XL1BlockNumber | null>\n forkedAtHash(): Promisable<Hash | null>\n forkedChainId(): Promisable<ChainId | null>\n minWithdrawalBlocks(): Promisable<number>\n rewardsContract(): Promisable<Address>\n stakingTokenAddress(): Promisable<Address>\n}\n\n/** Moniker identifier for the ChainContractViewer provider. */\nexport const ChainContractViewerMoniker = 'ChainContractViewer' as const\n/** Type literal for the ChainContractViewer provider moniker. */\nexport type ChainContractViewerMoniker = typeof ChainContractViewerMoniker\n\n/** Viewer interface for reading ChainContract data. */\nexport interface ChainContractViewer extends ChainContractViewerMethods, Provider<ChainContractViewerMoniker> {\n chainIdAtBlockNumber(blockNumber: XL1BlockNumber | 'latest'): Promisable<ChainId>\n forkedChainContractViewer(): Promisable<ChainContractViewer | null>\n}\n","import type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { ChainContractViewer } from './ChainContract.ts'\nimport type { StakeTotalsViewer } from './StakeTotals.ts'\n\n/** Moniker identifier for the ChainStakeViewer provider. */\nexport const ChainStakeViewerMoniker = 'ChainStakeViewer' as const\n/** Type literal for the ChainStakeViewer provider moniker. */\nexport type ChainStakeViewerMoniker = typeof ChainStakeViewerMoniker\n\n/** Viewer interface for reading ChainStake data. */\nexport interface ChainStakeViewer extends Omit<ChainContractViewer, 'moniker'>, Omit<StakeTotalsViewer, 'moniker'>,\n Provider<ChainStakeViewerMoniker> {\n\n}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type {\n ChainId, Provider, SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-model'\n\n/** FinalizationViewerMethods interface. */\nexport interface FinalizationViewerMethods {\n head(): Promisable<SignedHydratedBlockWithHashMeta>\n}\n\n/** Moniker identifier for the FinalizationViewer provider. */\nexport const FinalizationViewerMoniker = 'FinalizationViewer' as const\n/** Type literal for the FinalizationViewer provider moniker. */\nexport type FinalizationViewerMoniker = typeof FinalizationViewerMoniker\n\n/** Viewer interface for reading Finalization data. */\nexport interface FinalizationViewer extends FinalizationViewerMethods, Provider<FinalizationViewerMoniker> {\n chainId(): Promisable<ChainId>\n headBlock(): Promisable<SignedBlockBoundWitnessWithHashMeta>\n headHash(): Promisable<Hash>\n headNumber(): Promisable<XL1BlockNumber>\n}\n","import { HashZod } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedBlockWithHashMeta, SignedHydratedTransactionWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\nimport { XL1BlockRangeZod } from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\n/** PendingTransactionsOptionsZod constant. */\nexport const PendingTransactionsOptionsZod = z.object({\n cursor: HashZod.optional(),\n limit: z.number().int().positive().optional(),\n window: XL1BlockRangeZod.optional(),\n})\n\n/** PendingTransactionsOptions type. */\nexport type PendingTransactionsOptions = z.infer<typeof PendingTransactionsOptionsZod>\n\n/** PendingBlocksOptionsZod constant. */\nexport const PendingBlocksOptionsZod = z.object({\n cursor: HashZod.optional(),\n limit: z.number().int().positive().optional(),\n window: XL1BlockRangeZod.optional(),\n})\n\n/** PendingBlocksOptions type. */\nexport type PendingBlocksOptions = z.infer<typeof PendingBlocksOptionsZod>\n\n/** MempoolViewerMethods interface. */\nexport interface MempoolViewerMethods {\n pendingBlocks(options?: PendingBlocksOptions): Promise<SignedHydratedBlockWithHashMeta[]>\n pendingTransactions(options?: PendingTransactionsOptions): Promise<SignedHydratedTransactionWithHashMeta[]>\n}\n\n/** Moniker identifier for the MempoolViewer provider. */\nexport const MempoolViewerMoniker = 'MempoolViewer' as const\n/** Type literal for the MempoolViewer provider moniker. */\nexport type MempoolViewerMoniker = typeof MempoolViewerMoniker\n\n/** Viewer interface for reading Mempool data. */\nexport interface MempoolViewer extends MempoolViewerMethods, Provider<MempoolViewerMoniker> {}\n","import type { Promisable } from '@xylabs/sdk-js'\nimport type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsViewer } from './Rewards/index.ts'\n\n/** NetworkStakeViewerMethods interface. */\nexport interface NetworkStakeViewerMethods {\n /** @returns the active stake and the number of active validators [active, block] */\n active(blockNumber?: number): Promisable<[bigint, number]>\n}\n\n/** Moniker identifier for the NetworkStakeViewer provider. */\nexport const NetworkStakeViewerMoniker = 'NetworkStakeViewer' as const\n/** Type literal for the NetworkStakeViewer provider moniker. */\nexport type NetworkStakeViewerMoniker = typeof NetworkStakeViewerMoniker\n\n/** Viewer interface for reading NetworkStake data. */\nexport interface NetworkStakeViewer extends NetworkStakeViewerMethods, Provider<NetworkStakeViewerMoniker> {\n stepRewards?: NetworkStakeStepRewardsViewer\n}\n","import type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsByPositionViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsByPositionViewerMethods interface. */\nexport interface NetworkStakeStepRewardsByPositionViewerMethods extends\n NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByPositionViewerOptions, number> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByPositionViewer provider. */\nexport const NetworkStakeStepRewardsByPositionViewerMoniker = 'NetworkStakeStepRewardsByPositionViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByPositionViewer provider moniker. */\nexport type NetworkStakeStepRewardsByPositionViewerMoniker = typeof NetworkStakeStepRewardsByPositionViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByPosition data. */\nexport interface NetworkStakeStepRewardsByPositionViewer extends NetworkStakeStepRewardsByPositionViewerMethods,\n Provider<NetworkStakeStepRewardsByPositionViewerMoniker> {}\n","import type { Address } from '@xylabs/sdk-js'\nimport type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsByStakerViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsByStakerViewerMethods interface. */\nexport interface NetworkStakeStepRewardsByStakerViewerMethods\n extends NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByStakerViewerOptions, Address> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByStakerViewer provider. */\nexport const NetworkStakeStepRewardsByStakerViewerMoniker = 'NetworkStakeStepRewardsByStakerViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByStakerViewer provider moniker. */\nexport type NetworkStakeStepRewardsByStakerViewerMoniker = typeof NetworkStakeStepRewardsByStakerViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByStaker data. */\nexport interface NetworkStakeStepRewardsByStakerViewer extends NetworkStakeStepRewardsByStakerViewerMethods,\n Provider<NetworkStakeStepRewardsByStakerViewerMoniker> {}\n","import type { Provider, StepIdentityString } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsByStepViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsByStepViewerMethods interface. */\nexport interface NetworkStakeStepRewardsByStepViewerMethods extends\n NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByStepViewerOptions, StepIdentityString> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByStepViewer provider. */\nexport const NetworkStakeStepRewardsByStepViewerMoniker = 'NetworkStakeStepRewardsByStepViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByStepViewer provider moniker. */\nexport type NetworkStakeStepRewardsByStepViewerMoniker = typeof NetworkStakeStepRewardsByStepViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByStep data. */\nexport interface NetworkStakeStepRewardsByStepViewer extends NetworkStakeStepRewardsByStepViewerMethods, Provider<NetworkStakeStepRewardsByStepViewerMoniker> {}\n","import type { AttoXL1, Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsRangeOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsTotalViewerMethods interface. */\nexport interface NetworkStakeStepRewardsTotalViewerMethods extends NetworkStakeStepRewardsViewerMethodsTemplate<NetworkStakeStepRewardsRangeOptions, AttoXL1> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsTotalViewer provider. */\nexport const NetworkStakeStepRewardsTotalViewerMoniker = 'NetworkStakeStepRewardsTotalViewer' as const\n/** Type literal for the NetworkStakeStepRewardsTotalViewer provider moniker. */\nexport type NetworkStakeStepRewardsTotalViewerMoniker = typeof NetworkStakeStepRewardsTotalViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsTotal data. */\nexport interface NetworkStakeStepRewardsTotalViewer extends NetworkStakeStepRewardsTotalViewerMethods, Provider<NetworkStakeStepRewardsTotalViewerMoniker> {}\n","import type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsByPositionViewer } from './ByPositionViewer.ts'\nimport type { NetworkStakeStepRewardsByStakerViewer } from './ByStakerViewer.ts'\nimport type { NetworkStakeStepRewardsByStepViewer } from './ByStepViewer.ts'\nimport type { NetworkStakeStepRewardsTotalViewer } from './TotalViewer.ts'\n\n/** NetworkStakeStepRewardsViewerMethods interface. */\nexport interface NetworkStakeStepRewardsViewerMethods {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsViewer provider. */\nexport const NetworkStakeStepRewardsViewerMoniker = 'NetworkStakeStepRewardsViewer' as const\n/** Type literal for the NetworkStakeStepRewardsViewer provider moniker. */\nexport type NetworkStakeStepRewardsViewerMoniker = typeof NetworkStakeStepRewardsViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewards data. */\nexport interface NetworkStakeStepRewardsViewer extends NetworkStakeStepRewardsViewerMethods, Provider<NetworkStakeStepRewardsViewerMoniker> {\n position?: NetworkStakeStepRewardsByPositionViewer\n staker?: NetworkStakeStepRewardsByStakerViewer\n step?: NetworkStakeStepRewardsByStepViewer\n total?: NetworkStakeStepRewardsTotalViewer\n}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type {\n AttoXL1, Provider, StepIdentity, StepIdentityString,\n} from '@xyo-network/xl1-protocol-model'\n\n/** NetworkStakeStepAddressRewardViewerMethods interface. */\nexport interface NetworkStakeStepAddressRewardViewerMethods {\n // the step rewards for a specific network stakers for all of history\n networkStakeStepRewardAddressHistory(address: Address): Promisable<Record<Address, AttoXL1>>\n\n // the step rewards for a specific network stakers for a given step and block\n networkStakeStepRewardAddressReward(context: StepIdentity, address: Address): Promisable<Record<Address, AttoXL1>>\n\n // the shares for a specific network staker for a given step and block\n networkStakeStepRewardAddressShare(context: StepIdentity, address: Address): Promisable<[/* address shares */bigint, /* total shares */bigint]>\n\n // estimate the current reward weight for a given address at a given step\n networkStakeStepRewardWeightForAddress(context: StepIdentity, address: Address): Promisable<bigint>\n}\n\n/** NetworkStakeStepPoolRewardViewerMethods interface. */\nexport interface NetworkStakeStepPoolRewardViewerMethods {\n\n // all the step rewards for all the network stakers for a given step and block\n networkStakeStepRewardPoolRewards(context: StepIdentity): Promisable<Record<Address, AttoXL1>>\n\n // all the shares for all the network stakers for a given step and block\n networkStakeStepRewardPoolShares(context: StepIdentity): Promisable<Record<Address, bigint>>\n}\n\n/** NetworkStakeStepRewardPositionViewerMethods interface. */\nexport interface NetworkStakeStepRewardPositionViewerMethods {\n // estimate the current weight for a given position at a given step\n networkStakeStepRewardPositionWeight(context: StepIdentity, position: number): Promisable<bigint>\n\n // estimate the potential loss for removing a given position at a given step\n networkStakeStepRewardPotentialPositionLoss(context: StepIdentity, position: number): Promisable<AttoXL1>\n}\n\n/** NetworkStakeStepRewardViewerMethods interface. */\nexport interface NetworkStakeStepRewardViewerMethods extends\n NetworkStakeStepPoolRewardViewerMethods,\n NetworkStakeStepAddressRewardViewerMethods,\n NetworkStakeStepRewardPositionViewerMethods\n{\n networkStakeStepRewardClaimedByAddress(address: Address): Promisable<AttoXL1>\n\n // the share & total rewards for a given position\n networkStakeStepRewardForPosition(position: number, range: [number, number]): Promisable<[AttoXL1, AttoXL1]>\n\n // estimate the total possible block rewards for a given step\n networkStakeStepRewardForStep(context: StepIdentity): Promisable<AttoXL1>\n\n // the share & total rewards for a given step and block for a given position\n networkStakeStepRewardForStepForPosition(context: StepIdentity, position: number): Promisable<[AttoXL1, AttoXL1]>\n\n // the predictable random number for a given step and block\n networkStakeStepRewardRandomizer(context: StepIdentity): Promisable<AttoXL1>\n\n // the total number of stakers for a given step and block\n networkStakeStepRewardStakerCount(context: StepIdentity): Promisable<number>\n\n networkStakeStepRewardUnclaimedByAddress(address: Address): Promisable<AttoXL1>\n\n // the share & total rewards for a given position for each step in range\n networkStakeStepRewardsForPosition(position: number,\n range: [number, number]): Promisable<Record<StepIdentityString, [AttoXL1, AttoXL1]>>\n\n // the total rewards for a given range\n networkStakeStepRewardsForRange(range: [number, number]): Promisable<AttoXL1>\n\n // the total rewards for a given range and step level\n networkStakeStepRewardsForStepLevel(stepLevel: number, range: [number, number]): Promisable<AttoXL1>\n}\n\n/** Moniker identifier for the NetworkStakeStepRewardViewer provider. */\nexport const NetworkStakeStepRewardViewerMoniker = 'NetworkStakeStepRewardViewer' as const\n/** Type literal for the NetworkStakeStepRewardViewer provider moniker. */\nexport type NetworkStakeStepRewardViewerMoniker = typeof NetworkStakeStepRewardViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepReward data. */\nexport interface NetworkStakeStepRewardViewer extends NetworkStakeStepRewardViewerMethods, Provider<NetworkStakeStepRewardViewerMoniker> {}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Position, Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { StakeEventsViewer } from './StakeEvents.ts'\n\n/** StakeViewerProperties interface. */\nexport interface StakeViewerProperties {\n stakeEvents: StakeEventsViewer\n}\n\n/** StakeViewerMethods interface. */\nexport interface StakeViewerMethods {\n minWithdrawalBlocks(): Promisable<number>\n rewardsContract(): Promisable<Address>\n stakeById(id: number): Promisable<Position>\n stakeByStaker(staker: Address, slot: number): Promisable<Position>\n stakesByStaked(staked: Address): Promisable<Position[]>\n stakesByStaker(staker: Address): Promisable<Position[]>\n stakingTokenAddress(): Promisable<Address>\n}\n\n/** Moniker identifier for the StakeViewer provider. */\nexport const StakeViewerMoniker = 'StakeViewer' as const\n/** Type literal for the StakeViewer provider moniker. */\nexport type StakeViewerMoniker = typeof StakeViewerMoniker\n\n/** Viewer interface for reading Stake data. */\nexport interface StakeViewer extends StakeViewerMethods, StakeViewerProperties, Provider<StakeViewerMoniker> {\n activeStakes(): Promisable<Position[]>\n removedStakes(): Promisable<Position[]>\n withdrawnStakes(): Promisable<Position[]>\n}\n\n/** Moniker identifier for the StakeRunner provider. */\nexport const StakeRunnerMoniker = 'StakeRunner' as const\n/** Type literal for the StakeRunner provider moniker. */\nexport type StakeRunnerMoniker = typeof StakeRunnerMoniker\n\n/** Runner interface for executing Stake operations. */\nexport interface StakeRunner extends Provider<StakeRunnerMoniker> {\n addStake(staked: string, amount: bigint): Promise<boolean>\n removeStake(slot: bigint): Promise<boolean>\n withdrawStake(slot: bigint): Promise<boolean>\n}\n","import type {\n Address, JsonObject, Promisable,\n} from '@xylabs/sdk-js'\nimport type { Provider } from '@xyo-network/xl1-protocol-model'\n\n/** StakeEventNames constant. */\nexport const StakeEventNames = ['StakeAdded', 'StakeRemoved', 'StakeWithdrawn'] as const\n/** StakeEventName type. */\nexport type StakeEventName = typeof StakeEventNames[number]\n\n/** ExternalEvent interface. */\nexport interface ExternalEvent<TName extends string = string, TArgs extends JsonObject = {}> {\n args: TArgs\n name: TName\n time: number // usually block number\n}\n\n/** EventFilter interface. */\nexport interface EventFilter<TName extends string = string> {\n name?: TName\n time?: [number, number]\n}\n\n/** StakeEventArgs interface. */\nexport interface StakeEventArgs {\n amount: bigint\n id: number\n staked: Address\n staker: Address\n}\n\n/** StakeEventFilterArgs type. */\nexport type StakeEventFilterArgs = Partial<Pick<StakeEventArgs, 'staker' | 'staked' | 'id'>>\n\n/** StakeEventFilter interface. */\nexport interface StakeEventFilter<TName extends StakeEventName = StakeEventName> extends EventFilter<TName> {\n args?: StakeEventFilterArgs\n}\n\n/** StakeEvent interface. */\nexport interface StakeEvent<TName extends StakeEventName = StakeEventName> extends ExternalEvent<TName> {\n args: StakeEventArgs\n}\n\n/** Moniker identifier for the StakeEventsViewer provider. */\nexport const StakeEventsViewerMoniker = 'StakeEventsViewer' as const\n/** Type literal for the StakeEventsViewer provider moniker. */\nexport type StakeEventsViewerMoniker = typeof StakeEventsViewerMoniker\n\n/** Viewer interface for reading StakeEvents data. */\nexport interface StakeEventsViewer extends Provider<StakeEventsViewerMoniker> {\n positionCount(range: [number, number | 'latest']): Promisable<number>\n stakeEvents<TName extends StakeEventName>(range: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promisable<StakeEvent<TName>[]>\n}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Provider } from '@xyo-network/xl1-protocol-model'\n\n/** StakeTotalsViewerMethods interface. */\nexport interface StakeTotalsViewerMethods {\n active(time?: number): Promisable<bigint>\n activeByStaked(staked: Address, time?: number): Promisable<bigint>\n activeByStaker(address: Address, time?: number): Promisable<bigint>\n pending(time?: number): Promisable<bigint>\n pendingByStaker(staker: Address, time?: number): Promisable<bigint>\n withdrawn(time?: number): Promisable<bigint>\n withdrawnByStaker(staker: Address, time?: number): Promisable<bigint>\n}\n\n/** Moniker identifier for the StakeTotalsViewer provider. */\nexport const StakeTotalsViewerMoniker = 'StakeTotalsViewer' as const\n/** Type literal for the StakeTotalsViewer provider moniker. */\nexport type StakeTotalsViewerMoniker = typeof StakeTotalsViewerMoniker\n\n/** Viewer interface for reading StakeTotals data. */\nexport interface StakeTotalsViewer extends StakeTotalsViewerMethods, Provider<StakeTotalsViewerMoniker> {}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Provider, StepIdentity } from '@xyo-network/xl1-protocol-model'\n\n/** StepStakeViewerMethods interface. */\nexport interface StepStakeViewerMethods {\n // this is the prorated stake for all addresses in the step\n stepStake: (step: StepIdentity) => Promisable<Record<Address, bigint>>\n\n // this is the prorated stake for a specific address in the step\n stepStakeForAddress: (address: Address, step: StepIdentity) => Promisable<bigint>\n}\n\n/* Prorated stake is the amount of stake that is allocated to a specific step\n based on the total stake and the number of steps. This is used to ensure\n that the stake is distributed fairly among all steps.\n\n The simplest way to calculate it is to enumerate every XL1 block in the step add the current stake at that point to a counter.\n For example, if an Address had a stake of 100 for the entire time, then the prorated stake would be 100 * number of blocks in the step.\n*/\n\nexport const StepStakeViewerMoniker = 'StepStakeViewer' as const\n/** Type literal for the StepStakeViewer provider moniker. */\nexport type StepStakeViewerMoniker = typeof StepStakeViewerMoniker\n\n/** Viewer interface for reading StepStake data. */\nexport interface StepStakeViewer extends StepStakeViewerMethods, Provider<StepStakeViewerMoniker> {}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type {\n Position, PositionId, Provider, StepIdentity,\n} from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsViewer } from './NetworkStake/index.ts'\n\n/** Options for PagedPositions. */\nexport interface PagedPositionsOptions {\n cursor?: PositionId\n limit?: number\n}\n\n/** Options for PagedStakers. */\nexport interface PagedStakersOptions {\n cursor?: Address\n limit?: number\n}\n\n/** StepStatistics interface. */\nexport interface StepStatistics {\n endTime: number\n startTime: number\n}\n\n/** StepViewerMethods interface. */\nexport interface StepViewerMethods {\n\n // the total number of positions for a given step\n positionCount(step: StepIdentity): Promisable<number>\n\n positions(step: StepIdentity, options?: PagedPositionsOptions): Promisable<Position[]>\n\n // the predictable random number for a given step\n randomizer(step: StepIdentity): Promisable<bigint>\n\n // total amount staked during a given step\n stake(step: StepIdentity): Promisable<bigint>\n\n // the total number of stakers for a given step\n stakerCount(step: StepIdentity): Promisable<number>\n\n stakers(step: StepIdentity, options?: PagedStakersOptions): Promisable<Address[]>\n\n // if no positionId is supplied, returns the total stake weight for the step\n weight(step: StepIdentity, positionId?: PositionId): Promisable<bigint>\n}\n\n/** Moniker identifier for the StepViewer provider. */\nexport const StepViewerMoniker = 'StepViewer' as const\n/** Type literal for the StepViewer provider moniker. */\nexport type StepViewerMoniker = typeof StepViewerMoniker\n\n/** Viewer interface for reading Step data. */\nexport interface StepViewer extends StepViewerMethods, Provider<StepViewerMoniker> {\n rewards?: NetworkStakeStepRewardsViewer\n}\n","import type { Promisable } from '@xylabs/sdk-js'\nimport type {\n Provider, TimeDomain, TimePayload,\n} from '@xyo-network/xl1-protocol-model'\n\n/** TimeSyncViewerMethods interface. */\nexport interface TimeSyncViewerMethods {\n /** Convert time between different domains */\n convertTime(fromDomain: TimeDomain, toDomain: TimeDomain, from: number): Promisable<number>\n\n /** Get the current time for a given domain */\n currentTime(domain: TimeDomain): Promisable<[string, number]>\n\n /** Get the current time for a given domain */\n currentTimeAndHash(domain: TimeDomain): Promisable<[number, string | null]>\n\n /** Create a TimePayload with the current time from all configured domains */\n currentTimePayload(): Promisable<TimePayload>\n}\n\n/** Moniker identifier for the TimeSyncViewer provider. */\nexport const TimeSyncViewerMoniker = 'TimeSyncViewer' as const\n/** Type literal for the TimeSyncViewer provider moniker. */\nexport type TimeSyncViewerMoniker = typeof TimeSyncViewerMoniker\n\n/** Viewer interface for reading TimeSync data. */\nexport interface TimeSyncViewer extends TimeSyncViewerMethods, Provider<TimeSyncViewerMoniker> {}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type {\n Provider, ProviderMoniker, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\n\n/** TransactionViewerMethods interface. */\nexport interface TransactionViewerMethods {\n byHash(transactionHash: Hash): Promisable<SignedHydratedTransactionWithHashMeta | null>\n\n /** @deprecated use .byBlockHashAndIndex instead */\n transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promisable<SignedHydratedTransaction | null>\n /** @deprecated use .byBlockNumberAndIndex instead */\n transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promisable<SignedHydratedTransaction | null>\n /** @deprecated use .byHash instead */\n transactionByHash(transactionHash: Hash): Promisable<SignedHydratedTransaction | null>\n}\n\n/** Moniker identifier for the TransactionViewer provider. */\nexport const TransactionViewerMoniker = 'TransactionViewer' as const\n/** Type literal for the TransactionViewer provider moniker. */\nexport type TransactionViewerMoniker = typeof TransactionViewerMoniker\n\n/** Viewer interface for reading Transaction data. */\nexport interface TransactionViewer<TMoniker extends ProviderMoniker = TransactionViewerMoniker> extends TransactionViewerMethods, Provider<TMoniker> {\n byBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promisable<SignedHydratedTransactionWithHashMeta | null>\n byBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promisable<SignedHydratedTransactionWithHashMeta | null>\n}\n","import { type Promisable } from '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\nimport type { HydratedTransactionValidationError } from '../validation/index.ts'\n\n/** TransactionInvalidationQualificationZod constant. */\nexport const TransactionInvalidationQualificationZod = ChainQualificationZod\n/** TransactionInvalidationQualification type. */\nexport type TransactionInvalidationQualification = z.infer<typeof TransactionInvalidationQualificationZod>\n/** Type guard that checks if a value is a valid TransactionInvalidationQualification. */\nexport const isTransactionInvalidationQualification = zodIsFactory(TransactionInvalidationQualificationZod)\n\n/** TransactionInvalidationConfigFieldsZod constant. */\nexport const TransactionInvalidationConfigFieldsZod = z.object({\n state: z.boolean().optional(),\n value: z.boolean().optional(),\n})\n\n/** TransactionInvalidationConfigZod constant. */\nexport const TransactionInvalidationConfigZod = z.union([\n TransactionInvalidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n TransactionInvalidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n TransactionInvalidationConfigFieldsZod,\n z.object({}),\n])\n\n/** TransactionInvalidationConfig type. */\nexport type TransactionInvalidationConfig = z.infer<typeof TransactionInvalidationConfigZod>\n/** Type guard that checks if a value is a valid TransactionInvalidationConfig. */\nexport const isTransactionInvalidationConfig = zodIsFactory(TransactionInvalidationConfigZod)\n\n/**\n * Checks if transactions are invalid (impossible to ever become valid) according to protocol rules.\n */\n\nexport interface TransactionInvalidationViewerMethods {\n qualifiedInvalidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionInvalidationConfig\n ): Promisable<[(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[], TransactionInvalidationQualification]>\n}\n\n/** Moniker identifier for the TransactionInvalidationViewer provider. */\nexport const TransactionInvalidationViewerMoniker = 'TransactionInvalidationViewer' as const\n/** Type literal for the TransactionInvalidationViewer provider moniker. */\nexport type TransactionInvalidationViewerMoniker = typeof TransactionInvalidationViewerMoniker\n\n/** Viewer interface for reading TransactionInvalidation data. */\nexport interface TransactionInvalidationViewer extends TransactionInvalidationViewerMethods, Provider<TransactionInvalidationViewerMoniker> {\n invalidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionInvalidationConfig\n ): Promisable<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>\n\n invalidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionInvalidationConfig\n ): Promisable<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>\n\n qualifiedInvalidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionInvalidationConfig\n ): Promisable<[HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta, TransactionInvalidationQualification]>\n}\n","import { type Promisable } from '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\nimport type { HydratedTransactionValidationError } from '../validation/index.ts'\n\n/** TransactionValidationQualificationZod constant. */\nexport const TransactionValidationQualificationZod = ChainQualificationZod\n/** TransactionValidationQualification type. */\nexport type TransactionValidationQualification = z.infer<typeof TransactionValidationQualificationZod>\n/** Type guard that checks if a value is a valid TransactionValidationQualification. */\nexport const isTransactionValidationQualification = zodIsFactory(TransactionValidationQualificationZod)\n\n/** TransactionValidationConfigFieldsZod constant. */\nexport const TransactionValidationConfigFieldsZod = z.object({\n value: z.boolean().optional(),\n state: z.boolean().optional(),\n})\n\n/** TransactionValidationConfigZod constant. */\nexport const TransactionValidationConfigZod = z.union([\n TransactionValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n TransactionValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n TransactionValidationConfigFieldsZod,\n z.object({}),\n])\n\n/** TransactionValidationConfig type. */\nexport type TransactionValidationConfig = z.infer<typeof TransactionValidationConfigZod>\n/** Type guard that checks if a value is a valid TransactionValidationConfig. */\nexport const isTransactionValidationConfig = zodIsFactory(TransactionValidationConfigZod)\n\n/** TransactionValidationViewerMethods interface. */\nexport interface TransactionValidationViewerMethods {\n qualifiedValidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionValidationConfig\n ): Promisable<[(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[], TransactionValidationQualification]>\n}\n\n/** Moniker identifier for the TransactionValidationViewer provider. */\nexport const TransactionValidationViewerMoniker = 'TransactionValidationViewer' as const\n/** Type literal for the TransactionValidationViewer provider moniker. */\nexport type TransactionValidationViewerMoniker = typeof TransactionValidationViewerMoniker\n\n/**\n * Checks if transactions are valid (currently valid) according to protocol rules.\n * In the case that they are not valid, they may still become valid in the future.\n */\n\nexport interface TransactionValidationViewer extends TransactionValidationViewerMethods, Provider<TransactionValidationViewerMoniker> {\n qualifiedValidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionValidationConfig\n ): Promisable<[HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta, TransactionValidationQualification]>\n\n validateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionValidationConfig\n ): Promisable<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>\n\n validateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionValidationConfig\n ): Promisable<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>\n}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Signed } from '@xyo-network/sdk-js'\nimport type {\n AttoXL1, BlockBoundWitness, Provider, TransactionBoundWitness, Transfer, XL1BlockRange,\n} from '@xyo-network/xl1-protocol-model'\n\n/** TransferBalanceHistoryItem type. */\nexport type TransferBalanceHistoryItem = [\n Signed<BlockBoundWitness> /* block */,\n Signed<TransactionBoundWitness> | null,\n Transfer, /* the actual transfer payload */\n]\n/** TransferPair type. */\nexport type TransferPair = [Address, Address]\n\n/** TransferBalancesViewerMethods interface. */\nexport interface TransferBalancesViewerMethods {\n transferBalances(address: Address[]): Promisable<Partial<Record<Address, Record<Address, AttoXL1>>>>\n transferBalancesHistories(address: Address[]): Promisable<Partial<Record<Address, Record<Address, TransferBalanceHistoryItem[]>>>>\n transferPairBalances(address: TransferPair[]): Promisable<Partial<Record<Address, Record<Address, AttoXL1>>>>\n transferPairBalancesHistories(address: TransferPair[]): Promisable<Partial<Record<Address, Record<Address, TransferBalanceHistoryItem[]>>>>\n}\n\n/** Moniker identifier for the TransferBalanceViewer provider. */\nexport const TransferBalanceViewerMoniker = 'TransferBalanceViewer' as const\n/** Type literal for the TransferBalanceViewer provider moniker. */\nexport type TransferBalanceViewerMoniker = typeof TransferBalanceViewerMoniker\n\n/** Viewer interface for reading TransferBalance data. */\nexport interface TransferBalanceViewer extends TransferBalancesViewerMethods, Provider<TransferBalanceViewerMoniker> {\n transferBalance(address: Address): Promisable<AttoXL1>\n transferBalanceHistory(address: Address, range?: XL1BlockRange): Promisable<TransferBalanceHistoryItem[]>\n transferPairBalance(address: TransferPair): Promisable<AttoXL1>\n transferPairBalanceHistory(address: TransferPair): Promisable<TransferBalanceHistoryItem[]>\n}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type {\n HydratedBlockWithHashMeta, Provider, ProviderMoniker,\n} from '@xyo-network/xl1-protocol-model'\n\nimport type { BlockViewerMethods } from './Block.ts'\n\ntype ExtendableBlockViewerMethods = Omit<BlockViewerMethods, 'rate' | 'stepSizeRate' | 'timeDurationRate'>\n\n/** WindowedBlockViewerMethods interface. */\nexport interface WindowedBlockViewerMethods extends ExtendableBlockViewerMethods {\n blocksByTransactionHashes(hashes: Hash[]): Promisable<HydratedBlockWithHashMeta[]>\n}\n\n/** Moniker identifier for the WindowedBlockViewer provider. */\nexport const WindowedBlockViewerMoniker = 'WindowedBlockViewer' as const\n/** Type literal for the WindowedBlockViewer provider moniker. */\nexport type WindowedBlockViewerMoniker = typeof WindowedBlockViewerMoniker\n\n/** Viewer interface for reading WindowedBlock data. */\nexport interface WindowedBlockViewer<TMoniker extends ProviderMoniker = WindowedBlockViewerMoniker> extends WindowedBlockViewerMethods, Provider<TMoniker> {\n blockByTransactionHash(hash: Hash): Promisable<HydratedBlockWithHashMeta | null>\n}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type {\n AccountBalanceHistoryItem, AccountBalanceViewer, AttoXL1,\n ChainQualifiedConfig, Provider,\n} from '@xyo-network/xl1-protocol-model'\n\nimport type { BlockViewer, BlockViewerMethods } from './Block.ts'\nimport type { FinalizationViewer } from './Finalization.ts'\nimport type { ForkViewerMethods } from './Fork.ts'\nimport type { MempoolViewer } from './Mempool.ts'\nimport type { NetworkStakeViewer } from './NetworkStake/index.ts'\nimport type { NetworkStakeStepRewardViewerMethods } from './NetworkStakeStepReward.ts'\nimport type { StakeViewer, StakeViewerMethods } from './Stake.ts'\nimport type { StepViewer } from './StepViewer.ts'\nimport type { TimeSyncViewer } from './TimeSync.ts'\nimport type { TransactionViewer, TransactionViewerMethods } from './Transaction.ts'\n\n/** XyoViewerMethods interface. */\nexport interface XyoViewerMethods extends\n NetworkStakeStepRewardViewerMethods, BlockViewerMethods,\n Omit<TransactionViewerMethods, 'byHash'>, Omit<\n StakeViewerMethods, 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'\n | 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'\n >, ForkViewerMethods {\n /** @deprecated Use .account.balance.accountBalance instead */\n accountBalance(address: Address, config?: ChainQualifiedConfig): Promisable<AttoXL1>\n /** @deprecated Use .account.balance.accountBalanceHistory instead */\n accountBalanceHistory(address: Address, config?: ChainQualifiedConfig): Promisable<AccountBalanceHistoryItem[]>\n}\n\n/** XyoViewerMethodsV2 interface. */\nexport interface XyoViewerMethodsV2 {\n\n}\n\n/** Moniker identifier for the XyoViewer provider. */\nexport const XyoViewerMoniker = 'XyoViewer' as const\n/** Type literal for the XyoViewer provider moniker. */\nexport type XyoViewerMoniker = typeof XyoViewerMoniker\n\n/** Viewer interface for reading Xyo data. */\nexport interface XyoViewer extends Omit<BlockViewer, 'moniker'>, XyoViewerMethods,\n Omit<\n StakeViewerMethods, 'moniker' | 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'\n | 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'\n >, Provider<XyoViewerMoniker> {\n account: {\n balance: AccountBalanceViewer\n }\n block: BlockViewer\n finalization: FinalizationViewer\n mempool: MempoolViewer\n networkStake: NetworkStakeViewer\n stake: StakeViewer\n step: StepViewer\n time: TimeSyncViewer\n transaction: TransactionViewer\n}\n\n/** XyoViewerV2 interface. */\nexport interface XyoViewerV2 extends XyoViewerMethodsV2, Provider<XyoViewerMoniker> {\n account: {\n balance: AccountBalanceViewer\n }\n block: BlockViewer\n finalization: FinalizationViewer\n mempool: MempoolViewer\n networkStake: NetworkStakeViewer\n stake: StakeViewer\n step: StepViewer\n time: TimeSyncViewer\n transaction: TransactionViewer\n}\n","export * from './network/index.ts'\nexport * from './OpenTelemetryProviders.ts'\nexport * from './permissions/index.ts'\nexport * from './providers/index.ts'\nexport * from './repository/index.ts'\nexport * from './runners/index.ts'\nexport * from './validation/index.ts'\nexport * from './viewers/index.ts'\nexport * from '@xyo-network/xl1-protocol-model'\n"],"mappings":"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","names":["zodAsFactory","zodIsFactory","zodToFactory","z","z","zodIsFactory","zodAsFactory","zodToFactory","zodIsFactory","z","zodIsFactory","ChainQualificationZod","ChainQualifiedHeadConfigZod","ChainQualifiedRangeConfigZod","z","HashZod","z","zodIsFactory","ChainQualificationZod","ChainQualifiedHeadConfigZod","ChainQualifiedRangeConfigZod","z","zodIsFactory","ChainQualificationZod","ChainQualifiedHeadConfigZod","ChainQualifiedRangeConfigZod","z"]}
1
+ {"version":3,"sources":["../../src/network/Status.ts","../../src/providers/DataLake/Runner.ts","../../src/providers/DataLake/Viewer.ts","../../src/providers/signer/XyoSigner.ts","../../src/providers/XyoConnection.ts","../../src/providers/XyoGateway.ts","../../src/providers/XyoGatewayRunner.ts","../../src/providers/XyoRunner.ts","../../src/runners/Block.ts","../../src/runners/DeadLetterQueue.ts","../../src/runners/Finalization.ts","../../src/runners/Mempool.ts","../../src/validation/block/error.ts","../../src/validation/error.ts","../../src/validation/boundwitness/error.ts","../../src/validation/payload/error.ts","../../src/validation/transaction/error.ts","../../src/viewers/Block.ts","../../src/viewers/BlockInvalidation.ts","../../src/viewers/BlockReward.ts","../../src/viewers/BlockValidation.ts","../../src/viewers/ChainContract.ts","../../src/viewers/ChainStakeViewer.ts","../../src/viewers/DeadLetterQueue.ts","../../src/viewers/Finalization.ts","../../src/viewers/Mempool.ts","../../src/viewers/NetworkStake/NetworkStakeViewer.ts","../../src/viewers/NetworkStake/Rewards/ByPositionViewer.ts","../../src/viewers/NetworkStake/Rewards/ByStakerViewer.ts","../../src/viewers/NetworkStake/Rewards/ByStepViewer.ts","../../src/viewers/NetworkStake/Rewards/TotalViewer.ts","../../src/viewers/NetworkStake/Rewards/Viewer.ts","../../src/viewers/NetworkStakeStepReward.ts","../../src/viewers/Stake.ts","../../src/viewers/StakeEvents.ts","../../src/viewers/StakeTotals.ts","../../src/viewers/StepStake.ts","../../src/viewers/StepViewer.ts","../../src/viewers/TimeSync.ts","../../src/viewers/Transaction.ts","../../src/viewers/TransactionInvalidation.ts","../../src/viewers/TransactionValidation.ts","../../src/viewers/TransferBalance.ts","../../src/viewers/WindowedBlock.ts","../../src/viewers/XyoViewer.ts","../../src/index.ts"],"sourcesContent":["import type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\n\n/** Schema identifier for network status payloads. */\nexport const NetworkStatusSchema = asSchema('network.xyo.chain.status', true)\n/** Schema type for NetworkStatus payloads. */\nexport type NetworkStatusSchema = typeof NetworkStatusSchema\n\n/** Possible states of the network: online, offline, degraded, or unknown. */\nexport type NetworkStatusState = 'online' | 'offline' | 'degraded' | 'unknown'\n\n/** Represents a single network status update with a time range and description. */\nexport interface NetworkStatusUpdate {\n end: number\n start: number\n update: string\n}\n\n/** Fields describing the current network status, including state and optional updates. */\nexport interface NetworkStatusFields {\n description: string\n state: NetworkStatusState\n updates?: NetworkStatusUpdate[]\n}\n\n/** A payload representing the current network status. */\nexport type NetworkStatus = Payload<NetworkStatusFields, NetworkStatusSchema>\n\n/** Type guard that checks whether a value is a NetworkStatus payload. */\nexport const isNetworkStatus = isPayloadOfSchemaType<NetworkStatus>(NetworkStatusSchema)\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { WriteArchivistFunctions } from '@xyo-network/sdk-js'\n\nimport type { DataLakeData, DataLakeProvider } from './Provider.ts'\nimport type { DataLakeViewer, DataLakeViewerMethods } from './Viewer.ts'\n\n/** Moniker identifier for the DataLakeRunner provider. */\nexport const DataLakeRunnerMoniker = 'DataLakeRunner' as const\n/** Type literal for the DataLakeRunner provider moniker. */\nexport type DataLakeRunnerMoniker = typeof DataLakeRunnerMoniker\n\n/** DataLakeRunnerMethods interface. */\nexport interface DataLakeRunnerMethods extends WriteArchivistFunctions<DataLakeData, DataLakeData, DataLakeData, Hash>, DataLakeViewerMethods {}\n\n/** Runner interface for executing DataLake operations. */\nexport interface DataLakeRunner extends DataLakeProvider<DataLakeRunnerMoniker>, DataLakeRunnerMethods, Omit<DataLakeViewer, 'moniker'> {}\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { ReadArchivistFunctions, Sequence } from '@xyo-network/sdk-js'\n\nimport type { DataLakeData, DataLakeProvider } from './Provider.ts'\n\n/** Moniker identifier for the DataLakeViewer provider. */\nexport const DataLakeViewerMoniker = 'DataLakeViewer' as const\n/** Type literal for the DataLakeViewer provider moniker. */\nexport type DataLakeViewerMoniker = typeof DataLakeViewerMoniker\n\n/** DataLakeViewerMethods interface. */\nexport interface DataLakeViewerMethods extends ReadArchivistFunctions<DataLakeData, Hash, Sequence> {}\n\n/** Viewer interface for reading DataLake data. */\nexport interface DataLakeViewer extends DataLakeProvider<DataLakeViewerMoniker>, DataLakeViewerMethods {\n}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Payload, Signed } from '@xyo-network/sdk-js'\nimport type {\n AllowedBlockPayload, ChainId, Provider, SignedHydratedTransactionWithHashMeta, TransactionBoundWitness, TransactionFeesBigInt,\n} from '@xyo-network/xl1-protocol-model'\n\n/** Moniker identifier for the XyoSigner provider. */\nexport const XyoSignerMoniker = 'XyoSigner' as const\n/** Type literal for the XyoSigner provider moniker. */\nexport type XyoSignerMoniker = typeof XyoSignerMoniker\n\n/** XyoSignerMethods interface. */\nexport interface XyoSignerMethods {\n address(): Promisable<Address>\n // The tx passed in must have all the payloads (on and off chain) in the payloads array\n // Returns the signed transaction and the payloads array excluding the off-chain payloads.\n // The return value is ready to be broadcast to block producers\n signTransaction(tx: [TransactionBoundWitness, Payload[]]): Promisable<SignedHydratedTransactionWithHashMeta>\n}\n\n/** XyoSigner interface. */\nexport interface XyoSigner extends XyoSignerMethods, Provider<XyoSignerMoniker> {}\n\n/** XyoSignerDeprecated interface. */\nexport interface XyoSignerDeprecated {\n /** @deprecated use signTransaction instead */\n createSignedTransaction(\n chain: ChainId,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promisable<Signed<TransactionBoundWitness>>\n}\n","import type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeViewer, XyoViewer } from '../viewers/index.ts'\nimport type { DataLakeRunner, DataLakeViewer } from './DataLake/index.ts'\nimport type { XyoNetwork } from './XyoNetwork.ts'\nimport type { XyoRunner } from './XyoRunner.ts'\n\n/** Moniker identifier for the XyoConnection provider. */\nexport const XyoConnectionMoniker = 'XyoConnection' as const\n/** Type literal for the XyoConnection provider moniker. */\nexport type XyoConnectionMoniker = typeof XyoConnectionMoniker\n\n/** XyoConnection interface. */\nexport interface XyoConnection extends Provider<XyoConnectionMoniker> {\n network?: XyoNetwork\n networkStake?: NetworkStakeViewer\n runner?: XyoRunner\n storage?: DataLakeRunner | DataLakeViewer | (DataLakeRunner & DataLakeViewer)\n viewer?: XyoViewer\n}\n","import type { Provider, ProviderMoniker } from '@xyo-network/xl1-protocol-model'\n\nimport type { XyoConnection } from './XyoConnection.ts'\n\n/** Moniker identifier for the XyoGateway provider. */\nexport const XyoGatewayMoniker = 'XyoGateway' as const\n/** Type literal for the XyoGateway provider moniker. */\nexport type XyoGatewayMoniker = typeof XyoGatewayMoniker\n\n/** XyoGatewayMethods interface. */\nexport interface XyoGatewayMethods {}\n\n/** XyoGatewayProvider interface. */\nexport interface XyoGatewayProvider<\n TMoniker extends ProviderMoniker = ProviderMoniker> extends XyoGatewayMethods, Provider<TMoniker> {\n /**\n * Returns the connection provider for this gateway.\n */\n connection: XyoConnection\n}\n\n/** XyoGateway interface. */\nexport interface XyoGateway extends XyoGatewayProvider<XyoGatewayMoniker>, Provider<XyoGatewayMoniker> {\n}\n","import type {\n Address, Hash, Logger, Promisable,\n} from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport type {\n AllowedBlockPayload, AttoXL1, ChainId,\n SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n TransactionFeesBigInt, UnsignedHydratedTransaction, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-model'\n\nimport type { XyoSigner } from './signer/index.ts'\nimport type { XyoGatewayProvider } from './XyoGateway.ts'\n\n/** ConfirmSubmittedTransactionOptions type. */\nexport interface ConfirmSubmittedTransactionOptions {\n /**\n * Number of attempts to confirm the transaction.\n * Defaults to 20.\n */\n attempts?: number\n /**\n * Delay in milliseconds between confirmation attempts.\n * Defaults to 1000 (1 second).\n */\n delay?: number\n /**\n * Optional logger instance for logging progress.\n */\n logger?: Logger\n}\n\n/** Options for Transaction. */\nexport interface TransactionOptions {\n chain?: ChainId\n exp?: XL1BlockNumber\n fees?: TransactionFeesBigInt\n from?: Address\n nbf?: XL1BlockNumber\n}\n\n/** Moniker identifier for the XyoGatewayRunner provider. */\nexport const XyoGatewayRunnerMoniker = 'XyoGatewayRunner' as const\n/** Type literal for the XyoGatewayRunner provider moniker. */\nexport type XyoGatewayRunnerMoniker = typeof XyoGatewayRunnerMoniker\n\n/** XyoGatewayRunnerMethods interface. */\nexport interface XyoGatewayRunnerMethods {\n\n addPayloadsToChain(\n onChain: AllowedBlockPayload[],\n offChain: Payload[],\n options?: TransactionOptions\n ): Promisable<[Hash, SignedHydratedTransactionWithHashMeta]>\n\n addTransactionToChain(\n tx: UnsignedHydratedTransaction | SignedHydratedTransaction,\n offChain?: Payload[]\n ): Promisable<[Hash, SignedHydratedTransactionWithHashMeta]>\n\n confirmSubmittedTransaction(txHash: Hash, options?: ConfirmSubmittedTransactionOptions): Promisable<SignedHydratedTransaction>\n\n send(to: Address, amount: AttoXL1, options?: TransactionOptions): Promisable<Hash>\n sendMany(transfers: Record<Address, AttoXL1>, options?: TransactionOptions): Promisable<Hash>\n}\n\n/** Runner interface for executing XyoGateway operations. */\nexport interface XyoGatewayRunner extends XyoGatewayRunnerMethods, XyoGatewayProvider<XyoGatewayRunnerMoniker> {\n /**\n * Returns the signer for this gateway.\n */\n signer: XyoSigner\n}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type { Provider, SignedHydratedTransaction } from '@xyo-network/xl1-protocol-model'\n\nimport type { MempoolRunner } from '../runners/index.ts'\n\n/** XyoRunnerMethods interface. */\nexport interface XyoRunnerMethods {\n broadcastTransaction(transaction: SignedHydratedTransaction): Promisable<Hash>\n}\n\n/** Moniker identifier for the XyoRunner provider. */\nexport const XyoRunnerMoniker = 'XyoRunner' as const\n/** Type literal for the XyoRunner provider moniker. */\nexport type XyoRunnerMoniker = typeof XyoRunnerMoniker\n\n/** Runner interface for executing Xyo operations. */\nexport interface XyoRunner extends XyoRunnerMethods, Provider<XyoRunnerMoniker> {\n mempool: MempoolRunner\n}\n","import type { WithHashMeta } from '@xyo-network/sdk-js'\nimport type {\n BlockBoundWitness, Provider,\n SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\n\n/** BlockRunnerMethods interface. */\nexport interface BlockRunnerMethods {\n produceNextBlock(head: SignedBlockBoundWitnessWithHashMeta, force: true): Promise<SignedHydratedBlockWithHashMeta>\n produceNextBlock(head: SignedBlockBoundWitnessWithHashMeta, force?: boolean): Promise<SignedHydratedBlockWithHashMeta | undefined>\n}\n\n/** Moniker identifier for the BlockRunner provider. */\nexport const BlockRunnerMoniker = 'BlockRunner' as const\n/** Type literal for the BlockRunner provider moniker. */\nexport type BlockRunnerMoniker = typeof BlockRunnerMoniker\n\n/** Runner interface for executing Block operations. */\nexport interface BlockRunner extends BlockRunnerMethods, Provider<BlockRunnerMoniker> {\n next(head: WithHashMeta<BlockBoundWitness>): Promise<SignedHydratedBlockWithHashMeta | undefined>\n}\n","import type {\n BlockRejection, Provider, TransactionRejection,\n} from '@xyo-network/xl1-protocol-model'\n\n/** DeadLetterQueueRunnerMethods interface. */\nexport interface DeadLetterQueueRunnerMethods {\n rejectBlock(rejection: BlockRejection): Promise<boolean>\n rejectTransaction(rejection: TransactionRejection): Promise<boolean>\n}\n\n/** Moniker identifier for the DeadLetterQueueRunner provider. */\nexport const DeadLetterQueueRunnerMoniker = 'DeadLetterQueueRunner' as const\n/** Type literal for the DeadLetterQueueRunner provider moniker. */\nexport type DeadLetterQueueRunnerMoniker = typeof DeadLetterQueueRunnerMoniker\n\n/** Options for DeadLetterQueue pruning. */\nexport interface DeadLetterQueuePruneOptions {\n batchSize?: number\n maxCheck?: number\n maxPrune?: number\n}\n\n/** Runner interface for executing DeadLetterQueue write operations. */\nexport interface DeadLetterQueueRunner extends DeadLetterQueueRunnerMethods, Provider<DeadLetterQueueRunnerMoniker> {\n pruneRejectedBlocks(options?: DeadLetterQueuePruneOptions): Promise<[number, number]>\n pruneRejectedTransactions(options?: DeadLetterQueuePruneOptions): Promise<[number, number]>\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { Provider, SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol-model'\n\n/** FinalizationRunnerMethods interface. */\nexport interface FinalizationRunnerMethods {\n finalizeBlocks(blocks: SignedHydratedBlockWithHashMeta[]): Promise<Hash[]>\n}\n\n/** Moniker identifier for the FinalizationRunner provider. */\nexport const FinalizationRunnerMoniker = 'FinalizationRunner' as const\n/** Type literal for the FinalizationRunner provider moniker. */\nexport type FinalizationRunnerMoniker = typeof FinalizationRunnerMoniker\n\n/** Runner interface for executing Finalization operations. */\nexport interface FinalizationRunner extends FinalizationRunnerMethods, Provider<FinalizationRunnerMoniker> {\n finalizeBlock(block: SignedHydratedBlockWithHashMeta): Promise<Hash>\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedBlock, SignedHydratedTransaction,\n} from '@xyo-network/xl1-protocol-model'\n\n/** MempoolRunnerMethods interface. */\nexport interface MempoolRunnerMethods {\n submitBlocks(blocks: SignedHydratedBlock[]): Promise<Hash[]>\n submitTransactions(transactions: SignedHydratedTransaction[]): Promise<Hash[]>\n}\n\n/** Moniker identifier for the MempoolRunner provider. */\nexport const MempoolRunnerMoniker = 'MempoolRunner' as const\n/** Type literal for the MempoolRunner provider moniker. */\nexport type MempoolRunnerMoniker = typeof MempoolRunnerMoniker\n\n/** DEFAULT_MAX_EXP_AHEAD constant. */\nexport const DEFAULT_MAX_EXP_AHEAD = 1000\n\n/** Options for MempoolPrune. */\nexport interface MempoolPruneOptions {\n batchSize?: number\n maxCheck?: number\n maxPrune?: number\n}\n\n/** Runner interface for executing Mempool operations. */\nexport interface MempoolRunner extends MempoolRunnerMethods, Provider<MempoolRunnerMoniker> {\n prunePendingBlocks(options?: MempoolPruneOptions): Promise<[number, number]>\n prunePendingTransactions(options?: MempoolPruneOptions): Promise<[number, number]>\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport {\n HexZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type {\n BlockBoundWitness, ChainId, HydratedBlock,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\nimport { ValidationError, ValidationErrorZod } from '../error.ts'\n\nexport const BlockValidationErrorZod = ValidationErrorZod.extend({ name: z.literal('BlockValidationError') }).loose()\n\nexport type BlockValidationErrorType = z.infer<typeof BlockValidationErrorZod>\n\n/** Error thrown during Block validation operations. */\nexport class BlockValidationError extends ValidationError<BlockBoundWitness> {}\n\nexport const isBlockValidationError = zodIsFactory(BlockValidationErrorZod)\nexport const asBlockValidationError = zodAsFactory(BlockValidationErrorZod, 'BlockValidationError')\nexport const toBlockValidationError = zodToFactory(BlockValidationErrorZod, 'BlockValidationError')\n\nexport const HydratedBlockValidationErrorZod = ValidationErrorZod.extend({ name: z.literal('HydratedBlockValidationError') }).loose()\n\nexport type HydratedBlockValidationErrorType = z.infer<typeof HydratedBlockValidationErrorZod>\n\n/** Error thrown during HydratedBlock validation operations. */\nexport class HydratedBlockValidationError extends ValidationError<HydratedBlock> {}\n\nexport const isHydratedBlockValidationError = zodIsFactory(HydratedBlockValidationErrorZod)\nexport const asHydratedBlockValidationError = zodAsFactory(HydratedBlockValidationErrorZod, 'HydratedBlockValidationError')\nexport const toHydratedBlockValidationError = zodToFactory(HydratedBlockValidationErrorZod, 'HydratedBlockValidationError')\n\nexport const HydratedBlockStateValidationErrorZod = ValidationErrorZod.extend({\n chainId: HexZod,\n name: z.literal('HydratedBlockStateValidationError'),\n}).loose()\n\nexport type HydratedBlockStateValidationErrorType = z.infer<typeof HydratedBlockStateValidationErrorZod>\n\n/** Error thrown during HydratedBlockState validation operations. */\nexport class HydratedBlockStateValidationError extends ValidationError<HydratedBlock> {\n chainId: ChainId\n constructor(hash: Hash, chainId: ChainId, value: HydratedBlock, message: string, cause?: unknown) {\n super(hash, value, message, cause)\n this.chainId = chainId\n }\n}\n\nexport const isHydratedBlockStateValidationError = zodIsFactory(HydratedBlockStateValidationErrorZod)\nexport const asHydratedBlockStateValidationError = zodAsFactory(HydratedBlockStateValidationErrorZod, 'HydratedBlockStateValidationError')\nexport const toHydratedBlockStateValidationError = zodToFactory(HydratedBlockStateValidationErrorZod, 'HydratedBlockStateValidationError')\n","import {\n type Hash, HashZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\nexport const ValidationErrorZod = z.object({\n hash: HashZod,\n message: z.string().optional(),\n name: z.string(),\n value: z.unknown(),\n}).loose()\n\nexport type ValidationErrorType = z.infer<typeof ValidationErrorZod>\n\n/** Error thrown during validation operations. */\nexport class ValidationError<TValue = Payload> extends Error {\n override cause?: unknown\n hash: Hash\n override message: string\n value: TValue\n constructor(hash: Hash, value: TValue, message: string, cause?: unknown) {\n super(message)\n this.hash = hash\n this.message = message\n this.name = this.constructor.name\n this.value = value\n this.cause = cause\n }\n}\n\n/** Type guard that checks if a value is a valid ValidationError. */\nexport const isValidationError = zodIsFactory(ValidationErrorZod)\nexport const asValidationError = zodAsFactory(ValidationErrorZod, 'ValidationError')\nexport const toValidationError = zodToFactory(ValidationErrorZod, 'ValidationError')\n","import type { BoundWitness, HydratedBoundWitness } from '@xyo-network/sdk-js'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during BoundWitnessvalidation operations. */\nexport class BoundWitnessValidationError extends ValidationError<BoundWitness> {}\n\n/** Type guard that checks if a value is a valid BoundWitnessValidationError. */\nexport const isBoundWitnessValidationError = (\n error: unknown,\n): error is BoundWitnessValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === BoundWitnessValidationError.constructor.name\n )\n}\n\n/** Error thrown during HydratedBoundWitnessvalidation operations. */\nexport class HydratedBoundWitnessValidationError extends ValidationError<HydratedBoundWitness> {}\n\n/** Type guard that checks if a value is a valid HydratedBoundWitnessValidationError. */\nexport const isHydratedBoundWitnessValidationError = (\n error: unknown,\n): error is HydratedBoundWitnessValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === HydratedBoundWitnessValidationError.constructor.name\n )\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport { type Payload } from '@xyo-network/sdk-js'\nimport type { HydratedBlock } from '@xyo-network/xl1-protocol-model'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during InBlockPayload validation operations. */\nexport class InBlockPayloadValidationError extends ValidationError<Payload> {\n block: HydratedBlock\n constructor(hash: Hash, block: HydratedBlock, value: Payload, message: string, cause?: unknown) {\n super(hash, value, message, cause)\n this.block = block\n }\n}\n\n/** Type guard that checks if a value is a valid InBlockPayloadValidationError. */\nexport const isInBlockPayloadValidationError = (\n error: unknown,\n): error is InBlockPayloadValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === InBlockPayloadValidationError.constructor.name\n )\n}\n","import type { HydratedTransaction } from '@xyo-network/xl1-protocol-model'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during HydratedTransactionvalidation operations. */\nexport class HydratedTransactionValidationError extends ValidationError<HydratedTransaction> {}\n\n/** Type guard that checks if a value is a valid HydratedTransactionValidationError. */\nexport const isHydratedTransactionValidationError = (\n error: unknown,\n): error is HydratedTransactionValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === HydratedTransactionValidationError.constructor.name\n )\n}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type { Payload, WithHashMeta } from '@xyo-network/sdk-js'\nimport type {\n BlockRate, ChainId,\n Provider, ProviderMoniker, SignedHydratedBlockWithHashMeta, SingleTimeConfig, TimeDurations, XL1BlockNumber, XL1BlockRange,\n} from '@xyo-network/xl1-protocol-model'\n\n/** BlockViewerMethods interface. */\nexport interface BlockViewerMethods {\n blocksByHash(hash: Hash, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n blocksByNumber(block: XL1BlockNumber, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n currentBlock(): Promisable<SignedHydratedBlockWithHashMeta>\n payloadsByHash(hashes: Hash[]): Promisable<WithHashMeta<Payload>[]>\n}\n\n/** Moniker identifier for the BlockViewer provider. */\nexport const BlockViewerMoniker = 'BlockViewer' as const\n/** Type literal for the BlockViewer provider moniker. */\nexport type BlockViewerMoniker = typeof BlockViewerMoniker\n\n/** Viewer interface for reading Block data. */\nexport interface BlockViewer<TMoniker extends ProviderMoniker = BlockViewerMoniker> extends BlockViewerMethods, Provider<TMoniker> {\n blockByHash(hash: Hash): Promisable<SignedHydratedBlockWithHashMeta | null>\n blockByNumber(block: XL1BlockNumber): Promisable<SignedHydratedBlockWithHashMeta | null>\n chainId(): Promisable<ChainId>\n chainId(blockNumber: XL1BlockNumber): Promisable<ChainId>\n chainId(blockNumber: 'latest'): Promisable<ChainId>\n currentBlockHash(): Promisable<Hash>\n currentBlockNumber(): Promisable<XL1BlockNumber>\n payloadByHash(hash: Hash): Promisable<WithHashMeta<Payload> | null>\n rate(range: XL1BlockRange, timeUnit?: keyof TimeDurations): Promisable<BlockRate>\n stepSizeRate(start: XL1BlockNumber, stepIndex: number, count?: number, timeUnit?: keyof TimeDurations): Promisable<BlockRate>\n timeDurationRate(\n timeConfig: SingleTimeConfig,\n startBlockNumber?: XL1BlockNumber,\n timeUnit?: keyof TimeDurations,\n toleranceMs?: number,\n maxAttempts?: number,\n ): Promisable<BlockRate>\n}\n","import { type Promisable } from '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedBlock, SignedHydratedBlockWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\nimport type { HydratedBlockValidationError } from '../validation/index.ts'\n\n/** BlockInvalidationQualificationZod constant. */\nexport const BlockInvalidationQualificationZod = ChainQualificationZod\n/** BlockInvalidationQualification type. */\nexport type BlockInvalidationQualification = z.infer<typeof BlockInvalidationQualificationZod>\n/** Type guard that checks if a value is a valid BlockInvalidationQualification. */\nexport const isBlockInvalidationQualification = zodIsFactory(BlockInvalidationQualificationZod)\n\n/** BlockInvalidationConfigFieldsZod constant. */\nexport const BlockInvalidationConfigFieldsZod = z.object({\n state: z.boolean().optional(),\n value: z.boolean().optional(),\n})\n\n/** BlockInvalidationConfigZod constant. */\nexport const BlockInvalidationConfigZod = z.union([\n BlockInvalidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n BlockInvalidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n BlockInvalidationConfigFieldsZod,\n z.object({}),\n])\n\n/** BlockInvalidationConfig type. */\nexport type BlockInvalidationConfig = z.infer<typeof BlockInvalidationConfigZod>\n/** Type guard that checks if a value is a valid BlockInvalidationConfig. */\nexport const isBlockInvalidationConfig = zodIsFactory(BlockInvalidationConfigZod)\n\n/**\n * Checks if blocks are invalid (impossible to ever become valid) according to protocol rules.\n */\n\nexport interface BlockInvalidationViewerMethods {\n qualifiedInvalidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockInvalidationQualification]>\n\n qualifiedInvalidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockInvalidationQualification]>\n}\n\n/** Moniker identifier for the BlockInvalidationViewer provider. */\nexport const BlockInvalidationViewerMoniker = 'BlockInvalidationViewer' as const\n/** Type literal for the BlockInvalidationViewer provider moniker. */\nexport type BlockInvalidationViewerMoniker = typeof BlockInvalidationViewerMoniker\n\n/** Viewer interface for reading BlockInvalidation data. */\nexport interface BlockInvalidationViewer extends BlockInvalidationViewerMethods, Provider<BlockInvalidationViewerMoniker> {\n invalidateBlock(\n block: SignedHydratedBlock,\n config?: BlockInvalidationConfig\n ): Promisable<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>\n\n invalidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n invalidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n qualifiedInvalidateBlock(\n block: SignedHydratedBlock,\n config?: BlockInvalidationConfig\n ): Promisable<[HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta, BlockInvalidationQualification]>\n}\n","import type { Promisable } from '@xylabs/sdk-js'\nimport type {\n AttoXL1, Provider, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-model'\n\n/** BlockRewardViewerMethods interface. */\nexport interface BlockRewardViewerMethods {\n // The amount of xl1 to send to the producer from the block reward\n allowedRewardForBlock(block: XL1BlockNumber): Promisable<AttoXL1>\n}\n\n/** Moniker identifier for the BlockRewardViewer provider. */\nexport const BlockRewardViewerMoniker = 'BlockRewardViewer' as const\n/** Type literal for the BlockRewardViewer provider moniker. */\nexport type BlockRewardViewerMoniker = typeof BlockRewardViewerMoniker\n\n/** Viewer interface for reading BlockReward data. */\nexport interface BlockRewardViewer extends BlockRewardViewerMethods, Provider<BlockRewardViewerMoniker> {}\n","import { type Promisable } from '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedBlock, SignedHydratedBlockWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\nimport type { HydratedBlockValidationError } from '../validation/index.ts'\n\n/** BlockValidationQualificationZod constant. */\nexport const BlockValidationQualificationZod = ChainQualificationZod\n/** BlockValidationQualification type. */\nexport type BlockValidationQualification = z.infer<typeof BlockValidationQualificationZod>\n/** Type guard that checks if a value is a valid BlockValidationQualification. */\nexport const isBlockValidationQualification = zodIsFactory(BlockValidationQualificationZod)\n\n/** BlockValidationConfigFieldsZod constant. */\nexport const BlockValidationConfigFieldsZod = z.object({\n value: z.boolean().optional(),\n state: z.boolean().optional(),\n})\n\n/** BlockValidationConfigZod constant. */\nexport const BlockValidationConfigZod = z.union([\n BlockValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n BlockValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n BlockValidationConfigFieldsZod,\n z.object({}),\n])\n\n/** BlockValidationConfig type. */\nexport type BlockValidationConfig = z.infer<typeof BlockValidationConfigZod>\n/** Type guard that checks if a value is a valid BlockValidationConfig. */\nexport const isBlockValidationConfig = zodIsFactory(BlockValidationConfigZod)\n\n/** BlockValidationViewerMethods interface. */\nexport interface BlockValidationViewerMethods {\n qualifiedValidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockValidationQualification]>\n\n qualifiedValidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockValidationQualification]>\n}\n\n/** Moniker identifier for the BlockValidationViewer provider. */\nexport const BlockValidationViewerMoniker = 'BlockValidationViewer' as const\n/** Type literal for the BlockValidationViewer provider moniker. */\nexport type BlockValidationViewerMoniker = typeof BlockValidationViewerMoniker\n\n/**\n * Checks if blocks are valid (currently valid) according to protocol rules. In the case that they are not valid, they may still become valid in the future.\n */\n\nexport interface BlockValidationViewer extends BlockValidationViewerMethods, Provider<BlockValidationViewerMoniker> {\n qualifiedValidateBlock(\n block: SignedHydratedBlock,\n config?: BlockValidationConfig\n ): Promisable<[HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta, BlockValidationQualification]>\n\n validateBlock(\n block: SignedHydratedBlock,\n config?: BlockValidationConfig\n ): Promisable<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>\n\n validateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n validateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n}\n","import type {\n Address, Hash, Promisable,\n} from '@xylabs/sdk-js'\nimport type {\n ChainId, Provider, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-model'\n\n/** ChainContractViewerMethods interface. */\nexport interface ChainContractViewerMethods {\n chainId(): Promisable<ChainId>\n forkedAtBlockNumber(): Promisable<XL1BlockNumber | null>\n forkedAtHash(): Promisable<Hash | null>\n forkedChainId(): Promisable<ChainId | null>\n minWithdrawalBlocks(): Promisable<number>\n rewardsContract(): Promisable<Address>\n stakingTokenAddress(): Promisable<Address>\n}\n\n/** Moniker identifier for the ChainContractViewer provider. */\nexport const ChainContractViewerMoniker = 'ChainContractViewer' as const\n/** Type literal for the ChainContractViewer provider moniker. */\nexport type ChainContractViewerMoniker = typeof ChainContractViewerMoniker\n\n/** Viewer interface for reading ChainContract data. */\nexport interface ChainContractViewer extends ChainContractViewerMethods, Provider<ChainContractViewerMoniker> {\n chainIdAtBlockNumber(blockNumber: XL1BlockNumber | 'latest'): Promisable<ChainId>\n forkedChainContractViewer(): Promisable<ChainContractViewer | null>\n}\n","import type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { ChainContractViewer } from './ChainContract.ts'\nimport type { StakeTotalsViewer } from './StakeTotals.ts'\n\n/** Moniker identifier for the ChainStakeViewer provider. */\nexport const ChainStakeViewerMoniker = 'ChainStakeViewer' as const\n/** Type literal for the ChainStakeViewer provider moniker. */\nexport type ChainStakeViewerMoniker = typeof ChainStakeViewerMoniker\n\n/** Viewer interface for reading ChainStake data. */\nexport interface ChainStakeViewer extends Omit<ChainContractViewer, 'moniker'>, Omit<StakeTotalsViewer, 'moniker'>,\n Provider<ChainStakeViewerMoniker> {\n\n}\n","import { HashZod } from '@xylabs/sdk-js'\nimport type {\n BlockRejection, Provider, TransactionRejection,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\n/** RejectedBlocksOptionsZod constant. */\nexport const RejectedBlocksOptionsZod = z.object({\n cursor: HashZod.optional(),\n limit: z.number().int().positive().optional(),\n rejector: z.string().optional(),\n})\n\n/** RejectedBlocksOptions type. */\nexport type RejectedBlocksOptions = z.infer<typeof RejectedBlocksOptionsZod>\n\n/** RejectedTransactionsOptionsZod constant. */\nexport const RejectedTransactionsOptionsZod = z.object({\n cursor: HashZod.optional(),\n limit: z.number().int().positive().optional(),\n rejector: z.string().optional(),\n})\n\n/** RejectedTransactionsOptions type. */\nexport type RejectedTransactionsOptions = z.infer<typeof RejectedTransactionsOptionsZod>\n\n/** DeadLetterQueueViewerMethods interface. */\nexport interface DeadLetterQueueViewerMethods {\n rejectedBlocks(options?: RejectedBlocksOptions): Promise<BlockRejection[]>\n rejectedTransactions(options?: RejectedTransactionsOptions): Promise<TransactionRejection[]>\n}\n\n/** Moniker identifier for the DeadLetterQueueViewer provider. */\nexport const DeadLetterQueueViewerMoniker = 'DeadLetterQueueViewer' as const\n/** Type literal for the DeadLetterQueueViewer provider moniker. */\nexport type DeadLetterQueueViewerMoniker = typeof DeadLetterQueueViewerMoniker\n\n/** Viewer interface for querying rejected blocks and transactions (dead letter queue). */\nexport interface DeadLetterQueueViewer extends DeadLetterQueueViewerMethods, Provider<DeadLetterQueueViewerMoniker> {}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type {\n ChainId, Provider, SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta, XL1BlockNumber,\n} from '@xyo-network/xl1-protocol-model'\n\n/** FinalizationViewerMethods interface. */\nexport interface FinalizationViewerMethods {\n head(): Promisable<SignedHydratedBlockWithHashMeta>\n}\n\n/** Moniker identifier for the FinalizationViewer provider. */\nexport const FinalizationViewerMoniker = 'FinalizationViewer' as const\n/** Type literal for the FinalizationViewer provider moniker. */\nexport type FinalizationViewerMoniker = typeof FinalizationViewerMoniker\n\n/** Viewer interface for reading Finalization data. */\nexport interface FinalizationViewer extends FinalizationViewerMethods, Provider<FinalizationViewerMoniker> {\n chainId(): Promisable<ChainId>\n headBlock(): Promisable<SignedBlockBoundWitnessWithHashMeta>\n headHash(): Promisable<Hash>\n headNumber(): Promisable<XL1BlockNumber>\n}\n","import { HashZod } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedBlockWithHashMeta, SignedHydratedTransactionWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\nimport { XL1BlockRangeZod } from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\n/** PendingTransactionsOptionsZod constant. */\nexport const PendingTransactionsOptionsZod = z.object({\n cursor: HashZod.optional(),\n limit: z.number().int().positive().optional(),\n window: XL1BlockRangeZod.optional(),\n})\n\n/** PendingTransactionsOptions type. */\nexport type PendingTransactionsOptions = z.infer<typeof PendingTransactionsOptionsZod>\n\n/** PendingBlocksOptionsZod constant. */\nexport const PendingBlocksOptionsZod = z.object({\n cursor: HashZod.optional(),\n limit: z.number().int().positive().optional(),\n window: XL1BlockRangeZod.optional(),\n})\n\n/** PendingBlocksOptions type. */\nexport type PendingBlocksOptions = z.infer<typeof PendingBlocksOptionsZod>\n\n/** MempoolViewerMethods interface. */\nexport interface MempoolViewerMethods {\n pendingBlocks(options?: PendingBlocksOptions): Promise<SignedHydratedBlockWithHashMeta[]>\n pendingTransactions(options?: PendingTransactionsOptions): Promise<SignedHydratedTransactionWithHashMeta[]>\n}\n\n/** Moniker identifier for the MempoolViewer provider. */\nexport const MempoolViewerMoniker = 'MempoolViewer' as const\n/** Type literal for the MempoolViewer provider moniker. */\nexport type MempoolViewerMoniker = typeof MempoolViewerMoniker\n\n/** Viewer interface for reading Mempool data. */\nexport interface MempoolViewer extends MempoolViewerMethods, Provider<MempoolViewerMoniker> {}\n","import type { Promisable } from '@xylabs/sdk-js'\nimport type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsViewer } from './Rewards/index.ts'\n\n/** NetworkStakeViewerMethods interface. */\nexport interface NetworkStakeViewerMethods {\n /** @returns the active stake and the number of active validators [active, block] */\n active(blockNumber?: number): Promisable<[bigint, number]>\n}\n\n/** Moniker identifier for the NetworkStakeViewer provider. */\nexport const NetworkStakeViewerMoniker = 'NetworkStakeViewer' as const\n/** Type literal for the NetworkStakeViewer provider moniker. */\nexport type NetworkStakeViewerMoniker = typeof NetworkStakeViewerMoniker\n\n/** Viewer interface for reading NetworkStake data. */\nexport interface NetworkStakeViewer extends NetworkStakeViewerMethods, Provider<NetworkStakeViewerMoniker> {\n stepRewards?: NetworkStakeStepRewardsViewer\n}\n","import type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsByPositionViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsByPositionViewerMethods interface. */\nexport interface NetworkStakeStepRewardsByPositionViewerMethods extends\n NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByPositionViewerOptions, number> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByPositionViewer provider. */\nexport const NetworkStakeStepRewardsByPositionViewerMoniker = 'NetworkStakeStepRewardsByPositionViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByPositionViewer provider moniker. */\nexport type NetworkStakeStepRewardsByPositionViewerMoniker = typeof NetworkStakeStepRewardsByPositionViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByPosition data. */\nexport interface NetworkStakeStepRewardsByPositionViewer extends NetworkStakeStepRewardsByPositionViewerMethods,\n Provider<NetworkStakeStepRewardsByPositionViewerMoniker> {}\n","import type { Address } from '@xylabs/sdk-js'\nimport type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsByStakerViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsByStakerViewerMethods interface. */\nexport interface NetworkStakeStepRewardsByStakerViewerMethods\n extends NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByStakerViewerOptions, Address> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByStakerViewer provider. */\nexport const NetworkStakeStepRewardsByStakerViewerMoniker = 'NetworkStakeStepRewardsByStakerViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByStakerViewer provider moniker. */\nexport type NetworkStakeStepRewardsByStakerViewerMoniker = typeof NetworkStakeStepRewardsByStakerViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByStaker data. */\nexport interface NetworkStakeStepRewardsByStakerViewer extends NetworkStakeStepRewardsByStakerViewerMethods,\n Provider<NetworkStakeStepRewardsByStakerViewerMoniker> {}\n","import type { Provider, StepIdentityString } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsByStepViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsByStepViewerMethods interface. */\nexport interface NetworkStakeStepRewardsByStepViewerMethods extends\n NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByStepViewerOptions, StepIdentityString> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByStepViewer provider. */\nexport const NetworkStakeStepRewardsByStepViewerMoniker = 'NetworkStakeStepRewardsByStepViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByStepViewer provider moniker. */\nexport type NetworkStakeStepRewardsByStepViewerMoniker = typeof NetworkStakeStepRewardsByStepViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByStep data. */\nexport interface NetworkStakeStepRewardsByStepViewer extends NetworkStakeStepRewardsByStepViewerMethods, Provider<NetworkStakeStepRewardsByStepViewerMoniker> {}\n","import type { AttoXL1, Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsRangeOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsTotalViewerMethods interface. */\nexport interface NetworkStakeStepRewardsTotalViewerMethods extends NetworkStakeStepRewardsViewerMethodsTemplate<NetworkStakeStepRewardsRangeOptions, AttoXL1> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsTotalViewer provider. */\nexport const NetworkStakeStepRewardsTotalViewerMoniker = 'NetworkStakeStepRewardsTotalViewer' as const\n/** Type literal for the NetworkStakeStepRewardsTotalViewer provider moniker. */\nexport type NetworkStakeStepRewardsTotalViewerMoniker = typeof NetworkStakeStepRewardsTotalViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsTotal data. */\nexport interface NetworkStakeStepRewardsTotalViewer extends NetworkStakeStepRewardsTotalViewerMethods, Provider<NetworkStakeStepRewardsTotalViewerMoniker> {}\n","import type { Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsByPositionViewer } from './ByPositionViewer.ts'\nimport type { NetworkStakeStepRewardsByStakerViewer } from './ByStakerViewer.ts'\nimport type { NetworkStakeStepRewardsByStepViewer } from './ByStepViewer.ts'\nimport type { NetworkStakeStepRewardsTotalViewer } from './TotalViewer.ts'\n\n/** NetworkStakeStepRewardsViewerMethods interface. */\nexport interface NetworkStakeStepRewardsViewerMethods {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsViewer provider. */\nexport const NetworkStakeStepRewardsViewerMoniker = 'NetworkStakeStepRewardsViewer' as const\n/** Type literal for the NetworkStakeStepRewardsViewer provider moniker. */\nexport type NetworkStakeStepRewardsViewerMoniker = typeof NetworkStakeStepRewardsViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewards data. */\nexport interface NetworkStakeStepRewardsViewer extends NetworkStakeStepRewardsViewerMethods, Provider<NetworkStakeStepRewardsViewerMoniker> {\n position?: NetworkStakeStepRewardsByPositionViewer\n staker?: NetworkStakeStepRewardsByStakerViewer\n step?: NetworkStakeStepRewardsByStepViewer\n total?: NetworkStakeStepRewardsTotalViewer\n}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type {\n AttoXL1, Provider, StepIdentity, StepIdentityString,\n} from '@xyo-network/xl1-protocol-model'\n\n/** NetworkStakeStepAddressRewardViewerMethods interface. */\nexport interface NetworkStakeStepAddressRewardViewerMethods {\n // the step rewards for a specific network stakers for all of history\n networkStakeStepRewardAddressHistory(address: Address): Promisable<Record<Address, AttoXL1>>\n\n // the step rewards for a specific network stakers for a given step and block\n networkStakeStepRewardAddressReward(context: StepIdentity, address: Address): Promisable<Record<Address, AttoXL1>>\n\n // the shares for a specific network staker for a given step and block\n networkStakeStepRewardAddressShare(context: StepIdentity, address: Address): Promisable<[/* address shares */bigint, /* total shares */bigint]>\n\n // estimate the current reward weight for a given address at a given step\n networkStakeStepRewardWeightForAddress(context: StepIdentity, address: Address): Promisable<bigint>\n}\n\n/** NetworkStakeStepPoolRewardViewerMethods interface. */\nexport interface NetworkStakeStepPoolRewardViewerMethods {\n\n // all the step rewards for all the network stakers for a given step and block\n networkStakeStepRewardPoolRewards(context: StepIdentity): Promisable<Record<Address, AttoXL1>>\n\n // all the shares for all the network stakers for a given step and block\n networkStakeStepRewardPoolShares(context: StepIdentity): Promisable<Record<Address, bigint>>\n}\n\n/** NetworkStakeStepRewardPositionViewerMethods interface. */\nexport interface NetworkStakeStepRewardPositionViewerMethods {\n // estimate the current weight for a given position at a given step\n networkStakeStepRewardPositionWeight(context: StepIdentity, position: number): Promisable<bigint>\n\n // estimate the potential loss for removing a given position at a given step\n networkStakeStepRewardPotentialPositionLoss(context: StepIdentity, position: number): Promisable<AttoXL1>\n}\n\n/** NetworkStakeStepRewardViewerMethods interface. */\nexport interface NetworkStakeStepRewardViewerMethods extends\n NetworkStakeStepPoolRewardViewerMethods,\n NetworkStakeStepAddressRewardViewerMethods,\n NetworkStakeStepRewardPositionViewerMethods\n{\n networkStakeStepRewardClaimedByAddress(address: Address): Promisable<AttoXL1>\n\n // the share & total rewards for a given position\n networkStakeStepRewardForPosition(position: number, range: [number, number]): Promisable<[AttoXL1, AttoXL1]>\n\n // estimate the total possible block rewards for a given step\n networkStakeStepRewardForStep(context: StepIdentity): Promisable<AttoXL1>\n\n // the share & total rewards for a given step and block for a given position\n networkStakeStepRewardForStepForPosition(context: StepIdentity, position: number): Promisable<[AttoXL1, AttoXL1]>\n\n // the predictable random number for a given step and block\n networkStakeStepRewardRandomizer(context: StepIdentity): Promisable<AttoXL1>\n\n // the total number of stakers for a given step and block\n networkStakeStepRewardStakerCount(context: StepIdentity): Promisable<number>\n\n networkStakeStepRewardUnclaimedByAddress(address: Address): Promisable<AttoXL1>\n\n // the share & total rewards for a given position for each step in range\n networkStakeStepRewardsForPosition(position: number,\n range: [number, number]): Promisable<Record<StepIdentityString, [AttoXL1, AttoXL1]>>\n\n // the total rewards for a given range\n networkStakeStepRewardsForRange(range: [number, number]): Promisable<AttoXL1>\n\n // the total rewards for a given range and step level\n networkStakeStepRewardsForStepLevel(stepLevel: number, range: [number, number]): Promisable<AttoXL1>\n}\n\n/** Moniker identifier for the NetworkStakeStepRewardViewer provider. */\nexport const NetworkStakeStepRewardViewerMoniker = 'NetworkStakeStepRewardViewer' as const\n/** Type literal for the NetworkStakeStepRewardViewer provider moniker. */\nexport type NetworkStakeStepRewardViewerMoniker = typeof NetworkStakeStepRewardViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepReward data. */\nexport interface NetworkStakeStepRewardViewer extends NetworkStakeStepRewardViewerMethods, Provider<NetworkStakeStepRewardViewerMoniker> {}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Position, Provider } from '@xyo-network/xl1-protocol-model'\n\nimport type { StakeEventsViewer } from './StakeEvents.ts'\n\n/** StakeViewerProperties interface. */\nexport interface StakeViewerProperties {\n stakeEvents: StakeEventsViewer\n}\n\n/** StakeViewerMethods interface. */\nexport interface StakeViewerMethods {\n minWithdrawalBlocks(): Promisable<number>\n rewardsContract(): Promisable<Address>\n stakeById(id: number): Promisable<Position>\n stakeByStaker(staker: Address, slot: number): Promisable<Position>\n stakesByStaked(staked: Address): Promisable<Position[]>\n stakesByStaker(staker: Address): Promisable<Position[]>\n stakingTokenAddress(): Promisable<Address>\n}\n\n/** Moniker identifier for the StakeViewer provider. */\nexport const StakeViewerMoniker = 'StakeViewer' as const\n/** Type literal for the StakeViewer provider moniker. */\nexport type StakeViewerMoniker = typeof StakeViewerMoniker\n\n/** Viewer interface for reading Stake data. */\nexport interface StakeViewer extends StakeViewerMethods, StakeViewerProperties, Provider<StakeViewerMoniker> {\n activeStakes(): Promisable<Position[]>\n removedStakes(): Promisable<Position[]>\n withdrawnStakes(): Promisable<Position[]>\n}\n\n/** Moniker identifier for the StakeRunner provider. */\nexport const StakeRunnerMoniker = 'StakeRunner' as const\n/** Type literal for the StakeRunner provider moniker. */\nexport type StakeRunnerMoniker = typeof StakeRunnerMoniker\n\n/** Runner interface for executing Stake operations. */\nexport interface StakeRunner extends Provider<StakeRunnerMoniker> {\n addStake(staked: string, amount: bigint): Promise<boolean>\n removeStake(slot: bigint): Promise<boolean>\n withdrawStake(slot: bigint): Promise<boolean>\n}\n","import type {\n Address, JsonObject, Promisable,\n} from '@xylabs/sdk-js'\nimport type { Provider } from '@xyo-network/xl1-protocol-model'\n\n/** StakeEventNames constant. */\nexport const StakeEventNames = ['StakeAdded', 'StakeRemoved', 'StakeWithdrawn'] as const\n/** StakeEventName type. */\nexport type StakeEventName = typeof StakeEventNames[number]\n\n/** ExternalEvent interface. */\nexport interface ExternalEvent<TName extends string = string, TArgs extends JsonObject = {}> {\n args: TArgs\n name: TName\n time: number // usually block number\n}\n\n/** EventFilter interface. */\nexport interface EventFilter<TName extends string = string> {\n name?: TName\n time?: [number, number]\n}\n\n/** StakeEventArgs interface. */\nexport interface StakeEventArgs {\n amount: bigint\n id: number\n staked: Address\n staker: Address\n}\n\n/** StakeEventFilterArgs type. */\nexport type StakeEventFilterArgs = Partial<Pick<StakeEventArgs, 'staker' | 'staked' | 'id'>>\n\n/** StakeEventFilter interface. */\nexport interface StakeEventFilter<TName extends StakeEventName = StakeEventName> extends EventFilter<TName> {\n args?: StakeEventFilterArgs\n}\n\n/** StakeEvent interface. */\nexport interface StakeEvent<TName extends StakeEventName = StakeEventName> extends ExternalEvent<TName> {\n args: StakeEventArgs\n}\n\n/** Moniker identifier for the StakeEventsViewer provider. */\nexport const StakeEventsViewerMoniker = 'StakeEventsViewer' as const\n/** Type literal for the StakeEventsViewer provider moniker. */\nexport type StakeEventsViewerMoniker = typeof StakeEventsViewerMoniker\n\n/** Viewer interface for reading StakeEvents data. */\nexport interface StakeEventsViewer extends Provider<StakeEventsViewerMoniker> {\n positionCount(range: [number, number | 'latest']): Promisable<number>\n stakeEvents<TName extends StakeEventName>(range: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promisable<StakeEvent<TName>[]>\n}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Provider } from '@xyo-network/xl1-protocol-model'\n\n/** StakeTotalsViewerMethods interface. */\nexport interface StakeTotalsViewerMethods {\n active(time?: number): Promisable<bigint>\n activeByStaked(staked: Address, time?: number): Promisable<bigint>\n activeByStaker(address: Address, time?: number): Promisable<bigint>\n pending(time?: number): Promisable<bigint>\n pendingByStaker(staker: Address, time?: number): Promisable<bigint>\n withdrawn(time?: number): Promisable<bigint>\n withdrawnByStaker(staker: Address, time?: number): Promisable<bigint>\n}\n\n/** Moniker identifier for the StakeTotalsViewer provider. */\nexport const StakeTotalsViewerMoniker = 'StakeTotalsViewer' as const\n/** Type literal for the StakeTotalsViewer provider moniker. */\nexport type StakeTotalsViewerMoniker = typeof StakeTotalsViewerMoniker\n\n/** Viewer interface for reading StakeTotals data. */\nexport interface StakeTotalsViewer extends StakeTotalsViewerMethods, Provider<StakeTotalsViewerMoniker> {}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Provider, StepIdentity } from '@xyo-network/xl1-protocol-model'\n\n/** StepStakeViewerMethods interface. */\nexport interface StepStakeViewerMethods {\n // this is the prorated stake for all addresses in the step\n stepStake: (step: StepIdentity) => Promisable<Record<Address, bigint>>\n\n // this is the prorated stake for a specific address in the step\n stepStakeForAddress: (address: Address, step: StepIdentity) => Promisable<bigint>\n}\n\n/* Prorated stake is the amount of stake that is allocated to a specific step\n based on the total stake and the number of steps. This is used to ensure\n that the stake is distributed fairly among all steps.\n\n The simplest way to calculate it is to enumerate every XL1 block in the step add the current stake at that point to a counter.\n For example, if an Address had a stake of 100 for the entire time, then the prorated stake would be 100 * number of blocks in the step.\n*/\n\nexport const StepStakeViewerMoniker = 'StepStakeViewer' as const\n/** Type literal for the StepStakeViewer provider moniker. */\nexport type StepStakeViewerMoniker = typeof StepStakeViewerMoniker\n\n/** Viewer interface for reading StepStake data. */\nexport interface StepStakeViewer extends StepStakeViewerMethods, Provider<StepStakeViewerMoniker> {}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type {\n Position, PositionId, Provider, StepIdentity,\n} from '@xyo-network/xl1-protocol-model'\n\nimport type { NetworkStakeStepRewardsViewer } from './NetworkStake/index.ts'\n\n/** Options for PagedPositions. */\nexport interface PagedPositionsOptions {\n cursor?: PositionId\n limit?: number\n}\n\n/** Options for PagedStakers. */\nexport interface PagedStakersOptions {\n cursor?: Address\n limit?: number\n}\n\n/** StepStatistics interface. */\nexport interface StepStatistics {\n endTime: number\n startTime: number\n}\n\n/** StepViewerMethods interface. */\nexport interface StepViewerMethods {\n\n // the total number of positions for a given step\n positionCount(step: StepIdentity): Promisable<number>\n\n positions(step: StepIdentity, options?: PagedPositionsOptions): Promisable<Position[]>\n\n // the predictable random number for a given step\n randomizer(step: StepIdentity): Promisable<bigint>\n\n // total amount staked during a given step\n stake(step: StepIdentity): Promisable<bigint>\n\n // the total number of stakers for a given step\n stakerCount(step: StepIdentity): Promisable<number>\n\n stakers(step: StepIdentity, options?: PagedStakersOptions): Promisable<Address[]>\n\n // if no positionId is supplied, returns the total stake weight for the step\n weight(step: StepIdentity, positionId?: PositionId): Promisable<bigint>\n}\n\n/** Moniker identifier for the StepViewer provider. */\nexport const StepViewerMoniker = 'StepViewer' as const\n/** Type literal for the StepViewer provider moniker. */\nexport type StepViewerMoniker = typeof StepViewerMoniker\n\n/** Viewer interface for reading Step data. */\nexport interface StepViewer extends StepViewerMethods, Provider<StepViewerMoniker> {\n rewards?: NetworkStakeStepRewardsViewer\n}\n","import type { Promisable } from '@xylabs/sdk-js'\nimport type {\n Provider, TimeDomain, TimePayload,\n} from '@xyo-network/xl1-protocol-model'\n\n/** TimeSyncViewerMethods interface. */\nexport interface TimeSyncViewerMethods {\n /** Convert time between different domains */\n convertTime(fromDomain: TimeDomain, toDomain: TimeDomain, from: number): Promisable<number>\n\n /** Get the current time for a given domain */\n currentTime(domain: TimeDomain): Promisable<[string, number]>\n\n /** Get the current time for a given domain */\n currentTimeAndHash(domain: TimeDomain): Promisable<[number, string | null]>\n\n /** Create a TimePayload with the current time from all configured domains */\n currentTimePayload(): Promisable<TimePayload>\n}\n\n/** Moniker identifier for the TimeSyncViewer provider. */\nexport const TimeSyncViewerMoniker = 'TimeSyncViewer' as const\n/** Type literal for the TimeSyncViewer provider moniker. */\nexport type TimeSyncViewerMoniker = typeof TimeSyncViewerMoniker\n\n/** Viewer interface for reading TimeSync data. */\nexport interface TimeSyncViewer extends TimeSyncViewerMethods, Provider<TimeSyncViewerMoniker> {}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type {\n Provider, ProviderMoniker, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\n\n/** TransactionViewerMethods interface. */\nexport interface TransactionViewerMethods {\n byHash(transactionHash: Hash): Promisable<SignedHydratedTransactionWithHashMeta | null>\n\n /** @deprecated use .byBlockHashAndIndex instead */\n transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promisable<SignedHydratedTransaction | null>\n /** @deprecated use .byBlockNumberAndIndex instead */\n transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promisable<SignedHydratedTransaction | null>\n /** @deprecated use .byHash instead */\n transactionByHash(transactionHash: Hash): Promisable<SignedHydratedTransaction | null>\n}\n\n/** Moniker identifier for the TransactionViewer provider. */\nexport const TransactionViewerMoniker = 'TransactionViewer' as const\n/** Type literal for the TransactionViewer provider moniker. */\nexport type TransactionViewerMoniker = typeof TransactionViewerMoniker\n\n/** Viewer interface for reading Transaction data. */\nexport interface TransactionViewer<TMoniker extends ProviderMoniker = TransactionViewerMoniker> extends TransactionViewerMethods, Provider<TMoniker> {\n byBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promisable<SignedHydratedTransactionWithHashMeta | null>\n byBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promisable<SignedHydratedTransactionWithHashMeta | null>\n}\n","import { type Promisable } from '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\nimport type { HydratedTransactionValidationError } from '../validation/index.ts'\n\n/** TransactionInvalidationQualificationZod constant. */\nexport const TransactionInvalidationQualificationZod = ChainQualificationZod\n/** TransactionInvalidationQualification type. */\nexport type TransactionInvalidationQualification = z.infer<typeof TransactionInvalidationQualificationZod>\n/** Type guard that checks if a value is a valid TransactionInvalidationQualification. */\nexport const isTransactionInvalidationQualification = zodIsFactory(TransactionInvalidationQualificationZod)\n\n/** TransactionInvalidationConfigFieldsZod constant. */\nexport const TransactionInvalidationConfigFieldsZod = z.object({\n state: z.boolean().optional(),\n value: z.boolean().optional(),\n})\n\n/** TransactionInvalidationConfigZod constant. */\nexport const TransactionInvalidationConfigZod = z.union([\n TransactionInvalidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n TransactionInvalidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n TransactionInvalidationConfigFieldsZod,\n z.object({}),\n])\n\n/** TransactionInvalidationConfig type. */\nexport type TransactionInvalidationConfig = z.infer<typeof TransactionInvalidationConfigZod>\n/** Type guard that checks if a value is a valid TransactionInvalidationConfig. */\nexport const isTransactionInvalidationConfig = zodIsFactory(TransactionInvalidationConfigZod)\n\n/**\n * Checks if transactions are invalid (impossible to ever become valid) according to protocol rules.\n */\n\nexport interface TransactionInvalidationViewerMethods {\n qualifiedInvalidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionInvalidationConfig\n ): Promisable<[(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[], TransactionInvalidationQualification]>\n}\n\n/** Moniker identifier for the TransactionInvalidationViewer provider. */\nexport const TransactionInvalidationViewerMoniker = 'TransactionInvalidationViewer' as const\n/** Type literal for the TransactionInvalidationViewer provider moniker. */\nexport type TransactionInvalidationViewerMoniker = typeof TransactionInvalidationViewerMoniker\n\n/** Viewer interface for reading TransactionInvalidation data. */\nexport interface TransactionInvalidationViewer extends TransactionInvalidationViewerMethods, Provider<TransactionInvalidationViewerMoniker> {\n invalidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionInvalidationConfig\n ): Promisable<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>\n\n invalidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionInvalidationConfig\n ): Promisable<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>\n\n qualifiedInvalidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionInvalidationConfig\n ): Promisable<[HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta, TransactionInvalidationQualification]>\n}\n","import { type Promisable } from '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport type {\n Provider, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '@xyo-network/xl1-protocol-model'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '@xyo-network/xl1-protocol-model'\nimport { z } from 'zod'\n\nimport type { HydratedTransactionValidationError } from '../validation/index.ts'\n\n/** TransactionValidationQualificationZod constant. */\nexport const TransactionValidationQualificationZod = ChainQualificationZod\n/** TransactionValidationQualification type. */\nexport type TransactionValidationQualification = z.infer<typeof TransactionValidationQualificationZod>\n/** Type guard that checks if a value is a valid TransactionValidationQualification. */\nexport const isTransactionValidationQualification = zodIsFactory(TransactionValidationQualificationZod)\n\n/** TransactionValidationConfigFieldsZod constant. */\nexport const TransactionValidationConfigFieldsZod = z.object({\n value: z.boolean().optional(),\n state: z.boolean().optional(),\n})\n\n/** TransactionValidationConfigZod constant. */\nexport const TransactionValidationConfigZod = z.union([\n TransactionValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n TransactionValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n TransactionValidationConfigFieldsZod,\n z.object({}),\n])\n\n/** TransactionValidationConfig type. */\nexport type TransactionValidationConfig = z.infer<typeof TransactionValidationConfigZod>\n/** Type guard that checks if a value is a valid TransactionValidationConfig. */\nexport const isTransactionValidationConfig = zodIsFactory(TransactionValidationConfigZod)\n\n/** TransactionValidationViewerMethods interface. */\nexport interface TransactionValidationViewerMethods {\n qualifiedValidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionValidationConfig\n ): Promisable<[(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[], TransactionValidationQualification]>\n}\n\n/** Moniker identifier for the TransactionValidationViewer provider. */\nexport const TransactionValidationViewerMoniker = 'TransactionValidationViewer' as const\n/** Type literal for the TransactionValidationViewer provider moniker. */\nexport type TransactionValidationViewerMoniker = typeof TransactionValidationViewerMoniker\n\n/**\n * Checks if transactions are valid (currently valid) according to protocol rules.\n * In the case that they are not valid, they may still become valid in the future.\n */\n\nexport interface TransactionValidationViewer extends TransactionValidationViewerMethods, Provider<TransactionValidationViewerMoniker> {\n qualifiedValidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionValidationConfig\n ): Promisable<[HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta, TransactionValidationQualification]>\n\n validateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionValidationConfig\n ): Promisable<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>\n\n validateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionValidationConfig\n ): Promisable<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>\n}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Signed } from '@xyo-network/sdk-js'\nimport type {\n AttoXL1, BlockBoundWitness, Provider, TransactionBoundWitness, Transfer, XL1BlockRange,\n} from '@xyo-network/xl1-protocol-model'\n\n/** TransferBalanceHistoryItem type. */\nexport type TransferBalanceHistoryItem = [\n Signed<BlockBoundWitness> /* block */,\n Signed<TransactionBoundWitness> | null,\n Transfer, /* the actual transfer payload */\n]\n/** TransferPair type. */\nexport type TransferPair = [Address, Address]\n\n/** TransferBalancesViewerMethods interface. */\nexport interface TransferBalancesViewerMethods {\n transferBalances(address: Address[]): Promisable<Partial<Record<Address, Record<Address, AttoXL1>>>>\n transferBalancesHistories(address: Address[]): Promisable<Partial<Record<Address, Record<Address, TransferBalanceHistoryItem[]>>>>\n transferPairBalances(address: TransferPair[]): Promisable<Partial<Record<Address, Record<Address, AttoXL1>>>>\n transferPairBalancesHistories(address: TransferPair[]): Promisable<Partial<Record<Address, Record<Address, TransferBalanceHistoryItem[]>>>>\n}\n\n/** Moniker identifier for the TransferBalanceViewer provider. */\nexport const TransferBalanceViewerMoniker = 'TransferBalanceViewer' as const\n/** Type literal for the TransferBalanceViewer provider moniker. */\nexport type TransferBalanceViewerMoniker = typeof TransferBalanceViewerMoniker\n\n/** Viewer interface for reading TransferBalance data. */\nexport interface TransferBalanceViewer extends TransferBalancesViewerMethods, Provider<TransferBalanceViewerMoniker> {\n transferBalance(address: Address): Promisable<AttoXL1>\n transferBalanceHistory(address: Address, range?: XL1BlockRange): Promisable<TransferBalanceHistoryItem[]>\n transferPairBalance(address: TransferPair): Promisable<AttoXL1>\n transferPairBalanceHistory(address: TransferPair): Promisable<TransferBalanceHistoryItem[]>\n}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type {\n HydratedBlockWithHashMeta, Provider, ProviderMoniker,\n} from '@xyo-network/xl1-protocol-model'\n\nimport type { BlockViewerMethods } from './Block.ts'\n\ntype ExtendableBlockViewerMethods = Omit<BlockViewerMethods, 'rate' | 'stepSizeRate' | 'timeDurationRate'>\n\n/** WindowedBlockViewerMethods interface. */\nexport interface WindowedBlockViewerMethods extends ExtendableBlockViewerMethods {\n blocksByTransactionHashes(hashes: Hash[]): Promisable<HydratedBlockWithHashMeta[]>\n}\n\n/** Moniker identifier for the WindowedBlockViewer provider. */\nexport const WindowedBlockViewerMoniker = 'WindowedBlockViewer' as const\n/** Type literal for the WindowedBlockViewer provider moniker. */\nexport type WindowedBlockViewerMoniker = typeof WindowedBlockViewerMoniker\n\n/** Viewer interface for reading WindowedBlock data. */\nexport interface WindowedBlockViewer<TMoniker extends ProviderMoniker = WindowedBlockViewerMoniker> extends WindowedBlockViewerMethods, Provider<TMoniker> {\n blockByTransactionHash(hash: Hash): Promisable<HydratedBlockWithHashMeta | null>\n}\n","import type { Address, Promisable } from '@xylabs/sdk-js'\nimport type {\n AccountBalanceHistoryItem, AccountBalanceViewer, AttoXL1,\n ChainQualifiedConfig, Provider,\n} from '@xyo-network/xl1-protocol-model'\n\nimport type { BlockViewer, BlockViewerMethods } from './Block.ts'\nimport type { FinalizationViewer } from './Finalization.ts'\nimport type { ForkViewerMethods } from './Fork.ts'\nimport type { MempoolViewer } from './Mempool.ts'\nimport type { NetworkStakeViewer } from './NetworkStake/index.ts'\nimport type { NetworkStakeStepRewardViewerMethods } from './NetworkStakeStepReward.ts'\nimport type { StakeViewer, StakeViewerMethods } from './Stake.ts'\nimport type { StepViewer } from './StepViewer.ts'\nimport type { TimeSyncViewer } from './TimeSync.ts'\nimport type { TransactionViewer, TransactionViewerMethods } from './Transaction.ts'\n\n/** XyoViewerMethods interface. */\nexport interface XyoViewerMethods extends\n NetworkStakeStepRewardViewerMethods, BlockViewerMethods,\n Omit<TransactionViewerMethods, 'byHash'>, Omit<\n StakeViewerMethods, 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'\n | 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'\n >, ForkViewerMethods {\n /** @deprecated Use .account.balance.accountBalance instead */\n accountBalance(address: Address, config?: ChainQualifiedConfig): Promisable<AttoXL1>\n /** @deprecated Use .account.balance.accountBalanceHistory instead */\n accountBalanceHistory(address: Address, config?: ChainQualifiedConfig): Promisable<AccountBalanceHistoryItem[]>\n}\n\n/** XyoViewerMethodsV2 interface. */\nexport interface XyoViewerMethodsV2 {\n\n}\n\n/** Moniker identifier for the XyoViewer provider. */\nexport const XyoViewerMoniker = 'XyoViewer' as const\n/** Type literal for the XyoViewer provider moniker. */\nexport type XyoViewerMoniker = typeof XyoViewerMoniker\n\n/** Viewer interface for reading Xyo data. */\nexport interface XyoViewer extends Omit<BlockViewer, 'moniker'>, XyoViewerMethods,\n Omit<\n StakeViewerMethods, 'moniker' | 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'\n | 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'\n >, Provider<XyoViewerMoniker> {\n account: {\n balance: AccountBalanceViewer\n }\n block: BlockViewer\n finalization: FinalizationViewer\n mempool: MempoolViewer\n networkStake: NetworkStakeViewer\n stake: StakeViewer\n step: StepViewer\n time: TimeSyncViewer\n transaction: TransactionViewer\n}\n\n/** XyoViewerV2 interface. */\nexport interface XyoViewerV2 extends XyoViewerMethodsV2, Provider<XyoViewerMoniker> {\n account: {\n balance: AccountBalanceViewer\n }\n block: BlockViewer\n finalization: FinalizationViewer\n mempool: MempoolViewer\n networkStake: NetworkStakeViewer\n stake: StakeViewer\n step: StepViewer\n time: TimeSyncViewer\n transaction: TransactionViewer\n}\n","export * from './network/index.ts'\nexport * from './OpenTelemetryProviders.ts'\nexport * from './permissions/index.ts'\nexport * from './providers/index.ts'\nexport * from './repository/index.ts'\nexport * from './runners/index.ts'\nexport * from './validation/index.ts'\nexport * from './viewers/index.ts'\nexport * from '@xyo-network/xl1-protocol-model'\n"],"mappings":"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","names":["zodAsFactory","zodIsFactory","zodToFactory","z","z","zodIsFactory","zodAsFactory","zodToFactory","zodIsFactory","z","zodIsFactory","ChainQualificationZod","ChainQualifiedHeadConfigZod","ChainQualifiedRangeConfigZod","z","HashZod","z","HashZod","z","zodIsFactory","ChainQualificationZod","ChainQualifiedHeadConfigZod","ChainQualifiedRangeConfigZod","z","zodIsFactory","ChainQualificationZod","ChainQualifiedHeadConfigZod","ChainQualifiedRangeConfigZod","z"]}
@@ -0,0 +1,22 @@
1
+ import type { BlockRejection, Provider, TransactionRejection } from '@xyo-network/xl1-protocol-model';
2
+ /** DeadLetterQueueRunnerMethods interface. */
3
+ export interface DeadLetterQueueRunnerMethods {
4
+ rejectBlock(rejection: BlockRejection): Promise<boolean>;
5
+ rejectTransaction(rejection: TransactionRejection): Promise<boolean>;
6
+ }
7
+ /** Moniker identifier for the DeadLetterQueueRunner provider. */
8
+ export declare const DeadLetterQueueRunnerMoniker: "DeadLetterQueueRunner";
9
+ /** Type literal for the DeadLetterQueueRunner provider moniker. */
10
+ export type DeadLetterQueueRunnerMoniker = typeof DeadLetterQueueRunnerMoniker;
11
+ /** Options for DeadLetterQueue pruning. */
12
+ export interface DeadLetterQueuePruneOptions {
13
+ batchSize?: number;
14
+ maxCheck?: number;
15
+ maxPrune?: number;
16
+ }
17
+ /** Runner interface for executing DeadLetterQueue write operations. */
18
+ export interface DeadLetterQueueRunner extends DeadLetterQueueRunnerMethods, Provider<DeadLetterQueueRunnerMoniker> {
19
+ pruneRejectedBlocks(options?: DeadLetterQueuePruneOptions): Promise<[number, number]>;
20
+ pruneRejectedTransactions(options?: DeadLetterQueuePruneOptions): Promise<[number, number]>;
21
+ }
22
+ //# sourceMappingURL=DeadLetterQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeadLetterQueue.d.ts","sourceRoot":"","sources":["../../../src/runners/DeadLetterQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAAE,QAAQ,EAAE,oBAAoB,EAC/C,MAAM,iCAAiC,CAAA;AAExC,8CAA8C;AAC9C,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACxD,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACrE;AAED,iEAAiE;AACjE,eAAO,MAAM,4BAA4B,EAAG,uBAAgC,CAAA;AAC5E,mEAAmE;AACnE,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAA;AAE9E,2CAA2C;AAC3C,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,uEAAuE;AACvE,MAAM,WAAW,qBAAsB,SAAQ,4BAA4B,EAAE,QAAQ,CAAC,4BAA4B,CAAC;IACjH,mBAAmB,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACrF,yBAAyB,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC5F"}
@@ -1,4 +1,5 @@
1
1
  export * from './Block.ts';
2
+ export * from './DeadLetterQueue.ts';
2
3
  export * from './Finalization.ts';
3
4
  export * from './Mempool.ts';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runners/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runners/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
@@ -0,0 +1,31 @@
1
+ import type { BlockRejection, Provider, TransactionRejection } from '@xyo-network/xl1-protocol-model';
2
+ import { z } from 'zod';
3
+ /** RejectedBlocksOptionsZod constant. */
4
+ export declare const RejectedBlocksOptionsZod: z.ZodObject<{
5
+ cursor: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").BrandedHash, string>>>;
6
+ limit: z.ZodOptional<z.ZodNumber>;
7
+ rejector: z.ZodOptional<z.ZodString>;
8
+ }, z.core.$strip>;
9
+ /** RejectedBlocksOptions type. */
10
+ export type RejectedBlocksOptions = z.infer<typeof RejectedBlocksOptionsZod>;
11
+ /** RejectedTransactionsOptionsZod constant. */
12
+ export declare const RejectedTransactionsOptionsZod: z.ZodObject<{
13
+ cursor: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").BrandedHash, string>>>;
14
+ limit: z.ZodOptional<z.ZodNumber>;
15
+ rejector: z.ZodOptional<z.ZodString>;
16
+ }, z.core.$strip>;
17
+ /** RejectedTransactionsOptions type. */
18
+ export type RejectedTransactionsOptions = z.infer<typeof RejectedTransactionsOptionsZod>;
19
+ /** DeadLetterQueueViewerMethods interface. */
20
+ export interface DeadLetterQueueViewerMethods {
21
+ rejectedBlocks(options?: RejectedBlocksOptions): Promise<BlockRejection[]>;
22
+ rejectedTransactions(options?: RejectedTransactionsOptions): Promise<TransactionRejection[]>;
23
+ }
24
+ /** Moniker identifier for the DeadLetterQueueViewer provider. */
25
+ export declare const DeadLetterQueueViewerMoniker: "DeadLetterQueueViewer";
26
+ /** Type literal for the DeadLetterQueueViewer provider moniker. */
27
+ export type DeadLetterQueueViewerMoniker = typeof DeadLetterQueueViewerMoniker;
28
+ /** Viewer interface for querying rejected blocks and transactions (dead letter queue). */
29
+ export interface DeadLetterQueueViewer extends DeadLetterQueueViewerMethods, Provider<DeadLetterQueueViewerMoniker> {
30
+ }
31
+ //# sourceMappingURL=DeadLetterQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeadLetterQueue.d.ts","sourceRoot":"","sources":["../../../src/viewers/DeadLetterQueue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EAAE,QAAQ,EAAE,oBAAoB,EAC/C,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,yCAAyC;AACzC,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAA;AAEF,kCAAkC;AAClC,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE5E,+CAA+C;AAC/C,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAA;AAEF,wCAAwC;AACxC,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAExF,8CAA8C;AAC9C,MAAM,WAAW,4BAA4B;IAC3C,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;IAC1E,oBAAoB,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;CAC7F;AAED,iEAAiE;AACjE,eAAO,MAAM,4BAA4B,EAAG,uBAAgC,CAAA;AAC5E,mEAAmE;AACnE,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAA;AAE9E,0FAA0F;AAC1F,MAAM,WAAW,qBAAsB,SAAQ,4BAA4B,EAAE,QAAQ,CAAC,4BAA4B,CAAC;CAAG"}
@@ -4,6 +4,7 @@ export * from './BlockReward.ts';
4
4
  export * from './BlockValidation.ts';
5
5
  export * from './ChainContract.ts';
6
6
  export * from './ChainStakeViewer.ts';
7
+ export * from './DeadLetterQueue.ts';
7
8
  export * from './Finalization.ts';
8
9
  export * from './Fork.ts';
9
10
  export * from './Mempool.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/xl1-protocol-lib",
3
- "version": "1.26.24",
3
+ "version": "1.26.27",
4
4
  "description": "XYO Layer One Protocol",
5
5
  "homepage": "https://xylabs.com",
6
6
  "bugs": {
@@ -34,15 +34,14 @@
34
34
  "README.md"
35
35
  ],
36
36
  "dependencies": {
37
- "@xyo-network/xl1-protocol-model": "~1.26.24"
37
+ "@xyo-network/xl1-protocol-model": "~1.26.27"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@opentelemetry/api": "^1.9.1",
41
41
  "@types/node": "^25.6.0",
42
42
  "@xylabs/sdk-js": "^5.0.95",
43
- "@xylabs/ts-scripts-common": "~7.9.9",
44
- "@xylabs/ts-scripts-pnpm": "~7.9.9",
45
- "@xylabs/tsconfig": "~7.9.9",
43
+ "@xylabs/toolchain": "~7.10.4",
44
+ "@xylabs/tsconfig": "~7.10.4",
46
45
  "@xyo-network/account": "~5.3.30",
47
46
  "@xyo-network/account-model": "~5.3.30",
48
47
  "@xyo-network/api-models": "~5.3.30",