@peerbit/crypto 2.3.1 → 2.3.2
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/benchmark/peer-ids.js +6 -5
- package/dist/benchmark/peer-ids.js.map +1 -1
- package/dist/src/ed25519.d.ts +3 -5
- package/dist/src/ed25519.d.ts.map +1 -1
- package/dist/src/ed25519.js +5 -23
- package/dist/src/ed25519.js.map +1 -1
- package/dist/src/{peerid.d.ts → from.d.ts} +3 -3
- package/dist/src/from.d.ts.map +1 -0
- package/dist/src/from.js +34 -0
- package/dist/src/from.js.map +1 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/key.d.ts +2 -2
- package/dist/src/key.d.ts.map +1 -1
- package/dist/src/sepc256k1.d.ts +2 -4
- package/dist/src/sepc256k1.d.ts.map +1 -1
- package/dist/src/sepc256k1.js +7 -25
- package/dist/src/sepc256k1.js.map +1 -1
- package/dist/src/x25519.d.ts +0 -1
- package/dist/src/x25519.d.ts.map +1 -1
- package/dist/src/x25519.js +0 -4
- package/dist/src/x25519.js.map +1 -1
- package/package.json +6 -6
- package/src/ed25519.ts +8 -36
- package/src/from.ts +47 -0
- package/src/index.ts +2 -1
- package/src/key.ts +2 -2
- package/src/sepc256k1.ts +9 -39
- package/src/x25519.ts +0 -5
- package/dist/src/peerid.d.ts.map +0 -1
- package/dist/src/peerid.js +0 -22
- package/dist/src/peerid.js.map +0 -1
- package/src/peerid.ts +0 -27
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { deserialize, serialize } from "@dao-xyz/borsh";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { generateKeyPair } from "@libp2p/crypto/keys";
|
|
3
|
+
import { peerIdFromPublicKey } from "@libp2p/peer-id";
|
|
4
4
|
import B from "benchmark";
|
|
5
5
|
import { Ed25519Keypair, Ed25519PublicKey } from "../src/ed25519.js";
|
|
6
6
|
//node --loader ts-node/esm ./benchmark/peer-ids.ts
|
|
7
7
|
const keypair = await Ed25519Keypair.create();
|
|
8
|
-
const peerId = await
|
|
9
|
-
const peerIdPublicKey =
|
|
8
|
+
const peerId = await generateKeyPair("Ed25519");
|
|
9
|
+
const peerIdPublicKey = peerIdFromPublicKey(peerId.publicKey);
|
|
10
10
|
const suite = new B.Suite("ed25519");
|
|
11
|
+
// TODO this benchmark makes no sense to do anymore since libp2p 2.0.0. What we want to compare is the ser/der perform of libp2p peerid vs peerbit peerid
|
|
11
12
|
suite
|
|
12
13
|
.add("PublicSignKey", {
|
|
13
14
|
fn: async () => {
|
|
@@ -16,7 +17,7 @@ suite
|
|
|
16
17
|
})
|
|
17
18
|
.add("PeerId ", {
|
|
18
19
|
fn: () => {
|
|
19
|
-
|
|
20
|
+
peerIdFromPublicKey(peerIdPublicKey.publicKey);
|
|
20
21
|
},
|
|
21
22
|
})
|
|
22
23
|
.on("error", (error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-ids.js","sourceRoot":"","sources":["../../benchmark/peer-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"peer-ids.js","sourceRoot":"","sources":["../../benchmark/peer-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,CAAC,MAAM,WAAW,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErE,mDAAmD;AAEnD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;AAC9C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;AAChD,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAErC,0JAA0J;AAC1J,KAAK;KACH,GAAG,CAAC,eAAe,EAAE;IACrB,EAAE,EAAE,KAAK,IAAI,EAAE;QACd,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC;CACD,CAAC;KACD,GAAG,CAAC,SAAS,EAAE;IACf,EAAE,EAAE,GAAG,EAAE;QACR,mBAAmB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CACD,CAAC;KACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;IAC3B,MAAM,KAAK,CAAC;AACb,CAAC,CAAC;KACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;KACD,GAAG,EAAE,CAAC"}
|
package/dist/src/ed25519.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PeerId } from "@libp2p/interface";
|
|
2
2
|
import { Keypair, PrivateSignKey, PublicSignKey } from "./key.js";
|
|
3
3
|
import { PreHash } from "./prehash.js";
|
|
4
4
|
import { SignatureWithKey } from "./signature.js";
|
|
@@ -10,7 +10,7 @@ export declare class Ed25519PublicKey extends PublicSignKey {
|
|
|
10
10
|
});
|
|
11
11
|
equals(other: PublicSignKey): boolean;
|
|
12
12
|
toString(): string;
|
|
13
|
-
toPeerId():
|
|
13
|
+
toPeerId(): PeerId;
|
|
14
14
|
static fromPeerId(id: PeerId): Ed25519PublicKey;
|
|
15
15
|
}
|
|
16
16
|
export declare class Ed25519PrivateKey extends PrivateSignKey {
|
|
@@ -21,7 +21,6 @@ export declare class Ed25519PrivateKey extends PrivateSignKey {
|
|
|
21
21
|
equals(other: Ed25519PrivateKey): boolean;
|
|
22
22
|
toString(): string;
|
|
23
23
|
keyObject: any;
|
|
24
|
-
static fromPeerID(id: PeerId): Ed25519PrivateKey;
|
|
25
24
|
}
|
|
26
25
|
export declare class Ed25519Keypair extends Keypair implements Identity {
|
|
27
26
|
publicKey: Ed25519PublicKey;
|
|
@@ -34,9 +33,8 @@ export declare class Ed25519Keypair extends Keypair implements Identity {
|
|
|
34
33
|
sign(data: Uint8Array, prehash?: PreHash): Promise<SignatureWithKey>;
|
|
35
34
|
signer(prehash: PreHash): SignWithKey;
|
|
36
35
|
equals(other: Keypair): boolean;
|
|
37
|
-
static fromPeerId(peerId: PeerId | Ed25519PeerId): Ed25519Keypair;
|
|
38
36
|
_privateKeyPublicKey: Uint8Array;
|
|
39
37
|
get privateKeyPublicKey(): Uint8Array;
|
|
40
|
-
toPeerId():
|
|
38
|
+
toPeerId(): PeerId;
|
|
41
39
|
}
|
|
42
40
|
//# sourceMappingURL=ed25519.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../src/ed25519.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../src/ed25519.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAMhD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAG9D,qBACa,gBAAiB,SAAQ,aAAa;IAElD,SAAS,EAAE,UAAU,CAAC;gBAEV,UAAU,EAAE;QAAE,SAAS,EAAE,UAAU,CAAA;KAAE;IAQjD,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAOrC,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;IAgBlB,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM;CAW5B;AAED,qBACa,iBAAkB,SAAQ,cAAc;IAEpD,UAAU,EAAE,UAAU,CAAC;gBAEX,UAAU,EAAE;QAAE,UAAU,EAAE,UAAU,CAAA;KAAE;IAUlD,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAOzC,QAAQ,IAAI,MAAM;IAIlB,SAAS,EAAE,GAAG,CAAC;CACf;AAED,qBACa,cAAe,SAAQ,OAAQ,YAAW,QAAQ;IAE9D,SAAS,EAAE,gBAAgB,CAAC;IAG5B,UAAU,EAAE,iBAAiB,CAAC;gBAElB,UAAU,EAAE;QACvB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,UAAU,EAAE,iBAAiB,CAAC;KAC9B;WAMY,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAe9C,IAAI,CACH,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,OAAsB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAI5B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW;IAMrC,MAAM,CAAC,KAAK,EAAE,OAAO;IAUrB,oBAAoB,EAAG,UAAU,CAAC;IAClC,IAAI,mBAAmB,IAAI,UAAU,CAQpC;IAED,QAAQ,IAAI,MAAM;CAGlB"}
|
package/dist/src/ed25519.js
CHANGED
|
@@ -9,8 +9,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
var Ed25519PublicKey_1, Ed25519PrivateKey_1, Ed25519Keypair_1;
|
|
11
11
|
import { field, fixedArray, variant } from "@dao-xyz/borsh";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
12
|
+
import { publicKeyFromRaw } from "@libp2p/crypto/keys";
|
|
13
|
+
import { peerIdFromPublicKey } from "@libp2p/peer-id";
|
|
14
14
|
import sodium from "libsodium-wrappers";
|
|
15
15
|
import { concat, equals } from "uint8arrays";
|
|
16
16
|
import { coerce } from "./bytes.js";
|
|
@@ -39,7 +39,7 @@ let Ed25519PublicKey = Ed25519PublicKey_1 = class Ed25519PublicKey extends Publi
|
|
|
39
39
|
return "ed25119p/" + toHexString(this.publicKey);
|
|
40
40
|
}
|
|
41
41
|
toPeerId() {
|
|
42
|
-
return
|
|
42
|
+
return peerIdFromPublicKey(publicKeyFromRaw(this.publicKey));
|
|
43
43
|
}
|
|
44
44
|
/* Don't use keyobject for publicKeys becuse it takes longer time to derive it compare to verifying with sodium
|
|
45
45
|
private keyObject: any;
|
|
@@ -59,7 +59,7 @@ let Ed25519PublicKey = Ed25519PublicKey_1 = class Ed25519PublicKey extends Publi
|
|
|
59
59
|
}
|
|
60
60
|
if (id.type === "Ed25519") {
|
|
61
61
|
return new Ed25519PublicKey_1({
|
|
62
|
-
publicKey: coerce(id.publicKey.
|
|
62
|
+
publicKey: coerce(id.publicKey.raw),
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -93,17 +93,6 @@ let Ed25519PrivateKey = Ed25519PrivateKey_1 = class Ed25519PrivateKey extends Pr
|
|
|
93
93
|
return "ed25119s/" + toHexString(this.privateKey);
|
|
94
94
|
}
|
|
95
95
|
keyObject; // crypto.KeyObject;
|
|
96
|
-
static fromPeerID(id) {
|
|
97
|
-
if (!id.privateKey) {
|
|
98
|
-
throw new Error("Missing privateKey key");
|
|
99
|
-
}
|
|
100
|
-
if (id.type === "Ed25519") {
|
|
101
|
-
return new Ed25519PrivateKey_1({
|
|
102
|
-
privateKey: coerce(id.privateKey.slice(4, 36)),
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
throw new Error("Unsupported key type: " + id.type);
|
|
106
|
-
}
|
|
107
96
|
};
|
|
108
97
|
__decorate([
|
|
109
98
|
field({ type: fixedArray("u8", 32) }),
|
|
@@ -150,12 +139,6 @@ let Ed25519Keypair = Ed25519Keypair_1 = class Ed25519Keypair extends Keypair {
|
|
|
150
139
|
}
|
|
151
140
|
return false;
|
|
152
141
|
}
|
|
153
|
-
static fromPeerId(peerId) {
|
|
154
|
-
return new Ed25519Keypair_1({
|
|
155
|
-
privateKey: Ed25519PrivateKey.fromPeerID(peerId),
|
|
156
|
-
publicKey: Ed25519PublicKey.fromPeerId(peerId),
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
142
|
_privateKeyPublicKey; // length 64
|
|
160
143
|
get privateKeyPublicKey() {
|
|
161
144
|
return (this._privateKeyPublicKey ||
|
|
@@ -165,8 +148,7 @@ let Ed25519Keypair = Ed25519Keypair_1 = class Ed25519Keypair extends Keypair {
|
|
|
165
148
|
])));
|
|
166
149
|
}
|
|
167
150
|
toPeerId() {
|
|
168
|
-
return
|
|
169
|
-
.bytes, new supportedKeys["ed25519"].Ed25519PrivateKey(this.privateKeyPublicKey, this.publicKey.publicKey).bytes);
|
|
151
|
+
return peerIdFromPublicKey(publicKeyFromRaw(this.publicKey.publicKey));
|
|
170
152
|
}
|
|
171
153
|
};
|
|
172
154
|
__decorate([
|
package/dist/src/ed25519.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../src/ed25519.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../src/ed25519.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAmC,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGlC,IAAM,gBAAgB,wBAAtB,MAAM,gBAAiB,SAAQ,aAAa;IAElD,SAAS,CAAa;IAEtB,YAAY,UAAqC;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAED,MAAM,CAAC,KAAoB;QAC1B,IAAI,KAAK,YAAY,kBAAgB,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,QAAQ;QACP,OAAO,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,QAAQ;QACP,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,MAAM,CAAC,UAAU,CAAC,EAAU;QAC3B,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,kBAAgB,CAAC;gBAC3B,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;aACnC,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;CACD,CAAA;AAhDA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;8BAC3B,UAAU;mDAAC;AAFV,gBAAgB;IAD5B,OAAO,CAAC,CAAC,CAAC;;GACE,gBAAgB,CAkD5B;;AAGM,IAAM,iBAAiB,yBAAvB,MAAM,iBAAkB,SAAQ,cAAc;IAEpD,UAAU,CAAa;IAEvB,YAAY,UAAsC;QACjD,KAAK,EAAE,CAAC;QAER,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,KAAwB;QAC9B,IAAI,KAAK,YAAY,mBAAiB,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,QAAQ;QACP,OAAO,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,SAAS,CAAM,CAAC,oBAAoB;CACpC,CAAA;AAxBA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;8BAC1B,UAAU;qDAAC;AAFX,iBAAiB;IAD7B,OAAO,CAAC,CAAC,CAAC;;GACE,iBAAiB,CA0B7B;;AAGM,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,OAAO;IAE1C,SAAS,CAAmB;IAG5B,UAAU,CAAoB;IAE9B,YAAY,UAGX;QACA,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM;QAClB,MAAM,MAAM,CAAC,KAAK,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,IAAI,gBAAc,CAAC;YAC7B,SAAS,EAAE,IAAI,gBAAgB,CAAC;gBAC/B,SAAS,EAAE,SAAS,CAAC,SAAS;aAC9B,CAAC;YACF,UAAU,EAAE,IAAI,iBAAiB,CAAC;gBACjC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,gCAAgC;aAC/E,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CACH,IAAgB,EAChB,UAAmB,OAAO,CAAC,IAAI;QAE/B,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,OAAgB;QACtB,OAAO,KAAK,EAAE,IAAgB,EAAE,EAAE;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAc;QACpB,IAAI,KAAK,YAAY,gBAAc,EAAE,CAAC;YACrC,OAAO,CACN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CACxC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,oBAAoB,CAAc,CAAC,YAAY;IAC/C,IAAI,mBAAmB;QACtB,OAAO,CACN,IAAI,CAAC,oBAAoB;YACzB,CAAC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,UAAU;gBAC1B,IAAI,CAAC,SAAS,CAAC,SAAS;aACxB,CAAC,CAAC,CACH,CAAC;IACH,CAAC;IAED,QAAQ;QACP,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;CACD,CAAA;AAlEA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;8BACvB,gBAAgB;iDAAC;AAG5B;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;8BACvB,iBAAiB;kDAAC;AALlB,cAAc;IAD1B,OAAO,CAAC,CAAC,CAAC;;GACE,cAAc,CAoE1B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type PeerId } from "@libp2p/interface";
|
|
1
|
+
import { type PeerId, type PrivateKey } from "@libp2p/interface";
|
|
2
2
|
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
3
3
|
import { Secp256k1Keypair, Secp256k1PublicKey } from "./sepc256k1.js";
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const getKeypairFromPrivateKey: (privateKey: PrivateKey) => Ed25519Keypair | Secp256k1Keypair;
|
|
5
5
|
export declare const getPublicKeyFromPeerId: (peerId: PeerId) => Ed25519PublicKey | Secp256k1PublicKey;
|
|
6
|
-
//# sourceMappingURL=
|
|
6
|
+
//# sourceMappingURL=from.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"from.d.ts","sourceRoot":"","sources":["../../src/from.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACN,cAAc,EAEd,gBAAgB,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,gBAAgB,EAEhB,kBAAkB,EAClB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,wBAAwB,eACxB,UAAU,KACpB,cAAc,GAAG,gBAoBnB,CAAC;AAEF,eAAO,MAAM,sBAAsB,WAC1B,MAAM,KACZ,gBAAgB,GAAG,kBAQrB,CAAC"}
|
package/dist/src/from.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {} from "@libp2p/interface";
|
|
2
|
+
import { Ed25519Keypair, Ed25519PrivateKey, Ed25519PublicKey, } from "./ed25519.js";
|
|
3
|
+
import { Secp256k1Keypair, Secp256k1PrivateKey, Secp256k1PublicKey, } from "./sepc256k1.js";
|
|
4
|
+
export const getKeypairFromPrivateKey = (privateKey) => {
|
|
5
|
+
if (privateKey.type === "Ed25519") {
|
|
6
|
+
return new Ed25519Keypair({
|
|
7
|
+
privateKey: new Ed25519PrivateKey({
|
|
8
|
+
privateKey: privateKey.raw.slice(0, 32),
|
|
9
|
+
}),
|
|
10
|
+
publicKey: new Ed25519PublicKey({ publicKey: privateKey.publicKey.raw }),
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
if (privateKey.type === "secp256k1") {
|
|
14
|
+
return new Secp256k1Keypair({
|
|
15
|
+
privateKey: new Secp256k1PrivateKey({
|
|
16
|
+
privateKey: privateKey.raw.slice(0, 32),
|
|
17
|
+
}),
|
|
18
|
+
publicKey: new Secp256k1PublicKey({
|
|
19
|
+
publicKey: privateKey.publicKey.raw,
|
|
20
|
+
}),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
throw new Error("Unsupported key type");
|
|
24
|
+
};
|
|
25
|
+
export const getPublicKeyFromPeerId = (peerId) => {
|
|
26
|
+
if (peerId.type === "Ed25519") {
|
|
27
|
+
return Ed25519PublicKey.fromPeerId(peerId);
|
|
28
|
+
}
|
|
29
|
+
if (peerId.type === "secp256k1") {
|
|
30
|
+
return Secp256k1PublicKey.fromPeerId(peerId);
|
|
31
|
+
}
|
|
32
|
+
throw new Error("Unsupported key type");
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=from.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"from.js","sourceRoot":"","sources":["../../src/from.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,UAAsB,EACc,EAAE;IACtC,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,IAAI,cAAc,CAAC;YACzB,UAAU,EAAE,IAAI,iBAAiB,CAAC;gBACjC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACvC,CAAC;YACF,SAAS,EAAE,IAAI,gBAAgB,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SACxE,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,gBAAgB,CAAC;YAC3B,UAAU,EAAE,IAAI,mBAAmB,CAAC;gBACnC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACvC,CAAC;YACF,SAAS,EAAE,IAAI,kBAAkB,CAAC;gBACjC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG;aACnC,CAAC;SACF,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,MAAc,EAC0B,EAAE;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AACzC,CAAC,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -4,12 +4,13 @@ export * from "./signature.js";
|
|
|
4
4
|
export * from "./sepc256k1.js";
|
|
5
5
|
export * from "./x25519.js";
|
|
6
6
|
export * from "./encryption.js";
|
|
7
|
-
export * from "./
|
|
7
|
+
export * from "./from.js";
|
|
8
8
|
export * from "./utils.js";
|
|
9
9
|
export * from "./hash.js";
|
|
10
10
|
export * from "./random.js";
|
|
11
11
|
export * from "./prehash.js";
|
|
12
12
|
export * from "./signer.js";
|
|
13
|
+
export * from "./from.js";
|
|
13
14
|
declare const ready: Promise<void>;
|
|
14
15
|
export { ready };
|
|
15
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAE1B,QAAA,MAAM,KAAK,eAAkB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -5,12 +5,13 @@ export * from "./signature.js";
|
|
|
5
5
|
export * from "./sepc256k1.js";
|
|
6
6
|
export * from "./x25519.js";
|
|
7
7
|
export * from "./encryption.js";
|
|
8
|
-
export * from "./
|
|
8
|
+
export * from "./from.js";
|
|
9
9
|
export * from "./utils.js";
|
|
10
10
|
export * from "./hash.js";
|
|
11
11
|
export * from "./random.js";
|
|
12
12
|
export * from "./prehash.js";
|
|
13
13
|
export * from "./signer.js";
|
|
14
|
+
export * from "./from.js";
|
|
14
15
|
const ready = libsodium.ready;
|
|
15
16
|
export { ready };
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAE1B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/src/key.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ interface Key {
|
|
|
9
9
|
export declare abstract class Keypair {
|
|
10
10
|
abstract get publicKey(): PublicSignKey | PublicKeyEncryptionKey;
|
|
11
11
|
equals(other: Keypair): boolean;
|
|
12
|
-
toPeerId():
|
|
12
|
+
toPeerId(): PeerId;
|
|
13
13
|
}
|
|
14
14
|
export interface PublicSignKey extends Key {
|
|
15
15
|
}
|
|
@@ -17,7 +17,7 @@ export declare abstract class PublicSignKey implements Key {
|
|
|
17
17
|
private _bytes;
|
|
18
18
|
get bytes(): Uint8Array;
|
|
19
19
|
hashcode(): string;
|
|
20
|
-
toPeerId():
|
|
20
|
+
toPeerId(): PeerId;
|
|
21
21
|
}
|
|
22
22
|
export interface PrivateSignKey extends Key {
|
|
23
23
|
}
|
package/dist/src/key.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKhD,UAAU,GAAG;IACZ,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC;IAC5B,IAAI,KAAK,IAAI,UAAU,CAAC;IACxB,QAAQ,IAAI,MAAM,CAAC;IACnB,QAAQ,IAAI,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,8BAAsB,OAAO;IAC5B,QAAQ,KAAK,SAAS,IAAI,aAAa,GAAG,sBAAsB,CAAC;IAEjE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/B,QAAQ,IAAI,
|
|
1
|
+
{"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKhD,UAAU,GAAG;IACZ,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC;IAC5B,IAAI,KAAK,IAAI,UAAU,CAAC;IACxB,QAAQ,IAAI,MAAM,CAAC;IACnB,QAAQ,IAAI,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,8BAAsB,OAAO;IAC5B,QAAQ,KAAK,SAAS,IAAI,aAAa,GAAG,sBAAsB,CAAC;IAEjE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/B,QAAQ,IAAI,MAAM;CAKlB;AAGD,MAAM,WAAW,aAAc,SAAQ,GAAG;CAAG;AAC7C,8BAAsB,aAAc,YAAW,GAAG;IACjD,OAAO,CAAC,MAAM,CAAc;IAE5B,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;CAGlB;AAED,MAAM,WAAW,cAAe,SAAQ,GAAG;CAAG;AAC9C,8BAAsB,cAAe,YAAW,GAAG;IAClD,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,QAAQ,IAAI,MAAM;CAGlB;AAGD,MAAM,WAAW,sBAAuB,SAAQ,GAAG;CAAG;AACtD,8BAAsB,sBAAuB,YAAW,GAAG;IAC1D,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,QAAQ,IAAI,MAAM;CAGlB;AACD,MAAM,WAAW,oBAAqB,SAAQ,GAAG;CAAG;AACpD,8BAAsB,oBAAqB,YAAW,GAAG;IACxD,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,QAAQ,IAAI,MAAM;CAGlB;AAGD,MAAM,WAAW,QAAS,SAAQ,GAAG;CAAG;AACxC,8BAAsB,QAAS,YAAW,GAAG;IAC5C,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,QAAQ,IAAI,MAAM;CAGlB;AAED,qBAAa,OAAQ,SAAQ,QAAQ;IAEpC,GAAG,EAAE,UAAU,CAAC;gBAEJ,UAAU,EAAE;QAAE,GAAG,EAAE,UAAU,CAAA;KAAE;IAK3C,MAAM,CAAC,KAAK,EAAE,OAAO;IAKrB,QAAQ,IAAI,MAAM;CAGlB"}
|
package/dist/src/sepc256k1.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare class Secp256k1PublicKey extends PublicSignKey {
|
|
|
15
15
|
}): Promise<Secp256k1PublicKey>;
|
|
16
16
|
equals(other: PublicSignKey): boolean;
|
|
17
17
|
toString(): string;
|
|
18
|
-
toPeerId():
|
|
18
|
+
toPeerId(): PeerId;
|
|
19
19
|
static fromPeerId(id: PeerId): Secp256k1PublicKey;
|
|
20
20
|
}
|
|
21
21
|
export declare class Secp256k1PrivateKey extends PrivateSignKey {
|
|
@@ -25,7 +25,6 @@ export declare class Secp256k1PrivateKey extends PrivateSignKey {
|
|
|
25
25
|
});
|
|
26
26
|
equals(other: Secp256k1PrivateKey): boolean;
|
|
27
27
|
toString(): string;
|
|
28
|
-
static from(id: PeerId): Secp256k1PrivateKey;
|
|
29
28
|
}
|
|
30
29
|
export declare class Secp256k1Keypair extends Keypair implements Identity {
|
|
31
30
|
publicKey: Secp256k1PublicKey;
|
|
@@ -38,8 +37,7 @@ export declare class Secp256k1Keypair extends Keypair implements Identity {
|
|
|
38
37
|
static create(): Promise<Secp256k1Keypair>;
|
|
39
38
|
sign(data: Uint8Array, prehash?: PreHash): Promise<SignatureWithKey>;
|
|
40
39
|
equals(other: Keypair): boolean;
|
|
41
|
-
|
|
42
|
-
toPeerId(): Promise<PeerId>;
|
|
40
|
+
toPeerId(): PeerId;
|
|
43
41
|
}
|
|
44
42
|
export declare const recoverPublicKeyFromSignature: (digest: Uint8Array, signature: SignatureLike) => Uint8Array;
|
|
45
43
|
export declare const verifySignatureSecp256k1: (signature: SignatureWithKey, data: Uint8Array) => Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sepc256k1.d.ts","sourceRoot":"","sources":["../../src/sepc256k1.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,aAAa,EAIlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sepc256k1.d.ts","sourceRoot":"","sources":["../../src/sepc256k1.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,aAAa,EAIlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKhD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,OAAO,EAAa,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C,qBACa,kBAAmB,SAAQ,aAAa;IAEpD,SAAS,EAAE,UAAU,CAAC;gBAEV,UAAU,EAAE;QAAE,SAAS,EAAE,UAAU,CAAA;KAAE;WAQpC,OAAO,CAAC,MAAM,EAAE;QAC5B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;KACpE;IAcD,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAOrC,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM;CAW5B;AAED,qBACa,mBAAoB,SAAQ,cAAc;IAEtD,UAAU,EAAE,UAAU,CAAC;gBAEX,UAAU,EAAE;QAAE,UAAU,EAAE,UAAU,CAAA;KAAE;IASlD,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO;IAO3C,QAAQ,IAAI,MAAM;CAGlB;AAED,qBACa,gBAAiB,SAAQ,OAAQ,YAAW,QAAQ;IAEhE,SAAS,EAAE,kBAAkB,CAAC;IAG9B,UAAU,EAAE,mBAAmB,CAAC;IAEhC,OAAO,EAAG,MAAM,CAAC;gBACL,UAAU,EAAE;QACvB,SAAS,EAAE,kBAAkB,CAAC;QAC9B,UAAU,EAAE,mBAAmB,CAAC;KAChC;WAMY,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAc1C,IAAI,CACT,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,OAAgC,GACvC,OAAO,CAAC,gBAAgB,CAAC;IAkB5B,MAAM,CAAC,KAAK,EAAE,OAAO;IAUrB,QAAQ,IAAI,MAAM;CAGlB;AAWD,eAAO,MAAM,6BAA6B,WACjC,UAAU,aACP,aAAa,KACtB,UAQF,CAAC;AAEF,eAAO,MAAM,wBAAwB,cACzB,gBAAgB,QACrB,UAAU,KACd,OAAO,CAAC,OAAO,CAUjB,CAAC"}
|
package/dist/src/sepc256k1.js
CHANGED
|
@@ -11,13 +11,12 @@ var Secp256k1PublicKey_1, Secp256k1PrivateKey_1, Secp256k1Keypair_1;
|
|
|
11
11
|
import { field, fixedArray, variant } from "@dao-xyz/borsh";
|
|
12
12
|
import { arrayify, joinSignature, splitSignature, } from "@ethersproject/bytes";
|
|
13
13
|
import { Wallet } from "@ethersproject/wallet";
|
|
14
|
-
import { generateKeyPair,
|
|
14
|
+
import { generateKeyPair, publicKeyFromRaw } from "@libp2p/crypto/keys";
|
|
15
15
|
import {} from "@libp2p/interface";
|
|
16
|
-
import {
|
|
16
|
+
import { peerIdFromPublicKey } from "@libp2p/peer-id";
|
|
17
17
|
import utf8 from "@protobufjs/utf8";
|
|
18
18
|
import _ec from "elliptic";
|
|
19
19
|
import { equals } from "uint8arrays";
|
|
20
|
-
import { coerce } from "./bytes.js";
|
|
21
20
|
import { Keypair, PrivateSignKey, PublicSignKey } from "./key.js";
|
|
22
21
|
import { PreHash, prehashFn } from "./prehash.js";
|
|
23
22
|
import { SignatureWithKey } from "./signature.js";
|
|
@@ -52,7 +51,7 @@ let Secp256k1PublicKey = Secp256k1PublicKey_1 = class Secp256k1PublicKey extends
|
|
|
52
51
|
return "sepc256k1/" + toHexString(this.publicKey);
|
|
53
52
|
}
|
|
54
53
|
toPeerId() {
|
|
55
|
-
return
|
|
54
|
+
return peerIdFromPublicKey(publicKeyFromRaw(this.publicKey));
|
|
56
55
|
}
|
|
57
56
|
static fromPeerId(id) {
|
|
58
57
|
if (!id.publicKey) {
|
|
@@ -60,7 +59,7 @@ let Secp256k1PublicKey = Secp256k1PublicKey_1 = class Secp256k1PublicKey extends
|
|
|
60
59
|
}
|
|
61
60
|
if (id.type === "secp256k1") {
|
|
62
61
|
return new Secp256k1PublicKey_1({
|
|
63
|
-
publicKey: id.publicKey.
|
|
62
|
+
publicKey: id.publicKey.raw,
|
|
64
63
|
});
|
|
65
64
|
}
|
|
66
65
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -93,17 +92,6 @@ let Secp256k1PrivateKey = Secp256k1PrivateKey_1 = class Secp256k1PrivateKey exte
|
|
|
93
92
|
toString() {
|
|
94
93
|
return "secp256k1s/" + toHexString(this.privateKey);
|
|
95
94
|
}
|
|
96
|
-
static from(id) {
|
|
97
|
-
if (!id.privateKey) {
|
|
98
|
-
throw new Error("Missing privateKey key");
|
|
99
|
-
}
|
|
100
|
-
if (id.type === "secp256k1") {
|
|
101
|
-
return new Secp256k1PrivateKey_1({
|
|
102
|
-
privateKey: coerce(id.privateKey.slice(4)),
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
throw new Error("Unsupported key type: " + id.type);
|
|
106
|
-
}
|
|
107
95
|
};
|
|
108
96
|
__decorate([
|
|
109
97
|
field({ type: Uint8Array }),
|
|
@@ -127,10 +115,10 @@ let Secp256k1Keypair = Secp256k1Keypair_1 = class Secp256k1Keypair extends Keypa
|
|
|
127
115
|
const generated = await generateKeyPair("secp256k1");
|
|
128
116
|
const kp = new Secp256k1Keypair_1({
|
|
129
117
|
publicKey: new Secp256k1PublicKey({
|
|
130
|
-
publicKey: generated.
|
|
118
|
+
publicKey: generated.publicKey.raw,
|
|
131
119
|
}),
|
|
132
120
|
privateKey: new Secp256k1PrivateKey({
|
|
133
|
-
privateKey: generated.
|
|
121
|
+
privateKey: generated.raw,
|
|
134
122
|
}),
|
|
135
123
|
});
|
|
136
124
|
return kp;
|
|
@@ -155,14 +143,8 @@ let Secp256k1Keypair = Secp256k1Keypair_1 = class Secp256k1Keypair extends Keypa
|
|
|
155
143
|
}
|
|
156
144
|
return false;
|
|
157
145
|
}
|
|
158
|
-
static fromPeerId(peerId) {
|
|
159
|
-
return new Secp256k1Keypair_1({
|
|
160
|
-
privateKey: Secp256k1PrivateKey.from(peerId),
|
|
161
|
-
publicKey: Secp256k1PublicKey.fromPeerId(peerId),
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
146
|
toPeerId() {
|
|
165
|
-
return
|
|
147
|
+
return peerIdFromPublicKey(publicKeyFromRaw(this.publicKey.publicKey));
|
|
166
148
|
}
|
|
167
149
|
};
|
|
168
150
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sepc256k1.js","sourceRoot":"","sources":["../../src/sepc256k1.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAEN,QAAQ,EACR,aAAa,EACb,cAAc,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"sepc256k1.js","sourceRoot":"","sources":["../../src/sepc256k1.ts"],"names":[],"mappings":"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"}
|
package/dist/src/x25519.d.ts
CHANGED
|
@@ -33,7 +33,6 @@ export declare class X25519Keypair extends Keypair {
|
|
|
33
33
|
});
|
|
34
34
|
static create(): Promise<X25519Keypair>;
|
|
35
35
|
static from(ed25119Keypair: Ed25519Keypair): Promise<X25519Keypair>;
|
|
36
|
-
static fromPeerId(peerId: PeerId): Promise<X25519Keypair>;
|
|
37
36
|
equals(other: Keypair): boolean;
|
|
38
37
|
}
|
|
39
38
|
//# sourceMappingURL=x25519.d.ts.map
|
package/dist/src/x25519.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x25519.d.ts","sourceRoot":"","sources":["../../src/x25519.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACN,OAAO,EACP,oBAAoB,EACpB,sBAAsB,EACtB,MAAM,UAAU,CAAC;AAGlB,cAAc,aAAa,CAAC;AAE5B,qBACa,eAAgB,SAAQ,sBAAsB;IAE1D,SAAS,EAAE,UAAU,CAAC;gBAEV,UAAU,EAAE;QAAE,SAAS,EAAE,UAAU,CAAA;KAAE;IAQjD,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAO9C,QAAQ,IAAI,MAAM;WAIL,IAAI,CAChB,gBAAgB,EAAE,gBAAgB,GAChC,OAAO,CAAC,eAAe,CAAC;WASd,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;WAMpD,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;CAM/C;AAED,qBACa,eAAgB,SAAQ,oBAAoB;IAExD,SAAS,EAAE,UAAU,CAAC;gBAEV,UAAU,EAAE;QAAE,SAAS,EAAE,UAAU,CAAA;KAAE;IAQjD,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAO9C,QAAQ,IAAI,MAAM;IAIZ,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;WAM9B,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;WAS9D,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;CAM/C;AAED,qBACa,aAAc,SAAQ,OAAO;IAEzC,SAAS,EAAE,eAAe,CAAC;IAG3B,SAAS,EAAE,eAAe,CAAC;gBAEf,UAAU,EAAE;QACvB,SAAS,EAAE,eAAe,CAAC;QAC3B,SAAS,EAAE,eAAe,CAAC;KAC3B;WAMY,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;WAehC,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAQzE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"x25519.d.ts","sourceRoot":"","sources":["../../src/x25519.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACN,OAAO,EACP,oBAAoB,EACpB,sBAAsB,EACtB,MAAM,UAAU,CAAC;AAGlB,cAAc,aAAa,CAAC;AAE5B,qBACa,eAAgB,SAAQ,sBAAsB;IAE1D,SAAS,EAAE,UAAU,CAAC;gBAEV,UAAU,EAAE;QAAE,SAAS,EAAE,UAAU,CAAA;KAAE;IAQjD,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAO9C,QAAQ,IAAI,MAAM;WAIL,IAAI,CAChB,gBAAgB,EAAE,gBAAgB,GAChC,OAAO,CAAC,eAAe,CAAC;WASd,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;WAMpD,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;CAM/C;AAED,qBACa,eAAgB,SAAQ,oBAAoB;IAExD,SAAS,EAAE,UAAU,CAAC;gBAEV,UAAU,EAAE;QAAE,SAAS,EAAE,UAAU,CAAA;KAAE;IAQjD,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAO9C,QAAQ,IAAI,MAAM;IAIZ,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;WAM9B,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;WAS9D,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;CAM/C;AAED,qBACa,aAAc,SAAQ,OAAO;IAEzC,SAAS,EAAE,eAAe,CAAC;IAG3B,SAAS,EAAE,eAAe,CAAC;gBAEf,UAAU,EAAE;QACvB,SAAS,EAAE,eAAe,CAAC;QAC3B,SAAS,EAAE,eAAe,CAAC;KAC3B;WAMY,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;WAehC,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAQzE,MAAM,CAAC,KAAK,EAAE,OAAO;CASrB"}
|
package/dist/src/x25519.js
CHANGED
|
@@ -134,10 +134,6 @@ let X25519Keypair = X25519Keypair_1 = class X25519Keypair extends Keypair {
|
|
|
134
134
|
});
|
|
135
135
|
return kp;
|
|
136
136
|
}
|
|
137
|
-
static fromPeerId(peerId) {
|
|
138
|
-
const ed = Ed25519Keypair.fromPeerId(peerId);
|
|
139
|
-
return X25519Keypair_1.from(ed);
|
|
140
|
-
}
|
|
141
137
|
equals(other) {
|
|
142
138
|
if (other instanceof X25519Keypair_1) {
|
|
143
139
|
return (this.publicKey.equals(other.publicKey) &&
|
package/dist/src/x25519.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x25519.js","sourceRoot":"","sources":["../../src/x25519.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"x25519.js","sourceRoot":"","sources":["../../src/x25519.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACN,OAAO,EACP,oBAAoB,EACpB,sBAAsB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,cAAc,aAAa,CAAC;AAGrB,IAAM,eAAe,uBAArB,MAAM,eAAgB,SAAQ,sBAAsB;IAE1D,SAAS,CAAa;IAEtB,YAAY,UAAqC;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,KAA6B;QACnC,IAAI,KAAK,YAAY,iBAAe,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,QAAQ;QACP,OAAO,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAChB,gBAAkC;QAElC,MAAM,MAAM,CAAC,KAAK,CAAC;QACnB,OAAO,IAAI,iBAAe,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,oCAAoC,CACrD,gBAAgB,CAAC,SAAS,CAC1B;SACD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAc;QACrC,MAAM,MAAM,CAAC,KAAK,CAAC;QACnB,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,iBAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM;QAClB,MAAM,MAAM,CAAC,KAAK,CAAC;QACnB,OAAO,IAAI,iBAAe,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,SAAS;SAChD,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AA5CA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;8BAC3B,UAAU;kDAAC;AAFV,eAAe;IAD3B,OAAO,CAAC,CAAC,CAAC;;GACE,eAAe,CA8C3B;;AAGM,IAAM,eAAe,uBAArB,MAAM,eAAgB,SAAQ,oBAAoB;IAExD,SAAS,CAAa;IAEtB,YAAY,UAAqC;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,KAA6B;QACnC,IAAI,KAAK,YAAY,iBAAe,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,QAAQ;QACP,OAAO,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS;QACd,OAAO,IAAI,eAAe,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC;SACxD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAA8B;QAC/C,MAAM,MAAM,CAAC,KAAK,CAAC;QACnB,OAAO,IAAI,iBAAe,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,oCAAoC,CACrD,cAAc,CAAC,mBAAmB,CAClC;SACD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM;QAClB,MAAM,MAAM,CAAC,KAAK,CAAC;QACnB,OAAO,IAAI,iBAAe,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,UAAU;SACjD,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AA1CA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;8BAC3B,UAAU;kDAAC;AAFV,eAAe;IAD3B,OAAO,CAAC,CAAC,CAAC;;GACE,eAAe,CA4C3B;;AAGM,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,OAAO;IAEzC,SAAS,CAAkB;IAG3B,SAAS,CAAkB;IAE3B,YAAY,UAGX;QACA,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM;QAClB,MAAM,MAAM,CAAC,KAAK,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,IAAI,eAAa,CAAC;YAC5B,SAAS,EAAE,IAAI,eAAe,CAAC;gBAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;aAC9B,CAAC;YACF,SAAS,EAAE,IAAI,eAAe,CAAC;gBAC9B,SAAS,EAAE,SAAS,CAAC,UAAU;aAC/B,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAA8B;QAC/C,MAAM,EAAE,GAAG,IAAI,eAAa,CAAC;YAC5B,SAAS,EAAE,MAAM,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;YAC/D,SAAS,EAAE,MAAM,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC;SACrD,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,CAAC,KAAc;QACpB,IAAI,KAAK,YAAY,eAAa,EAAE,CAAC;YACpC,OAAO,CACN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CACtC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAA;AA9CA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;8BACtB,eAAe;gDAAC;AAG3B;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;8BACtB,eAAe;gDAAC;AALf,aAAa;IADzB,OAAO,CAAC,CAAC,CAAC;;GACE,aAAa,CAgDzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/crypto",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"description": "Crypto fn",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
"author": "dao.xyz",
|
|
63
63
|
"license": "MIT",
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@types/libsodium-wrappers": "^0.7.
|
|
66
|
-
"uint8arrays": "^
|
|
65
|
+
"@types/libsodium-wrappers": "^0.7.14",
|
|
66
|
+
"uint8arrays": "^5.1.0",
|
|
67
67
|
"@types/elliptic": "^6.4.18",
|
|
68
68
|
"multiformats": "^13.1.0"
|
|
69
69
|
},
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
"@dao-xyz/borsh": "^5.2.3",
|
|
73
73
|
"@stablelib/sha256": "^2.0.0",
|
|
74
74
|
"@ethersproject/wallet": "^5.7.0",
|
|
75
|
-
"@libp2p/crypto": "^
|
|
76
|
-
"@libp2p/peer-id": "^
|
|
77
|
-
"libsodium-wrappers": "^0.7.
|
|
75
|
+
"@libp2p/crypto": "^5.0.5",
|
|
76
|
+
"@libp2p/peer-id": "^5.0.5",
|
|
77
|
+
"libsodium-wrappers": "^0.7.15"
|
|
78
78
|
}
|
|
79
79
|
}
|
package/src/ed25519.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { field, fixedArray, variant } from "@dao-xyz/borsh";
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
4
|
-
import {
|
|
2
|
+
import { publicKeyFromRaw } from "@libp2p/crypto/keys";
|
|
3
|
+
import type { PeerId } from "@libp2p/interface";
|
|
4
|
+
import { peerIdFromPublicKey } from "@libp2p/peer-id";
|
|
5
5
|
import sodium from "libsodium-wrappers";
|
|
6
6
|
import { concat, equals } from "uint8arrays";
|
|
7
7
|
import { coerce } from "./bytes.js";
|
|
@@ -36,10 +36,8 @@ export class Ed25519PublicKey extends PublicSignKey {
|
|
|
36
36
|
return "ed25119p/" + toHexString(this.publicKey);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
toPeerId():
|
|
40
|
-
return
|
|
41
|
-
new supportedKeys["ed25519"].Ed25519PublicKey(this.publicKey).bytes,
|
|
42
|
-
);
|
|
39
|
+
toPeerId(): PeerId {
|
|
40
|
+
return peerIdFromPublicKey(publicKeyFromRaw(this.publicKey));
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
/* Don't use keyobject for publicKeys becuse it takes longer time to derive it compare to verifying with sodium
|
|
@@ -60,7 +58,7 @@ export class Ed25519PublicKey extends PublicSignKey {
|
|
|
60
58
|
}
|
|
61
59
|
if (id.type === "Ed25519") {
|
|
62
60
|
return new Ed25519PublicKey({
|
|
63
|
-
publicKey: coerce(id.publicKey.
|
|
61
|
+
publicKey: coerce(id.publicKey.raw),
|
|
64
62
|
});
|
|
65
63
|
}
|
|
66
64
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -94,18 +92,6 @@ export class Ed25519PrivateKey extends PrivateSignKey {
|
|
|
94
92
|
}
|
|
95
93
|
|
|
96
94
|
keyObject: any; // crypto.KeyObject;
|
|
97
|
-
|
|
98
|
-
static fromPeerID(id: PeerId) {
|
|
99
|
-
if (!id.privateKey) {
|
|
100
|
-
throw new Error("Missing privateKey key");
|
|
101
|
-
}
|
|
102
|
-
if (id.type === "Ed25519") {
|
|
103
|
-
return new Ed25519PrivateKey({
|
|
104
|
-
privateKey: coerce(id.privateKey.slice(4, 36)),
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
throw new Error("Unsupported key type: " + id.type);
|
|
108
|
-
}
|
|
109
95
|
}
|
|
110
96
|
|
|
111
97
|
@variant(0)
|
|
@@ -163,13 +149,6 @@ export class Ed25519Keypair extends Keypair implements Identity {
|
|
|
163
149
|
return false;
|
|
164
150
|
}
|
|
165
151
|
|
|
166
|
-
static fromPeerId(peerId: PeerId | Ed25519PeerId) {
|
|
167
|
-
return new Ed25519Keypair({
|
|
168
|
-
privateKey: Ed25519PrivateKey.fromPeerID(peerId),
|
|
169
|
-
publicKey: Ed25519PublicKey.fromPeerId(peerId),
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
|
|
173
152
|
_privateKeyPublicKey!: Uint8Array; // length 64
|
|
174
153
|
get privateKeyPublicKey(): Uint8Array {
|
|
175
154
|
return (
|
|
@@ -181,14 +160,7 @@ export class Ed25519Keypair extends Keypair implements Identity {
|
|
|
181
160
|
);
|
|
182
161
|
}
|
|
183
162
|
|
|
184
|
-
toPeerId():
|
|
185
|
-
return
|
|
186
|
-
new supportedKeys["ed25519"].Ed25519PublicKey(this.publicKey.publicKey)
|
|
187
|
-
.bytes,
|
|
188
|
-
new supportedKeys["ed25519"].Ed25519PrivateKey(
|
|
189
|
-
this.privateKeyPublicKey,
|
|
190
|
-
this.publicKey.publicKey,
|
|
191
|
-
).bytes,
|
|
192
|
-
);
|
|
163
|
+
toPeerId(): PeerId {
|
|
164
|
+
return peerIdFromPublicKey(publicKeyFromRaw(this.publicKey.publicKey));
|
|
193
165
|
}
|
|
194
166
|
}
|
package/src/from.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type PeerId, type PrivateKey } from "@libp2p/interface";
|
|
2
|
+
import {
|
|
3
|
+
Ed25519Keypair,
|
|
4
|
+
Ed25519PrivateKey,
|
|
5
|
+
Ed25519PublicKey,
|
|
6
|
+
} from "./ed25519.js";
|
|
7
|
+
import {
|
|
8
|
+
Secp256k1Keypair,
|
|
9
|
+
Secp256k1PrivateKey,
|
|
10
|
+
Secp256k1PublicKey,
|
|
11
|
+
} from "./sepc256k1.js";
|
|
12
|
+
|
|
13
|
+
export const getKeypairFromPrivateKey = (
|
|
14
|
+
privateKey: PrivateKey,
|
|
15
|
+
): Ed25519Keypair | Secp256k1Keypair => {
|
|
16
|
+
if (privateKey.type === "Ed25519") {
|
|
17
|
+
return new Ed25519Keypair({
|
|
18
|
+
privateKey: new Ed25519PrivateKey({
|
|
19
|
+
privateKey: privateKey.raw.slice(0, 32),
|
|
20
|
+
}),
|
|
21
|
+
publicKey: new Ed25519PublicKey({ publicKey: privateKey.publicKey.raw }),
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (privateKey.type === "secp256k1") {
|
|
25
|
+
return new Secp256k1Keypair({
|
|
26
|
+
privateKey: new Secp256k1PrivateKey({
|
|
27
|
+
privateKey: privateKey.raw.slice(0, 32),
|
|
28
|
+
}),
|
|
29
|
+
publicKey: new Secp256k1PublicKey({
|
|
30
|
+
publicKey: privateKey.publicKey.raw,
|
|
31
|
+
}),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
throw new Error("Unsupported key type");
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const getPublicKeyFromPeerId = (
|
|
38
|
+
peerId: PeerId,
|
|
39
|
+
): Ed25519PublicKey | Secp256k1PublicKey => {
|
|
40
|
+
if (peerId.type === "Ed25519") {
|
|
41
|
+
return Ed25519PublicKey.fromPeerId(peerId);
|
|
42
|
+
}
|
|
43
|
+
if (peerId.type === "secp256k1") {
|
|
44
|
+
return Secp256k1PublicKey.fromPeerId(peerId);
|
|
45
|
+
}
|
|
46
|
+
throw new Error("Unsupported key type");
|
|
47
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -6,12 +6,13 @@ export * from "./signature.js";
|
|
|
6
6
|
export * from "./sepc256k1.js";
|
|
7
7
|
export * from "./x25519.js";
|
|
8
8
|
export * from "./encryption.js";
|
|
9
|
-
export * from "./
|
|
9
|
+
export * from "./from.js";
|
|
10
10
|
export * from "./utils.js";
|
|
11
11
|
export * from "./hash.js";
|
|
12
12
|
export * from "./random.js";
|
|
13
13
|
export * from "./prehash.js";
|
|
14
14
|
export * from "./signer.js";
|
|
15
|
+
export * from "./from.js";
|
|
15
16
|
|
|
16
17
|
const ready = libsodium.ready;
|
|
17
18
|
export { ready };
|
package/src/key.ts
CHANGED
|
@@ -19,7 +19,7 @@ export abstract class Keypair {
|
|
|
19
19
|
throw new Error("Not implemented");
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
toPeerId():
|
|
22
|
+
toPeerId(): PeerId {
|
|
23
23
|
throw new Error("Not implemented");
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -39,7 +39,7 @@ export abstract class PublicSignKey implements Key {
|
|
|
39
39
|
return this._hashcode || (this._hashcode = sha256Base64Sync(this.bytes));
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
toPeerId():
|
|
42
|
+
toPeerId(): PeerId {
|
|
43
43
|
throw new Error("Not implemented");
|
|
44
44
|
}
|
|
45
45
|
}
|
package/src/sepc256k1.ts
CHANGED
|
@@ -6,13 +6,12 @@ import {
|
|
|
6
6
|
splitSignature,
|
|
7
7
|
} from "@ethersproject/bytes";
|
|
8
8
|
import { Wallet } from "@ethersproject/wallet";
|
|
9
|
-
import { generateKeyPair,
|
|
9
|
+
import { generateKeyPair, publicKeyFromRaw } from "@libp2p/crypto/keys";
|
|
10
10
|
import { type PeerId } from "@libp2p/interface";
|
|
11
|
-
import {
|
|
11
|
+
import { peerIdFromPublicKey } from "@libp2p/peer-id";
|
|
12
12
|
import utf8 from "@protobufjs/utf8";
|
|
13
13
|
import _ec from "elliptic";
|
|
14
14
|
import { equals } from "uint8arrays";
|
|
15
|
-
import { coerce } from "./bytes.js";
|
|
16
15
|
import { Keypair, PrivateSignKey, PublicSignKey } from "./key.js";
|
|
17
16
|
import { PreHash, prehashFn } from "./prehash.js";
|
|
18
17
|
import { SignatureWithKey } from "./signature.js";
|
|
@@ -62,10 +61,8 @@ export class Secp256k1PublicKey extends PublicSignKey {
|
|
|
62
61
|
return "sepc256k1/" + toHexString(this.publicKey);
|
|
63
62
|
}
|
|
64
63
|
|
|
65
|
-
toPeerId():
|
|
66
|
-
return
|
|
67
|
-
new supportedKeys["secp256k1"].Secp256k1PublicKey(this.publicKey).bytes,
|
|
68
|
-
);
|
|
64
|
+
toPeerId(): PeerId {
|
|
65
|
+
return peerIdFromPublicKey(publicKeyFromRaw(this.publicKey));
|
|
69
66
|
}
|
|
70
67
|
|
|
71
68
|
static fromPeerId(id: PeerId) {
|
|
@@ -74,7 +71,7 @@ export class Secp256k1PublicKey extends PublicSignKey {
|
|
|
74
71
|
}
|
|
75
72
|
if (id.type === "secp256k1") {
|
|
76
73
|
return new Secp256k1PublicKey({
|
|
77
|
-
publicKey: id.publicKey.
|
|
74
|
+
publicKey: id.publicKey.raw,
|
|
78
75
|
});
|
|
79
76
|
}
|
|
80
77
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -105,18 +102,6 @@ export class Secp256k1PrivateKey extends PrivateSignKey {
|
|
|
105
102
|
toString(): string {
|
|
106
103
|
return "secp256k1s/" + toHexString(this.privateKey);
|
|
107
104
|
}
|
|
108
|
-
|
|
109
|
-
static from(id: PeerId) {
|
|
110
|
-
if (!id.privateKey) {
|
|
111
|
-
throw new Error("Missing privateKey key");
|
|
112
|
-
}
|
|
113
|
-
if (id.type === "secp256k1") {
|
|
114
|
-
return new Secp256k1PrivateKey({
|
|
115
|
-
privateKey: coerce(id.privateKey.slice(4)),
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
throw new Error("Unsupported key type: " + id.type);
|
|
119
|
-
}
|
|
120
105
|
}
|
|
121
106
|
|
|
122
107
|
@variant(2)
|
|
@@ -141,10 +126,10 @@ export class Secp256k1Keypair extends Keypair implements Identity {
|
|
|
141
126
|
const generated = await generateKeyPair("secp256k1");
|
|
142
127
|
const kp = new Secp256k1Keypair({
|
|
143
128
|
publicKey: new Secp256k1PublicKey({
|
|
144
|
-
publicKey: generated.
|
|
129
|
+
publicKey: generated.publicKey.raw,
|
|
145
130
|
}),
|
|
146
131
|
privateKey: new Secp256k1PrivateKey({
|
|
147
|
-
privateKey: generated.
|
|
132
|
+
privateKey: generated.raw,
|
|
148
133
|
}),
|
|
149
134
|
});
|
|
150
135
|
|
|
@@ -182,23 +167,8 @@ export class Secp256k1Keypair extends Keypair implements Identity {
|
|
|
182
167
|
return false;
|
|
183
168
|
}
|
|
184
169
|
|
|
185
|
-
|
|
186
|
-
return
|
|
187
|
-
privateKey: Secp256k1PrivateKey.from(peerId),
|
|
188
|
-
publicKey: Secp256k1PublicKey.fromPeerId(peerId),
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
toPeerId(): Promise<PeerId> {
|
|
193
|
-
return peerIdFromKeys(
|
|
194
|
-
new supportedKeys["secp256k1"].Secp256k1PublicKey(
|
|
195
|
-
this.publicKey.publicKey,
|
|
196
|
-
).bytes,
|
|
197
|
-
new supportedKeys["secp256k1"].Secp256k1PrivateKey(
|
|
198
|
-
this.privateKey.privateKey,
|
|
199
|
-
this.publicKey.publicKey,
|
|
200
|
-
).bytes,
|
|
201
|
-
);
|
|
170
|
+
toPeerId(): PeerId {
|
|
171
|
+
return peerIdFromPublicKey(publicKeyFromRaw(this.publicKey.publicKey));
|
|
202
172
|
}
|
|
203
173
|
}
|
|
204
174
|
|
package/src/x25519.ts
CHANGED
|
@@ -148,11 +148,6 @@ export class X25519Keypair extends Keypair {
|
|
|
148
148
|
return kp;
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
static fromPeerId(peerId: PeerId) {
|
|
152
|
-
const ed = Ed25519Keypair.fromPeerId(peerId);
|
|
153
|
-
return X25519Keypair.from(ed);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
151
|
equals(other: Keypair) {
|
|
157
152
|
if (other instanceof X25519Keypair) {
|
|
158
153
|
return (
|
package/dist/src/peerid.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"peerid.d.ts","sourceRoot":"","sources":["../../src/peerid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,eAAO,MAAM,oBAAoB,WACxB,MAAM,KACZ,cAAc,GAAG,gBAQnB,CAAC;AAEF,eAAO,MAAM,sBAAsB,WAC1B,MAAM,KACZ,gBAAgB,GAAG,kBAQrB,CAAC"}
|
package/dist/src/peerid.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import {} from "@libp2p/interface";
|
|
2
|
-
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
3
|
-
import { Secp256k1Keypair, Secp256k1PublicKey } from "./sepc256k1.js";
|
|
4
|
-
export const getKeypairFromPeerId = (peerId) => {
|
|
5
|
-
if (peerId.type === "Ed25519") {
|
|
6
|
-
return Ed25519Keypair.fromPeerId(peerId);
|
|
7
|
-
}
|
|
8
|
-
if (peerId.type === "secp256k1") {
|
|
9
|
-
return Secp256k1Keypair.fromPeerId(peerId);
|
|
10
|
-
}
|
|
11
|
-
throw new Error("Unsupported key type");
|
|
12
|
-
};
|
|
13
|
-
export const getPublicKeyFromPeerId = (peerId) => {
|
|
14
|
-
if (peerId.type === "Ed25519") {
|
|
15
|
-
return Ed25519PublicKey.fromPeerId(peerId);
|
|
16
|
-
}
|
|
17
|
-
if (peerId.type === "secp256k1") {
|
|
18
|
-
return Secp256k1PublicKey.fromPeerId(peerId);
|
|
19
|
-
}
|
|
20
|
-
throw new Error("Unsupported key type");
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=peerid.js.map
|
package/dist/src/peerid.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"peerid.js","sourceRoot":"","sources":["../../src/peerid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,MAAc,EACsB,EAAE;IACtC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,MAAc,EAC0B,EAAE;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AACzC,CAAC,CAAC"}
|
package/src/peerid.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { type PeerId } from "@libp2p/interface";
|
|
2
|
-
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
3
|
-
import { Secp256k1Keypair, Secp256k1PublicKey } from "./sepc256k1.js";
|
|
4
|
-
|
|
5
|
-
export const getKeypairFromPeerId = (
|
|
6
|
-
peerId: PeerId,
|
|
7
|
-
): Ed25519Keypair | Secp256k1Keypair => {
|
|
8
|
-
if (peerId.type === "Ed25519") {
|
|
9
|
-
return Ed25519Keypair.fromPeerId(peerId);
|
|
10
|
-
}
|
|
11
|
-
if (peerId.type === "secp256k1") {
|
|
12
|
-
return Secp256k1Keypair.fromPeerId(peerId);
|
|
13
|
-
}
|
|
14
|
-
throw new Error("Unsupported key type");
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export const getPublicKeyFromPeerId = (
|
|
18
|
-
peerId: PeerId,
|
|
19
|
-
): Ed25519PublicKey | Secp256k1PublicKey => {
|
|
20
|
-
if (peerId.type === "Ed25519") {
|
|
21
|
-
return Ed25519PublicKey.fromPeerId(peerId);
|
|
22
|
-
}
|
|
23
|
-
if (peerId.type === "secp256k1") {
|
|
24
|
-
return Secp256k1PublicKey.fromPeerId(peerId);
|
|
25
|
-
}
|
|
26
|
-
throw new Error("Unsupported key type");
|
|
27
|
-
};
|