@xyo-network/xl1-providers 1.26.25 → 1.26.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/browser/NodeXyoRunner.d.ts +31 -0
  2. package/dist/browser/NodeXyoRunner.d.ts.map +1 -0
  3. package/dist/browser/SimpleDeadLetterQueueRunner.d.ts +23 -0
  4. package/dist/browser/SimpleDeadLetterQueueRunner.d.ts.map +1 -0
  5. package/dist/browser/SimpleDeadLetterQueueViewer.d.ts +20 -0
  6. package/dist/browser/SimpleDeadLetterQueueViewer.d.ts.map +1 -0
  7. package/dist/browser/index.d.ts +3 -0
  8. package/dist/browser/index.d.ts.map +1 -1
  9. package/dist/browser/index.mjs +250 -0
  10. package/dist/browser/index.mjs.map +1 -1
  11. package/dist/neutral/NodeXyoRunner.d.ts +31 -0
  12. package/dist/neutral/NodeXyoRunner.d.ts.map +1 -0
  13. package/dist/neutral/SimpleDeadLetterQueueRunner.d.ts +23 -0
  14. package/dist/neutral/SimpleDeadLetterQueueRunner.d.ts.map +1 -0
  15. package/dist/neutral/SimpleDeadLetterQueueViewer.d.ts +20 -0
  16. package/dist/neutral/SimpleDeadLetterQueueViewer.d.ts.map +1 -0
  17. package/dist/neutral/index.d.ts +3 -0
  18. package/dist/neutral/index.d.ts.map +1 -1
  19. package/dist/neutral/index.mjs +250 -0
  20. package/dist/neutral/index.mjs.map +1 -1
  21. package/dist/node/NodeXyoRunner.d.ts +31 -0
  22. package/dist/node/NodeXyoRunner.d.ts.map +1 -0
  23. package/dist/node/SimpleDeadLetterQueueRunner.d.ts +23 -0
  24. package/dist/node/SimpleDeadLetterQueueRunner.d.ts.map +1 -0
  25. package/dist/node/SimpleDeadLetterQueueViewer.d.ts +20 -0
  26. package/dist/node/SimpleDeadLetterQueueViewer.d.ts.map +1 -0
  27. package/dist/node/index.d.ts +3 -0
  28. package/dist/node/index.d.ts.map +1 -1
  29. package/dist/node/index.mjs +250 -0
  30. package/dist/node/index.mjs.map +1 -1
  31. package/package.json +6 -6
