@xyo-network/chain-mempool 1.19.10 → 1.19.12
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.map +1 -1
- package/dist/node/index.mjs +14 -6
- package/dist/node/index.mjs.map +1 -1
- package/package.json +4 -5
- package/src/MempoolActor.ts +10 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MempoolActor.d.ts","sourceRoot":"","sources":["../../src/MempoolActor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,aAAa,EAEd,MAAM,sBAAsB,CAAA;AAG7B,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAA;CACf,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;
|
|
1
|
+
{"version":3,"file":"MempoolActor.d.ts","sourceRoot":"","sources":["../../src/MempoolActor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,aAAa,EAEd,MAAM,sBAAsB,CAAA;AAG7B,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAA;CACf,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
|
@@ -45,9 +45,13 @@ var MempoolActor = class extends ActorV3 {
|
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
47
|
void this._blockTimerMutex.runExclusive(async () => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
try {
|
|
49
|
+
await this.mempoolRunner.prunePendingBlocks({
|
|
50
|
+
batchSize: 50
|
|
51
|
+
});
|
|
52
|
+
} catch (error) {
|
|
53
|
+
this.logger?.error(`[MempoolActor] Error pruning pending blocks: ${error.message}`);
|
|
54
|
+
}
|
|
51
55
|
});
|
|
52
56
|
}, 1e3);
|
|
53
57
|
}
|
|
@@ -58,9 +62,13 @@ var MempoolActor = class extends ActorV3 {
|
|
|
58
62
|
return;
|
|
59
63
|
}
|
|
60
64
|
void this._transactionTimerMutex.runExclusive(async () => {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
65
|
+
try {
|
|
66
|
+
await this.mempoolRunner.prunePendingTransactions({
|
|
67
|
+
batchSize: 50
|
|
68
|
+
});
|
|
69
|
+
} catch (error) {
|
|
70
|
+
this.logger?.error(`[MempoolActor] Error pruning pending transactions: ${error.message}`);
|
|
71
|
+
}
|
|
64
72
|
});
|
|
65
73
|
}, 1e3);
|
|
66
74
|
}
|
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 Config,\n MempoolRunner,\n MempoolRunnerMoniker,\n} from '@xyo-network/xl1-sdk'\nimport { Mutex } from 'async-mutex'\n\nexport type MempoolActorParams = ActorParamsV3<{\n config: Config\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 await this.mempoolRunner.prunePendingBlocks({ batchSize: 50 })\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 await this.mempoolRunner.prunePendingTransactions({ batchSize: 50 })\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 { initMempoolWallet, type OrchestratorInstance } from '@xyo-network/chain-orchestration'\nimport type {\n Config,\n ProviderFactoryLocatorInstance,\n} from '@xyo-network/xl1-sdk'\n\nimport { MempoolActor } from './MempoolActor.ts'\n\nexport const runMempool = async (\n config: Config,\n orchestrator: OrchestratorInstance,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const account = await initMempoolWallet({ config, logger: locator.context.logger })\n // Create actors\n const mempool = await MempoolActor.create({\n account, config, locator,\n })\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;AAC1B,SAEEC,SAGAC,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,
|
|
1
|
+
{"version":3,"sources":["../../src/MempoolActor.ts","../../src/runMempool.ts"],"sourcesContent":["import { creatable } from '@xylabs/sdk-js'\nimport {\n ActorParamsV3,\n ActorV3,\n Config,\n MempoolRunner,\n MempoolRunnerMoniker,\n} from '@xyo-network/xl1-sdk'\nimport { Mutex } from 'async-mutex'\n\nexport type MempoolActorParams = ActorParamsV3<{\n config: Config\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 { initMempoolWallet, type OrchestratorInstance } from '@xyo-network/chain-orchestration'\nimport type {\n Config,\n ProviderFactoryLocatorInstance,\n} from '@xyo-network/xl1-sdk'\n\nimport { MempoolActor } from './MempoolActor.ts'\n\nexport const runMempool = async (\n config: Config,\n orchestrator: OrchestratorInstance,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const account = await initMempoolWallet({ config, logger: locator.context.logger })\n // Create actors\n const mempool = await MempoolActor.create({\n account, config, locator,\n })\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;AAC1B,SAEEC,SAGAC,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;AACvB,SAASC,yBAAoD;AAQtD,IAAMC,aAAa,8BACxBC,QACAC,cACAC,YAAAA;AAEA,QAAMC,UAAU,MAAMC,kBAAkB;IAAEJ;IAAQK,QAAQH,QAAQI,QAAQD;EAAO,CAAA;AAEjF,QAAME,UAAU,MAAMC,aAAaC,OAAO;IACxCN;IAASH;IAAQE;EACnB,CAAA;AACA,QAAMQ,SAAS;IAACH;IAASI,OAAOC,MAAAA;AAEhC,aAAWC,SAASH,QAAQ;AAE1B,UAAMT,aAAaa,cAAcD,KAAAA;EACnC;AAEA,QAAMZ,aAAac,MAAK;AAC1B,GAlB0B;","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","initMempoolWallet","runMempool","config","orchestrator","locator","account","initMempoolWallet","logger","context","mempool","MempoolActor","create","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.19.
|
|
3
|
+
"version": "1.19.12",
|
|
4
4
|
"description": "XYO Layer One API",
|
|
5
5
|
"homepage": "https://xylabs.com",
|
|
6
6
|
"bugs": {
|
|
@@ -50,16 +50,15 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@xylabs/sdk-js": "~5.0.79",
|
|
53
|
-
"@xyo-network/archivist-model": "~5.3.2",
|
|
54
53
|
"@xyo-network/boundwitness-model": "~5.3.2",
|
|
55
|
-
"@xyo-network/chain-orchestration": "~1.19.
|
|
54
|
+
"@xyo-network/chain-orchestration": "~1.19.12",
|
|
56
55
|
"@xyo-network/manifest-model": "~5.3.2",
|
|
57
56
|
"@xyo-network/module-factory-locator": "~5.3.2",
|
|
58
57
|
"@xyo-network/module-model": "~5.3.2",
|
|
59
58
|
"@xyo-network/node-model": "~5.3.2",
|
|
60
59
|
"@xyo-network/payload-model": "~5.3.2",
|
|
61
60
|
"@xyo-network/wallet-model": "~5.3.2",
|
|
62
|
-
"@xyo-network/xl1-sdk": "~1.23.
|
|
61
|
+
"@xyo-network/xl1-sdk": "~1.23.21",
|
|
63
62
|
"async-mutex": "^0.5.0"
|
|
64
63
|
},
|
|
65
64
|
"devDependencies": {
|
|
@@ -86,7 +85,7 @@
|
|
|
86
85
|
"@xyo-network/node-memory": "~5.3.2",
|
|
87
86
|
"@xyo-network/sentinel-memory": "~5.3.2",
|
|
88
87
|
"@xyo-network/wallet": "~5.3.2",
|
|
89
|
-
"@xyo-network/xl1-sdk": "~1.23.
|
|
88
|
+
"@xyo-network/xl1-sdk": "~1.23.21",
|
|
90
89
|
"async-mutex": "~0.5.0",
|
|
91
90
|
"dotenv": "~17.2.4",
|
|
92
91
|
"eslint": "^9.39.2",
|
package/src/MempoolActor.ts
CHANGED
|
@@ -50,7 +50,11 @@ export class MempoolActor extends ActorV3<MempoolActorParams> {
|
|
|
50
50
|
return
|
|
51
51
|
}
|
|
52
52
|
void this._blockTimerMutex.runExclusive(async () => {
|
|
53
|
-
|
|
53
|
+
try {
|
|
54
|
+
await this.mempoolRunner.prunePendingBlocks({ batchSize: 50 })
|
|
55
|
+
} catch (error) {
|
|
56
|
+
this.logger?.error(`[MempoolActor] Error pruning pending blocks: ${(error as Error).message}`)
|
|
57
|
+
}
|
|
54
58
|
})
|
|
55
59
|
}, 1000)
|
|
56
60
|
}
|
|
@@ -62,7 +66,11 @@ export class MempoolActor extends ActorV3<MempoolActorParams> {
|
|
|
62
66
|
return
|
|
63
67
|
}
|
|
64
68
|
void this._transactionTimerMutex.runExclusive(async () => {
|
|
65
|
-
|
|
69
|
+
try {
|
|
70
|
+
await this.mempoolRunner.prunePendingTransactions({ batchSize: 50 })
|
|
71
|
+
} catch (error) {
|
|
72
|
+
this.logger?.error(`[MempoolActor] Error pruning pending transactions: ${(error as Error).message}`)
|
|
73
|
+
}
|
|
66
74
|
})
|
|
67
75
|
}, 1000)
|
|
68
76
|
}
|