@cardano-sdk/crypto 0.1.31 → 0.2.0
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/cjs/Bip32/Bip32PrivateKey.d.ts +2 -2
- package/dist/cjs/Bip32/Bip32PrivateKey.d.ts.map +1 -1
- package/dist/cjs/Bip32/Bip32PrivateKey.js +2 -4
- package/dist/cjs/Bip32/Bip32PrivateKey.js.map +1 -1
- package/dist/cjs/Bip32/Bip32PublicKey.d.ts +2 -2
- package/dist/cjs/Bip32/Bip32PublicKey.d.ts.map +1 -1
- package/dist/cjs/Bip32/Bip32PublicKey.js +2 -4
- package/dist/cjs/Bip32/Bip32PublicKey.js.map +1 -1
- package/dist/cjs/Bip32Ed25519.d.ts +9 -9
- package/dist/cjs/Bip32Ed25519.d.ts.map +1 -1
- package/dist/cjs/Ed25519e/Ed25519PrivateKey.d.ts +2 -2
- package/dist/cjs/Ed25519e/Ed25519PrivateKey.d.ts.map +1 -1
- package/dist/cjs/Ed25519e/Ed25519PrivateKey.js +3 -5
- package/dist/cjs/Ed25519e/Ed25519PrivateKey.js.map +1 -1
- package/dist/cjs/Ed25519e/Ed25519PublicKey.d.ts +2 -2
- package/dist/cjs/Ed25519e/Ed25519PublicKey.d.ts.map +1 -1
- package/dist/cjs/Ed25519e/Ed25519PublicKey.js +2 -4
- package/dist/cjs/Ed25519e/Ed25519PublicKey.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/strategies/CmlBip32Ed25519.d.ts +9 -9
- package/dist/cjs/strategies/CmlBip32Ed25519.d.ts.map +1 -1
- package/dist/cjs/strategies/CmlBip32Ed25519.js +11 -11
- package/dist/cjs/strategies/CmlBip32Ed25519.js.map +1 -1
- package/dist/cjs/strategies/SodiumBip32Ed25519.d.ts +11 -9
- package/dist/cjs/strategies/SodiumBip32Ed25519.d.ts.map +1 -1
- package/dist/cjs/strategies/SodiumBip32Ed25519.js +34 -24
- package/dist/cjs/strategies/SodiumBip32Ed25519.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/Bip32/Bip32PrivateKey.d.ts +2 -2
- package/dist/esm/Bip32/Bip32PrivateKey.d.ts.map +1 -1
- package/dist/esm/Bip32/Bip32PrivateKey.js +2 -4
- package/dist/esm/Bip32/Bip32PrivateKey.js.map +1 -1
- package/dist/esm/Bip32/Bip32PublicKey.d.ts +2 -2
- package/dist/esm/Bip32/Bip32PublicKey.d.ts.map +1 -1
- package/dist/esm/Bip32/Bip32PublicKey.js +2 -4
- package/dist/esm/Bip32/Bip32PublicKey.js.map +1 -1
- package/dist/esm/Bip32Ed25519.d.ts +9 -9
- package/dist/esm/Bip32Ed25519.d.ts.map +1 -1
- package/dist/esm/Ed25519e/Ed25519PrivateKey.d.ts +2 -2
- package/dist/esm/Ed25519e/Ed25519PrivateKey.d.ts.map +1 -1
- package/dist/esm/Ed25519e/Ed25519PrivateKey.js +3 -5
- package/dist/esm/Ed25519e/Ed25519PrivateKey.js.map +1 -1
- package/dist/esm/Ed25519e/Ed25519PublicKey.d.ts +2 -2
- package/dist/esm/Ed25519e/Ed25519PublicKey.d.ts.map +1 -1
- package/dist/esm/Ed25519e/Ed25519PublicKey.js +2 -4
- package/dist/esm/Ed25519e/Ed25519PublicKey.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/strategies/CmlBip32Ed25519.d.ts +9 -9
- package/dist/esm/strategies/CmlBip32Ed25519.d.ts.map +1 -1
- package/dist/esm/strategies/CmlBip32Ed25519.js +11 -11
- package/dist/esm/strategies/CmlBip32Ed25519.js.map +1 -1
- package/dist/esm/strategies/SodiumBip32Ed25519.d.ts +11 -9
- package/dist/esm/strategies/SodiumBip32Ed25519.d.ts.map +1 -1
- package/dist/esm/strategies/SodiumBip32Ed25519.js +31 -24
- package/dist/esm/strategies/SodiumBip32Ed25519.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -10,9 +10,9 @@ export declare class Bip32PrivateKey {
|
|
|
10
10
|
static fromBip39Entropy(entropy: Buffer, password: string): Bip32PrivateKey;
|
|
11
11
|
static fromBytes(key: Uint8Array): Bip32PrivateKey;
|
|
12
12
|
static fromHex(key: Bip32PrivateKeyHex): Bip32PrivateKey;
|
|
13
|
-
derive(derivationIndices: number[]):
|
|
13
|
+
derive(derivationIndices: number[]): Bip32PrivateKey;
|
|
14
14
|
toRawKey(): Ed25519PrivateKey;
|
|
15
|
-
toPublic():
|
|
15
|
+
toPublic(): Bip32PublicKey;
|
|
16
16
|
bytes(): Uint8Array;
|
|
17
17
|
hex(): Bip32PrivateKeyHex;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bip32PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/Bip32/Bip32PrivateKey.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAuC,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqCrF,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAUnD,qBAAa,eAAe;;gBAQd,GAAG,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"Bip32PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/Bip32/Bip32PrivateKey.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAuC,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqCrF,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAUnD,qBAAa,eAAe;;gBAQd,GAAG,EAAE,UAAU;IAoB3B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe;IAU3E,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU;IAchC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,kBAAkB;IA6BtC,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,eAAe;IAWpD,QAAQ,IAAI,iBAAiB;IAW7B,QAAQ,IAAI,cAAc;IAU1B,KAAK,IAAI,UAAU;IAKnB,GAAG,IAAI,kBAAkB;CAG1B"}
|
|
@@ -49,8 +49,7 @@ export class Bip32PrivateKey {
|
|
|
49
49
|
static fromHex(key) {
|
|
50
50
|
return Bip32PrivateKey.fromBytes(Buffer.from(key, 'hex'));
|
|
51
51
|
}
|
|
52
|
-
|
|
53
|
-
await sodium.ready;
|
|
52
|
+
derive(derivationIndices) {
|
|
54
53
|
let key = Buffer.from(__classPrivateFieldGet(this, _Bip32PrivateKey_key, "f"));
|
|
55
54
|
for (const index of derivationIndices) {
|
|
56
55
|
key = Bip32KeyDerivation.derivePrivate(key, index);
|
|
@@ -60,8 +59,7 @@ export class Bip32PrivateKey {
|
|
|
60
59
|
toRawKey() {
|
|
61
60
|
return Ed25519PrivateKey.fromExtendedBytes(__classPrivateFieldGet(this, _Bip32PrivateKey_key, "f").slice(0, EXTENDED_ED25519_PRIVATE_KEY_LENGTH));
|
|
62
61
|
}
|
|
63
|
-
|
|
64
|
-
await sodium.ready;
|
|
62
|
+
toPublic() {
|
|
65
63
|
const scalar = extendedScalar(__classPrivateFieldGet(this, _Bip32PrivateKey_key, "f").slice(0, EXTENDED_ED25519_PRIVATE_KEY_LENGTH));
|
|
66
64
|
const publicKey = sodium.crypto_scalarmult_ed25519_base_noclamp(scalar);
|
|
67
65
|
return Bip32PublicKey.fromBytes(Buffer.concat([publicKey, __classPrivateFieldGet(this, _Bip32PrivateKey_key, "f").slice(CHAIN_CODE_INDEX, CHAIN_CODE_INDEX + CHAIN_CODE_SIZE)]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bip32PrivateKey.js","sourceRoot":"","sources":["../../../src/Bip32/Bip32PrivateKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mCAAmC,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAE7C,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AACzC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,eAAe,GAAG,EAAE,CAAC;AAW3B,MAAM,WAAW,GAAG,CAAC,MAAc,EAAU,EAAE;IAC7C,MAAM,CAAC,CAAC,CAAC,IAAI,GAAW,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAW,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAQF,MAAM,cAAc,GAAG,CAAC,WAAuB,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAEjG,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAUnD,MAAM,OAAO,eAAe;IAQ1B,YAAY,GAAe;QAP3B,uCAA0B;QAQxB,uBAAA,IAAI,wBAAQ,GAAG,MAAA,CAAC;IAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"Bip32PrivateKey.js","sourceRoot":"","sources":["../../../src/Bip32/Bip32PrivateKey.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,9 @@ export declare class Bip32PublicKey {
|
|
|
7
7
|
static fromBytes(key: Uint8Array): Bip32PublicKey;
|
|
8
8
|
static fromHex(key: Bip32PublicKeyHex): Bip32PublicKey;
|
|
9
9
|
toRawKey(): Ed25519PublicKey;
|
|
10
|
-
derive(derivationIndices: number[]):
|
|
10
|
+
derive(derivationIndices: number[]): Bip32PublicKey;
|
|
11
11
|
bytes(): Uint8Array;
|
|
12
12
|
hex(): Bip32PublicKeyHex;
|
|
13
|
-
hash():
|
|
13
|
+
hash(): Bip32PublicKeyHashHex;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=Bip32PublicKey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bip32PublicKey.d.ts","sourceRoot":"","sources":["../../../src/Bip32/Bip32PublicKey.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAA6B,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI1E,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAGlD,qBAAa,cAAc;;IAQzB,OAAO;IASP,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc;IAcjD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,cAAc;IAQtD,QAAQ,IAAI,gBAAgB;
|
|
1
|
+
{"version":3,"file":"Bip32PublicKey.d.ts","sourceRoot":"","sources":["../../../src/Bip32/Bip32PublicKey.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAA6B,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI1E,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAGlD,qBAAa,cAAc;;IAQzB,OAAO;IASP,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc;IAcjD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,cAAc;IAQtD,QAAQ,IAAI,gBAAgB;IAY5B,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,cAAc;IAWnD,KAAK,IAAI,UAAU;IAKnB,GAAG,IAAI,iBAAiB;IAKxB,IAAI,IAAI,qBAAqB;CAI9B"}
|
|
@@ -32,8 +32,7 @@ export class Bip32PublicKey {
|
|
|
32
32
|
toRawKey() {
|
|
33
33
|
return Ed25519PublicKey.fromBytes(__classPrivateFieldGet(this, _Bip32PublicKey_key, "f").slice(0, ED25519_PUBLIC_KEY_LENGTH));
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
await sodium.ready;
|
|
35
|
+
derive(derivationIndices) {
|
|
37
36
|
let key = Buffer.from(__classPrivateFieldGet(this, _Bip32PublicKey_key, "f"));
|
|
38
37
|
for (const index of derivationIndices) {
|
|
39
38
|
key = Bip32KeyDerivation.derivePublic(key, index);
|
|
@@ -46,8 +45,7 @@ export class Bip32PublicKey {
|
|
|
46
45
|
hex() {
|
|
47
46
|
return Bip32PublicKeyHex(Buffer.from(__classPrivateFieldGet(this, _Bip32PublicKey_key, "f")).toString('hex'));
|
|
48
47
|
}
|
|
49
|
-
|
|
50
|
-
await sodium.ready;
|
|
48
|
+
hash() {
|
|
51
49
|
const hash = sodium.crypto_generichash(BIP32_PUBLIC_KEY_HASH_LENGTH, __classPrivateFieldGet(this, _Bip32PublicKey_key, "f"));
|
|
52
50
|
return Bip32PublicKeyHashHex(Buffer.from(hash).toString('hex'));
|
|
53
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bip32PublicKey.js","sourceRoot":"","sources":["../../../src/Bip32/Bip32PublicKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAE7C,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAGlD,MAAM,OAAO,cAAc;IAQzB,YAAoB,GAAe;QAPnC,sCAA0B;QAQxB,uBAAA,IAAI,uBAAQ,GAAG,MAAA,CAAC;IAClB,CAAC;IAOD,MAAM,CAAC,SAAS,CAAC,GAAe;QAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,+BAA+B;YAChD,MAAM,IAAI,oBAAoB,CAC5B,KAAK,EACL,iBAAiB,+BAA+B,mBAAmB,GAAG,CAAC,MAAM,uBAAuB,CACrG,CAAC;QACJ,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAOD,MAAM,CAAC,OAAO,CAAC,GAAsB;QACnC,OAAO,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAMD,QAAQ;QACN,OAAO,gBAAgB,CAAC,SAAS,CAAC,uBAAA,IAAI,2BAAK,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACnF,CAAC;
|
|
1
|
+
{"version":3,"file":"Bip32PublicKey.js","sourceRoot":"","sources":["../../../src/Bip32/Bip32PublicKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAE7C,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAGlD,MAAM,OAAO,cAAc;IAQzB,YAAoB,GAAe;QAPnC,sCAA0B;QAQxB,uBAAA,IAAI,uBAAQ,GAAG,MAAA,CAAC;IAClB,CAAC;IAOD,MAAM,CAAC,SAAS,CAAC,GAAe;QAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,+BAA+B;YAChD,MAAM,IAAI,oBAAoB,CAC5B,KAAK,EACL,iBAAiB,+BAA+B,mBAAmB,GAAG,CAAC,MAAM,uBAAuB,CACrG,CAAC;QACJ,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAOD,MAAM,CAAC,OAAO,CAAC,GAAsB;QACnC,OAAO,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAMD,QAAQ;QACN,OAAO,gBAAgB,CAAC,SAAS,CAAC,uBAAA,IAAI,2BAAK,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACnF,CAAC;IAUD,MAAM,CAAC,iBAA2B;QAChC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,uBAAA,IAAI,2BAAK,CAAC,CAAC;QAEjC,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE;YACrC,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACnD;QAED,OAAO,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAGD,KAAK;QACH,OAAO,uBAAA,IAAI,2BAAK,CAAC;IACnB,CAAC;IAGD,GAAG;QACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAA,IAAI,2BAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IAGD,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,uBAAA,IAAI,2BAAK,CAAC,CAAC;QAChF,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;CACF"}
|
|
@@ -5,14 +5,14 @@ import { Bip32PrivateKeyHex, Bip32PublicKeyHex, Ed25519KeyHashHex, Ed25519Privat
|
|
|
5
5
|
import { HexBlob } from '@cardano-sdk/util';
|
|
6
6
|
export interface Bip32Ed25519 {
|
|
7
7
|
fromBip39Entropy(entropy: Buffer, passphrase: string): Bip32PrivateKeyHex;
|
|
8
|
-
getPublicKey(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex):
|
|
9
|
-
getPubKeyHash(publicKey: Ed25519PublicKeyHex):
|
|
10
|
-
getRawPrivateKey(bip32PrivateKey: Bip32PrivateKeyHex):
|
|
11
|
-
getRawPublicKey(bip32PublicKey: Bip32PublicKeyHex):
|
|
12
|
-
getBip32PublicKey(privateKey: Bip32PrivateKeyHex):
|
|
13
|
-
derivePrivateKey(parentKey: Bip32PrivateKeyHex, derivationIndices: BIP32Path):
|
|
14
|
-
derivePublicKey(parentKey: Bip32PublicKeyHex, derivationIndices: BIP32Path):
|
|
15
|
-
sign(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex, message: HexBlob):
|
|
16
|
-
verify(signature: Ed25519SignatureHex, message: HexBlob, publicKey: Ed25519PublicKeyHex):
|
|
8
|
+
getPublicKey(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex): Ed25519PublicKeyHex;
|
|
9
|
+
getPubKeyHash(publicKey: Ed25519PublicKeyHex): Ed25519KeyHashHex;
|
|
10
|
+
getRawPrivateKey(bip32PrivateKey: Bip32PrivateKeyHex): Ed25519PrivateExtendedKeyHex;
|
|
11
|
+
getRawPublicKey(bip32PublicKey: Bip32PublicKeyHex): Ed25519PublicKeyHex;
|
|
12
|
+
getBip32PublicKey(privateKey: Bip32PrivateKeyHex): Bip32PublicKeyHex;
|
|
13
|
+
derivePrivateKey(parentKey: Bip32PrivateKeyHex, derivationIndices: BIP32Path): Bip32PrivateKeyHex;
|
|
14
|
+
derivePublicKey(parentKey: Bip32PublicKeyHex, derivationIndices: BIP32Path): Bip32PublicKeyHex;
|
|
15
|
+
sign(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex, message: HexBlob): Ed25519SignatureHex;
|
|
16
|
+
verify(signature: Ed25519SignatureHex, message: HexBlob, publicKey: Ed25519PublicKeyHex): boolean;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=Bip32Ed25519.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bip32Ed25519.d.ts","sourceRoot":"","sources":["../../src/Bip32Ed25519.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAS5C,MAAM,WAAW,YAAY;IAY3B,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAQ1E,YAAY,CAAC,UAAU,EAAE,4BAA4B,GAAG,0BAA0B,GAAG,
|
|
1
|
+
{"version":3,"file":"Bip32Ed25519.d.ts","sourceRoot":"","sources":["../../src/Bip32Ed25519.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAS5C,MAAM,WAAW,YAAY;IAY3B,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAQ1E,YAAY,CAAC,UAAU,EAAE,4BAA4B,GAAG,0BAA0B,GAAG,mBAAmB,CAAC;IAQzG,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,iBAAiB,CAAC;IAGjE,gBAAgB,CAAC,eAAe,EAAE,kBAAkB,GAAG,4BAA4B,CAAC;IAMpF,eAAe,CAAC,cAAc,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IAQxE,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;IASrE,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,SAAS,GAAG,kBAAkB,CAAC;IASlG,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,GAAG,iBAAiB,CAAC;IAS/F,IAAI,CAAC,UAAU,EAAE,4BAA4B,GAAG,0BAA0B,EAAE,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAWnH,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC;CACnG"}
|
|
@@ -12,8 +12,8 @@ export declare class Ed25519PrivateKey {
|
|
|
12
12
|
#private;
|
|
13
13
|
readonly __type: Ed25519PrivateKeyType;
|
|
14
14
|
private constructor();
|
|
15
|
-
toPublic():
|
|
16
|
-
sign(message: HexBlob):
|
|
15
|
+
toPublic(): Ed25519PublicKey;
|
|
16
|
+
sign(message: HexBlob): Ed25519Signature;
|
|
17
17
|
static fromNormalBytes(keyMaterial: Uint8Array): Ed25519PrivateKey;
|
|
18
18
|
static fromExtendedBytes(keyMaterial: Uint8Array): Ed25519PrivateKey;
|
|
19
19
|
static fromNormalHex(keyMaterial: Ed25519PrivateNormalKeyHex): Ed25519PrivateKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/Ed25519e/Ed25519PrivateKey.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAwB,MAAM,mBAAmB,CAAC;AAQlE,eAAO,MAAM,iCAAiC,KAAK,CAAC;AACpD,eAAO,MAAM,mCAAmC,KAAK,CAAC;AA2CtD,oBAAY,qBAAqB;IAC/B,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAGD,qBAAa,iBAAiB;;IAE5B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAQvC,OAAO;
|
|
1
|
+
{"version":3,"file":"Ed25519PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/Ed25519e/Ed25519PrivateKey.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAwB,MAAM,mBAAmB,CAAC;AAQlE,eAAO,MAAM,iCAAiC,KAAK,CAAC;AACpD,eAAO,MAAM,mCAAmC,KAAK,CAAC;AA2CtD,oBAAY,qBAAqB;IAC/B,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAGD,qBAAa,iBAAiB;;IAE5B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAQvC,OAAO;IAYP,QAAQ,IAAI,gBAAgB;IAgB5B,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB;IAgBxC,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,GAAG,iBAAiB;IAelE,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,iBAAiB;IAcpE,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,0BAA0B,GAAG,iBAAiB;IAShF,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,4BAA4B,GAAG,iBAAiB;IAKpF,KAAK,IAAI,UAAU;IAKnB,GAAG,IAAI,0BAA0B,GAAG,4BAA4B;CAKjE"}
|
|
@@ -46,17 +46,15 @@ export class Ed25519PrivateKey {
|
|
|
46
46
|
__classPrivateFieldSet(this, _Ed25519PrivateKey_keyMaterial, keyMaterial, "f");
|
|
47
47
|
this.__type = type;
|
|
48
48
|
}
|
|
49
|
-
|
|
50
|
-
await sodium.ready;
|
|
49
|
+
toPublic() {
|
|
51
50
|
return Ed25519PublicKey.fromBytes(this.__type === Ed25519PrivateKeyType.Extended
|
|
52
51
|
? sodium.crypto_scalarmult_ed25519_base_noclamp(extendedScalar(__classPrivateFieldGet(this, _Ed25519PrivateKey_keyMaterial, "f")))
|
|
53
52
|
: sodium.crypto_sign_seed_keypair(__classPrivateFieldGet(this, _Ed25519PrivateKey_keyMaterial, "f")).publicKey);
|
|
54
53
|
}
|
|
55
|
-
|
|
56
|
-
await sodium.ready;
|
|
54
|
+
sign(message) {
|
|
57
55
|
return Ed25519Signature.fromBytes(this.__type === Ed25519PrivateKeyType.Extended
|
|
58
56
|
? signExtendedDetached(__classPrivateFieldGet(this, _Ed25519PrivateKey_keyMaterial, "f"), Buffer.from(message, 'hex'))
|
|
59
|
-
: sodium.crypto_sign_detached(Buffer.from(message, 'hex'), Buffer.concat([__classPrivateFieldGet(this, _Ed25519PrivateKey_keyMaterial, "f"),
|
|
57
|
+
: sodium.crypto_sign_detached(Buffer.from(message, 'hex'), Buffer.concat([__classPrivateFieldGet(this, _Ed25519PrivateKey_keyMaterial, "f"), this.toPublic().bytes()])));
|
|
60
58
|
}
|
|
61
59
|
static fromNormalBytes(keyMaterial) {
|
|
62
60
|
if (keyMaterial.length !== NORMAL_ED25519_PRIVATE_KEY_LENGTH)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519PrivateKey.js","sourceRoot":"","sources":["../../../src/Ed25519e/Ed25519PrivateKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAW,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAE7C,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,OAAO,GAAG,EAAE,CAAC;AAEnB,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AACpD,MAAM,CAAC,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAQtD,MAAM,cAAc,GAAG,CAAC,WAAuB,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAQjG,MAAM,UAAU,GAAG,CAAC,WAAuB,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC;AAQhG,MAAM,oBAAoB,GAAG,CAAC,WAAuB,EAAE,OAAmB,EAAE,EAAE;IAC5E,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,sCAAsC,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,MAAM,CAAC,iCAAiC,CACpD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAC7E,CAAC;IAEF,MAAM,CAAC,GAAG,MAAM,CAAC,sCAAsC,CAAC,KAAK,CAAC,CAAC;IAE/D,IAAI,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7E,IAAI,GAAG,MAAM,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;KAClG,CAAC,CAAC;AACL,CAAC,CAAC;AAGF,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,0CAAiB,CAAA;IACjB,8CAAqB,CAAA;AACvB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC;AAGD,MAAM,OAAO,iBAAiB;IAU5B,YAAoB,WAAuB,EAAE,IAA2B;QATxE,iDAAkC;QAUhC,uBAAA,IAAI,kCAAgB,WAAW,MAAA,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"Ed25519PrivateKey.js","sourceRoot":"","sources":["../../../src/Ed25519e/Ed25519PrivateKey.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,10 @@ export declare const ED25519_PUBLIC_KEY_LENGTH = 32;
|
|
|
6
6
|
export declare class Ed25519PublicKey {
|
|
7
7
|
#private;
|
|
8
8
|
constructor(keyMaterial: Uint8Array);
|
|
9
|
-
verify(signature: Ed25519Signature, message: HexBlob):
|
|
9
|
+
verify(signature: Ed25519Signature, message: HexBlob): boolean;
|
|
10
10
|
static fromBytes(keyMaterial: Uint8Array): Ed25519PublicKey;
|
|
11
11
|
static fromHex(keyMaterial: Ed25519PublicKeyHex): Ed25519PublicKey;
|
|
12
|
-
hash():
|
|
12
|
+
hash(): Ed25519KeyHash;
|
|
13
13
|
bytes(): Uint8Array;
|
|
14
14
|
hex(): Ed25519PublicKeyHex;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519PublicKey.d.ts","sourceRoot":"","sources":["../../../src/Ed25519e/Ed25519PublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAwB,MAAM,mBAAmB,CAAC;AAGlE,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAM5C,qBAAa,gBAAgB;;gBAQf,WAAW,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"Ed25519PublicKey.d.ts","sourceRoot":"","sources":["../../../src/Ed25519e/Ed25519PublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAwB,MAAM,mBAAmB,CAAC;AAGlE,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAM5C,qBAAa,gBAAgB;;gBAQf,WAAW,EAAE,UAAU;IAcnC,MAAM,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAS9D,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU;IAcxC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,mBAAmB;IAK/C,IAAI,IAAI,cAAc;IAMtB,KAAK,IAAI,UAAU;IAKnB,GAAG,IAAI,mBAAmB;CAG3B"}
|
|
@@ -20,8 +20,7 @@ export class Ed25519PublicKey {
|
|
|
20
20
|
_Ed25519PublicKey_keyMaterial.set(this, void 0);
|
|
21
21
|
__classPrivateFieldSet(this, _Ed25519PublicKey_keyMaterial, keyMaterial, "f");
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
await sodium.ready;
|
|
23
|
+
verify(signature, message) {
|
|
25
24
|
return sodium.crypto_sign_verify_detached(signature.bytes(), Buffer.from(message, 'hex'), __classPrivateFieldGet(this, _Ed25519PublicKey_keyMaterial, "f"));
|
|
26
25
|
}
|
|
27
26
|
static fromBytes(keyMaterial) {
|
|
@@ -32,8 +31,7 @@ export class Ed25519PublicKey {
|
|
|
32
31
|
static fromHex(keyMaterial) {
|
|
33
32
|
return Ed25519PublicKey.fromBytes(Buffer.from(keyMaterial, 'hex'));
|
|
34
33
|
}
|
|
35
|
-
|
|
36
|
-
await sodium.ready;
|
|
34
|
+
hash() {
|
|
37
35
|
const hash = sodium.crypto_generichash(ED25519_PUBLIC_KEY_HASH_LENGTH, __classPrivateFieldGet(this, _Ed25519PublicKey_keyMaterial, "f"));
|
|
38
36
|
return Ed25519KeyHash.fromBytes(hash);
|
|
39
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519PublicKey.js","sourceRoot":"","sources":["../../../src/Ed25519e/Ed25519PublicKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,8BAA8B,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAW,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAE7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAM5C,MAAM,OAAO,gBAAgB;IAQ3B,YAAY,WAAuB;QAPnC,gDAAkC;QAQhC,uBAAA,IAAI,iCAAgB,WAAW,MAAA,CAAC;IAClC,CAAC;
|
|
1
|
+
{"version":3,"file":"Ed25519PublicKey.js","sourceRoot":"","sources":["../../../src/Ed25519e/Ed25519PublicKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,8BAA8B,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAW,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAE7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAM5C,MAAM,OAAO,gBAAgB;IAQ3B,YAAY,WAAuB;QAPnC,gDAAkC;QAQhC,uBAAA,IAAI,iCAAgB,WAAW,MAAA,CAAC;IAClC,CAAC;IAYD,MAAM,CAAC,SAA2B,EAAE,OAAgB;QAClD,OAAO,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,uBAAA,IAAI,qCAAa,CAAC,CAAC;IAC/G,CAAC;IAOD,MAAM,CAAC,SAAS,CAAC,WAAuB;QACtC,IAAI,WAAW,CAAC,MAAM,KAAK,yBAAyB;YAClD,MAAM,IAAI,oBAAoB,CAC5B,aAAa,EACb,iBAAiB,yBAAyB,mBAAmB,WAAW,CAAC,MAAM,uBAAuB,CACvG,CAAC;QACJ,OAAO,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAOD,MAAM,CAAC,OAAO,CAAC,WAAgC;QAC7C,OAAO,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;IAGD,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,8BAA8B,EAAE,uBAAA,IAAI,qCAAa,CAAC,CAAC;QAC1F,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAGD,KAAK;QACH,OAAO,uBAAA,IAAI,qCAAa,CAAC;IAC3B,CAAC;IAGD,GAAG;QACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAA,IAAI,qCAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;CACF"}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AAGxB,eAAO,MAAM,KAAK,QAAa,QAAQ,IAAI,CAAuB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import blake2b from 'blake2b';
|
|
2
|
+
import sodium from 'libsodium-wrappers-sumo';
|
|
2
3
|
export { blake2b };
|
|
3
4
|
export * from './Bip32/index.js';
|
|
4
5
|
export * from './Bip32Ed25519.js';
|
|
@@ -6,4 +7,5 @@ export * from './Ed25519e/index.js';
|
|
|
6
7
|
export * from './strategies/index.js';
|
|
7
8
|
export * from './hexTypes.js';
|
|
8
9
|
export * from './types.js';
|
|
10
|
+
export const ready = async () => await sodium.ready;
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AAGxB,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC"}
|
|
@@ -9,14 +9,14 @@ export declare class CmlBip32Ed25519 implements Bip32Ed25519 {
|
|
|
9
9
|
#private;
|
|
10
10
|
constructor(CML: CardanoMultiplatformLib);
|
|
11
11
|
fromBip39Entropy(entropy: Buffer, passphrase: string): Bip32PrivateKeyHex;
|
|
12
|
-
getPublicKey(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex):
|
|
13
|
-
getPubKeyHash(publicKey: Ed25519PublicKeyHex):
|
|
14
|
-
getRawPrivateKey(bip32PrivateKey: Bip32PrivateKeyHex):
|
|
15
|
-
getRawPublicKey(bip32PublicKey: Bip32PublicKeyHex):
|
|
16
|
-
getBip32PublicKey(privateKey: Bip32PrivateKeyHex):
|
|
17
|
-
derivePrivateKey(parentKey: Bip32PrivateKeyHex, derivationIndices: BIP32Path):
|
|
18
|
-
derivePublicKey(parentKey: Bip32PublicKeyHex, derivationIndices: BIP32Path):
|
|
19
|
-
sign(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex, message: HexBlob):
|
|
20
|
-
verify(signature: Ed25519SignatureHex, message: HexBlob, publicKey: Ed25519PublicKeyHex):
|
|
12
|
+
getPublicKey(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex): Ed25519PublicKeyHex;
|
|
13
|
+
getPubKeyHash(publicKey: Ed25519PublicKeyHex): Ed25519KeyHashHex;
|
|
14
|
+
getRawPrivateKey(bip32PrivateKey: Bip32PrivateKeyHex): Ed25519PrivateExtendedKeyHex;
|
|
15
|
+
getRawPublicKey(bip32PublicKey: Bip32PublicKeyHex): Ed25519PublicKeyHex;
|
|
16
|
+
getBip32PublicKey(privateKey: Bip32PrivateKeyHex): Bip32PublicKeyHex;
|
|
17
|
+
derivePrivateKey(parentKey: Bip32PrivateKeyHex, derivationIndices: BIP32Path): Bip32PrivateKeyHex;
|
|
18
|
+
derivePublicKey(parentKey: Bip32PublicKeyHex, derivationIndices: BIP32Path): Bip32PublicKeyHex;
|
|
19
|
+
sign(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex, message: HexBlob): Ed25519SignatureHex;
|
|
20
|
+
verify(signature: Ed25519SignatureHex, message: HexBlob, publicKey: Ed25519PublicKeyHex): boolean;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=CmlBip32Ed25519.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmlBip32Ed25519.d.ts","sourceRoot":"","sources":["../../../src/strategies/CmlBip32Ed25519.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAC;AAI3D,qBAAa,eAAgB,YAAW,YAAY;;gBAGtC,GAAG,EAAE,uBAAuB;IAIjC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB;IASzE,YAAY,
|
|
1
|
+
{"version":3,"file":"CmlBip32Ed25519.d.ts","sourceRoot":"","sources":["../../../src/strategies/CmlBip32Ed25519.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAC;AAI3D,qBAAa,eAAgB,YAAW,YAAY;;gBAGtC,GAAG,EAAE,uBAAuB;IAIjC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB;IASzE,YAAY,CAAC,UAAU,EAAE,4BAA4B,GAAG,0BAA0B,GAAG,mBAAmB;IAaxG,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,iBAAiB;IAShE,gBAAgB,CAAC,eAAe,EAAE,kBAAkB,GAAG,4BAA4B;IAQnF,eAAe,CAAC,cAAc,EAAE,iBAAiB,GAAG,mBAAmB;IAQvE,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,GAAG,iBAAiB;IAQpE,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,SAAS,GAAG,kBAAkB;IAYjG,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,GAAG,iBAAiB;IAY9F,IAAI,CACT,UAAU,EAAE,4BAA4B,GAAG,0BAA0B,EACrE,OAAO,EAAE,OAAO,GACf,mBAAmB;IAWf,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,GAAG,OAAO;CAOzG"}
|
|
@@ -31,35 +31,35 @@ export class CmlBip32Ed25519 {
|
|
|
31
31
|
? scope.manage(__classPrivateFieldGet(this, _CmlBip32Ed25519_CML, "f").PrivateKey.from_extended_bytes(Buffer.from(privateKey, 'hex')))
|
|
32
32
|
: scope.manage(__classPrivateFieldGet(this, _CmlBip32Ed25519_CML, "f").PrivateKey.from_normal_bytes(Buffer.from(privateKey, 'hex')));
|
|
33
33
|
const pubKeyBytes = scope.manage(cmlPrivateKey.to_public()).as_bytes();
|
|
34
|
-
return
|
|
34
|
+
return Ed25519PublicKeyHex(Buffer.from(pubKeyBytes).toString('hex'));
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
getPubKeyHash(publicKey) {
|
|
38
38
|
return usingAutoFree((scope) => {
|
|
39
39
|
const cmlPubKey = scope.manage(__classPrivateFieldGet(this, _CmlBip32Ed25519_CML, "f").PublicKey.from_bytes(Buffer.from(publicKey, 'hex')));
|
|
40
40
|
const keyHash = scope.manage(cmlPubKey.hash()).to_bytes();
|
|
41
|
-
return
|
|
41
|
+
return Ed25519KeyHashHex(Buffer.from(keyHash).toString('hex'));
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
getRawPrivateKey(bip32PrivateKey) {
|
|
45
45
|
return usingAutoFree((scope) => {
|
|
46
46
|
const cmlPrivateKey = scope.manage(__classPrivateFieldGet(this, _CmlBip32Ed25519_CML, "f").Bip32PrivateKey.from_bytes(Buffer.from(bip32PrivateKey, 'hex')));
|
|
47
47
|
const bytes = scope.manage(cmlPrivateKey.to_raw_key()).as_bytes();
|
|
48
|
-
return
|
|
48
|
+
return Ed25519PrivateExtendedKeyHex(Buffer.from(bytes).toString('hex'));
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
getRawPublicKey(bip32PublicKey) {
|
|
52
52
|
return usingAutoFree((scope) => {
|
|
53
53
|
const cmlPublicKey = scope.manage(__classPrivateFieldGet(this, _CmlBip32Ed25519_CML, "f").Bip32PublicKey.from_bytes(Buffer.from(bip32PublicKey, 'hex')));
|
|
54
54
|
const bytes = scope.manage(cmlPublicKey.to_raw_key()).as_bytes();
|
|
55
|
-
return
|
|
55
|
+
return Ed25519PublicKeyHex(Buffer.from(bytes).toString('hex'));
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
getBip32PublicKey(privateKey) {
|
|
59
59
|
return usingAutoFree((scope) => {
|
|
60
60
|
const cmlPrivateKey = scope.manage(__classPrivateFieldGet(this, _CmlBip32Ed25519_CML, "f").Bip32PrivateKey.from_bytes(Buffer.from(privateKey, 'hex')));
|
|
61
61
|
const pubKeyBytes = scope.manage(cmlPrivateKey.to_public()).as_bytes();
|
|
62
|
-
return
|
|
62
|
+
return Bip32PublicKeyHex(Buffer.from(pubKeyBytes).toString('hex'));
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
derivePrivateKey(parentKey, derivationIndices) {
|
|
@@ -68,7 +68,7 @@ export class CmlBip32Ed25519 {
|
|
|
68
68
|
for (const index of derivationIndices) {
|
|
69
69
|
cmlKey = scope.manage(cmlKey.derive(index));
|
|
70
70
|
}
|
|
71
|
-
return
|
|
71
|
+
return Bip32PrivateKeyHex(Buffer.from(cmlKey.as_bytes()).toString('hex'));
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
derivePublicKey(parentKey, derivationIndices) {
|
|
@@ -77,23 +77,23 @@ export class CmlBip32Ed25519 {
|
|
|
77
77
|
for (const index of derivationIndices) {
|
|
78
78
|
cmlKey = scope.manage(cmlKey.derive(index));
|
|
79
79
|
}
|
|
80
|
-
return
|
|
80
|
+
return Bip32PublicKeyHex(Buffer.from(cmlKey.as_bytes()).toString('hex'));
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
|
-
|
|
83
|
+
sign(privateKey, message) {
|
|
84
84
|
return usingAutoFree((scope) => {
|
|
85
85
|
const cmlPrivateKey = privateKey.length === EXTENDED_KEY_HEX_LENGTH
|
|
86
86
|
? scope.manage(__classPrivateFieldGet(this, _CmlBip32Ed25519_CML, "f").PrivateKey.from_extended_bytes(Buffer.from(privateKey, 'hex')))
|
|
87
87
|
: scope.manage(__classPrivateFieldGet(this, _CmlBip32Ed25519_CML, "f").PrivateKey.from_normal_bytes(Buffer.from(privateKey, 'hex')));
|
|
88
88
|
const signature = scope.manage(cmlPrivateKey.sign(Buffer.from(message, 'hex'))).to_bytes();
|
|
89
|
-
return
|
|
89
|
+
return Ed25519SignatureHex(Buffer.from(signature).toString('hex'));
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
verify(signature, message, publicKey) {
|
|
93
93
|
return usingAutoFree((scope) => {
|
|
94
94
|
const cmlKey = scope.manage(__classPrivateFieldGet(this, _CmlBip32Ed25519_CML, "f").PublicKey.from_bytes(Buffer.from(publicKey, 'hex')));
|
|
95
95
|
const cmlSignature = scope.manage(__classPrivateFieldGet(this, _CmlBip32Ed25519_CML, "f").Ed25519Signature.from_bytes(Buffer.from(signature, 'hex')));
|
|
96
|
-
return
|
|
96
|
+
return cmlKey.verify(Buffer.from(message, 'hex'), cmlSignature);
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmlBip32Ed25519.js","sourceRoot":"","sources":["../../../src/strategies/CmlBip32Ed25519.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAE5B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAW,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAM,OAAO,eAAe;IAG1B,YAAY,GAA4B;QAFxC,uCAA8B;QAG5B,uBAAA,IAAI,wBAAQ,GAAG,MAAA,CAAC;IAClB,CAAC;IAEM,gBAAgB,CAAC,OAAe,EAAE,UAAkB;QACzD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,uBAAA,IAAI,4BAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5G,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,OAAO,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,YAAY,
|
|
1
|
+
{"version":3,"file":"CmlBip32Ed25519.js","sourceRoot":"","sources":["../../../src/strategies/CmlBip32Ed25519.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,17 @@ import { Bip32Ed25519 } from '../Bip32Ed25519.js';
|
|
|
5
5
|
import { Bip32PrivateKeyHex, Bip32PublicKeyHex, Ed25519KeyHashHex, Ed25519PrivateExtendedKeyHex, Ed25519PrivateNormalKeyHex, Ed25519PublicKeyHex, Ed25519SignatureHex } from '../hexTypes.js';
|
|
6
6
|
import { HexBlob } from '@cardano-sdk/util';
|
|
7
7
|
export declare class SodiumBip32Ed25519 implements Bip32Ed25519 {
|
|
8
|
+
private constructor();
|
|
9
|
+
static create(): Promise<SodiumBip32Ed25519>;
|
|
8
10
|
fromBip39Entropy(entropy: Buffer, passphrase: string): Bip32PrivateKeyHex;
|
|
9
|
-
getPublicKey(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex):
|
|
10
|
-
getPubKeyHash(publicKey: Ed25519PublicKeyHex):
|
|
11
|
-
getRawPrivateKey(bip32PrivateKey: Bip32PrivateKeyHex):
|
|
12
|
-
getRawPublicKey(bip32PublicKey: Bip32PublicKeyHex):
|
|
13
|
-
getBip32PublicKey(privateKey: Bip32PrivateKeyHex):
|
|
14
|
-
derivePrivateKey(parentKey: Bip32PrivateKeyHex, derivationIndices: BIP32Path):
|
|
15
|
-
derivePublicKey(parentKey: Bip32PublicKeyHex, derivationIndices: BIP32Path):
|
|
16
|
-
sign(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex, message: HexBlob):
|
|
17
|
-
verify(signature: Ed25519SignatureHex, message: HexBlob, publicKey: Ed25519PublicKeyHex):
|
|
11
|
+
getPublicKey(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex): Ed25519PublicKeyHex;
|
|
12
|
+
getPubKeyHash(publicKey: Ed25519PublicKeyHex): Ed25519KeyHashHex;
|
|
13
|
+
getRawPrivateKey(bip32PrivateKey: Bip32PrivateKeyHex): Ed25519PrivateExtendedKeyHex;
|
|
14
|
+
getRawPublicKey(bip32PublicKey: Bip32PublicKeyHex): Ed25519PublicKeyHex;
|
|
15
|
+
getBip32PublicKey(privateKey: Bip32PrivateKeyHex): Bip32PublicKeyHex;
|
|
16
|
+
derivePrivateKey(parentKey: Bip32PrivateKeyHex, derivationIndices: BIP32Path): Bip32PrivateKeyHex;
|
|
17
|
+
derivePublicKey(parentKey: Bip32PublicKeyHex, derivationIndices: BIP32Path): Bip32PublicKeyHex;
|
|
18
|
+
sign(privateKey: Ed25519PrivateExtendedKeyHex | Ed25519PrivateNormalKeyHex, message: HexBlob): Ed25519SignatureHex;
|
|
19
|
+
verify(signature: Ed25519SignatureHex, message: HexBlob, publicKey: Ed25519PublicKeyHex): boolean;
|
|
18
20
|
}
|
|
19
21
|
//# sourceMappingURL=SodiumBip32Ed25519.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SodiumBip32Ed25519.d.ts","sourceRoot":"","sources":["../../../src/strategies/SodiumBip32Ed25519.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"SodiumBip32Ed25519.d.ts","sourceRoot":"","sources":["../../../src/strategies/SodiumBip32Ed25519.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,qBAAa,kBAAmB,YAAW,YAAY;IAErD,OAAO;WAIa,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAKlD,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB;IAIzE,YAAY,CAAC,UAAU,EAAE,4BAA4B,GAAG,0BAA0B,GAAG,mBAAmB;IASxG,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,iBAAiB;IAMhE,gBAAgB,CAAC,eAAe,EAAE,kBAAkB,GAAG,4BAA4B;IAInF,eAAe,CAAC,cAAc,EAAE,iBAAiB,GAAG,mBAAmB;IAKvE,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,GAAG,iBAAiB;IAKpE,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,SAAS,GAAG,kBAAkB;IAKjG,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,GAAG,iBAAiB;IAK9F,IAAI,CACT,UAAU,EAAE,4BAA4B,GAAG,0BAA0B,EACrE,OAAO,EAAE,OAAO,GACf,mBAAmB;IASf,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,GAAG,OAAO;CAKzG"}
|
|
@@ -1,48 +1,55 @@
|
|
|
1
1
|
import { Bip32PrivateKey, Bip32PublicKey } from '../Bip32/index.js';
|
|
2
2
|
import { Ed25519PrivateKey, Ed25519PublicKey, Ed25519Signature } from '../Ed25519e/index.js';
|
|
3
|
+
import sodium from 'libsodium-wrappers-sumo';
|
|
3
4
|
const EXTENDED_KEY_HEX_LENGTH = 128;
|
|
4
5
|
export class SodiumBip32Ed25519 {
|
|
6
|
+
constructor() {
|
|
7
|
+
}
|
|
8
|
+
static async create() {
|
|
9
|
+
await sodium.ready;
|
|
10
|
+
return Promise.resolve(new SodiumBip32Ed25519());
|
|
11
|
+
}
|
|
5
12
|
fromBip39Entropy(entropy, passphrase) {
|
|
6
13
|
return Bip32PrivateKey.fromBip39Entropy(entropy, passphrase).hex();
|
|
7
14
|
}
|
|
8
|
-
|
|
15
|
+
getPublicKey(privateKey) {
|
|
9
16
|
const key = privateKey.length === EXTENDED_KEY_HEX_LENGTH
|
|
10
17
|
? Ed25519PrivateKey.fromExtendedHex(privateKey)
|
|
11
18
|
: Ed25519PrivateKey.fromNormalHex(privateKey);
|
|
12
|
-
return
|
|
19
|
+
return key.toPublic().hex();
|
|
13
20
|
}
|
|
14
|
-
|
|
15
|
-
const pubKey =
|
|
16
|
-
return
|
|
21
|
+
getPubKeyHash(publicKey) {
|
|
22
|
+
const pubKey = Ed25519PublicKey.fromHex(publicKey);
|
|
23
|
+
return pubKey.hash().hex();
|
|
17
24
|
}
|
|
18
|
-
|
|
19
|
-
return
|
|
25
|
+
getRawPrivateKey(bip32PrivateKey) {
|
|
26
|
+
return Bip32PrivateKey.fromHex(bip32PrivateKey).toRawKey().hex();
|
|
20
27
|
}
|
|
21
|
-
|
|
22
|
-
const pubKey =
|
|
23
|
-
return
|
|
28
|
+
getRawPublicKey(bip32PublicKey) {
|
|
29
|
+
const pubKey = Bip32PublicKey.fromHex(bip32PublicKey);
|
|
30
|
+
return pubKey.toRawKey().hex();
|
|
24
31
|
}
|
|
25
|
-
|
|
26
|
-
const privKey =
|
|
27
|
-
return
|
|
32
|
+
getBip32PublicKey(privateKey) {
|
|
33
|
+
const privKey = Bip32PrivateKey.fromHex(privateKey);
|
|
34
|
+
return privKey.toPublic().hex();
|
|
28
35
|
}
|
|
29
|
-
|
|
30
|
-
const privKey =
|
|
31
|
-
return
|
|
36
|
+
derivePrivateKey(parentKey, derivationIndices) {
|
|
37
|
+
const privKey = Bip32PrivateKey.fromHex(parentKey);
|
|
38
|
+
return privKey.derive(derivationIndices).hex();
|
|
32
39
|
}
|
|
33
|
-
|
|
34
|
-
const pubKey =
|
|
35
|
-
return
|
|
40
|
+
derivePublicKey(parentKey, derivationIndices) {
|
|
41
|
+
const pubKey = Bip32PublicKey.fromHex(parentKey);
|
|
42
|
+
return pubKey.derive(derivationIndices).hex();
|
|
36
43
|
}
|
|
37
|
-
|
|
44
|
+
sign(privateKey, message) {
|
|
38
45
|
const key = privateKey.length === EXTENDED_KEY_HEX_LENGTH
|
|
39
46
|
? Ed25519PrivateKey.fromExtendedHex(privateKey)
|
|
40
47
|
: Ed25519PrivateKey.fromNormalHex(privateKey);
|
|
41
|
-
return
|
|
48
|
+
return key.sign(message).hex();
|
|
42
49
|
}
|
|
43
|
-
|
|
44
|
-
const key =
|
|
45
|
-
return
|
|
50
|
+
verify(signature, message, publicKey) {
|
|
51
|
+
const key = Ed25519PublicKey.fromHex(publicKey);
|
|
52
|
+
return key.verify(Ed25519Signature.fromHex(signature), message);
|
|
46
53
|
}
|
|
47
54
|
}
|
|
48
55
|
//# sourceMappingURL=SodiumBip32Ed25519.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SodiumBip32Ed25519.js","sourceRoot":"","sources":["../../../src/strategies/SodiumBip32Ed25519.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAU3D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"SodiumBip32Ed25519.js","sourceRoot":"","sources":["../../../src/strategies/SodiumBip32Ed25519.ts"],"names":[],"mappings":"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"}
|