@@ -0,0 +1,31 @@
1
+ import type { Hash } from '@xylabs/sdk-js';
2
+ import type { ArchivistInstance, ModuleIdentifier, NodeInstance } from '@xyo-network/sdk-js';
3
+ import { MempoolRunner, type SignedHydratedTransaction, XyoRunner } from '@xyo-network/xl1-protocol-lib';
4
+ import type { CreatableProviderParams } from '@xyo-network/xl1-protocol-sdk';
5
+ import { AbstractCreatableProvider } from '@xyo-network/xl1-protocol-sdk';
6
+ /** Parameters for NodeXyoRunner. */
7
+ export interface NodeXyoRunnerParams extends CreatableProviderParams {
8
+ node: NodeInstance;
9
+ pendingBlocksArchivistPath?: ModuleIdentifier;
10
+ pendingTransactionsArchivistPath?: ModuleIdentifier;
11
+ }
12
+ /** Node-backed XyoRunner implementation for Node.js environments. */
13
+ export declare class NodeXyoRunner extends AbstractCreatableProvider<NodeXyoRunnerParams> implements XyoRunner {
14
+ static readonly defaultMoniker: "XyoRunner";
15
+ static readonly dependencies: never[];
16
+ static readonly monikers: "XyoRunner"[];
17
+ moniker: "XyoRunner";
18
+ private _mempoolRunner?;
19
+ private _pendingBlocksArchivist?;
20
+ private _pendingTransactionsArchivist?;
21
+ get mempool(): MempoolRunner;
22
+ protected get node(): NodeInstance<import("@xyo-network/sdk-js").NodeParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").NodeConfig>>, import("@xyo-network/sdk-js").NodeModuleEventData>;
23
+ protected get pendingBlocksArchivist(): ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, import("@xyo-network/sdk-js").Payload>;
24
+ protected get pendingBlocksArchivistPath(): ModuleIdentifier;
25
+ protected get pendingTransactionsArchivist(): ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, import("@xyo-network/sdk-js").Payload>;
26
+ protected get pendingTransactionsArchivistPath(): ModuleIdentifier;
27
+ broadcastTransaction(transaction: SignedHydratedTransaction): Promise<Hash>;
28
+ protected getArchivist: (identifier: ModuleIdentifier) => Promise<ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig<void, void>>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, import("@xyo-network/sdk-js").Payload<void, void>>>;
29
+ protected startHandler(): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=NodeXyoRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeXyoRunner.d.ts","sourceRoot":"","sources":["../../src/NodeXyoRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,EACV,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAClD,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACL,aAAa,EACb,KAAK,yBAAyB,EAAE,SAAS,EAC1C,MAAM,+BAA+B,CAAA;AACtC,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,+BAA+B,CAAA;AACvG,OAAO,EACL,yBAAyB,EAC1B,MAAM,+BAA+B,CAAA;AAEtC,oCAAoC;AACpC,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,IAAI,EAAE,YAAY,CAAA;IAClB,0BAA0B,CAAC,EAAE,gBAAgB,CAAA;IAC7C,gCAAgC,CAAC,EAAE,gBAAgB,CAAA;CACpD;AAED,qEAAqE;AACrE,qBACa,aAAc,SAAQ,yBAAyB,CAAC,mBAAmB,CAAE,YAAW,SAAS;IACpG,MAAM,CAAC,QAAQ,CAAC,cAAc,cAAmB;IACjD,MAAM,CAAC,QAAQ,CAAC,YAAY,UAAK;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,gBAAqB;IAC7C,OAAO,cAA+B;IAEtC,OAAO,CAAC,cAAc,CAAC,CAAe;IACtC,OAAO,CAAC,uBAAuB,CAAC,CAAmB;IACnD,OAAO,CAAC,6BAA6B,CAAC,CAAmB;IAEzD,IAAI,OAAO,kBAEV;IAED,SAAS,KAAK,IAAI,uMAEjB;IAED,SAAS,KAAK,sBAAsB,kQAEnC;IAED,SAAS,KAAK,0BAA0B,qBAEvC;IAED,SAAS,KAAK,4BAA4B,kQAEzC;IAED,SAAS,KAAK,gCAAgC,qBAE7C;IAEK,oBAAoB,CAAC,WAAW,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjF,SAAS,CAAC,YAAY,GAAU,YAAY,gBAAgB,oSAG3D;cAEwB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBvD"}
@@ -0,0 +1,23 @@
1
+ import type { ArchivistInstance } from '@xyo-network/sdk-js';
2
+ import { type BlockRejection, type DeadLetterQueuePruneOptions, type DeadLetterQueueRunner, type TransactionRejection } from '@xyo-network/xl1-protocol-lib';
3
+ import { AbstractCreatableProvider, CreatableProviderParams } from '@xyo-network/xl1-protocol-sdk';
4
+ /** Parameters for SimpleDeadLetterQueueRunner. */
5
+ export interface SimpleDeadLetterQueueRunnerParams extends CreatableProviderParams {
6
+ rejectedBlocksArchivist: ArchivistInstance;
7
+ rejectedTransactionsArchivist: ArchivistInstance;
8
+ }
9
+ /** SimpleDeadLetterQueueRunner implementation. */
10
+ export declare class SimpleDeadLetterQueueRunner extends AbstractCreatableProvider<SimpleDeadLetterQueueRunnerParams> implements DeadLetterQueueRunner {
11
+ static readonly defaultMoniker: "DeadLetterQueueRunner";
12
+ static readonly dependencies: string[];
13
+ static readonly monikers: "DeadLetterQueueRunner"[];
14
+ moniker: "DeadLetterQueueRunner";
15
+ protected get rejectedBlocksArchivist(): ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, import("@xyo-network/sdk-js").Payload>;
16
+ protected get rejectedTransactionsArchivist(): ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, import("@xyo-network/sdk-js").Payload>;
17
+ static paramsHandler(params?: Partial<SimpleDeadLetterQueueRunnerParams>): Promise<SimpleDeadLetterQueueRunnerParams>;
18
+ pruneRejectedBlocks({ batchSize, maxPrune, maxCheck, }?: DeadLetterQueuePruneOptions): Promise<[number, number]>;
19
+ pruneRejectedTransactions({ batchSize, maxPrune, maxCheck, }?: DeadLetterQueuePruneOptions): Promise<[number, number]>;
20
+ rejectBlock(rejection: BlockRejection): Promise<boolean>;
21
+ rejectTransaction(rejection: TransactionRejection): Promise<boolean>;
22
+ }
23
+ //# sourceMappingURL=SimpleDeadLetterQueueRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleDeadLetterQueueRunner.d.ts","sourceRoot":"","sources":["../../src/SimpleDeadLetterQueueRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,qBAAqB,CAAA;AAEtE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAI1B,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,yBAAyB,EAAqB,uBAAuB,EACtE,MAAM,+BAA+B,CAAA;AAEtC,kDAAkD;AAClD,MAAM,WAAW,iCAAkC,SAAQ,uBAAuB;IAChF,uBAAuB,EAAE,iBAAiB,CAAA;IAC1C,6BAA6B,EAAE,iBAAiB,CAAA;CACjD;AAED,kDAAkD;AAClD,qBACa,2BAA4B,SAAQ,yBAAyB,CAAC,iCAAiC,CAAE,YAAW,qBAAqB;IAC5I,MAAM,CAAC,QAAQ,CAAC,cAAc,0BAA+B;IAC7D,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAK;IAC3C,MAAM,CAAC,QAAQ,CAAC,QAAQ,4BAAiC;IACzD,OAAO,0BAA6C;IAEpD,SAAS,KAAK,uBAAuB,kQAEpC;IAED,SAAS,KAAK,6BAA6B,kQAE1C;WAEqB,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,iCAAiC,CAAC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAQ9H,mBAAmB,CAAC,EACxB,SAAc,EAAE,QAAe,EAAE,QAAe,GACjD,GAAE,2BAAgC,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA6BzD,yBAAyB,CAAC,EAC9B,SAAc,EAAE,QAAe,EAAE,QAAe,GACjD,GAAE,2BAAgC,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA6BzD,WAAW,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;CAK3E"}
@@ -0,0 +1,20 @@
1
+ import type { ArchivistInstance } from '@xyo-network/sdk-js';
2
+ import { type BlockRejection, type DeadLetterQueueViewer, type RejectedBlocksOptions, type RejectedTransactionsOptions, type TransactionRejection } from '@xyo-network/xl1-protocol-lib';
3
+ import { AbstractCreatableProvider, CreatableProviderParams } from '@xyo-network/xl1-protocol-sdk';
4
+ /** Parameters for SimpleDeadLetterQueueViewer. */
5
+ export interface SimpleDeadLetterQueueViewerParams extends CreatableProviderParams {
6
+ rejectedBlocksArchivist: ArchivistInstance;
7
+ rejectedTransactionsArchivist: ArchivistInstance;
8
+ }
9
+ /** SimpleDeadLetterQueueViewer implementation. */
10
+ export declare class SimpleDeadLetterQueueViewer extends AbstractCreatableProvider<SimpleDeadLetterQueueViewerParams> implements DeadLetterQueueViewer {
11
+ static readonly defaultMoniker: "DeadLetterQueueViewer";
12
+ static readonly dependencies: string[];
13
+ static readonly monikers: "DeadLetterQueueViewer"[];
14
+ moniker: "DeadLetterQueueViewer";
15
+ protected get rejectedBlocksArchivist(): ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, import("@xyo-network/sdk-js").Payload>;
16
+ protected get rejectedTransactionsArchivist(): ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, import("@xyo-network/sdk-js").Payload>;
17
+ rejectedBlocks({ cursor: providedCursor, limit, rejector, }?: RejectedBlocksOptions): Promise<BlockRejection[]>;
18
+ rejectedTransactions({ cursor: providedCursor, limit, rejector, }?: RejectedTransactionsOptions): Promise<TransactionRejection[]>;
19
+ }
20
+ //# sourceMappingURL=SimpleDeadLetterQueueViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleDeadLetterQueueViewer.d.ts","sourceRoot":"","sources":["../../src/SimpleDeadLetterQueueViewer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,qBAAqB,CAAA;AAEtE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAI1B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,yBAAyB,EAAqB,uBAAuB,EACtE,MAAM,+BAA+B,CAAA;AAEtC,kDAAkD;AAClD,MAAM,WAAW,iCAAkC,SAAQ,uBAAuB;IAChF,uBAAuB,EAAE,iBAAiB,CAAA;IAC1C,6BAA6B,EAAE,iBAAiB,CAAA;CACjD;AAED,kDAAkD;AAClD,qBACa,2BAA4B,SAAQ,yBAAyB,CAAC,iCAAiC,CAAE,YAAW,qBAAqB;IAC5I,MAAM,CAAC,QAAQ,CAAC,cAAc,0BAA+B;IAC7D,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAK;IAC3C,MAAM,CAAC,QAAQ,CAAC,QAAQ,4BAAiC;IACzD,OAAO,0BAA6C;IAEpD,SAAS,KAAK,uBAAuB,kQAEpC;IAED,SAAS,KAAK,6BAA6B,kQAE1C;IAEK,cAAc,CAAC,EACnB,MAAM,EAAE,cAAc,EACtB,KAAW,EACX,QAAQ,GACT,GAAE,qBAA0B,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAkBnD,oBAAoB,CAAC,EACzB,MAAM,EAAE,cAAc,EACtB,KAAW,EACX,QAAQ,GACT,GAAE,2BAAgC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAiBtE"}
@@ -2,8 +2,11 @@ export * from './buildProviderLocator.ts';
2
2
  export * from './buildProviderLocatorV2.ts';
3
3
  export * from './buildSimpleXyoSignerV2.ts';
4
4
  export * from './locators/index.ts';
5
+ export * from './NodeXyoRunner.ts';
5
6
  export * from './NodeXyoViewer.ts';
6
7
  export * from './registerHelpers.ts';
8
+ export * from './SimpleDeadLetterQueueRunner.ts';
9
+ export * from './SimpleDeadLetterQueueViewer.ts';
7
10
  export * from './SimpleNetworkStakeViewer.ts';
8
11
  export * from './SimpleStepRewards/index.ts';
9
12
  export * from './SimpleStepViewer.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sBAAsB,CAAA"}
@@ -1516,8 +1516,258 @@ async function rootLocatorFromConfig(context, validateDepsOnRegister = false, va
1516
1516
  locator.freeze();
1517
1517
  return locator;
1518
1518
  }
1519
+
1520
+ // src/NodeXyoRunner.ts
1521
+ import { assertEx as assertEx6 } from "@xylabs/sdk-js";
1522
+ import { asArchivistInstance } from "@xyo-network/sdk-js";
1523
+ import {
1524
+ XyoRunnerMoniker as XyoRunnerMoniker2
1525
+ } from "@xyo-network/xl1-protocol-lib";
1526
+ import {
1527
+ AbstractCreatableProvider as AbstractCreatableProvider11,
1528
+ creatableProvider as creatableProvider12,
1529
+ SimpleMempoolRunner as SimpleMempoolRunner3
1530
+ } from "@xyo-network/xl1-protocol-sdk";
1531
+ var NodeXyoRunner = class extends AbstractCreatableProvider11 {
1532
+ moniker = NodeXyoRunner.defaultMoniker;
1533
+ _mempoolRunner;
1534
+ _pendingBlocksArchivist;
1535
+ _pendingTransactionsArchivist;
1536
+ get mempool() {
1537
+ return this._mempoolRunner;
1538
+ }
1539
+ get node() {
1540
+ return this.params.node;
1541
+ }
1542
+ get pendingBlocksArchivist() {
1543
+ return this._pendingBlocksArchivist;
1544
+ }
1545
+ get pendingBlocksArchivistPath() {
1546
+ return this.params.pendingBlocksArchivistPath ?? "XYOChain:Pending:Blocks";
1547
+ }
1548
+ get pendingTransactionsArchivist() {
1549
+ return this._pendingTransactionsArchivist;
1550
+ }
1551
+ get pendingTransactionsArchivistPath() {
1552
+ return this.params.pendingTransactionsArchivistPath ?? "XYOChain:Pending:Transactions";
1553
+ }
1554
+ async broadcastTransaction(transaction) {
1555
+ const [txHash] = await this.mempool.submitTransactions([transaction]);
1556
+ return txHash;
1557
+ }
1558
+ getArchivist = async (identifier) => {
1559
+ const archivist = await this.node.resolve(identifier);
1560
+ return assertEx6(asArchivistInstance(archivist), () => `Could not resolve ${identifier} to an archivist instance`);
1561
+ };
1562
+ async startHandler() {
1563
+ await super.startHandler();
1564
+ this._pendingTransactionsArchivist = assertEx6(
1565
+ await this.getArchivist(this.pendingTransactionsArchivistPath),
1566
+ () => `Could not resolve pending archivist at ${this.pendingTransactionsArchivistPath}`
1567
+ );
1568
+ this._pendingBlocksArchivist = assertEx6(
1569
+ await this.getArchivist(this.pendingBlocksArchivistPath),
1570
+ () => `Could not resolve pending archivist at ${this.pendingBlocksArchivistPath}`
1571
+ );
1572
+ this._mempoolRunner = assertEx6(await SimpleMempoolRunner3.create({
1573
+ context: this.context,
1574
+ pendingTransactionsArchivist: this.pendingTransactionsArchivist,
1575
+ pendingBlocksArchivist: this.pendingBlocksArchivist
1576
+ }), () => "Failed to create SimpleMempoolRunner");
1577
+ }
1578
+ };
1579
+ __publicField(NodeXyoRunner, "defaultMoniker", XyoRunnerMoniker2);
1580
+ __publicField(NodeXyoRunner, "dependencies", []);
1581
+ __publicField(NodeXyoRunner, "monikers", [XyoRunnerMoniker2]);
1582
+ NodeXyoRunner = __decorateClass([
1583
+ creatableProvider12()
1584
+ ], NodeXyoRunner);
1585
+
1586
+ // src/SimpleDeadLetterQueueRunner.ts
1587
+ import { assertEx as assertEx7 } from "@xylabs/sdk-js";
1588
+ import { isHashMeta, PayloadBuilder } from "@xyo-network/sdk-js";
1589
+ import {
1590
+ DeadLetterQueueRunnerMoniker,
1591
+ isBlockRejection,
1592
+ isTransactionRejection
1593
+ } from "@xyo-network/xl1-protocol-lib";
1594
+ import {
1595
+ AbstractCreatableProvider as AbstractCreatableProvider12,
1596
+ creatableProvider as creatableProvider13
1597
+ } from "@xyo-network/xl1-protocol-sdk";
1598
+ var SimpleDeadLetterQueueRunner = class extends AbstractCreatableProvider12 {
1599
+ moniker = SimpleDeadLetterQueueRunner.defaultMoniker;
1600
+ get rejectedBlocksArchivist() {
1601
+ return this.params.rejectedBlocksArchivist;
1602
+ }
1603
+ get rejectedTransactionsArchivist() {
1604
+ return this.params.rejectedTransactionsArchivist;
1605
+ }
1606
+ static async paramsHandler(params) {
1607
+ return {
1608
+ ...await super.paramsHandler(params),
1609
+ rejectedBlocksArchivist: assertEx7(params?.rejectedBlocksArchivist, () => "rejectedBlocksArchivist is required"),
1610
+ rejectedTransactionsArchivist: assertEx7(params?.rejectedTransactionsArchivist, () => "rejectedTransactionsArchivist is required")
1611
+ };
1612
+ }
1613
+ async pruneRejectedBlocks({
1614
+ batchSize = 10,
1615
+ maxPrune = 1e3,
1616
+ maxCheck = 1e3
1617
+ } = {}) {
1618
+ let total = 0;
1619
+ let pruned = 0;
1620
+ let cursor;
1621
+ let batch = await this.rejectedBlocksArchivist.next({
1622
+ limit: batchSize,
1623
+ cursor,
1624
+ order: "desc"
1625
+ });
1626
+ while (batch.length > 0 && pruned < maxPrune && total < maxCheck) {
1627
+ const pruneHashes = batch.filter(isHashMeta).filter((p) => !isBlockRejection(p)).map((p) => p._hash);
1628
+ pruned += pruneHashes.length;
1629
+ total += batch.length;
1630
+ if (pruneHashes.length > 0) {
1631
+ await this.rejectedBlocksArchivist.delete(pruneHashes);
1632
+ }
1633
+ cursor = batch.at(-1)?._sequence;
1634
+ batch = cursor ? await this.rejectedBlocksArchivist.next({
1635
+ limit: batchSize,
1636
+ cursor,
1637
+ order: "desc"
1638
+ }) : [];
1639
+ }
1640
+ return [pruned, total];
1641
+ }
1642
+ async pruneRejectedTransactions({
1643
+ batchSize = 10,
1644
+ maxPrune = 1e3,
1645
+ maxCheck = 1e3
1646
+ } = {}) {
1647
+ let total = 0;
1648
+ let pruned = 0;
1649
+ let cursor;
1650
+ let batch = await this.rejectedTransactionsArchivist.next({
1651
+ limit: batchSize,
1652
+ cursor,
1653
+ order: "desc"
1654
+ });
1655
+ while (batch.length > 0 && pruned < maxPrune && total < maxCheck) {
1656
+ const pruneHashes = batch.filter(isHashMeta).filter((p) => !isTransactionRejection(p)).map((p) => p._hash);
1657
+ pruned += pruneHashes.length;
1658
+ total += batch.length;
1659
+ if (pruneHashes.length > 0) {
1660
+ await this.rejectedTransactionsArchivist.delete(pruneHashes);
1661
+ }
1662
+ cursor = batch.at(-1)?._sequence;
1663
+ batch = cursor ? await this.rejectedTransactionsArchivist.next({
1664
+ limit: batchSize,
1665
+ cursor,
1666
+ order: "desc"
1667
+ }) : [];
1668
+ }
1669
+ return [pruned, total];
1670
+ }
1671
+ async rejectBlock(rejection) {
1672
+ const withMeta = await PayloadBuilder.addHashMeta(rejection);
1673
+ const inserted = await this.rejectedBlocksArchivist.insert([withMeta]);
1674
+ return inserted.length > 0;
1675
+ }
1676
+ async rejectTransaction(rejection) {
1677
+ const withMeta = await PayloadBuilder.addHashMeta(rejection);
1678
+ const inserted = await this.rejectedTransactionsArchivist.insert([withMeta]);
1679
+ return inserted.length > 0;
1680
+ }
1681
+ };
1682
+ __publicField(SimpleDeadLetterQueueRunner, "defaultMoniker", DeadLetterQueueRunnerMoniker);
1683
+ __publicField(SimpleDeadLetterQueueRunner, "dependencies", []);
1684
+ __publicField(SimpleDeadLetterQueueRunner, "monikers", [DeadLetterQueueRunnerMoniker]);
1685
+ SimpleDeadLetterQueueRunner = __decorateClass([
1686
+ creatableProvider13()
1687
+ ], SimpleDeadLetterQueueRunner);
1688
+
1689
+ // src/SimpleDeadLetterQueueViewer.ts
1690
+ import {
1691
+ exists,
1692
+ isDefined as isDefined3,
1693
+ isHash
1694
+ } from "@xylabs/sdk-js";
1695
+ import { isHashMeta as isHashMeta2 } from "@xyo-network/sdk-js";
1696
+ import {
1697
+ DeadLetterQueueViewerMoniker,
1698
+ isBlockRejection as isBlockRejection2,
1699
+ isTransactionRejection as isTransactionRejection2
1700
+ } from "@xyo-network/xl1-protocol-lib";
1701
+ import {
1702
+ AbstractCreatableProvider as AbstractCreatableProvider13,
1703
+ creatableProvider as creatableProvider14
1704
+ } from "@xyo-network/xl1-protocol-sdk";
1705
+ var SimpleDeadLetterQueueViewer = class extends AbstractCreatableProvider13 {
1706
+ moniker = SimpleDeadLetterQueueViewer.defaultMoniker;
1707
+ get rejectedBlocksArchivist() {
1708
+ return this.params.rejectedBlocksArchivist;
1709
+ }
1710
+ get rejectedTransactionsArchivist() {
1711
+ return this.params.rejectedTransactionsArchivist;
1712
+ }
1713
+ async rejectedBlocks({
1714
+ cursor: providedCursor,
1715
+ limit = 100,
1716
+ rejector
1717
+ } = {}) {
1718
+ let cursor;
1719
+ if (isHash(providedCursor)) {
1720
+ const [p] = await this.rejectedBlocksArchivist.get([providedCursor]);
1721
+ if (isDefined3(p)) {
1722
+ cursor = p._sequence;
1723
+ }
1724
+ }
1725
+ const payloads = await this.rejectedBlocksArchivist.next({
1726
+ order: "desc",
1727
+ limit,
1728
+ cursor
1729
+ });
1730
+ const rejections = payloads.filter(isHashMeta2).map((p) => isBlockRejection2(p) ? p : void 0).filter(exists);
1731
+ if (rejector) {
1732
+ return rejections.filter((r) => r.rejector === rejector);
1733
+ }
1734
+ return rejections;
1735
+ }
1736
+ async rejectedTransactions({
1737
+ cursor: providedCursor,
1738
+ limit = 100,
1739
+ rejector
1740
+ } = {}) {
1741
+ let cursor;
1742
+ if (isHash(providedCursor)) {
1743
+ const [p] = await this.rejectedTransactionsArchivist.get([providedCursor]);
1744
+ if (isDefined3(p)) {
1745
+ cursor = p._sequence;
1746
+ }
1747
+ }
1748
+ const payloads = await this.rejectedTransactionsArchivist.next({
1749
+ order: "desc",
1750
+ limit,
1751
+ cursor
1752
+ });
1753
+ const rejections = payloads.filter(isHashMeta2).map((p) => isTransactionRejection2(p) ? p : void 0).filter(exists);
1754
+ if (rejector) {
1755
+ return rejections.filter((r) => r.rejector === rejector);
1756
+ }
1757
+ return rejections;
1758
+ }
1759
+ };
1760
+ __publicField(SimpleDeadLetterQueueViewer, "defaultMoniker", DeadLetterQueueViewerMoniker);
1761
+ __publicField(SimpleDeadLetterQueueViewer, "dependencies", []);
1762
+ __publicField(SimpleDeadLetterQueueViewer, "monikers", [DeadLetterQueueViewerMoniker]);
1763
+ SimpleDeadLetterQueueViewer = __decorateClass([
1764
+ creatableProvider14()
1765
+ ], SimpleDeadLetterQueueViewer);
1519
1766
  export {
1767
+ NodeXyoRunner,
1520
1768
  NodeXyoViewer,
1769
+ SimpleDeadLetterQueueRunner,
1770
+ SimpleDeadLetterQueueViewer,
1521
1771
  SimpleNetworkStakeViewer,
1522
1772
  SimpleStepRewardsByPositionViewer,
1523
1773
  SimpleStepRewardsByStakerViewer,