@xyo-network/chain-mempool 1.19.18 → 1.20.0
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/index.mjs +2 -0
- package/dist/node/index.mjs.map +1 -1
- package/package.json +15 -15
- package/src/MempoolActor.ts +2 -2
package/dist/node/index.mjs
CHANGED
|
@@ -30,10 +30,12 @@ var MempoolActor = class extends ActorV3 {
|
|
|
30
30
|
}
|
|
31
31
|
async startHandler() {
|
|
32
32
|
await super.startHandler();
|
|
33
|
+
this.restartTransactionTimer();
|
|
33
34
|
this.restartBlockTimer();
|
|
34
35
|
}
|
|
35
36
|
async stopHandler() {
|
|
36
37
|
await super.stopHandler();
|
|
38
|
+
this.stopTransactionTimer();
|
|
37
39
|
this.stopBlockTimer();
|
|
38
40
|
}
|
|
39
41
|
restartBlockTimer() {
|
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 { 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
|
|
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;AACZ,SAAKC,wBAAuB;AAC5B,SAAKC,kBAAiB;EACxB;EAEA,MAAeC,cAAc;AAC3B,UAAM,MAAMA,YAAAA;AACZ,SAAKC,qBAAoB;AACzB,SAAKC,eAAc;EACrB;EAEQH,oBAAoB;AAC1B,SAAKG,eAAc;AACnB,SAAKf,gBAAgBgB,YAAY,MAAA;AAC/B,UAAI,KAAKf,iBAAiBgB,SAAQ,GAAI;AACpC;MACF;AACA,WAAK,KAAKhB,iBAAiBiB,aAAa,YAAA;AACtC,YAAI;AACF,gBAAM,KAAKb,cAAcc,mBAAmB;YAAEC,WAAW;UAAG,CAAA;QAC9D,SAASC,OAAO;AACd,eAAKC,QAAQD,MAAM,gDAAiDA,MAAgBE,OAAO,EAAE;QAC/F;MACF,CAAA;IACF,GAAG,GAAA;EACL;EAEQZ,0BAA0B;AAChC,SAAKG,qBAAoB;AACzB,SAAKX,sBAAsBa,YAAY,MAAA;AACrC,UAAI,KAAKZ,uBAAuBa,SAAQ,GAAI;AAC1C;MACF;AACA,WAAK,KAAKb,uBAAuBc,aAAa,YAAA;AAC5C,YAAI;AACF,gBAAM,KAAKb,cAAcmB,yBAAyB;YAAEJ,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,KAAKf,kBAAkB,MAAM;AAC/ByB,oBAAc,KAAKzB,aAAa;IAClC;AACA,SAAKA,gBAAgB;EACvB;EAEQc,uBAAuB;AAC7B,QAAI,KAAKX,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","restartTransactionTimer","restartBlockTimer","stopHandler","stopTransactionTimer","stopBlockTimer","setInterval","isLocked","runExclusive","prunePendingBlocks","batchSize","error","logger","message","prunePendingTransactions","clearInterval","exists","initActorWallet","getMempoolActor","config","locator","account","initActorWallet","logger","context","caches","singletons","MempoolActor","create","runMempool","orchestrator","mempool","actors","filter","exists","actor","registerActor","start"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/chain-mempool",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.0",
|
|
4
4
|
"description": "XYO Layer One API",
|
|
5
5
|
"homepage": "https://xylabs.com",
|
|
6
6
|
"bugs": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"types": "tsc --noEmit -p tsconfig.test.json"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@xyo-network/chain-orchestration": "~1.
|
|
52
|
+
"@xyo-network/chain-orchestration": "~1.20.0",
|
|
53
53
|
"async-mutex": "^0.5.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
@@ -57,25 +57,25 @@
|
|
|
57
57
|
"@types/cors": "~2.8.19",
|
|
58
58
|
"@types/express": "^5.0.6",
|
|
59
59
|
"@types/express-serve-static-core": "~5.1.1",
|
|
60
|
-
"@types/node": "~25.3.
|
|
60
|
+
"@types/node": "~25.3.3",
|
|
61
61
|
"@xylabs/mongo": "~5.0.80",
|
|
62
62
|
"@xylabs/sdk-js": "~5.0.80",
|
|
63
63
|
"@xylabs/ts-scripts-yarn3": "~7.3.2",
|
|
64
64
|
"@xylabs/tsconfig": "~7.3.2",
|
|
65
|
-
"@xyo-network/account": "~5.3.
|
|
66
|
-
"@xyo-network/account-model": "~5.3.
|
|
67
|
-
"@xyo-network/archivist-abstract": "~5.3.
|
|
68
|
-
"@xyo-network/archivist-mongodb": "~5.3.
|
|
69
|
-
"@xyo-network/archivist-view": "~5.3.
|
|
65
|
+
"@xyo-network/account": "~5.3.15",
|
|
66
|
+
"@xyo-network/account-model": "~5.3.15",
|
|
67
|
+
"@xyo-network/archivist-abstract": "~5.3.15",
|
|
68
|
+
"@xyo-network/archivist-mongodb": "~5.3.15",
|
|
69
|
+
"@xyo-network/archivist-view": "~5.3.15",
|
|
70
70
|
"@xyo-network/bios-model": "~7.2.1",
|
|
71
|
-
"@xyo-network/boundwitness-builder": "~5.3.
|
|
72
|
-
"@xyo-network/module-abstract-mongodb": "~5.3.
|
|
73
|
-
"@xyo-network/node-memory": "~5.3.
|
|
74
|
-
"@xyo-network/sdk-js": "~5.3.
|
|
75
|
-
"@xyo-network/sentinel-memory": "~5.3.
|
|
76
|
-
"@xyo-network/xl1-sdk": "~1.
|
|
71
|
+
"@xyo-network/boundwitness-builder": "~5.3.15",
|
|
72
|
+
"@xyo-network/module-abstract-mongodb": "~5.3.15",
|
|
73
|
+
"@xyo-network/node-memory": "~5.3.15",
|
|
74
|
+
"@xyo-network/sdk-js": "~5.3.15",
|
|
75
|
+
"@xyo-network/sentinel-memory": "~5.3.15",
|
|
76
|
+
"@xyo-network/xl1-sdk": "~1.25.14",
|
|
77
77
|
"async-mutex": "~0.5.0",
|
|
78
|
-
"axios": "^1.13.
|
|
78
|
+
"axios": "^1.13.6",
|
|
79
79
|
"dotenv": "~17.3.1",
|
|
80
80
|
"eslint": "^9.39.3",
|
|
81
81
|
"ethers": "^6.16.0",
|
package/src/MempoolActor.ts
CHANGED
|
@@ -33,13 +33,13 @@ export class MempoolActor extends ActorV3<MempoolActorParams> {
|
|
|
33
33
|
|
|
34
34
|
override async startHandler() {
|
|
35
35
|
await super.startHandler()
|
|
36
|
-
|
|
36
|
+
this.restartTransactionTimer()
|
|
37
37
|
this.restartBlockTimer()
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
override async stopHandler() {
|
|
41
41
|
await super.stopHandler()
|
|
42
|
-
|
|
42
|
+
this.stopTransactionTimer()
|
|
43
43
|
this.stopBlockTimer()
|
|
44
44
|
}
|
|
45
45
|
|