@mainsail/crypto-worker 0.0.1-alpha.18 → 0.0.1-alpha.19
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/distribution/service-provider.d.ts.map +1 -1
- package/distribution/service-provider.js +5 -5
- package/distribution/service-provider.js.map +1 -1
- package/distribution/worker-handler.d.ts +7 -8
- package/distribution/worker-handler.d.ts.map +1 -1
- package/distribution/worker-handler.js +0 -1
- package/distribution/worker-handler.js.map +1 -1
- package/distribution/worker-pool.d.ts +4 -5
- package/distribution/worker-pool.d.ts.map +1 -1
- package/distribution/worker-pool.js +5 -4
- package/distribution/worker-pool.js.map +1 -1
- package/distribution/worker-script.js +1 -7
- package/distribution/worker-script.js.map +1 -1
- package/distribution/worker.d.ts +8 -10
- package/distribution/worker.d.ts.map +1 -1
- package/distribution/worker.js +4 -4
- package/distribution/worker.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-provider.d.ts","sourceRoot":"","sources":["../source/service-provider.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"service-provider.d.ts","sourceRoot":"","sources":["../source/service-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,GAAG,MAAM,KAAK,CAAC;AAQtB,qBAAa,eAAgB,SAAQ,SAAS,CAAC,eAAe;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC,YAAY,IAAI,GAAG,CAAC,SAAS;CAMpC"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Identifiers } from "@mainsail/contracts";
|
|
2
2
|
import { Ipc, Providers } from "@mainsail/kernel";
|
|
3
|
-
import { fork } from "child_process";
|
|
4
3
|
import Joi from "joi";
|
|
5
4
|
import { cpus } from "os";
|
|
6
5
|
import { URL } from "url";
|
|
7
|
-
import { Worker } from "
|
|
6
|
+
import { Worker } from "worker_threads";
|
|
7
|
+
import { Worker as WorkerInstance } from "./worker.js";
|
|
8
8
|
import { WorkerPool } from "./worker-pool.js";
|
|
9
9
|
export class ServiceProvider extends Providers.ServiceProvider {
|
|
10
10
|
async register() {
|
|
11
|
-
this.app.bind(Identifiers.CryptoWorker.Worker.Instance).to(
|
|
11
|
+
this.app.bind(Identifiers.CryptoWorker.Worker.Instance).to(WorkerInstance);
|
|
12
|
+
this.app.bind(Identifiers.CryptoWorker.Worker.Factory).toAutoFactory(Identifiers.CryptoWorker.Worker.Instance);
|
|
12
13
|
this.app.bind(Identifiers.CryptoWorker.WorkerPool).to(WorkerPool).inSingletonScope();
|
|
13
14
|
this.app.bind(Identifiers.CryptoWorker.WorkerSubprocess.Factory).toFactory(() => () => {
|
|
14
|
-
const subprocess =
|
|
15
|
+
const subprocess = new Worker(`${new URL(".", import.meta.url).pathname}/worker-script.js`, {});
|
|
15
16
|
return new Ipc.Subprocess(subprocess);
|
|
16
17
|
});
|
|
17
|
-
this.app.bind(Identifiers.CryptoWorker.Worker.Factory).toAutoFactory(Identifiers.CryptoWorker.Worker.Instance);
|
|
18
18
|
}
|
|
19
19
|
async boot() {
|
|
20
20
|
await this.app.get(Identifiers.CryptoWorker.WorkerPool).boot();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../source/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../source/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,eAAgB,SAAQ,SAAS,CAAC,eAAe;IACtD,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/G,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAErF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;YACrF,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAChG,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI;QAChB,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAA8B,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7F,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAA8B,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjG,CAAC;IAEM,KAAK,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,YAAY;QAClB,OAAO,GAAG,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;YACxE,oBAAoB,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;SAC3C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACD"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { Contracts } from "@mainsail/contracts";
|
|
2
|
-
|
|
3
|
-
export declare class WorkerScriptHandler implements IpcWorker.WorkerScriptHandler {
|
|
2
|
+
export declare class WorkerScriptHandler implements Contracts.Crypto.WorkerScriptHandler {
|
|
4
3
|
#private;
|
|
5
|
-
boot(flags:
|
|
6
|
-
consensusSignature<K extends
|
|
7
|
-
walletSignature<K extends
|
|
8
|
-
blockFactory<K extends
|
|
9
|
-
transactionFactory<K extends
|
|
10
|
-
publicKeyFactory<K extends
|
|
4
|
+
boot(flags: Contracts.Crypto.WorkerFlags): Promise<void>;
|
|
5
|
+
consensusSignature<K extends Contracts.Kernel.IPC.Requests<Contracts.Crypto.Signature>>(method: K, ...arguments_: Parameters<Contracts.Crypto.Signature[K]>): Promise<ReturnType<Contracts.Crypto.Signature[K]>>;
|
|
6
|
+
walletSignature<K extends Contracts.Kernel.IPC.Requests<Contracts.Crypto.Signature>>(method: K, ...arguments_: Parameters<Contracts.Crypto.Signature[K]>): Promise<ReturnType<Contracts.Crypto.Signature[K]>>;
|
|
7
|
+
blockFactory<K extends Contracts.Kernel.IPC.Requests<Contracts.Crypto.BlockFactory>>(method: K, ...arguments_: Parameters<Contracts.Crypto.BlockFactory[K]>): Promise<ReturnType<Contracts.Crypto.BlockFactory[K]>>;
|
|
8
|
+
transactionFactory<K extends Contracts.Kernel.IPC.Requests<Contracts.Crypto.TransactionFactory>>(method: K, ...arguments_: Parameters<Contracts.Crypto.TransactionFactory[K]>): Promise<ReturnType<Contracts.Crypto.TransactionFactory[K]>>;
|
|
9
|
+
publicKeyFactory<K extends Contracts.Kernel.IPC.Requests<Contracts.Crypto.PublicKeyFactory>>(method: K, ...arguments_: Parameters<Contracts.Crypto.PublicKeyFactory[K]>): Promise<ReturnType<Contracts.Crypto.PublicKeyFactory[K]>>;
|
|
11
10
|
}
|
|
12
11
|
//# sourceMappingURL=worker-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-handler.d.ts","sourceRoot":"","sources":["../source/worker-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-handler.d.ts","sourceRoot":"","sources":["../source/worker-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAgF7D,qBAAa,mBAAoB,YAAW,SAAS,CAAC,MAAM,CAAC,mBAAmB;;IAOlE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,kBAAkB,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAClG,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACtD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAKxC,eAAe,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAC/F,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACtD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAKxC,YAAY,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,EAC/F,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAK3C,kBAAkB,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAC3G,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAC/D,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAKjD,gBAAgB,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,EACvG,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAC7D,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CAI5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-handler.js","sourceRoot":"","sources":["../source/worker-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"worker-handler.js","sourceRoot":"","sources":["../source/worker-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export declare class WorkerPool implements IpcWorker.WorkerPool {
|
|
1
|
+
import { Contracts } from "@mainsail/contracts";
|
|
2
|
+
export declare class WorkerPool implements Contracts.Crypto.WorkerPool {
|
|
4
3
|
#private;
|
|
5
4
|
private readonly configuration;
|
|
6
5
|
private readonly logger;
|
|
@@ -8,7 +7,7 @@ export declare class WorkerPool implements IpcWorker.WorkerPool {
|
|
|
8
7
|
private workers;
|
|
9
8
|
private readonly flags;
|
|
10
9
|
boot(): Promise<void>;
|
|
11
|
-
shutdown(
|
|
12
|
-
getWorker(): Promise<
|
|
10
|
+
shutdown(): Promise<void>;
|
|
11
|
+
getWorker(): Promise<Contracts.Crypto.Worker>;
|
|
13
12
|
}
|
|
14
13
|
//# sourceMappingURL=worker-pool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../source/worker-pool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../source/worker-pool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAG7D,qBACa,UAAW,YAAW,SAAS,CAAC,MAAM,CAAC,UAAU;;IAG7D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAG/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAGlD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAE/D,OAAO,CAAC,OAAO,CAAiC;IAGhD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAI/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;CAM1D"}
|
|
@@ -21,7 +21,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
21
21
|
var _WorkerPool_currentWorkerIndex;
|
|
22
22
|
import { inject, injectable, tagged } from "@mainsail/container";
|
|
23
23
|
import { Contracts, Identifiers } from "@mainsail/contracts";
|
|
24
|
-
import {
|
|
24
|
+
import { Providers, Types } from "@mainsail/kernel";
|
|
25
25
|
let WorkerPool = class WorkerPool {
|
|
26
26
|
constructor() {
|
|
27
27
|
this.workers = [];
|
|
@@ -33,14 +33,15 @@ let WorkerPool = class WorkerPool {
|
|
|
33
33
|
const worker = this.createWorker();
|
|
34
34
|
this.workers.push(worker);
|
|
35
35
|
}
|
|
36
|
-
this.logger.info(`Booting up ${this.workers.length} workers`);
|
|
36
|
+
this.logger.info(`Booting up ${this.workers.length} crypto workers`);
|
|
37
37
|
await Promise.all(this.workers.map((worker) => worker.boot({
|
|
38
38
|
...this.flags,
|
|
39
|
+
thread: "crypto-worker",
|
|
39
40
|
workerLoggingEnabled: this.configuration.getRequired("workerLoggingEnabled"),
|
|
40
41
|
})));
|
|
41
42
|
}
|
|
42
|
-
async shutdown(
|
|
43
|
-
await Promise.all(this.workers.map((worker) => worker.kill(
|
|
43
|
+
async shutdown() {
|
|
44
|
+
await Promise.all(this.workers.map(async (worker) => await worker.kill()));
|
|
44
45
|
}
|
|
45
46
|
async getWorker() {
|
|
46
47
|
const worker = this.workers[__classPrivateFieldGet(this, _WorkerPool_currentWorkerIndex, "f")];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../source/worker-pool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../source/worker-pool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG7C,IAAM,UAAU,GAAhB,MAAM,UAAU;IAAhB;QAWE,YAAO,GAA8B,EAAE,CAAC;QAKhD,yCAAsB,CAAC,EAAC;IAiCzB,CAAC;IA/BO,KAAK,CAAC,IAAI;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAS,aAAa,CAAC,CAAC;QAE1E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAErE,MAAM,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3B,MAAM,CAAC,IAAI,CAAC;YACX,GAAG,IAAI,CAAC,KAAK;YACb,MAAM,EAAE,eAAe;YACvB,oBAAoB,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,sBAAsB,CAAC;SAC5E,CAAC,CACF,CACD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ;QACpB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAA,IAAI,sCAAoB,CAAC,CAAC;QACtD,uBAAA,IAAI,kCAAuB,CAAC,uBAAA,IAAI,sCAAoB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,MAAA,CAAC;QAEhF,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAA;;AA9CiB;IAFhB,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC;IACjD,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;8BACD,SAAS,CAAC,mBAAmB;iDAAC;AAG9C;IADhB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;;0CACS;AAGjC;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;;gDACe;AAK9C;IADhB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;;yCACW;AAdhC,UAAU;IADtB,UAAU,EAAE;GACA,UAAU,CAiDtB"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import { Ipc } from "@mainsail/kernel";
|
|
2
2
|
import { WorkerScriptHandler } from "./worker-handler.js";
|
|
3
|
-
|
|
4
|
-
ipcHandler.handleRequest("boot");
|
|
5
|
-
ipcHandler.handleRequest("walletSignature");
|
|
6
|
-
ipcHandler.handleRequest("consensusSignature");
|
|
7
|
-
ipcHandler.handleRequest("blockFactory");
|
|
8
|
-
ipcHandler.handleRequest("transactionFactory");
|
|
9
|
-
ipcHandler.handleRequest("publicKeyFactory");
|
|
3
|
+
new Ipc.Handler(new WorkerScriptHandler());
|
|
10
4
|
//# sourceMappingURL=worker-script.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-script.js","sourceRoot":"","sources":["../source/worker-script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,
|
|
1
|
+
{"version":3,"file":"worker-script.js","sourceRoot":"","sources":["../source/worker-script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC"}
|
package/distribution/worker.d.ts
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
1
|
import { Contracts } from "@mainsail/contracts";
|
|
3
|
-
|
|
4
|
-
export declare class Worker implements IpcWorker.Worker {
|
|
2
|
+
export declare class Worker implements Contracts.Crypto.Worker {
|
|
5
3
|
#private;
|
|
6
4
|
private readonly createWorkerSubprocess;
|
|
7
5
|
private ipcSubprocess;
|
|
8
|
-
boot(flags:
|
|
9
|
-
kill(
|
|
6
|
+
boot(flags: Contracts.Crypto.WorkerFlags): Promise<void>;
|
|
7
|
+
kill(): Promise<number>;
|
|
10
8
|
getQueueSize(): number;
|
|
11
|
-
consensusSignature<K extends
|
|
12
|
-
walletSignature<K extends
|
|
13
|
-
blockFactory<K extends
|
|
14
|
-
transactionFactory<K extends
|
|
15
|
-
publicKeyFactory<K extends
|
|
9
|
+
consensusSignature<K extends Contracts.Kernel.IPC.Requests<Contracts.Crypto.Signature>>(method: K, ...arguments_: Parameters<Contracts.Crypto.Signature[K]>): Promise<ReturnType<Contracts.Crypto.Signature[K]>>;
|
|
10
|
+
walletSignature<K extends Contracts.Kernel.IPC.Requests<Contracts.Crypto.Signature>>(method: K, ...arguments_: Parameters<Contracts.Crypto.Signature[K]>): Promise<ReturnType<Contracts.Crypto.Signature[K]>>;
|
|
11
|
+
blockFactory<K extends Contracts.Kernel.IPC.Requests<Contracts.Crypto.BlockFactory>>(method: K, ...arguments_: Parameters<Contracts.Crypto.BlockFactory[K]>): Promise<ReturnType<Contracts.Crypto.BlockFactory[K]>>;
|
|
12
|
+
transactionFactory<K extends Contracts.Kernel.IPC.Requests<Contracts.Crypto.TransactionFactory>>(method: K, ...arguments_: Parameters<Contracts.Crypto.TransactionFactory[K]>): Promise<ReturnType<Contracts.Crypto.TransactionFactory[K]>>;
|
|
13
|
+
publicKeyFactory<K extends Contracts.Kernel.IPC.Requests<Contracts.Crypto.PublicKeyFactory>>(method: K, ...arguments_: Parameters<Contracts.Crypto.PublicKeyFactory[K]>): Promise<ReturnType<Contracts.Crypto.PublicKeyFactory[K]>>;
|
|
16
14
|
}
|
|
17
15
|
//# sourceMappingURL=worker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../source/worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../source/worker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAG7D,qBACa,MAAO,YAAW,SAAS,CAAC,MAAM,CAAC,MAAM;;IAErD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA4C;IAEnF,OAAO,CAAC,aAAa,CAAqC;IAK7C,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,YAAY,IAAI,MAAM;IAIhB,kBAAkB,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAClG,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACtD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAIxC,eAAe,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAC/F,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACtD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAIxC,YAAY,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,EAC/F,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAI3C,kBAAkB,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAC3G,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAC/D,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAIjD,gBAAgB,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,EACvG,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAC7D,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CAG5D"}
|
package/distribution/worker.js
CHANGED
|
@@ -20,8 +20,8 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
20
20
|
};
|
|
21
21
|
var _Worker_booted, _Worker_booting;
|
|
22
22
|
import { inject, injectable } from "@mainsail/container";
|
|
23
|
-
import { Identifiers } from "@mainsail/contracts";
|
|
24
|
-
import {
|
|
23
|
+
import { Contracts, Identifiers } from "@mainsail/contracts";
|
|
24
|
+
import { Utils } from "@mainsail/kernel";
|
|
25
25
|
let Worker = class Worker {
|
|
26
26
|
constructor() {
|
|
27
27
|
_Worker_booted.set(this, false);
|
|
@@ -40,8 +40,8 @@ let Worker = class Worker {
|
|
|
40
40
|
__classPrivateFieldSet(this, _Worker_booting, false, "f");
|
|
41
41
|
__classPrivateFieldSet(this, _Worker_booted, true, "f");
|
|
42
42
|
}
|
|
43
|
-
async kill(
|
|
44
|
-
return this.ipcSubprocess.kill(
|
|
43
|
+
async kill() {
|
|
44
|
+
return this.ipcSubprocess.kill();
|
|
45
45
|
}
|
|
46
46
|
getQueueSize() {
|
|
47
47
|
return this.ipcSubprocess.getQueueSize();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../source/worker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../source/worker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGlC,IAAM,MAAM,GAAZ,MAAM,MAAM;IAAZ;QAMN,yBAAU,KAAK,EAAC;QAChB,0BAAW,KAAK,EAAC;IA+DlB,CAAC;IA7DO,KAAK,CAAC,IAAI,CAAC,KAAmC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEnD,OAAO,uBAAA,IAAI,uBAAS,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,uBAAA,IAAI,sBAAQ,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QAED,uBAAA,IAAI,mBAAY,IAAI,MAAA,CAAC;QAErB,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEpD,uBAAA,IAAI,mBAAY,KAAK,MAAA,CAAC;QACtB,uBAAA,IAAI,kBAAW,IAAI,MAAA,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,IAAI;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAEM,YAAY;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC9B,MAAS,EACT,GAAG,UAAqD;QAExD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAEM,KAAK,CAAC,eAAe,CAC3B,MAAS,EACT,GAAG,UAAqD;QAExD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;IAEM,KAAK,CAAC,YAAY,CACxB,MAAS,EACT,GAAG,UAAwD;QAE3D,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC9B,MAAS,EACT,GAAG,UAA8D;QAEjE,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC5B,MAAS,EACT,GAAG,UAA4D;QAE/D,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/E,CAAC;CACD,CAAA;;;AApEiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC;;sDACyB;AAFvE,MAAM;IADlB,UAAU,EAAE;GACA,MAAM,CAsElB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mainsail/crypto-worker",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.19",
|
|
4
4
|
"description": "Crypto worker based on node child processes for Mainsail blockchain",
|
|
5
5
|
"license": "GPL-3.0-only",
|
|
6
6
|
"contributors": [],
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"joi": "17.12.2",
|
|
14
|
-
"@mainsail/container": "0.0.1-alpha.
|
|
15
|
-
"@mainsail/
|
|
16
|
-
"@mainsail/
|
|
14
|
+
"@mainsail/container": "0.0.1-alpha.19",
|
|
15
|
+
"@mainsail/kernel": "0.0.1-alpha.19",
|
|
16
|
+
"@mainsail/contracts": "0.0.1-alpha.19"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/chance": "1.1.6",
|