@xyo-network/chain-mempool 1.19.14 → 1.19.16
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/node/MempoolActor.d.ts +3 -2
- package/dist/node/MempoolActor.d.ts.map +1 -1
- package/dist/node/index.mjs +11 -7
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/runMempool.d.ts +5 -3
- package/dist/node/runMempool.d.ts.map +1 -1
- package/package.json +36 -32
- package/src/MempoolActor.ts +4 -4
- package/src/runMempool.ts +18 -11
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MempoolConfig } from '@xyo-network/chain-orchestration';
|
|
2
|
+
import { ActorParamsV3, ActorV3, MempoolRunner } from '@xyo-network/xl1-sdk';
|
|
2
3
|
export type MempoolActorParams = ActorParamsV3<{
|
|
3
|
-
config:
|
|
4
|
+
config: MempoolConfig;
|
|
4
5
|
}>;
|
|
5
6
|
export declare class MempoolActor extends ActorV3<MempoolActorParams> {
|
|
6
7
|
protected _mempoolRunner: MempoolRunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MempoolActor.d.ts","sourceRoot":"","sources":["../../src/MempoolActor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"MempoolActor.d.ts","sourceRoot":"","sources":["../../src/MempoolActor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,EACL,aAAa,EACb,OAAO,EACP,aAAa,EAEd,MAAM,sBAAsB,CAAA;AAG7B,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,aAAa,CAAA;CACtB,CAAC,CAAA;AAEF,qBACa,YAAa,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAC3D,SAAS,CAAC,cAAc,EAAG,aAAa,CAAA;IAExC,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,gBAAgB,CAAc;IAEtC,OAAO,CAAC,mBAAmB,CAA8C;IACzE,OAAO,CAAC,sBAAsB,CAAc;IAE5C,SAAS,KAAK,aAAa,kBAE1B;IAEc,aAAa;IAKb,YAAY;IAMZ,WAAW;IAM1B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,oBAAoB;CAM7B"}
|
package/dist/node/index.mjs
CHANGED
|
@@ -30,12 +30,10 @@ var MempoolActor = class extends ActorV3 {
|
|
|
30
30
|
}
|
|
31
31
|
async startHandler() {
|
|
32
32
|
await super.startHandler();
|
|
33
|
-
this.restartTransactionTimer();
|
|
34
33
|
this.restartBlockTimer();
|
|
35
34
|
}
|
|
36
35
|
async stopHandler() {
|
|
37
36
|
await super.stopHandler();
|
|
38
|
-
this.stopTransactionTimer();
|
|
39
37
|
this.stopBlockTimer();
|
|
40
38
|
}
|
|
41
39
|
restartBlockTimer() {
|
|
@@ -91,17 +89,22 @@ MempoolActor = _ts_decorate([
|
|
|
91
89
|
|
|
92
90
|
// src/runMempool.ts
|
|
93
91
|
import { exists } from "@xylabs/sdk-js";
|
|
94
|
-
import {
|
|
95
|
-
var
|
|
96
|
-
const account = await
|
|
92
|
+
import { initActorWallet } from "@xyo-network/chain-orchestration";
|
|
93
|
+
var getMempoolActor = /* @__PURE__ */ __name(async (config, locator) => {
|
|
94
|
+
const account = await initActorWallet({
|
|
97
95
|
config,
|
|
98
|
-
logger: locator.context.logger
|
|
96
|
+
logger: locator.context.logger,
|
|
97
|
+
caches: {},
|
|
98
|
+
singletons: {}
|
|
99
99
|
});
|
|
100
|
-
|
|
100
|
+
return await MempoolActor.create({
|
|
101
101
|
account,
|
|
102
102
|
config,
|
|
103
103
|
locator
|
|
104
104
|
});
|
|
105
|
+
}, "getMempoolActor");
|
|
106
|
+
var runMempool = /* @__PURE__ */ __name(async (config, orchestrator, locator) => {
|
|
107
|
+
const mempool = await getMempoolActor(config, locator);
|
|
105
108
|
const actors = [
|
|
106
109
|
mempool
|
|
107
110
|
].filter(exists);
|
|
@@ -112,6 +115,7 @@ var runMempool = /* @__PURE__ */ __name(async (config, orchestrator, locator) =>
|
|
|
112
115
|
}, "runMempool");
|
|
113
116
|
export {
|
|
114
117
|
MempoolActor,
|
|
118
|
+
getMempoolActor,
|
|
115
119
|
runMempool
|
|
116
120
|
};
|
|
117
121
|
//# sourceMappingURL=index.mjs.map
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/MempoolActor.ts","../../src/runMempool.ts"],"sourcesContent":["import { creatable } from '@xylabs/sdk-js'\nimport {\n ActorParamsV3,\n ActorV3,\n
|
|
1
|
+
{"version":3,"sources":["../../src/MempoolActor.ts","../../src/runMempool.ts"],"sourcesContent":["import { creatable } from '@xylabs/sdk-js'\nimport { MempoolConfig } from '@xyo-network/chain-orchestration'\nimport {\n ActorParamsV3,\n ActorV3,\n MempoolRunner,\n MempoolRunnerMoniker,\n} from '@xyo-network/xl1-sdk'\nimport { Mutex } from 'async-mutex'\n\nexport type MempoolActorParams = ActorParamsV3<{\n config: MempoolConfig\n}>\n\n@creatable()\nexport class MempoolActor extends ActorV3<MempoolActorParams> {\n protected _mempoolRunner!: MempoolRunner\n\n private _blockTimerId: ReturnType<typeof setInterval> | null = null\n private _blockTimerMutex = new Mutex()\n\n private _transactionTimerId: ReturnType<typeof setInterval> | null = null\n private _transactionTimerMutex = new Mutex()\n\n protected get mempoolRunner() {\n return this._mempoolRunner\n }\n\n override async createHandler() {\n await super.createHandler()\n this._mempoolRunner = await this.locator.getInstance(MempoolRunnerMoniker)\n }\n\n override async startHandler() {\n await super.startHandler()\n // this.restartTransactionTimer()\n this.restartBlockTimer()\n }\n\n override async stopHandler() {\n await super.stopHandler()\n // this.stopTransactionTimer()\n this.stopBlockTimer()\n }\n\n private restartBlockTimer() {\n this.stopBlockTimer()\n this._blockTimerId = setInterval(() => {\n if (this._blockTimerMutex.isLocked()) {\n return\n }\n void this._blockTimerMutex.runExclusive(async () => {\n try {\n await this.mempoolRunner.prunePendingBlocks({ batchSize: 50 })\n } catch (error) {\n this.logger?.error(`[MempoolActor] Error pruning pending blocks: ${(error as Error).message}`)\n }\n })\n }, 1000)\n }\n\n private restartTransactionTimer() {\n this.stopTransactionTimer()\n this._transactionTimerId = setInterval(() => {\n if (this._transactionTimerMutex.isLocked()) {\n return\n }\n void this._transactionTimerMutex.runExclusive(async () => {\n try {\n await this.mempoolRunner.prunePendingTransactions({ batchSize: 50 })\n } catch (error) {\n this.logger?.error(`[MempoolActor] Error pruning pending transactions: ${(error as Error).message}`)\n }\n })\n }, 1000)\n }\n\n private stopBlockTimer() {\n if (this._blockTimerId !== null) {\n clearInterval(this._blockTimerId)\n }\n this._blockTimerId = null\n }\n\n private stopTransactionTimer() {\n if (this._transactionTimerId !== null) {\n clearInterval(this._transactionTimerId)\n }\n this._transactionTimerId = null\n }\n}\n","import { exists } from '@xylabs/sdk-js'\nimport type { MempoolConfig, OrchestratorInstance } from '@xyo-network/chain-orchestration'\nimport { initActorWallet } from '@xyo-network/chain-orchestration'\nimport type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk'\n\nimport { MempoolActor } from './MempoolActor.ts'\n\nexport const getMempoolActor = async (\n config: MempoolConfig,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const account = await initActorWallet({\n config, logger: locator.context.logger, caches: {}, singletons: {},\n })\n\n return await MempoolActor.create({\n account, config, locator,\n })\n}\n\nexport const runMempool = async (\n config: MempoolConfig,\n orchestrator: OrchestratorInstance,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const mempool = await getMempoolActor(config, locator)\n const actors = [mempool].filter(exists)\n\n for (const actor of actors) {\n // Register the actor with the orchestrator\n await orchestrator.registerActor(actor)\n }\n // Start the orchestrator => automatically activates the actor\n await orchestrator.start()\n}\n"],"mappings":";;;;AAAA,SAASA,iBAAiB;AAE1B,SAEEC,SAEAC,4BACK;AACP,SAASC,aAAa;;;;;;;;AAOf,IAAMC,eAAN,cAA2BC,QAAAA;SAAAA;;;EACtBC;EAEFC,gBAAuD;EACvDC,mBAAmB,IAAIC,MAAAA;EAEvBC,sBAA6D;EAC7DC,yBAAyB,IAAIF,MAAAA;EAErC,IAAcG,gBAAgB;AAC5B,WAAO,KAAKN;EACd;EAEA,MAAeO,gBAAgB;AAC7B,UAAM,MAAMA,cAAAA;AACZ,SAAKP,iBAAiB,MAAM,KAAKQ,QAAQC,YAAYC,oBAAAA;EACvD;EAEA,MAAeC,eAAe;AAC5B,UAAM,MAAMA,aAAAA;AAEZ,SAAKC,kBAAiB;EACxB;EAEA,MAAeC,cAAc;AAC3B,UAAM,MAAMA,YAAAA;AAEZ,SAAKC,eAAc;EACrB;EAEQF,oBAAoB;AAC1B,SAAKE,eAAc;AACnB,SAAKb,gBAAgBc,YAAY,MAAA;AAC/B,UAAI,KAAKb,iBAAiBc,SAAQ,GAAI;AACpC;MACF;AACA,WAAK,KAAKd,iBAAiBe,aAAa,YAAA;AACtC,YAAI;AACF,gBAAM,KAAKX,cAAcY,mBAAmB;YAAEC,WAAW;UAAG,CAAA;QAC9D,SAASC,OAAO;AACd,eAAKC,QAAQD,MAAM,gDAAiDA,MAAgBE,OAAO,EAAE;QAC/F;MACF,CAAA;IACF,GAAG,GAAA;EACL;EAEQC,0BAA0B;AAChC,SAAKC,qBAAoB;AACzB,SAAKpB,sBAAsBW,YAAY,MAAA;AACrC,UAAI,KAAKV,uBAAuBW,SAAQ,GAAI;AAC1C;MACF;AACA,WAAK,KAAKX,uBAAuBY,aAAa,YAAA;AAC5C,YAAI;AACF,gBAAM,KAAKX,cAAcmB,yBAAyB;YAAEN,WAAW;UAAG,CAAA;QACpE,SAASC,OAAO;AACd,eAAKC,QAAQD,MAAM,sDAAuDA,MAAgBE,OAAO,EAAE;QACrG;MACF,CAAA;IACF,GAAG,GAAA;EACL;EAEQR,iBAAiB;AACvB,QAAI,KAAKb,kBAAkB,MAAM;AAC/ByB,oBAAc,KAAKzB,aAAa;IAClC;AACA,SAAKA,gBAAgB;EACvB;EAEQuB,uBAAuB;AAC7B,QAAI,KAAKpB,wBAAwB,MAAM;AACrCsB,oBAAc,KAAKtB,mBAAmB;IACxC;AACA,SAAKA,sBAAsB;EAC7B;AACF;;;;;;AC1FA,SAASuB,cAAc;AAEvB,SAASC,uBAAuB;AAKzB,IAAMC,kBAAkB,8BAC7BC,QACAC,YAAAA;AAEA,QAAMC,UAAU,MAAMC,gBAAgB;IACpCH;IAAQI,QAAQH,QAAQI,QAAQD;IAAQE,QAAQ,CAAC;IAAGC,YAAY,CAAC;EACnE,CAAA;AAEA,SAAO,MAAMC,aAAaC,OAAO;IAC/BP;IAASF;IAAQC;EACnB,CAAA;AACF,GAX+B;AAaxB,IAAMS,aAAa,8BACxBV,QACAW,cACAV,YAAAA;AAEA,QAAMW,UAAU,MAAMb,gBAAgBC,QAAQC,OAAAA;AAC9C,QAAMY,SAAS;IAACD;IAASE,OAAOC,MAAAA;AAEhC,aAAWC,SAASH,QAAQ;AAE1B,UAAMF,aAAaM,cAAcD,KAAAA;EACnC;AAEA,QAAML,aAAaO,MAAK;AAC1B,GAd0B;","names":["creatable","ActorV3","MempoolRunnerMoniker","Mutex","MempoolActor","ActorV3","_mempoolRunner","_blockTimerId","_blockTimerMutex","Mutex","_transactionTimerId","_transactionTimerMutex","mempoolRunner","createHandler","locator","getInstance","MempoolRunnerMoniker","startHandler","restartBlockTimer","stopHandler","stopBlockTimer","setInterval","isLocked","runExclusive","prunePendingBlocks","batchSize","error","logger","message","restartTransactionTimer","stopTransactionTimer","prunePendingTransactions","clearInterval","exists","initActorWallet","getMempoolActor","config","locator","account","initActorWallet","logger","context","caches","singletons","MempoolActor","create","runMempool","orchestrator","mempool","actors","filter","exists","actor","registerActor","start"]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
1
|
+
import type { MempoolConfig, OrchestratorInstance } from '@xyo-network/chain-orchestration';
|
|
2
|
+
import type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk';
|
|
3
|
+
import { MempoolActor } from './MempoolActor.ts';
|
|
4
|
+
export declare const getMempoolActor: (config: MempoolConfig, locator: ProviderFactoryLocatorInstance) => Promise<MempoolActor>;
|
|
5
|
+
export declare const runMempool: (config: MempoolConfig, orchestrator: OrchestratorInstance, locator: ProviderFactoryLocatorInstance) => Promise<void>;
|
|
4
6
|
//# sourceMappingURL=runMempool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runMempool.d.ts","sourceRoot":"","sources":["../../src/runMempool.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"runMempool.d.ts","sourceRoot":"","sources":["../../src/runMempool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAE3F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,eAAO,MAAM,eAAe,GAC1B,QAAQ,aAAa,EACrB,SAAS,8BAA8B,0BASxC,CAAA;AAED,eAAO,MAAM,UAAU,GACrB,QAAQ,aAAa,EACrB,cAAc,oBAAoB,EAClC,SAAS,8BAA8B,kBAWxC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/chain-mempool",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.16",
|
|
4
4
|
"description": "XYO Layer One API",
|
|
5
5
|
"homepage": "https://xylabs.com",
|
|
6
6
|
"bugs": {
|
|
@@ -49,51 +49,55 @@
|
|
|
49
49
|
"types": "tsc --noEmit -p tsconfig.test.json"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@
|
|
53
|
-
"@xyo-network/boundwitness-model": "~5.3.2",
|
|
54
|
-
"@xyo-network/chain-orchestration": "~1.19.14",
|
|
55
|
-
"@xyo-network/manifest-model": "~5.3.2",
|
|
56
|
-
"@xyo-network/module-factory-locator": "~5.3.2",
|
|
57
|
-
"@xyo-network/module-model": "~5.3.2",
|
|
58
|
-
"@xyo-network/node-model": "~5.3.2",
|
|
59
|
-
"@xyo-network/payload-model": "~5.3.2",
|
|
60
|
-
"@xyo-network/wallet-model": "~5.3.2",
|
|
61
|
-
"@xyo-network/xl1-sdk": "~1.23.21",
|
|
52
|
+
"@xyo-network/chain-orchestration": "~1.19.16",
|
|
62
53
|
"async-mutex": "^0.5.0"
|
|
63
54
|
},
|
|
64
55
|
"devDependencies": {
|
|
65
56
|
"@types/compression": "~1.8.1",
|
|
66
57
|
"@types/cors": "~2.8.19",
|
|
67
|
-
"@types/express": "5.0.6",
|
|
58
|
+
"@types/express": "^5.0.6",
|
|
68
59
|
"@types/express-serve-static-core": "~5.1.1",
|
|
69
|
-
"@types/node": "~25.
|
|
70
|
-
"@xylabs/mongo": "~5.0.
|
|
71
|
-
"@xylabs/sdk-js": "~5.0.
|
|
60
|
+
"@types/node": "~25.3.0",
|
|
61
|
+
"@xylabs/mongo": "~5.0.80",
|
|
62
|
+
"@xylabs/sdk-js": "~5.0.80",
|
|
72
63
|
"@xylabs/ts-scripts-yarn3": "~7.3.2",
|
|
73
64
|
"@xylabs/tsconfig": "~7.3.2",
|
|
74
|
-
"@xyo-network/account": "~5.3.
|
|
75
|
-
"@xyo-network/account-model": "~5.3.
|
|
76
|
-
"@xyo-network/archivist-abstract": "~5.3.
|
|
77
|
-
"@xyo-network/archivist-memory": "~5.3.
|
|
78
|
-
"@xyo-network/archivist-mongodb": "~5.3.
|
|
79
|
-
"@xyo-network/archivist-view": "~5.3.
|
|
65
|
+
"@xyo-network/account": "~5.3.7",
|
|
66
|
+
"@xyo-network/account-model": "~5.3.7",
|
|
67
|
+
"@xyo-network/archivist-abstract": "~5.3.7",
|
|
68
|
+
"@xyo-network/archivist-memory": "~5.3.7",
|
|
69
|
+
"@xyo-network/archivist-mongodb": "~5.3.7",
|
|
70
|
+
"@xyo-network/archivist-view": "~5.3.7",
|
|
80
71
|
"@xyo-network/bios-model": "~7.2.1",
|
|
81
|
-
"@xyo-network/boundwitness-builder": "~5.3.
|
|
82
|
-
"@xyo-network/manifest-wrapper": "~5.3.
|
|
83
|
-
"@xyo-network/module-abstract-mongodb": "~5.3.
|
|
84
|
-
"@xyo-network/
|
|
85
|
-
"@xyo-network/
|
|
86
|
-
"@xyo-network/sentinel-memory": "~5.3.
|
|
87
|
-
"@xyo-network/wallet": "~5.3.
|
|
88
|
-
"@xyo-network/xl1-sdk": "~1.
|
|
72
|
+
"@xyo-network/boundwitness-builder": "~5.3.7",
|
|
73
|
+
"@xyo-network/manifest-wrapper": "~5.3.7",
|
|
74
|
+
"@xyo-network/module-abstract-mongodb": "~5.3.7",
|
|
75
|
+
"@xyo-network/node-memory": "~5.3.7",
|
|
76
|
+
"@xyo-network/sdk-js": "~5.3.7",
|
|
77
|
+
"@xyo-network/sentinel-memory": "~5.3.7",
|
|
78
|
+
"@xyo-network/wallet": "~5.3.7",
|
|
79
|
+
"@xyo-network/xl1-sdk": "~1.24.24",
|
|
89
80
|
"async-mutex": "~0.5.0",
|
|
90
|
-
"
|
|
81
|
+
"axios": "^1.13.5",
|
|
82
|
+
"dotenv": "~17.3.1",
|
|
91
83
|
"eslint": "^9.39.2",
|
|
92
|
-
"
|
|
84
|
+
"ethers": "^6.16.0",
|
|
85
|
+
"mongodb": "^7.1.0",
|
|
86
|
+
"nodemon": "~3.1.13",
|
|
93
87
|
"tslib": "~2.8.1",
|
|
94
88
|
"typescript": "~5.9.3",
|
|
95
89
|
"vitest": "~4.0.18",
|
|
96
|
-
"vitest-mock-extended": "~3.1.0"
|
|
90
|
+
"vitest-mock-extended": "~3.1.0",
|
|
91
|
+
"zod": "^4.3.6"
|
|
92
|
+
},
|
|
93
|
+
"peerDependencies": {
|
|
94
|
+
"@xylabs/sdk-js": "^5",
|
|
95
|
+
"@xyo-network/sdk-js": "^5",
|
|
96
|
+
"@xyo-network/xl1-sdk": "^1",
|
|
97
|
+
"axios": "^1",
|
|
98
|
+
"ethers": "^6",
|
|
99
|
+
"mongodb": "^7",
|
|
100
|
+
"zod": "^4"
|
|
97
101
|
},
|
|
98
102
|
"engines": {
|
|
99
103
|
"node": ">=22.3 <23"
|
package/src/MempoolActor.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { creatable } from '@xylabs/sdk-js'
|
|
2
|
+
import { MempoolConfig } from '@xyo-network/chain-orchestration'
|
|
2
3
|
import {
|
|
3
4
|
ActorParamsV3,
|
|
4
5
|
ActorV3,
|
|
5
|
-
Config,
|
|
6
6
|
MempoolRunner,
|
|
7
7
|
MempoolRunnerMoniker,
|
|
8
8
|
} from '@xyo-network/xl1-sdk'
|
|
9
9
|
import { Mutex } from 'async-mutex'
|
|
10
10
|
|
|
11
11
|
export type MempoolActorParams = ActorParamsV3<{
|
|
12
|
-
config:
|
|
12
|
+
config: MempoolConfig
|
|
13
13
|
}>
|
|
14
14
|
|
|
15
15
|
@creatable()
|
|
@@ -33,13 +33,13 @@ export class MempoolActor extends ActorV3<MempoolActorParams> {
|
|
|
33
33
|
|
|
34
34
|
override async startHandler() {
|
|
35
35
|
await super.startHandler()
|
|
36
|
-
this.restartTransactionTimer()
|
|
36
|
+
// this.restartTransactionTimer()
|
|
37
37
|
this.restartBlockTimer()
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
override async stopHandler() {
|
|
41
41
|
await super.stopHandler()
|
|
42
|
-
this.stopTransactionTimer()
|
|
42
|
+
// this.stopTransactionTimer()
|
|
43
43
|
this.stopBlockTimer()
|
|
44
44
|
}
|
|
45
45
|
|
package/src/runMempool.ts
CHANGED
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
import { exists } from '@xylabs/sdk-js'
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
ProviderFactoryLocatorInstance,
|
|
6
|
-
} from '@xyo-network/xl1-sdk'
|
|
2
|
+
import type { MempoolConfig, OrchestratorInstance } from '@xyo-network/chain-orchestration'
|
|
3
|
+
import { initActorWallet } from '@xyo-network/chain-orchestration'
|
|
4
|
+
import type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk'
|
|
7
5
|
|
|
8
6
|
import { MempoolActor } from './MempoolActor.ts'
|
|
9
7
|
|
|
10
|
-
export const
|
|
11
|
-
config:
|
|
12
|
-
orchestrator: OrchestratorInstance,
|
|
8
|
+
export const getMempoolActor = async (
|
|
9
|
+
config: MempoolConfig,
|
|
13
10
|
locator: ProviderFactoryLocatorInstance,
|
|
14
11
|
) => {
|
|
15
|
-
const account = await
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
const account = await initActorWallet({
|
|
13
|
+
config, logger: locator.context.logger, caches: {}, singletons: {},
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
return await MempoolActor.create({
|
|
18
17
|
account, config, locator,
|
|
19
18
|
})
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const runMempool = async (
|
|
22
|
+
config: MempoolConfig,
|
|
23
|
+
orchestrator: OrchestratorInstance,
|
|
24
|
+
locator: ProviderFactoryLocatorInstance,
|
|
25
|
+
) => {
|
|
26
|
+
const mempool = await getMempoolActor(config, locator)
|
|
20
27
|
const actors = [mempool].filter(exists)
|
|
21
28
|
|
|
22
29
|
for (const actor of actors) {
|