@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.
- package/dist/browser/NodeXyoRunner.d.ts +31 -0
- package/dist/browser/NodeXyoRunner.d.ts.map +1 -0
- package/dist/browser/SimpleDeadLetterQueueRunner.d.ts +23 -0
- package/dist/browser/SimpleDeadLetterQueueRunner.d.ts.map +1 -0
- package/dist/browser/SimpleDeadLetterQueueViewer.d.ts +20 -0
- package/dist/browser/SimpleDeadLetterQueueViewer.d.ts.map +1 -0
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.mjs +250 -0
- package/dist/browser/index.mjs.map +1 -1
- package/dist/neutral/NodeXyoRunner.d.ts +31 -0
- package/dist/neutral/NodeXyoRunner.d.ts.map +1 -0
- package/dist/neutral/SimpleDeadLetterQueueRunner.d.ts +23 -0
- package/dist/neutral/SimpleDeadLetterQueueRunner.d.ts.map +1 -0
- package/dist/neutral/SimpleDeadLetterQueueViewer.d.ts +20 -0
- package/dist/neutral/SimpleDeadLetterQueueViewer.d.ts.map +1 -0
- package/dist/neutral/index.d.ts +3 -0
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +250 -0
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/node/NodeXyoRunner.d.ts +31 -0
- package/dist/node/NodeXyoRunner.d.ts.map +1 -0
- package/dist/node/SimpleDeadLetterQueueRunner.d.ts +23 -0
- package/dist/node/SimpleDeadLetterQueueRunner.d.ts.map +1 -0
- package/dist/node/SimpleDeadLetterQueueViewer.d.ts +20 -0
- package/dist/node/SimpleDeadLetterQueueViewer.d.ts.map +1 -0
- package/dist/node/index.d.ts +3 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.mjs +250 -0
- package/dist/node/index.mjs.map +1 -1
- 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"}
|
package/dist/browser/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -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,
|