@peerbit/crypto 2.1.7 → 2.2.0-0691c73
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/hash.d.ts +2 -0
- package/dist/benchmark/hash.d.ts.map +1 -0
- package/dist/benchmark/hash.js +69 -0
- package/dist/benchmark/hash.js.map +1 -0
- package/dist/benchmark/index.d.ts +2 -0
- package/dist/benchmark/index.d.ts.map +1 -0
- package/dist/benchmark/index.js +64 -0
- package/dist/benchmark/index.js.map +1 -0
- package/dist/benchmark/peer-ids.d.ts +2 -0
- package/dist/benchmark/peer-ids.d.ts.map +1 -0
- package/dist/benchmark/peer-ids.js +29 -0
- package/dist/benchmark/peer-ids.js.map +1 -0
- package/{lib/esm → dist/src}/bytes.d.ts +1 -0
- package/dist/src/bytes.d.ts.map +1 -0
- package/{lib/esm → dist/src}/bytes.js.map +1 -1
- package/{lib/esm/ed25519-sign-browser.d.ts → dist/src/ed25519-sign.browser.d.ts} +1 -0
- package/dist/src/ed25519-sign.browser.d.ts.map +1 -0
- package/{lib/esm/ed25519-sign-browser.js → dist/src/ed25519-sign.browser.js} +3 -2
- package/dist/src/ed25519-sign.browser.js.map +1 -0
- package/{lib/esm → dist/src}/ed25519-sign.d.ts +1 -0
- package/dist/src/ed25519-sign.d.ts.map +1 -0
- package/{lib/esm → dist/src}/ed25519-sign.js +2 -1
- package/dist/src/ed25519-sign.js.map +1 -0
- package/{lib/esm → dist/src}/ed25519.d.ts +2 -1
- package/dist/src/ed25519.d.ts.map +1 -0
- package/{lib/esm → dist/src}/ed25519.js +3 -1
- package/dist/src/ed25519.js.map +1 -0
- package/{lib/esm → dist/src}/encryption.d.ts +4 -2
- package/dist/src/encryption.d.ts.map +1 -0
- package/{lib/esm → dist/src}/encryption.js +9 -1
- package/dist/src/encryption.js.map +1 -0
- package/{lib/esm → dist/src}/errors.d.ts +1 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/{lib/esm/hash-browser.d.ts → dist/src/hash.browser.d.ts} +1 -0
- package/dist/src/hash.browser.d.ts.map +1 -0
- package/{lib/esm/hash-browser.js → dist/src/hash.browser.js} +2 -2
- package/{lib/esm/hash-browser.js.map → dist/src/hash.browser.js.map} +1 -1
- package/{lib/esm → dist/src}/hash.d.ts +1 -0
- package/dist/src/hash.d.ts.map +1 -0
- package/{lib/esm → dist/src}/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -0
- package/{lib/esm → dist/src}/index.js +1 -1
- package/{lib/esm → dist/src}/key.d.ts +3 -1
- package/dist/src/key.d.ts.map +1 -0
- package/{lib/esm → dist/src}/key.js +5 -1
- package/dist/src/key.js.map +1 -0
- package/{lib/esm/libp2p.d.ts → dist/src/peerid.d.ts} +2 -1
- package/dist/src/peerid.d.ts.map +1 -0
- package/{lib/esm/libp2p.js → dist/src/peerid.js} +3 -2
- package/dist/src/peerid.js.map +1 -0
- package/{lib/esm → dist/src}/prehash.d.ts +1 -0
- package/dist/src/prehash.d.ts.map +1 -0
- package/{lib/esm/random-browser.d.ts → dist/src/random.browser.d.ts} +1 -0
- package/dist/src/random.browser.d.ts.map +1 -0
- package/{lib/esm/random-browser.js → dist/src/random.browser.js} +1 -1
- package/dist/src/random.browser.js.map +1 -0
- package/{lib/esm → dist/src}/random.d.ts +1 -0
- package/dist/src/random.d.ts.map +1 -0
- package/{lib/esm → dist/src}/sepc256k1.d.ts +6 -4
- package/dist/src/sepc256k1.d.ts.map +1 -0
- package/{lib/esm → dist/src}/sepc256k1.js +8 -3
- package/dist/src/sepc256k1.js.map +1 -0
- package/{lib/esm → dist/src}/signature.d.ts +3 -2
- package/dist/src/signature.d.ts.map +1 -0
- package/{lib/esm → dist/src}/signature.js +3 -2
- package/dist/src/signature.js.map +1 -0
- package/{lib/esm → dist/src}/signer.d.ts +1 -0
- package/dist/src/signer.d.ts.map +1 -0
- package/dist/src/signer.js +4 -0
- package/dist/src/signer.js.map +1 -0
- package/{lib/esm → dist/src}/utils.d.ts +1 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/{lib/esm → dist/src}/x25519.d.ts +2 -1
- package/dist/src/x25519.d.ts.map +1 -0
- package/{lib/esm → dist/src}/x25519.js +2 -1
- package/dist/src/x25519.js.map +1 -0
- package/package.json +75 -54
- package/src/bytes.ts +1 -1
- package/src/ed25519.ts +2 -2
- package/src/encryption.ts +16 -6
- package/src/{hash-browser.ts → hash.browser.ts} +1 -1
- package/src/index.ts +1 -1
- package/src/key.ts +12 -8
- package/src/{libp2p.ts → peerid.ts} +2 -2
- package/src/sepc256k1.ts +13 -7
- package/src/signature.ts +5 -5
- package/src/x25519.ts +3 -4
- package/LICENSE +0 -202
- package/lib/esm/ed25519-sign-browser.js.map +0 -1
- package/lib/esm/ed25519-sign.js.map +0 -1
- package/lib/esm/ed25519.js.map +0 -1
- package/lib/esm/encryption.js.map +0 -1
- package/lib/esm/key.js.map +0 -1
- package/lib/esm/libp2p.js.map +0 -1
- package/lib/esm/random-browser.js.map +0 -1
- package/lib/esm/sepc256k1.js.map +0 -1
- package/lib/esm/signature.js.map +0 -1
- package/lib/esm/signer.js +0 -2
- package/lib/esm/signer.js.map +0 -1
- package/lib/esm/x25519.js.map +0 -1
- /package/{lib/esm → dist/src}/bytes.js +0 -0
- /package/{lib/esm → dist/src}/errors.js +0 -0
- /package/{lib/esm → dist/src}/errors.js.map +0 -0
- /package/{lib/esm → dist/src}/hash.js +0 -0
- /package/{lib/esm → dist/src}/hash.js.map +0 -0
- /package/{lib/esm → dist/src}/index.js.map +0 -0
- /package/{lib/esm → dist/src}/prehash.js +0 -0
- /package/{lib/esm → dist/src}/prehash.js.map +0 -0
- /package/{lib/esm → dist/src}/random.js +0 -0
- /package/{lib/esm → dist/src}/random.js.map +0 -0
- /package/{lib/esm → dist/src}/utils.js +0 -0
- /package/{lib/esm → dist/src}/utils.js.map +0 -0
- /package/src/{ed25519-sign-browser.ts → ed25519-sign.browser.ts} +0 -0
- /package/src/{random-browser.ts → random.browser.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.browser.js","sourceRoot":"","sources":["../../src/random.browser.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAC1C,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/random.ts"],"names":[],"mappings":";AACA,eAAO,MAAM,WAAW,QAAS,MAAM,WAA4B,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Keypair, PrivateSignKey, PublicSignKey } from "./key.js";
|
|
2
2
|
import { Wallet } from "@ethersproject/wallet";
|
|
3
|
-
import { SignatureLike } from "@ethersproject/bytes";
|
|
4
|
-
import { PeerId } from "@libp2p/interface";
|
|
5
|
-
import { Identity } from "./signer.js";
|
|
3
|
+
import { type SignatureLike } from "@ethersproject/bytes";
|
|
4
|
+
import { type PeerId } from "@libp2p/interface";
|
|
5
|
+
import { type Identity } from "./signer.js";
|
|
6
6
|
import { SignatureWithKey } from "./signature.js";
|
|
7
7
|
import { PreHash } from "./prehash.js";
|
|
8
8
|
export declare class Secp256k1PublicKey extends PublicSignKey {
|
|
@@ -15,7 +15,8 @@ export declare class Secp256k1PublicKey extends PublicSignKey {
|
|
|
15
15
|
}): Promise<Secp256k1PublicKey>;
|
|
16
16
|
equals(other: PublicSignKey): boolean;
|
|
17
17
|
toString(): string;
|
|
18
|
-
|
|
18
|
+
toPeerId(): Promise<PeerId>;
|
|
19
|
+
static fromPeerId(id: PeerId): Secp256k1PublicKey;
|
|
19
20
|
}
|
|
20
21
|
export declare class Secp256k1PrivateKey extends PrivateSignKey {
|
|
21
22
|
privateKey: Uint8Array;
|
|
@@ -42,3 +43,4 @@ export declare class Secp256k1Keypair extends Keypair implements Identity {
|
|
|
42
43
|
}
|
|
43
44
|
export declare const recoverPublicKeyFromSignature: (digest: Uint8Array, signature: SignatureLike) => Uint8Array;
|
|
44
45
|
export declare const verifySignatureSecp256k1: (signature: SignatureWithKey, data: Uint8Array) => Promise<boolean>;
|
|
46
|
+
//# sourceMappingURL=sepc256k1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sepc256k1.d.ts","sourceRoot":"","sources":["../../src/sepc256k1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,sBAAsB,CAAC;AAO1E,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAa,MAAM,cAAc,CAAC;AAGlD,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,OAAO,CAAC,MAAM,CAAC;IAM3B,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;IAIlB,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM;CAWtB;AAED,qBACa,gBAAiB,SAAQ,OAAQ,YAAW,QAAQ;IAEhE,SAAS,EAAE,kBAAkB,CAAC;IAG9B,UAAU,EAAE,mBAAmB,CAAC;IAEhC,OAAO,EAAE,MAAM,CAAC;gBACJ,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,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;IAOhC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAW3B;AAWD,eAAO,MAAM,6BAA6B,WACjC,UAAU,aACP,aAAa,KACtB,UAQF,CAAC;AAEF,eAAO,MAAM,wBAAwB,cACzB,gBAAgB,QACrB,UAAU,KACd,QAAQ,OAAO,CAUjB,CAAC"}
|
|
@@ -17,8 +17,10 @@ import { splitSignature } from "@ethersproject/bytes";
|
|
|
17
17
|
import _ec from "elliptic";
|
|
18
18
|
var EC = _ec.ec;
|
|
19
19
|
let _curve;
|
|
20
|
-
import { equals } from "
|
|
20
|
+
import { equals } from "uint8arrays";
|
|
21
21
|
import { toHexString } from "./utils.js";
|
|
22
|
+
import {} from "@libp2p/interface";
|
|
23
|
+
import {} from "./signer.js";
|
|
22
24
|
import { coerce } from "./bytes.js";
|
|
23
25
|
import { generateKeyPair, supportedKeys } from "@libp2p/crypto/keys";
|
|
24
26
|
import utf8 from "@protobufjs/utf8";
|
|
@@ -51,7 +53,10 @@ let Secp256k1PublicKey = Secp256k1PublicKey_1 = class Secp256k1PublicKey extends
|
|
|
51
53
|
toString() {
|
|
52
54
|
return "sepc256k1/" + toHexString(this.publicKey);
|
|
53
55
|
}
|
|
54
|
-
|
|
56
|
+
toPeerId() {
|
|
57
|
+
return peerIdFromKeys(new supportedKeys["secp256k1"].Secp256k1PublicKey(this.publicKey).bytes);
|
|
58
|
+
}
|
|
59
|
+
static fromPeerId(id) {
|
|
55
60
|
if (!id.publicKey) {
|
|
56
61
|
throw new Error("Missing public key");
|
|
57
62
|
}
|
|
@@ -155,7 +160,7 @@ let Secp256k1Keypair = Secp256k1Keypair_1 = class Secp256k1Keypair extends Keypa
|
|
|
155
160
|
static fromPeerId(peerId) {
|
|
156
161
|
return new Secp256k1Keypair_1({
|
|
157
162
|
privateKey: Secp256k1PrivateKey.from(peerId),
|
|
158
|
-
publicKey: Secp256k1PublicKey.
|
|
163
|
+
publicKey: Secp256k1PublicKey.fromPeerId(peerId)
|
|
159
164
|
});
|
|
160
165
|
}
|
|
161
166
|
toPeerId() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sepc256k1.js","sourceRoot":"","sources":["../../src/sepc256k1.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AbstractType } from "@dao-xyz/borsh";
|
|
1
|
+
import { type AbstractType } from "@dao-xyz/borsh";
|
|
2
2
|
import { PublicSignKey } from "./key.js";
|
|
3
3
|
import { PreHash } from "./prehash.js";
|
|
4
|
-
import { SignWithKey } from "./signer.js";
|
|
4
|
+
import { type SignWithKey } from "./signer.js";
|
|
5
5
|
export declare class SignatureWithKey {
|
|
6
6
|
signature: Uint8Array;
|
|
7
7
|
publicKey: PublicSignKey;
|
|
@@ -32,3 +32,4 @@ export declare class MaybeSigned<T> {
|
|
|
32
32
|
sign(signer: SignWithKey): Promise<MaybeSigned<T>>;
|
|
33
33
|
}
|
|
34
34
|
export declare const verify: (signature: SignatureWithKey, data: Uint8Array) => Promise<boolean>;
|
|
35
|
+
//# sourceMappingURL=signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,KAAK,YAAY,EACjB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,qBACa,gBAAgB;IAE5B,SAAS,EAAE,UAAU,CAAC;IAGtB,SAAS,EAAE,aAAa,CAAC;IAGzB,OAAO,EAAE,OAAO,CAAgB;gBAEpB,KAAK,EAAE;QAClB,SAAS,EAAE,UAAU,CAAC;QACtB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,OAAO,CAAC;KACjB;IAQD,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;CASxC;AAED,qBACa,WAAW,CAAC,CAAC;IAEzB,IAAI,EAAE,UAAU,CAAC;IAGjB,SAAS,CAAC,EAAE,gBAAgB,CAAC;gBAEjB,KAAK,CAAC,EAAE;QACnB,IAAI,EAAE,UAAU,CAAC;QACjB,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC7B;IAQD,MAAM,CAAC,EAAE,CAAC,CAAC;IAEX,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;IAInC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAOhC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO;IAatC;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAKxD;AAED,eAAO,MAAM,MAAM,cAAqB,gBAAgB,QAAQ,UAAU,qBAOzE,CAAC"}
|
|
@@ -8,12 +8,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { deserialize, variant, field, option, serialize } from "@dao-xyz/borsh";
|
|
11
|
-
import { equals } from "
|
|
11
|
+
import { compare, equals } from "uint8arrays";
|
|
12
12
|
import { verifySignatureEd25519 } from "./ed25519-sign.js";
|
|
13
13
|
import { Ed25519PublicKey } from "./ed25519.js";
|
|
14
14
|
import { PublicSignKey } from "./key.js";
|
|
15
15
|
import { PreHash } from "./prehash.js";
|
|
16
16
|
import { Secp256k1PublicKey, verifySignatureSecp256k1 } from "./sepc256k1.js";
|
|
17
|
+
import {} from "./signer.js";
|
|
17
18
|
let SignatureWithKey = class SignatureWithKey {
|
|
18
19
|
signature;
|
|
19
20
|
publicKey;
|
|
@@ -29,7 +30,7 @@ let SignatureWithKey = class SignatureWithKey {
|
|
|
29
30
|
if (!equals(this.signature, other.signature)) {
|
|
30
31
|
return false;
|
|
31
32
|
}
|
|
32
|
-
return (
|
|
33
|
+
return (compare(serialize(this.publicKey), serialize(other.publicKey)) ===
|
|
33
34
|
0 && this.prehash == other.prehash);
|
|
34
35
|
}
|
|
35
36
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,MAAM;IACtB,IAAI,EAAE,CACL,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,OAAO,KACb,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;CAClD;AAED,MAAM,MAAM,WAAW,GAAG,CACzB,KAAK,EAAE,UAAU,KACb,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;AAElD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,MAAM,GAAG;IACxE,SAAS,EAAE,CAAC,CAAC;CACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -4,3 +4,4 @@ export declare const toBase64: (arr: Uint8Array) => string;
|
|
|
4
4
|
export declare const fromBase64: (base64: string) => Uint8Array;
|
|
5
5
|
export declare const toBase64URL: (arr: Uint8Array) => string;
|
|
6
6
|
export declare const fromBase64URL: (base64: string) => Uint8Array;
|
|
7
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,cAAe,MAAM,eAA+B,CAAC;AAE/E,eAAO,MAAM,WAAW,UAAW,UAAU,WAAyB,CAAC;AAEvE,eAAO,MAAM,QAAQ,QAAS,UAAU,WAEvC,CAAC;AACF,eAAO,MAAM,UAAU,WAAY,MAAM,eAExC,CAAC;AAEF,eAAO,MAAM,WAAW,QAAS,UAAU,WAE1C,CAAC;AACF,eAAO,MAAM,aAAa,WAAY,MAAM,eAE3C,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from "./errors.js";
|
|
2
2
|
import { Keypair, PrivateEncryptionKey, PublicKeyEncryptionKey } from "./key.js";
|
|
3
3
|
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
4
|
-
import { PeerId } from "@libp2p/interface";
|
|
4
|
+
import { type PeerId } from "@libp2p/interface";
|
|
5
5
|
export declare class X25519PublicKey extends PublicKeyEncryptionKey {
|
|
6
6
|
publicKey: Uint8Array;
|
|
7
7
|
constructor(properties: {
|
|
@@ -36,3 +36,4 @@ export declare class X25519Keypair extends Keypair {
|
|
|
36
36
|
static fromPeerId(peerId: PeerId): Promise<X25519Keypair>;
|
|
37
37
|
equals(other: Keypair): boolean;
|
|
38
38
|
}
|
|
39
|
+
//# sourceMappingURL=x25519.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"x25519.d.ts","sourceRoot":"","sources":["../../src/x25519.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAI5B,OAAO,EACN,OAAO,EACP,oBAAoB,EACpB,sBAAsB,EACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,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;IAM9C,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;IAQ9C,QAAQ,IAAI,MAAM;IAIZ,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;WAK9B,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,UAAU,CAAC,MAAM,EAAE,MAAM;IAIhC,MAAM,CAAC,KAAK,EAAE,OAAO;CAWrB"}
|
|
@@ -10,11 +10,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
var X25519PublicKey_1, X25519SecretKey_1, X25519Keypair_1;
|
|
11
11
|
export * from "./errors.js";
|
|
12
12
|
import { field, fixedArray, variant } from "@dao-xyz/borsh";
|
|
13
|
-
import { compare } from "
|
|
13
|
+
import { compare } from "uint8arrays";
|
|
14
14
|
import sodium from "libsodium-wrappers";
|
|
15
15
|
import { Keypair, PrivateEncryptionKey, PublicKeyEncryptionKey } from "./key.js";
|
|
16
16
|
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
17
17
|
import { toHexString } from "./utils.js";
|
|
18
|
+
import {} from "@libp2p/interface";
|
|
18
19
|
let X25519PublicKey = X25519PublicKey_1 = class X25519PublicKey extends PublicKeyEncryptionKey {
|
|
19
20
|
publicKey;
|
|
20
21
|
constructor(properties) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"x25519.js","sourceRoot":"","sources":["../../src/x25519.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,56 +1,77 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
2
|
+
"name": "@peerbit/crypto",
|
|
3
|
+
"version": "2.2.0-0691c73",
|
|
4
|
+
"description": "Crypto fn",
|
|
5
|
+
"sideEffects": false,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"types": "./dist/src/index.d.ts",
|
|
8
|
+
"typesVersions": {
|
|
9
|
+
"*": {
|
|
10
|
+
"*": [
|
|
11
|
+
"*",
|
|
12
|
+
"dist/*",
|
|
13
|
+
"dist/src/*",
|
|
14
|
+
"dist/src/*/index"
|
|
15
|
+
],
|
|
16
|
+
"src/*": [
|
|
17
|
+
"*",
|
|
18
|
+
"dist/*",
|
|
19
|
+
"dist/src/*",
|
|
20
|
+
"dist/src/*/index"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"src",
|
|
26
|
+
"dist",
|
|
27
|
+
"!dist/test",
|
|
28
|
+
"!**/*.tsbuildinfo"
|
|
29
|
+
],
|
|
30
|
+
"exports": {
|
|
31
|
+
".": {
|
|
32
|
+
"types": "./dist/src/index.d.ts",
|
|
33
|
+
"import": "./dist/src/index.js"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"eslintConfig": {
|
|
37
|
+
"extends": "ipfs",
|
|
38
|
+
"parserOptions": {
|
|
39
|
+
"project": true,
|
|
40
|
+
"sourceType": "module"
|
|
41
|
+
},
|
|
42
|
+
"ignorePatterns": [
|
|
43
|
+
"!.aegir.js",
|
|
44
|
+
"test/ts-use",
|
|
45
|
+
"*.d.ts"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"publishConfig": {
|
|
49
|
+
"access": "public"
|
|
50
|
+
},
|
|
51
|
+
"browser": {
|
|
52
|
+
"./dist/src/hash.js": "./dist/src/hash.browser.js",
|
|
53
|
+
"./dist/src/random.js": "./dist/src/random.browser.js",
|
|
54
|
+
"./dist/src/ed25519-sign.js": "./dist/src/ed25519-sign.browser.js"
|
|
55
|
+
},
|
|
56
|
+
"scripts": {
|
|
57
|
+
"clean": "aegir clean",
|
|
58
|
+
"build": "aegir build --no-bundle",
|
|
59
|
+
"test": "aegir test"
|
|
60
|
+
},
|
|
61
|
+
"author": "dao.xyz",
|
|
62
|
+
"license": "MIT",
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@types/libsodium-wrappers": "^0.7.10",
|
|
65
|
+
"uint8arrays": "^4.0.4",
|
|
66
|
+
"@types/elliptic": "^6.4.18"
|
|
67
|
+
},
|
|
68
|
+
"dependencies": {
|
|
69
|
+
"@peerbit/cache": "2.0.6-0691c73",
|
|
70
|
+
"@dao-xyz/borsh": "^5.2.2",
|
|
71
|
+
"@stablelib/sha256": "^1.0.1",
|
|
72
|
+
"@ethersproject/wallet": "^5.7.0",
|
|
73
|
+
"@libp2p/crypto": "^3.0.3",
|
|
74
|
+
"@libp2p/peer-id": "^4.0.3",
|
|
75
|
+
"libsodium-wrappers": "^0.7.13"
|
|
76
|
+
}
|
|
56
77
|
}
|
package/src/bytes.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @param {ArrayBufferView|ArrayBuffer|Uint8Array} o
|
|
3
3
|
* @returns {Uint8Array}
|
|
4
4
|
*/
|
|
5
|
-
export const coerce = (o) => {
|
|
5
|
+
export const coerce = (o: any) => {
|
|
6
6
|
if (o instanceof Uint8Array && o.constructor.name === "Uint8Array") return o;
|
|
7
7
|
if (o instanceof ArrayBuffer) return new Uint8Array(o);
|
|
8
8
|
if (ArrayBuffer.isView(o)) {
|
package/src/ed25519.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { field, fixedArray, variant } from "@dao-xyz/borsh";
|
|
2
2
|
import { PrivateSignKey, PublicSignKey, Keypair } from "./key.js";
|
|
3
|
-
import { equals } from "
|
|
4
|
-
import { Identity,
|
|
3
|
+
import { equals } from "uint8arrays";
|
|
4
|
+
import { type Identity, type SignWithKey } from "./signer.js";
|
|
5
5
|
import { SignatureWithKey } from "./signature.js";
|
|
6
6
|
import { toHexString } from "./utils.js";
|
|
7
7
|
import { peerIdFromKeys } from "@libp2p/peer-id";
|
package/src/encryption.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from "./errors.js";
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
AbstractType,
|
|
4
|
+
type AbstractType,
|
|
5
5
|
deserialize,
|
|
6
6
|
field,
|
|
7
7
|
serialize,
|
|
@@ -9,13 +9,23 @@ import {
|
|
|
9
9
|
vec,
|
|
10
10
|
fixedArray
|
|
11
11
|
} from "@dao-xyz/borsh";
|
|
12
|
-
import { equals } from "@peerbit/uint8arrays";
|
|
13
12
|
import { AccessError } from "./errors.js";
|
|
14
13
|
import sodium from "libsodium-wrappers";
|
|
15
14
|
import { X25519Keypair, X25519PublicKey, X25519SecretKey } from "./x25519.js";
|
|
16
15
|
import { Ed25519PublicKey } from "./ed25519.js";
|
|
17
16
|
import { randomBytes } from "./random.js";
|
|
18
17
|
import { sha256 } from "./hash.js";
|
|
18
|
+
|
|
19
|
+
import { equals as uequals } from "uint8arrays";
|
|
20
|
+
export const equals = (array1?: Uint8Array, array2?: Uint8Array) => {
|
|
21
|
+
if (!!array1 != !!array2) return false;
|
|
22
|
+
if (!array1 || !array2) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
return uequals(array1, array2);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
|
|
19
29
|
export type MaybePromise<T> = Promise<T> | T;
|
|
20
30
|
|
|
21
31
|
export type PublicKeyEncryptionParameters = {
|
|
@@ -65,8 +75,8 @@ function isAsymmetricEncryptionKeys(
|
|
|
65
75
|
|
|
66
76
|
type EnvelopeFromParameter<Parameters extends KeyExchangeOptions> =
|
|
67
77
|
Parameters extends PublicKeyEncryptionParameters
|
|
68
|
-
|
|
69
|
-
|
|
78
|
+
? PublicKeyEnvelope
|
|
79
|
+
: HashedKeyEnvelope;
|
|
70
80
|
|
|
71
81
|
type EncryptProvide<Parameters extends KeyExchangeOptions> = (
|
|
72
82
|
bytes: Uint8Array,
|
|
@@ -80,8 +90,8 @@ interface KeyProvider {
|
|
|
80
90
|
export const createLocalEncryptProvider = <
|
|
81
91
|
K extends PublicKeyEncryptionKeys | SymmetricKeys,
|
|
82
92
|
Parameters extends KeyExchangeOptions = K extends PublicKeyEncryptionKeys
|
|
83
|
-
|
|
84
|
-
|
|
93
|
+
? PublicKeyEncryptionParameters
|
|
94
|
+
: SymmetricKeyEncryptionParameters
|
|
85
95
|
>(
|
|
86
96
|
keys: K
|
|
87
97
|
) => {
|
package/src/index.ts
CHANGED
|
@@ -4,7 +4,7 @@ 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 "./peerid.js";
|
|
8
8
|
export * from "./utils.js";
|
|
9
9
|
export * from "./hash.js";
|
|
10
10
|
export * from "./random.js";
|
package/src/key.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { field, serialize } from "@dao-xyz/borsh";
|
|
2
2
|
import { sha256Base64Sync } from "./hash.js";
|
|
3
|
-
import { PeerId } from "@libp2p/interface";
|
|
4
|
-
import { compare } from "
|
|
3
|
+
import { type PeerId } from "@libp2p/interface";
|
|
4
|
+
import { compare } from "uint8arrays";
|
|
5
5
|
import { toHexString } from "./utils.js";
|
|
6
6
|
|
|
7
7
|
interface Key {
|
|
@@ -27,7 +27,7 @@ export abstract class Keypair {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// ---- SIGNATURE KEYS -----
|
|
30
|
-
export interface PublicSignKey extends Key {}
|
|
30
|
+
export interface PublicSignKey extends Key { }
|
|
31
31
|
export abstract class PublicSignKey implements Key {
|
|
32
32
|
private _bytes: Uint8Array;
|
|
33
33
|
get bytes(): Uint8Array {
|
|
@@ -37,9 +37,13 @@ export abstract class PublicSignKey implements Key {
|
|
|
37
37
|
hashcode(): string {
|
|
38
38
|
return this._hashcode || (this._hashcode = sha256Base64Sync(this.bytes));
|
|
39
39
|
}
|
|
40
|
+
|
|
41
|
+
toPeerId(): Promise<PeerId> {
|
|
42
|
+
throw new Error("Not implemented");
|
|
43
|
+
}
|
|
40
44
|
}
|
|
41
45
|
|
|
42
|
-
export interface PrivateSignKey extends Key {}
|
|
46
|
+
export interface PrivateSignKey extends Key { }
|
|
43
47
|
export abstract class PrivateSignKey implements Key {
|
|
44
48
|
get bytes(): Uint8Array {
|
|
45
49
|
return serialize(this);
|
|
@@ -51,7 +55,7 @@ export abstract class PrivateSignKey implements Key {
|
|
|
51
55
|
}
|
|
52
56
|
|
|
53
57
|
// ---- PUBLIC KEY ENCRYPTION -----
|
|
54
|
-
export interface PublicKeyEncryptionKey extends Key {}
|
|
58
|
+
export interface PublicKeyEncryptionKey extends Key { }
|
|
55
59
|
export abstract class PublicKeyEncryptionKey implements Key {
|
|
56
60
|
get bytes(): Uint8Array {
|
|
57
61
|
return serialize(this);
|
|
@@ -61,7 +65,7 @@ export abstract class PublicKeyEncryptionKey implements Key {
|
|
|
61
65
|
return this._hashcode || (this._hashcode = sha256Base64Sync(this.bytes));
|
|
62
66
|
}
|
|
63
67
|
}
|
|
64
|
-
export interface PrivateEncryptionKey extends Key {}
|
|
68
|
+
export interface PrivateEncryptionKey extends Key { }
|
|
65
69
|
export abstract class PrivateEncryptionKey implements Key {
|
|
66
70
|
get bytes(): Uint8Array {
|
|
67
71
|
return serialize(this);
|
|
@@ -73,7 +77,7 @@ export abstract class PrivateEncryptionKey implements Key {
|
|
|
73
77
|
}
|
|
74
78
|
|
|
75
79
|
// ---- OTHER KEYS ----
|
|
76
|
-
export interface PlainKey extends Key {}
|
|
80
|
+
export interface PlainKey extends Key { }
|
|
77
81
|
export abstract class PlainKey implements Key {
|
|
78
82
|
get bytes(): Uint8Array {
|
|
79
83
|
return serialize(this);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PeerId } from "@libp2p/interface";
|
|
1
|
+
import { type PeerId } from "@libp2p/interface";
|
|
2
2
|
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
3
3
|
import { Secp256k1Keypair, Secp256k1PublicKey } from "./sepc256k1.js";
|
|
4
4
|
|
|
@@ -21,7 +21,7 @@ export const getPublicKeyFromPeerId = (
|
|
|
21
21
|
return Ed25519PublicKey.fromPeerId(peerId);
|
|
22
22
|
}
|
|
23
23
|
if (peerId.type === "secp256k1") {
|
|
24
|
-
return Secp256k1PublicKey.
|
|
24
|
+
return Secp256k1PublicKey.fromPeerId(peerId);
|
|
25
25
|
}
|
|
26
26
|
throw new Error("Unsupported key type");
|
|
27
27
|
};
|
package/src/sepc256k1.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { field, fixedArray, variant
|
|
1
|
+
import { field, fixedArray, variant } from "@dao-xyz/borsh";
|
|
2
2
|
import { Keypair, PrivateSignKey, PublicSignKey } from "./key.js";
|
|
3
3
|
|
|
4
4
|
import { Wallet } from "@ethersproject/wallet";
|
|
5
5
|
import { arrayify } from "@ethersproject/bytes";
|
|
6
6
|
import { joinSignature } from "@ethersproject/bytes";
|
|
7
|
-
import { SignatureLike, splitSignature } from "@ethersproject/bytes";
|
|
7
|
+
import { type SignatureLike, splitSignature } from "@ethersproject/bytes";
|
|
8
8
|
import _ec from "elliptic";
|
|
9
9
|
import EC = _ec.ec;
|
|
10
10
|
let _curve: EC;
|
|
11
11
|
|
|
12
|
-
import { equals } from "
|
|
12
|
+
import { equals } from "uint8arrays";
|
|
13
13
|
import { toHexString } from "./utils.js";
|
|
14
|
-
import { PeerId } from "@libp2p/interface";
|
|
15
|
-
import { Identity } from "./signer.js";
|
|
14
|
+
import { type PeerId } from "@libp2p/interface";
|
|
15
|
+
import { type Identity } from "./signer.js";
|
|
16
16
|
import { coerce } from "./bytes.js";
|
|
17
17
|
import { generateKeyPair, supportedKeys } from "@libp2p/crypto/keys";
|
|
18
18
|
import utf8 from "@protobufjs/utf8";
|
|
@@ -60,7 +60,13 @@ export class Secp256k1PublicKey extends PublicSignKey {
|
|
|
60
60
|
return "sepc256k1/" + toHexString(this.publicKey);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
toPeerId(): Promise<PeerId> {
|
|
64
|
+
return peerIdFromKeys(
|
|
65
|
+
new supportedKeys["secp256k1"].Secp256k1PublicKey(this.publicKey).bytes
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
static fromPeerId(id: PeerId) {
|
|
64
70
|
if (!id.publicKey) {
|
|
65
71
|
throw new Error("Missing public key");
|
|
66
72
|
}
|
|
@@ -177,7 +183,7 @@ export class Secp256k1Keypair extends Keypair implements Identity {
|
|
|
177
183
|
static fromPeerId(peerId: PeerId) {
|
|
178
184
|
return new Secp256k1Keypair({
|
|
179
185
|
privateKey: Secp256k1PrivateKey.from(peerId),
|
|
180
|
-
publicKey: Secp256k1PublicKey.
|
|
186
|
+
publicKey: Secp256k1PublicKey.fromPeerId(peerId)
|
|
181
187
|
});
|
|
182
188
|
}
|
|
183
189
|
|
package/src/signature.ts
CHANGED
|
@@ -4,15 +4,15 @@ import {
|
|
|
4
4
|
field,
|
|
5
5
|
option,
|
|
6
6
|
serialize,
|
|
7
|
-
AbstractType
|
|
7
|
+
type AbstractType
|
|
8
8
|
} from "@dao-xyz/borsh";
|
|
9
|
-
import { equals } from "
|
|
9
|
+
import { compare, equals } from "uint8arrays";
|
|
10
10
|
import { verifySignatureEd25519 } from "./ed25519-sign.js";
|
|
11
11
|
import { Ed25519PublicKey } from "./ed25519.js";
|
|
12
12
|
import { PublicSignKey } from "./key.js";
|
|
13
13
|
import { PreHash } from "./prehash.js";
|
|
14
14
|
import { Secp256k1PublicKey, verifySignatureSecp256k1 } from "./sepc256k1.js";
|
|
15
|
-
import { SignWithKey } from "./signer.js";
|
|
15
|
+
import { type SignWithKey } from "./signer.js";
|
|
16
16
|
|
|
17
17
|
@variant(0)
|
|
18
18
|
export class SignatureWithKey {
|
|
@@ -42,8 +42,8 @@ export class SignatureWithKey {
|
|
|
42
42
|
return false;
|
|
43
43
|
}
|
|
44
44
|
return (
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
compare(serialize(this.publicKey), serialize(other.publicKey)) ===
|
|
46
|
+
0 && this.prehash == other.prehash
|
|
47
47
|
);
|
|
48
48
|
}
|
|
49
49
|
}
|
package/src/x25519.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from "./errors.js";
|
|
2
2
|
import { field, fixedArray, variant } from "@dao-xyz/borsh";
|
|
3
|
-
import { compare } from "
|
|
3
|
+
import { compare } from "uint8arrays";
|
|
4
4
|
import sodium from "libsodium-wrappers";
|
|
5
5
|
import {
|
|
6
6
|
Keypair,
|
|
@@ -9,11 +9,10 @@ import {
|
|
|
9
9
|
} from "./key.js";
|
|
10
10
|
import {
|
|
11
11
|
Ed25519Keypair,
|
|
12
|
-
Ed25519PublicKey
|
|
13
|
-
Ed25519PrivateKey
|
|
12
|
+
Ed25519PublicKey
|
|
14
13
|
} from "./ed25519.js";
|
|
15
14
|
import { toHexString } from "./utils.js";
|
|
16
|
-
import { PeerId } from "@libp2p/interface";
|
|
15
|
+
import { type PeerId } from "@libp2p/interface";
|
|
17
16
|
@variant(0)
|
|
18
17
|
export class X25519PublicKey extends PublicKeyEncryptionKey {
|
|
19
18
|
@field({ type: fixedArray("u8", 32) })
|