@mainsail/crypto-key-pair-bls12-381 0.0.1-alpha.9 → 0.0.1-evm.10
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/get-bls.d.ts +3 -0
- package/distribution/get-bls.d.ts.map +1 -0
- package/distribution/get-bls.js +15 -0
- package/distribution/get-bls.js.map +1 -0
- package/distribution/index.d.ts +6 -6
- package/distribution/index.d.ts.map +1 -1
- package/distribution/index.js +31 -51
- package/distribution/index.js.map +1 -1
- package/distribution/pair.d.ts +1 -1
- package/distribution/pair.d.ts.map +1 -1
- package/distribution/pair.js +17 -21
- package/distribution/pair.js.map +1 -1
- package/distribution/private.js +6 -9
- package/distribution/private.js.map +1 -1
- package/distribution/public.d.ts +1 -1
- package/distribution/public.d.ts.map +1 -1
- package/distribution/public.js +12 -13
- package/distribution/public.js.map +1 -1
- package/distribution/schemas.js +1 -4
- package/distribution/schemas.js.map +1 -1
- package/distribution/serializer.d.ts +1 -1
- package/distribution/serializer.js +4 -7
- package/distribution/serializer.js.map +1 -1
- package/package.json +15 -12
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"get-bls.d.ts","sourceRoot":"","sources":["../source/get-bls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,eAAO,MAAM,MAAM,QAAa,QAAQ,IAAI,CAW3C,CAAC"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { getImplementation } from "@chainsafe/bls/getImplementation";
|
2
|
+
let _bls;
|
3
|
+
export const getBls = async () => {
|
4
|
+
if (!_bls) {
|
5
|
+
const runtime = globalThis.process?.release?.name ?? "browser";
|
6
|
+
if (runtime === "node") {
|
7
|
+
_bls = await getImplementation("blst-native");
|
8
|
+
}
|
9
|
+
else {
|
10
|
+
_bls = await getImplementation("herumi");
|
11
|
+
}
|
12
|
+
}
|
13
|
+
return _bls;
|
14
|
+
};
|
15
|
+
//# sourceMappingURL=get-bls.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"get-bls.js","sourceRoot":"","sources":["../source/get-bls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAGrE,IAAI,IAAsB,CAAC;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;IAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,SAAS,CAAC;QAC/D,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACxB,IAAI,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACP,IAAI,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC"}
|
package/distribution/index.d.ts
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
import { Providers } from "@mainsail/kernel";
|
2
|
-
export * from "./
|
3
|
-
export * from "./
|
4
|
-
export * from "./
|
5
|
-
export * from "./
|
6
|
-
export * from "./
|
2
|
+
export * from "./get-bls.js";
|
3
|
+
export * from "./pair.js";
|
4
|
+
export * from "./private.js";
|
5
|
+
export * from "./public.js";
|
6
|
+
export * from "./schemas.js";
|
7
|
+
export * from "./serializer.js";
|
7
8
|
export declare class ServiceProvider extends Providers.ServiceProvider {
|
8
9
|
#private;
|
9
10
|
register(): Promise<void>;
|
10
|
-
requiredByWorker(): boolean;
|
11
11
|
}
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQ7C,cAAc,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQ7C,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAEhC,qBAAa,eAAgB,SAAQ,SAAS,CAAC,eAAe;;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAmCtC"}
|
package/distribution/index.js
CHANGED
@@ -1,79 +1,59 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
-
};
|
16
1
|
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
17
2
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
18
3
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
19
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
20
5
|
};
|
21
6
|
var _ServiceProvider_instances, _ServiceProvider_registerSchemas;
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
class ServiceProvider extends kernel_1.Providers.ServiceProvider {
|
7
|
+
import { Selectors } from "@mainsail/container";
|
8
|
+
import { Identifiers } from "@mainsail/contracts";
|
9
|
+
import { Providers } from "@mainsail/kernel";
|
10
|
+
import { KeyPairFactory } from "./pair.js";
|
11
|
+
import { PrivateKeyFactory } from "./private.js";
|
12
|
+
import { PublicKeyFactory } from "./public.js";
|
13
|
+
import { schemas } from "./schemas.js";
|
14
|
+
import { PublicKeySerializer } from "./serializer.js";
|
15
|
+
export * from "./get-bls.js";
|
16
|
+
export * from "./pair.js";
|
17
|
+
export * from "./private.js";
|
18
|
+
export * from "./public.js";
|
19
|
+
export * from "./schemas.js";
|
20
|
+
export * from "./serializer.js";
|
21
|
+
export class ServiceProvider extends Providers.ServiceProvider {
|
38
22
|
constructor() {
|
39
23
|
super(...arguments);
|
40
24
|
_ServiceProvider_instances.add(this);
|
41
25
|
}
|
42
26
|
async register() {
|
43
27
|
this.app
|
44
|
-
.bind(
|
28
|
+
.bind(Identifiers.Cryptography.Identity.PublicKey.Size)
|
45
29
|
.toConstantValue(48)
|
46
|
-
.when(
|
30
|
+
.when(Selectors.anyAncestorOrTargetTaggedFirst("type", "wallet"));
|
47
31
|
this.app
|
48
|
-
.bind(
|
49
|
-
.to(
|
32
|
+
.bind(Identifiers.Cryptography.Identity.KeyPair.Factory)
|
33
|
+
.to(KeyPairFactory)
|
50
34
|
.inSingletonScope()
|
51
|
-
.when(
|
35
|
+
.when(Selectors.anyAncestorOrTargetTaggedFirst("type", "wallet"));
|
52
36
|
this.app
|
53
|
-
.bind(
|
54
|
-
.to(
|
37
|
+
.bind(Identifiers.Cryptography.Identity.PrivateKey.Factory)
|
38
|
+
.to(PrivateKeyFactory)
|
55
39
|
.inSingletonScope()
|
56
|
-
.when(
|
40
|
+
.when(Selectors.anyAncestorOrTargetTaggedFirst("type", "wallet"));
|
57
41
|
this.app
|
58
|
-
.bind(
|
59
|
-
.to(
|
42
|
+
.bind(Identifiers.Cryptography.Identity.PublicKey.Factory)
|
43
|
+
.to(PublicKeyFactory)
|
60
44
|
.inSingletonScope()
|
61
|
-
.when(
|
45
|
+
.when(Selectors.anyAncestorOrTargetTaggedFirst("type", "wallet"));
|
62
46
|
this.app
|
63
|
-
.bind(
|
64
|
-
.to(
|
47
|
+
.bind(Identifiers.Cryptography.Identity.PublicKey.Serializer)
|
48
|
+
.to(PublicKeySerializer)
|
65
49
|
.inSingletonScope()
|
66
|
-
.when(
|
50
|
+
.when(Selectors.anyAncestorOrTargetTaggedFirst("type", "wallet"));
|
67
51
|
__classPrivateFieldGet(this, _ServiceProvider_instances, "m", _ServiceProvider_registerSchemas).call(this);
|
68
52
|
}
|
69
|
-
requiredByWorker() {
|
70
|
-
return true;
|
71
|
-
}
|
72
53
|
}
|
73
|
-
exports.ServiceProvider = ServiceProvider;
|
74
54
|
_ServiceProvider_instances = new WeakSet(), _ServiceProvider_registerSchemas = function _ServiceProvider_registerSchemas() {
|
75
|
-
for (const schema of Object.values(
|
76
|
-
this.app.get(
|
55
|
+
for (const schema of Object.values(schemas)) {
|
56
|
+
this.app.get(Identifiers.Cryptography.Validator).addSchema(schema);
|
77
57
|
}
|
78
58
|
};
|
79
59
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAEhC,MAAM,OAAO,eAAgB,SAAQ,SAAS,CAAC,eAAe;IAA9D;;;IAoCA,CAAC;IAnCO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,GAAG;aACN,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;aACtD,eAAe,CAAC,EAAE,CAAC;aACnB,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,GAAG;aACN,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;aACvD,EAAE,CAAC,cAAc,CAAC;aAClB,gBAAgB,EAAE;aAClB,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG;aACN,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;aAC1D,EAAE,CAAC,iBAAiB,CAAC;aACrB,gBAAgB,EAAE;aAClB,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG;aACN,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;aACzD,EAAE,CAAC,gBAAgB,CAAC;aACpB,gBAAgB,EAAE;aAClB,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG;aACN,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;aAC5D,EAAE,CAAC,mBAAmB,CAAC;aACvB,gBAAgB,EAAE;aAClB,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEnE,uBAAA,IAAI,oEAAiB,MAArB,IAAI,CAAmB,CAAC;IACzB,CAAC;CAOD;;IAJC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,CAA6B,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChG,CAAC;AACF,CAAC"}
|
package/distribution/pair.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../source/pair.ts"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../source/pair.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAO7D,qBACa,cAAe,YAAW,SAAS,CAAC,MAAM,CAAC,cAAc;;IAErE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAEnD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;IAIjE,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;IAIrE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;CAsBpE"}
|
package/distribution/pair.js
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
"use strict";
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
@@ -13,42 +12,38 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
13
12
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
14
13
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
15
14
|
};
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
18
|
-
};
|
19
15
|
var _KeyPairFactory_instances, _KeyPairFactory_fromPrivateKey;
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
const bls12_381_keygen_1 = require("bls12-381-keygen");
|
27
|
-
const wif_1 = __importDefault(require("wif"));
|
16
|
+
import { inject, injectable } from "@mainsail/container";
|
17
|
+
import { Contracts, Identifiers } from "@mainsail/contracts";
|
18
|
+
import { mnemonicToSeedSync } from "@scure/bip39";
|
19
|
+
import { deriveChild, deriveMaster } from "bls12-381-keygen";
|
20
|
+
import WIF from "wif";
|
21
|
+
import { getBls } from "./get-bls.js";
|
28
22
|
let KeyPairFactory = class KeyPairFactory {
|
29
23
|
constructor() {
|
30
24
|
_KeyPairFactory_instances.add(this);
|
31
25
|
}
|
32
26
|
async fromMnemonic(mnemonic) {
|
33
|
-
return __classPrivateFieldGet(this, _KeyPairFactory_instances, "m", _KeyPairFactory_fromPrivateKey).call(this,
|
27
|
+
return __classPrivateFieldGet(this, _KeyPairFactory_instances, "m", _KeyPairFactory_fromPrivateKey).call(this, deriveChild(deriveMaster(mnemonicToSeedSync(mnemonic)), 0));
|
34
28
|
}
|
35
29
|
async fromPrivateKey(privateKey) {
|
36
30
|
return __classPrivateFieldGet(this, _KeyPairFactory_instances, "m", _KeyPairFactory_fromPrivateKey).call(this, privateKey);
|
37
31
|
}
|
38
32
|
async fromWIF(wif) {
|
39
|
-
const
|
33
|
+
const bls = await getBls();
|
34
|
+
const decoded = WIF.decode(wif, this.configuration.get("network.wif"));
|
40
35
|
const privateKey = Buffer.from(decoded.privateKey);
|
41
36
|
return {
|
42
37
|
compressed: decoded.compressed,
|
43
38
|
privateKey: privateKey.toString("hex"),
|
44
|
-
publicKey: Buffer.from(
|
39
|
+
publicKey: Buffer.from(bls.SecretKey.fromBytes(decoded.privateKey).toPublicKey().toBytes()).toString("hex"),
|
45
40
|
};
|
46
41
|
}
|
47
42
|
};
|
48
|
-
exports.KeyPairFactory = KeyPairFactory;
|
49
43
|
_KeyPairFactory_instances = new WeakSet();
|
50
|
-
_KeyPairFactory_fromPrivateKey = function _KeyPairFactory_fromPrivateKey(privateKey) {
|
51
|
-
const
|
44
|
+
_KeyPairFactory_fromPrivateKey = async function _KeyPairFactory_fromPrivateKey(privateKey) {
|
45
|
+
const bls = await getBls();
|
46
|
+
const secretKey = bls.SecretKey.fromBytes(privateKey);
|
52
47
|
return {
|
53
48
|
compressed: true,
|
54
49
|
privateKey: Buffer.from(privateKey).toString("hex"),
|
@@ -56,10 +51,11 @@ _KeyPairFactory_fromPrivateKey = function _KeyPairFactory_fromPrivateKey(private
|
|
56
51
|
};
|
57
52
|
};
|
58
53
|
__decorate([
|
59
|
-
|
54
|
+
inject(Identifiers.Cryptography.Configuration),
|
60
55
|
__metadata("design:type", Object)
|
61
56
|
], KeyPairFactory.prototype, "configuration", void 0);
|
62
|
-
|
63
|
-
|
57
|
+
KeyPairFactory = __decorate([
|
58
|
+
injectable()
|
64
59
|
], KeyPairFactory);
|
60
|
+
export { KeyPairFactory };
|
65
61
|
//# sourceMappingURL=pair.js.map
|
package/distribution/pair.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pair.js","sourceRoot":"","sources":["../source/pair.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"pair.js","sourceRoot":"","sources":["../source/pair.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,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG/B,IAAM,cAAc,GAApB,MAAM,cAAc;IAApB;;IAkCP,CAAC;IA9BO,KAAK,CAAC,YAAY,CAAC,QAAgB;QACzC,OAAO,uBAAA,IAAI,iEAAgB,MAApB,IAAI,EAAiB,WAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,UAAkB;QAC7C,OAAO,uBAAA,IAAI,iEAAgB,MAApB,IAAI,EAAiB,UAAU,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAW;QAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEnD,OAAO;YACN,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YACtC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC3G,CAAC;IACH,CAAC;CAYD,CAAA;;iCAVA,KAAK,yCAAiB,UAAsB;IAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO;QACN,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnD,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;KACzE,CAAC;AACH,CAAC;AA/BgB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC;;qDACiB;AAFpD,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAkC1B"}
|
package/distribution/private.js
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
"use strict";
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
@@ -8,10 +7,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
10
9
|
};
|
11
|
-
|
12
|
-
|
13
|
-
const container_1 = require("@mainsail/container");
|
14
|
-
const contracts_1 = require("@mainsail/contracts");
|
10
|
+
import { inject, injectable } from "@mainsail/container";
|
11
|
+
import { Contracts, Identifiers } from "@mainsail/contracts";
|
15
12
|
let PrivateKeyFactory = class PrivateKeyFactory {
|
16
13
|
async fromMnemonic(mnemonic) {
|
17
14
|
return (await this.keyPairFactory.fromMnemonic(mnemonic)).privateKey;
|
@@ -20,12 +17,12 @@ let PrivateKeyFactory = class PrivateKeyFactory {
|
|
20
17
|
return (await this.keyPairFactory.fromWIF(wif)).privateKey;
|
21
18
|
}
|
22
19
|
};
|
23
|
-
exports.PrivateKeyFactory = PrivateKeyFactory;
|
24
20
|
__decorate([
|
25
|
-
|
21
|
+
inject(Identifiers.Cryptography.Identity.KeyPair.Factory),
|
26
22
|
__metadata("design:type", Object)
|
27
23
|
], PrivateKeyFactory.prototype, "keyPairFactory", void 0);
|
28
|
-
|
29
|
-
|
24
|
+
PrivateKeyFactory = __decorate([
|
25
|
+
injectable()
|
30
26
|
], PrivateKeyFactory);
|
27
|
+
export { PrivateKeyFactory };
|
31
28
|
//# sourceMappingURL=private.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"private.js","sourceRoot":"","sources":["../source/private.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"private.js","sourceRoot":"","sources":["../source/private.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGtD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAItB,KAAK,CAAC,YAAY,CAAC,QAAgB;QACzC,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAW;QAC/B,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5D,CAAC;CACD,CAAA;AATiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;;yDACQ;AAFtD,iBAAiB;IAD7B,UAAU,EAAE;GACA,iBAAiB,CAW7B"}
|
package/distribution/public.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../source/public.ts"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../source/public.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAIzE,qBACa,gBAAiB,YAAW,SAAS,CAAC,MAAM,CAAC,gBAAgB;IAEzE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmC;IAErD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrC,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY3C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAM7D"}
|
package/distribution/public.js
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
"use strict";
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
@@ -8,11 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
10
9
|
};
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
const container_1 = require("@mainsail/container");
|
15
|
-
const contracts_1 = require("@mainsail/contracts");
|
10
|
+
import { inject, injectable } from "@mainsail/container";
|
11
|
+
import { Contracts, Exceptions, Identifiers } from "@mainsail/contracts";
|
12
|
+
import { getBls } from "./get-bls.js";
|
16
13
|
let PublicKeyFactory = class PublicKeyFactory {
|
17
14
|
async fromMnemonic(mnemonic) {
|
18
15
|
return (await this.keyPairFactory.fromMnemonic(mnemonic)).publicKey;
|
@@ -21,11 +18,12 @@ let PublicKeyFactory = class PublicKeyFactory {
|
|
21
18
|
return (await this.keyPairFactory.fromWIF(wif)).publicKey;
|
22
19
|
}
|
23
20
|
async fromMultiSignatureAsset(asset) {
|
24
|
-
|
21
|
+
throw new Exceptions.NotImplemented(this.constructor.name, "fromMultiSignatureAsset");
|
25
22
|
}
|
26
23
|
async verify(publicKey) {
|
24
|
+
const bls = await getBls();
|
27
25
|
try {
|
28
|
-
|
26
|
+
bls.PublicKey.fromBytes(Buffer.from(publicKey, "hex"), undefined, true);
|
29
27
|
}
|
30
28
|
catch {
|
31
29
|
return false;
|
@@ -33,15 +31,16 @@ let PublicKeyFactory = class PublicKeyFactory {
|
|
33
31
|
return true;
|
34
32
|
}
|
35
33
|
async aggregate(publicKeys) {
|
36
|
-
|
34
|
+
const bls = await getBls();
|
35
|
+
return Buffer.from(bls.aggregatePublicKeys(publicKeys.map((pub) => bls.PublicKey.fromBytes(pub).toBytes()))).toString("hex");
|
37
36
|
}
|
38
37
|
};
|
39
|
-
exports.PublicKeyFactory = PublicKeyFactory;
|
40
38
|
__decorate([
|
41
|
-
|
39
|
+
inject(Identifiers.Cryptography.Identity.KeyPair.Factory),
|
42
40
|
__metadata("design:type", Object)
|
43
41
|
], PublicKeyFactory.prototype, "keyPairFactory", void 0);
|
44
|
-
|
45
|
-
|
42
|
+
PublicKeyFactory = __decorate([
|
43
|
+
injectable()
|
46
44
|
], PublicKeyFactory);
|
45
|
+
export { PublicKeyFactory };
|
47
46
|
//# sourceMappingURL=public.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"public.js","sourceRoot":"","sources":["../source/public.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../source/public.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG/B,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAIrB,KAAK,CAAC,YAAY,CAAC,QAAgB;QACzC,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAW;QAC/B,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,KAA2C;QAC/E,MAAM,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IACvF,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,SAAiB;QACpC,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAE3B,IAAI,CAAC;YACJ,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAAoB;QAC1C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,IAAI,CACjB,GAAG,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CACxF,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;CACD,CAAA;AAhCiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;;wDACQ;AAFtD,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAkC5B"}
|
package/distribution/schemas.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../source/schemas.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../source/schemas.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,SAAS,EAAE;QACV,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC1D,IAAI,EAAE,QAAQ;KACd;CACD,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/// <reference types="node" />
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
2
2
|
import { Contracts } from "@mainsail/contracts";
|
3
3
|
import { ByteBuffer } from "@mainsail/utils";
|
4
4
|
export declare class PublicKeySerializer implements Contracts.Crypto.PublicKeySerializer {
|
@@ -1,13 +1,10 @@
|
|
1
|
-
"use strict";
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
6
|
};
|
8
|
-
|
9
|
-
exports.PublicKeySerializer = void 0;
|
10
|
-
const container_1 = require("@mainsail/container");
|
7
|
+
import { injectable } from "@mainsail/container";
|
11
8
|
let PublicKeySerializer = class PublicKeySerializer {
|
12
9
|
serialize(buffer, publicKey) {
|
13
10
|
buffer.writeBytes(Buffer.from(publicKey, "hex"));
|
@@ -16,8 +13,8 @@ let PublicKeySerializer = class PublicKeySerializer {
|
|
16
13
|
return buffer.readBytes(48);
|
17
14
|
}
|
18
15
|
};
|
19
|
-
|
20
|
-
|
21
|
-
(0, container_1.injectable)()
|
16
|
+
PublicKeySerializer = __decorate([
|
17
|
+
injectable()
|
22
18
|
], PublicKeySerializer);
|
19
|
+
export { PublicKeySerializer };
|
23
20
|
//# sourceMappingURL=serializer.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../source/serializer.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../source/serializer.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAK1C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACxB,SAAS,CAAC,MAAkB,EAAE,SAAiB;QACrD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAEM,WAAW,CAAC,MAAkB;QACpC,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;CACD,CAAA;AARY,mBAAmB;IAD/B,UAAU,EAAE;GACA,mBAAmB,CAQ/B"}
|
package/package.json
CHANGED
@@ -1,31 +1,33 @@
|
|
1
1
|
{
|
2
2
|
"name": "@mainsail/crypto-key-pair-bls12-381",
|
3
|
-
"version": "0.0.1-
|
3
|
+
"version": "0.0.1-evm.10",
|
4
4
|
"description": "BLS12-381 key derivation for the Mainsail blockchain",
|
5
5
|
"license": "GPL-3.0-only",
|
6
6
|
"contributors": [],
|
7
|
+
"type": "module",
|
7
8
|
"main": "distribution/index.js",
|
8
9
|
"types": "distribution/index.d.ts",
|
9
10
|
"files": [
|
10
11
|
"distribution"
|
11
12
|
],
|
12
13
|
"dependencies": {
|
13
|
-
"@chainsafe/
|
14
|
-
"@
|
14
|
+
"@chainsafe/bls": "^7.1.3",
|
15
|
+
"@chainsafe/blst": "^0.2.10",
|
16
|
+
"@scure/bip39": "^1.2.2",
|
15
17
|
"bls12-381-keygen": "^0.2.3",
|
16
18
|
"wif": "^4.0.0",
|
17
|
-
"@mainsail/contracts": "0.0.1-
|
18
|
-
"@mainsail/
|
19
|
-
"@mainsail/
|
20
|
-
"@mainsail/
|
19
|
+
"@mainsail/contracts": "0.0.1-evm.10",
|
20
|
+
"@mainsail/utils": "0.0.1-evm.10",
|
21
|
+
"@mainsail/container": "0.0.1-evm.10",
|
22
|
+
"@mainsail/kernel": "0.0.1-evm.10"
|
21
23
|
},
|
22
24
|
"devDependencies": {
|
23
25
|
"@types/wif": "^2.0.5",
|
24
26
|
"bip39": "3.1.0",
|
25
27
|
"uvu": "^0.5.6",
|
26
|
-
"@mainsail/crypto-config": "0.0.1-
|
27
|
-
"@mainsail/crypto-validation": "0.0.1-
|
28
|
-
"@mainsail/validation": "0.0.1-
|
28
|
+
"@mainsail/crypto-config": "0.0.1-evm.10",
|
29
|
+
"@mainsail/crypto-validation": "0.0.1-evm.10",
|
30
|
+
"@mainsail/validation": "0.0.1-evm.10"
|
29
31
|
},
|
30
32
|
"engines": {
|
31
33
|
"node": ">=20.x"
|
@@ -35,9 +37,10 @@
|
|
35
37
|
"build:watch": "pnpm run clean && tsc -w",
|
36
38
|
"clean": "del distribution",
|
37
39
|
"release": "pnpm publish --access public",
|
38
|
-
"test": "
|
40
|
+
"test": "pnpm run uvu source .test.ts",
|
39
41
|
"test:coverage": "c8 pnpm run test",
|
40
42
|
"test:coverage:html": "c8 -r html --all pnpm run test",
|
41
|
-
"test:file": "
|
43
|
+
"test:file": "pnpm run uvu source",
|
44
|
+
"uvu": "tsx --tsconfig ../../tsconfig.test.json ./node_modules/uvu/bin.js"
|
42
45
|
}
|
43
46
|
}
|