@shapeshiftoss/hdwallet-native 1.18.4 → 1.20.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/adapter.d.ts +2 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js.map +1 -1
- package/dist/binance.d.ts +1 -1
- package/dist/binance.d.ts.map +1 -1
- package/dist/binance.js +9 -4
- package/dist/binance.js.map +1 -1
- package/dist/binance.test.js +2 -32
- package/dist/binance.test.js.map +1 -1
- package/dist/bitcoin.d.ts +2 -2
- package/dist/bitcoin.d.ts.map +1 -1
- package/dist/bitcoin.js +14 -5
- package/dist/bitcoin.js.map +1 -1
- package/dist/bitcoin.test.js +6 -4
- package/dist/bitcoin.test.js.map +1 -1
- package/dist/cosmos.d.ts +1 -1
- package/dist/cosmos.d.ts.map +1 -1
- package/dist/cosmos.js +10 -5
- package/dist/cosmos.js.map +1 -1
- package/dist/cosmos.test.js +26 -8
- package/dist/cosmos.test.js.map +1 -1
- package/dist/crypto/CryptoHelper.d.ts.map +1 -1
- package/dist/crypto/CryptoHelper.js.map +1 -1
- package/dist/crypto/CryptoHelper.test.js +9 -11
- package/dist/crypto/CryptoHelper.test.js.map +1 -1
- package/dist/crypto/EncryptedWallet.d.ts +5 -5
- package/dist/crypto/EncryptedWallet.d.ts.map +1 -1
- package/dist/crypto/EncryptedWallet.js +9 -9
- package/dist/crypto/EncryptedWallet.js.map +1 -1
- package/dist/crypto/EncryptedWallet.test.js +1 -4
- package/dist/crypto/EncryptedWallet.test.js.map +1 -1
- package/dist/crypto/classes/cipherString.js.map +1 -1
- package/dist/crypto/classes/cipherString.test.js.map +1 -1
- package/dist/crypto/classes/encryptedObject.d.ts +1 -1
- package/dist/crypto/classes/encryptedObject.d.ts.map +1 -1
- package/dist/crypto/classes/encryptedObject.js +1 -1
- package/dist/crypto/classes/encryptedObject.js.map +1 -1
- package/dist/crypto/classes/encryptionType.d.ts.map +1 -1
- package/dist/crypto/classes/encryptionType.js +0 -1
- package/dist/crypto/classes/encryptionType.js.map +1 -1
- package/dist/crypto/classes/symmetricCryptoKey.test.js +0 -2
- package/dist/crypto/classes/symmetricCryptoKey.test.js.map +1 -1
- package/dist/crypto/engines/web-crypto.d.ts.map +1 -1
- package/dist/crypto/engines/web-crypto.js.map +1 -1
- package/dist/crypto/engines/web-crypto.test.js +1 -2
- package/dist/crypto/engines/web-crypto.test.js.map +1 -1
- package/dist/crypto/isolation/adapters/binance.d.ts +1 -1
- package/dist/crypto/isolation/adapters/binance.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/binance.js +22 -3
- package/dist/crypto/isolation/adapters/binance.js.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.d.ts +4 -4
- package/dist/crypto/isolation/adapters/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.js +12 -7
- package/dist/crypto/isolation/adapters/bip32.js.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.d.ts +2 -2
- package/dist/crypto/isolation/adapters/bitcoin.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.js +35 -5
- package/dist/crypto/isolation/adapters/bitcoin.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmos.d.ts +4 -3
- package/dist/crypto/isolation/adapters/cosmos.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/cosmos.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmosDirect.d.ts +14 -0
- package/dist/crypto/isolation/adapters/cosmosDirect.d.ts.map +1 -0
- package/dist/crypto/isolation/adapters/cosmosDirect.js +80 -0
- package/dist/crypto/isolation/adapters/cosmosDirect.js.map +1 -0
- package/dist/crypto/isolation/adapters/ethereum.d.ts +3 -3
- package/dist/crypto/isolation/adapters/ethereum.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/ethereum.js +5 -1
- package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
- package/dist/crypto/isolation/adapters/fio.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/fio.js +5 -1
- package/dist/crypto/isolation/adapters/fio.js.map +1 -1
- package/dist/crypto/isolation/adapters/index.d.ts +1 -0
- package/dist/crypto/isolation/adapters/index.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/index.js +3 -1
- package/dist/crypto/isolation/adapters/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.d.ts +4 -2
- package/dist/crypto/isolation/core/bip32/index.d.ts.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.js +2 -2
- package/dist/crypto/isolation/core/bip32/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/interfaces.d.ts +3 -3
- package/dist/crypto/isolation/core/bip32/interfaces.d.ts.map +1 -1
- package/dist/crypto/isolation/core/bip32/interfaces.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/bip32/types.js.map +1 -1
- package/dist/crypto/isolation/core/bip39/interfaces.d.ts.map +1 -1
- package/dist/crypto/isolation/core/digest/algorithms.d.ts +1 -1
- package/dist/crypto/isolation/core/digest/algorithms.d.ts.map +1 -1
- package/dist/crypto/isolation/core/digest/algorithms.js +10 -7
- package/dist/crypto/isolation/core/digest/algorithms.js.map +1 -1
- package/dist/crypto/isolation/core/digest/index.test.js +7 -2
- package/dist/crypto/isolation/core/digest/index.test.js.map +1 -1
- package/dist/crypto/isolation/core/digest/types.d.ts +16 -16
- package/dist/crypto/isolation/core/digest/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/digest/types.js +11 -11
- package/dist/crypto/isolation/core/digest/types.js.map +1 -1
- package/dist/crypto/isolation/core/index.d.ts.map +1 -1
- package/dist/crypto/isolation/core/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/interfaces.d.ts +3 -3
- package/dist/crypto/isolation/core/secp256k1/interfaces.d.ts.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/types.d.ts +62 -62
- package/dist/crypto/isolation/core/secp256k1/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/types.js +149 -91
- package/dist/crypto/isolation/core/secp256k1/types.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.d.ts +23 -33
- package/dist/crypto/isolation/engines/default/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.js +61 -56
- package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip39.d.ts +4 -4
- package/dist/crypto/isolation/engines/default/bip39.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/default/bip39.js +6 -7
- package/dist/crypto/isolation/engines/default/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/default/index.test.d.ts +2 -0
- package/dist/crypto/isolation/engines/default/index.test.d.ts.map +1 -0
- package/dist/crypto/isolation/engines/default/index.test.js +98 -0
- package/dist/crypto/isolation/engines/default/index.test.js.map +1 -0
- package/dist/crypto/isolation/engines/default/revocable.d.ts +2 -2
- package/dist/crypto/isolation/engines/default/revocable.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/default/revocable.js +26 -15
- package/dist/crypto/isolation/engines/default/revocable.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip32.d.ts +26 -0
- package/dist/crypto/isolation/engines/dummy/bip32.d.ts.map +1 -0
- package/dist/crypto/isolation/engines/dummy/bip32.js +136 -0
- package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -0
- package/dist/crypto/isolation/engines/dummy/bip39.d.ts +13 -0
- package/dist/crypto/isolation/engines/dummy/bip39.d.ts.map +1 -0
- package/dist/crypto/isolation/engines/dummy/bip39.js +101 -0
- package/dist/crypto/isolation/engines/dummy/bip39.js.map +1 -0
- package/dist/crypto/isolation/engines/dummy/index.d.ts +4 -0
- package/dist/crypto/isolation/engines/dummy/index.d.ts.map +1 -0
- package/dist/crypto/isolation/engines/dummy/index.js +27 -0
- package/dist/crypto/isolation/engines/dummy/index.js.map +1 -0
- package/dist/crypto/isolation/engines/dummy/index.test.d.ts +2 -0
- package/dist/crypto/isolation/engines/dummy/index.test.d.ts.map +1 -0
- package/dist/crypto/isolation/engines/dummy/index.test.js +111 -0
- package/dist/crypto/isolation/engines/dummy/index.test.js.map +1 -0
- package/dist/crypto/isolation/engines/dummy/types.d.ts +18 -0
- package/dist/crypto/isolation/engines/dummy/types.d.ts.map +1 -0
- package/dist/crypto/isolation/engines/dummy/types.js +10 -0
- package/dist/crypto/isolation/engines/dummy/types.js.map +1 -0
- package/dist/crypto/isolation/engines/index.d.ts +1 -0
- package/dist/crypto/isolation/engines/index.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/index.js +2 -1
- package/dist/crypto/isolation/engines/index.js.map +1 -1
- package/dist/crypto/isolation/types.d.ts +1 -1
- package/dist/crypto/isolation/types.d.ts.map +1 -1
- package/dist/crypto/isolation/types.js +22 -12
- package/dist/crypto/isolation/types.js.map +1 -1
- package/dist/ethereum.d.ts +2 -2
- package/dist/ethereum.d.ts.map +1 -1
- package/dist/ethereum.js +13 -4
- package/dist/ethereum.js.map +1 -1
- package/dist/ethereum.test.js +5 -6
- package/dist/ethereum.test.js.map +1 -1
- package/dist/fio.d.ts +2 -2
- package/dist/fio.d.ts.map +1 -1
- package/dist/fio.js +8 -1
- package/dist/fio.js.map +1 -1
- package/dist/fio.test.js +2 -2
- package/dist/fio.test.js.map +1 -1
- package/dist/kava.d.ts +2 -2
- package/dist/kava.d.ts.map +1 -1
- package/dist/kava.js +7 -1
- package/dist/kava.js.map +1 -1
- package/dist/kava.test.js.map +1 -1
- package/dist/native.d.ts +8 -11
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +20 -8
- package/dist/native.js.map +1 -1
- package/dist/native.test.js +0 -1
- package/dist/native.test.js.map +1 -1
- package/dist/networks.d.ts.map +1 -1
- package/dist/networks.js +13 -2
- package/dist/networks.js.map +1 -1
- package/dist/osmosis.d.ts +3 -3
- package/dist/osmosis.d.ts.map +1 -1
- package/dist/osmosis.js +9 -5
- package/dist/osmosis.js.map +1 -1
- package/dist/osmosis.test.js +26 -8
- package/dist/osmosis.test.js.map +1 -1
- package/dist/secret.d.ts +1 -1
- package/dist/secret.d.ts.map +1 -1
- package/dist/secret.js +7 -1
- package/dist/secret.js.map +1 -1
- package/dist/secret.test.js.map +1 -1
- package/dist/terra.d.ts +1 -1
- package/dist/terra.d.ts.map +1 -1
- package/dist/terra.js +7 -1
- package/dist/terra.js.map +1 -1
- package/dist/terra.test.js.map +1 -1
- package/dist/thorchain.d.ts +1 -1
- package/dist/thorchain.d.ts.map +1 -1
- package/dist/thorchain.js +7 -2
- package/dist/thorchain.js.map +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +1 -4
- package/dist/util.js.map +1 -1
- package/dist/util.test.js +1 -1
- package/dist/util.test.js.map +1 -1
- package/package.json +6 -3
|
@@ -61,57 +61,68 @@ Proxy handler invariants (per MDN):
|
|
|
61
61
|
If target is not extensible, the prototype parameter must be the same value as Object.getPrototypeOf(target).
|
|
62
62
|
*/
|
|
63
63
|
exports.revocable = _freeze((x, addRevoker) => {
|
|
64
|
-
const universalProxyHandler = (
|
|
64
|
+
const universalProxyHandler = (pseudoTarget) => new Proxy({}, {
|
|
65
|
+
get(_, p) {
|
|
65
66
|
return (_t, p2, r) => {
|
|
66
67
|
switch (p) {
|
|
67
68
|
case "get": {
|
|
68
|
-
const out = Reflect.get(
|
|
69
|
+
const out = Reflect.get(pseudoTarget, p2, r);
|
|
69
70
|
if (typeof out === "function")
|
|
70
71
|
return out.bind(x);
|
|
71
72
|
return out;
|
|
72
73
|
}
|
|
73
74
|
case "getOwnPropertyDescriptor": {
|
|
74
|
-
const out = Reflect.getOwnPropertyDescriptor(
|
|
75
|
+
const out = Reflect.getOwnPropertyDescriptor(pseudoTarget, p2);
|
|
75
76
|
if (out)
|
|
76
77
|
out.configurable = true;
|
|
77
78
|
return out;
|
|
78
79
|
}
|
|
79
|
-
case "isExtensible":
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
case "isExtensible":
|
|
81
|
+
return true;
|
|
82
|
+
case "preventExtensions":
|
|
83
|
+
return false;
|
|
84
|
+
default:
|
|
85
|
+
return Reflect[p](pseudoTarget, p2, r);
|
|
82
86
|
}
|
|
83
87
|
};
|
|
84
|
-
}
|
|
88
|
+
},
|
|
89
|
+
});
|
|
85
90
|
const { proxy, revoke } = _revocable({}, universalProxyHandler(x));
|
|
86
91
|
addRevoker(revoke);
|
|
87
92
|
return proxy;
|
|
88
93
|
});
|
|
89
94
|
exports.Revocable = _freeze((x) => {
|
|
90
95
|
var _Revocable_revokers, _Revocable_revoked, _a;
|
|
91
|
-
const out = _freeze((_a =
|
|
96
|
+
const out = _freeze((_a =
|
|
97
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
98
|
+
class Revocable extends x {
|
|
92
99
|
constructor() {
|
|
93
100
|
super(...arguments);
|
|
94
101
|
_Revocable_revokers.set(this, new _Set());
|
|
95
102
|
_Revocable_revoked.set(this, false);
|
|
96
103
|
this.revoke = () => {
|
|
97
104
|
__classPrivateFieldSet(this, _Revocable_revoked, true, "f");
|
|
98
|
-
__classPrivateFieldGet(this, _Revocable_revokers, "f").forEach(
|
|
105
|
+
__classPrivateFieldGet(this, _Revocable_revokers, "f").forEach((revoker) => {
|
|
99
106
|
try {
|
|
100
|
-
|
|
107
|
+
revoker();
|
|
108
|
+
}
|
|
109
|
+
catch (_a) {
|
|
110
|
+
// revoker errors get swallowed.
|
|
101
111
|
}
|
|
102
|
-
catch (_a) { }
|
|
103
112
|
});
|
|
104
113
|
__classPrivateFieldGet(this, _Revocable_revokers, "f").clear();
|
|
105
114
|
};
|
|
106
|
-
this.addRevoker = (
|
|
115
|
+
this.addRevoker = (revoker) => {
|
|
107
116
|
if (__classPrivateFieldGet(this, _Revocable_revoked, "f")) {
|
|
108
117
|
try {
|
|
109
|
-
|
|
118
|
+
revoker();
|
|
119
|
+
}
|
|
120
|
+
catch (_a) {
|
|
121
|
+
// revoker errors get swallowed.
|
|
110
122
|
}
|
|
111
|
-
catch (_a) { }
|
|
112
123
|
}
|
|
113
124
|
else {
|
|
114
|
-
__classPrivateFieldGet(this, _Revocable_revokers, "f").add(
|
|
125
|
+
__classPrivateFieldGet(this, _Revocable_revokers, "f").add(revoker);
|
|
115
126
|
}
|
|
116
127
|
};
|
|
117
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revocable.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/revocable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,MAAM,IAAI,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"revocable.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/revocable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BIP32, Digest, SecP256K1 } from "../../core";
|
|
2
|
+
import { ByteArray, Uint32 } from "../../types";
|
|
3
|
+
import { ParsedXpubTree } from "./types";
|
|
4
|
+
export * from "../../core/bip32";
|
|
5
|
+
export declare class Node implements BIP32.Node, SecP256K1.ECDSARecoverableKey, SecP256K1.ECDHKey {
|
|
6
|
+
readonly xpubTree: ParsedXpubTree;
|
|
7
|
+
protected constructor(xpubTree: ParsedXpubTree);
|
|
8
|
+
static create(xpubTree: ParsedXpubTree): Promise<BIP32.Node>;
|
|
9
|
+
getPublicKey(): Promise<SecP256K1.CompressedPoint>;
|
|
10
|
+
getChainCode(): Promise<BIP32.ChainCode>;
|
|
11
|
+
ecdsaSign(digestAlgorithm: null, msg: ByteArray<32>, counter?: Uint32): Promise<SecP256K1.Signature>;
|
|
12
|
+
ecdsaSign(digestAlgorithm: Digest.AlgorithmName<32>, msg: Uint8Array, counter?: Uint32): Promise<SecP256K1.Signature>;
|
|
13
|
+
ecdsaSignRecoverable(digestAlgorithm: null, msg: ByteArray<32>, counter?: Uint32): Promise<SecP256K1.RecoverableSignature>;
|
|
14
|
+
ecdsaSignRecoverable(digestAlgorithm: Digest.AlgorithmName<32>, msg: Uint8Array, counter?: Uint32): Promise<SecP256K1.RecoverableSignature>;
|
|
15
|
+
derive(index: Uint32): Promise<this>;
|
|
16
|
+
ecdh(publicKey: SecP256K1.CurvePoint, digestAlgorithm?: Digest.AlgorithmName<32>): Promise<ByteArray<32>>;
|
|
17
|
+
ecdhRaw(publicKey: SecP256K1.CurvePoint): Promise<SecP256K1.UncompressedPoint>;
|
|
18
|
+
}
|
|
19
|
+
export declare class Seed implements BIP32.Seed {
|
|
20
|
+
readonly xpubTree: ParsedXpubTree;
|
|
21
|
+
protected constructor(xpubTree: ParsedXpubTree);
|
|
22
|
+
static create(xpubTree: ParsedXpubTree): Promise<BIP32.Seed>;
|
|
23
|
+
toMasterKey(): Promise<BIP32.Node>;
|
|
24
|
+
toMasterKey(hmacKey: string | Uint8Array): never;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=bip32.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/bip32.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,SAAS,EAA6B,MAAM,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAoB,cAAc,EAAE,MAAM,SAAS,CAAC;AAE3D,cAAc,kBAAkB,CAAC;AAEjC,qBAAa,IAAK,YAAW,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,OAAO;IACvF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,SAAS,aAAa,QAAQ,EAAE,cAAc;WAIjC,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAI5D,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;IAIlD,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;IAIxC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;IACpG,SAAS,CACb,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EACzC,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;IAKzB,oBAAoB,CACxB,eAAe,EAAE,IAAI,EACrB,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC;IACpC,oBAAoB,CACxB,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EACzC,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC;IAKpC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCpC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAKzG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC;CAIrF;AAED,qBAAa,IAAK,YAAW,KAAK,CAAC,IAAI;IACrC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,SAAS,aAAa,QAAQ,EAAE,cAAc;WAIjC,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAIlE,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAClC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK;CAMjD"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
22
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
23
|
+
};
|
|
24
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
25
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
26
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
27
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
28
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
29
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
30
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
+
exports.Seed = exports.Node = void 0;
|
|
35
|
+
const hdwallet_core_1 = require("@shapeshiftoss/hdwallet-core");
|
|
36
|
+
const bip32crypto = __importStar(require("bip32/src/crypto"));
|
|
37
|
+
const tinyecc = __importStar(require("tiny-secp256k1"));
|
|
38
|
+
const core_1 = require("../../core");
|
|
39
|
+
const types_1 = require("../../types");
|
|
40
|
+
const types_2 = require("./types");
|
|
41
|
+
__exportStar(require("../../core/bip32"), exports);
|
|
42
|
+
class Node {
|
|
43
|
+
constructor(xpubTree) {
|
|
44
|
+
this.xpubTree = xpubTree;
|
|
45
|
+
}
|
|
46
|
+
static create(xpubTree) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
return new Node(xpubTree);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
getPublicKey() {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
return this.xpubTree.publicKey;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
getChainCode() {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
return this.xpubTree.chainCode;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
ecdsaSign() {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
throw new types_2.DummyEngineError();
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
ecdsaSignRecoverable() {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
throw new types_2.DummyEngineError();
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
derive(index) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
types_1.Uint32.assert(index);
|
|
74
|
+
const child = (() => {
|
|
75
|
+
const existingChild = this.xpubTree.children.get(index);
|
|
76
|
+
if (existingChild)
|
|
77
|
+
return existingChild;
|
|
78
|
+
if (index >= 0x80000000)
|
|
79
|
+
throw new types_2.DummyEngineError();
|
|
80
|
+
const serP = Buffer.alloc(37);
|
|
81
|
+
serP.set(this.xpubTree.publicKey, 0);
|
|
82
|
+
serP.writeUInt32BE(index, 33);
|
|
83
|
+
const I = bip32crypto.hmacSHA512(types_1.safeBufferFrom(this.xpubTree.chainCode), serP);
|
|
84
|
+
const IL = I.slice(0, 32);
|
|
85
|
+
const IR = I.slice(32, 64);
|
|
86
|
+
const Ki = tinyecc.pointAddScalar(types_1.safeBufferFrom(this.xpubTree.publicKey), IL);
|
|
87
|
+
if (Ki === null)
|
|
88
|
+
throw new Error("Ki is null; this should be cryptographically impossible");
|
|
89
|
+
const newChild = {
|
|
90
|
+
version: this.xpubTree.version,
|
|
91
|
+
depth: this.xpubTree.depth + 1,
|
|
92
|
+
parentFp: this.xpubTree.fingerprint,
|
|
93
|
+
childNum: index,
|
|
94
|
+
chainCode: types_1.checkType(core_1.BIP32.ChainCode, IR),
|
|
95
|
+
publicKey: types_1.checkType(core_1.SecP256K1.CompressedPoint, Ki),
|
|
96
|
+
fingerprint: new DataView(hdwallet_core_1.toArrayBuffer(core_1.Digest.Algorithms.hash160(Ki))).getUint32(0),
|
|
97
|
+
children: new Map(),
|
|
98
|
+
};
|
|
99
|
+
this.xpubTree.children.set(index, newChild);
|
|
100
|
+
return newChild;
|
|
101
|
+
})();
|
|
102
|
+
const out = yield Node.create(child);
|
|
103
|
+
return out;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
ecdh() {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
throw new types_2.DummyEngineError();
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
ecdhRaw() {
|
|
112
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
throw new types_2.DummyEngineError();
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.Node = Node;
|
|
118
|
+
class Seed {
|
|
119
|
+
constructor(xpubTree) {
|
|
120
|
+
this.xpubTree = xpubTree;
|
|
121
|
+
}
|
|
122
|
+
static create(xpubTree) {
|
|
123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
return new Seed(xpubTree);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
toMasterKey(hmacKey) {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
if (hmacKey !== undefined)
|
|
130
|
+
throw new Error("bad hmacKey type");
|
|
131
|
+
return yield Node.create(this.xpubTree);
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.Seed = Seed;
|
|
136
|
+
//# sourceMappingURL=bip32.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/bip32.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as BIP32 from "../../core/bip32";
|
|
2
|
+
import * as BIP39 from "../../core/bip39";
|
|
3
|
+
import { ParsedXpubTree } from "./types";
|
|
4
|
+
export * from "../../core/bip39";
|
|
5
|
+
export declare class Mnemonic implements BIP39.Mnemonic {
|
|
6
|
+
readonly xpubTree: ParsedXpubTree;
|
|
7
|
+
protected constructor(xpubTree: ParsedXpubTree);
|
|
8
|
+
static create(xpubList: string): Promise<BIP39.Mnemonic>;
|
|
9
|
+
toSeed(): Promise<BIP32.Seed>;
|
|
10
|
+
toSeed(passphrase: ""): Promise<BIP32.Seed>;
|
|
11
|
+
toSeed(passphrase: string): never;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=bip39.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bip39.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/bip39.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAK1C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,cAAc,kBAAkB,CAAC;AAEjC,qBAAa,QAAS,YAAW,KAAK,CAAC,QAAQ;IAC7C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,SAAS,aAAa,QAAQ,EAAE,cAAc;WAIjC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;IA2C9D,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK;CAMlC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
22
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
23
|
+
};
|
|
24
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
25
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
26
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
27
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
28
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
29
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
30
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
+
exports.Mnemonic = void 0;
|
|
35
|
+
const hdwallet_core_1 = require("@shapeshiftoss/hdwallet-core");
|
|
36
|
+
const bs58check = __importStar(require("bs58check"));
|
|
37
|
+
const BIP32 = __importStar(require("../../core/bip32"));
|
|
38
|
+
const Digest = __importStar(require("../../core/digest"));
|
|
39
|
+
const SecP256K1 = __importStar(require("../../core/secp256k1"));
|
|
40
|
+
const types_1 = require("../../types");
|
|
41
|
+
const BIP32Engine = __importStar(require("./bip32"));
|
|
42
|
+
__exportStar(require("../../core/bip39"), exports);
|
|
43
|
+
class Mnemonic {
|
|
44
|
+
constructor(xpubTree) {
|
|
45
|
+
this.xpubTree = xpubTree;
|
|
46
|
+
}
|
|
47
|
+
static create(xpubList) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const parsedXpubs = xpubList.split(" ").map((xpub) => {
|
|
50
|
+
const xpubBuf = bs58check.decode(xpub);
|
|
51
|
+
if (xpubBuf.length !== 78)
|
|
52
|
+
throw new Error("Isolation.Engine.Dummy.BIP39.create - Invalid xpub");
|
|
53
|
+
const xpubView = new DataView(hdwallet_core_1.toArrayBuffer(xpubBuf));
|
|
54
|
+
const pk = types_1.checkType(SecP256K1.CompressedPoint, xpubBuf.slice(45));
|
|
55
|
+
return {
|
|
56
|
+
version: xpubView.getUint32(0),
|
|
57
|
+
depth: xpubView.getUint8(4),
|
|
58
|
+
parentFp: xpubView.getUint32(5),
|
|
59
|
+
childNum: xpubView.getUint32(9),
|
|
60
|
+
chainCode: types_1.checkType(BIP32.ChainCode, xpubBuf.slice(13, 45)),
|
|
61
|
+
publicKey: pk,
|
|
62
|
+
fingerprint: new DataView(hdwallet_core_1.toArrayBuffer(Digest.Algorithms.hash160(pk))).getUint32(0),
|
|
63
|
+
children: new Map(),
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
const tree = (() => {
|
|
67
|
+
const rootXpubs = parsedXpubs.filter((x) => x.parentFp === 0x00000000);
|
|
68
|
+
if (rootXpubs.length === 0)
|
|
69
|
+
throw new Error("can't find root xpub");
|
|
70
|
+
if (rootXpubs.length > 1)
|
|
71
|
+
throw new Error("more than one root xpub");
|
|
72
|
+
return rootXpubs[0];
|
|
73
|
+
})();
|
|
74
|
+
const xpubsByFp = parsedXpubs
|
|
75
|
+
.map((xpub) => {
|
|
76
|
+
return [xpub.fingerprint, xpub];
|
|
77
|
+
})
|
|
78
|
+
.reduce((a, [k, v]) => {
|
|
79
|
+
if (k in a)
|
|
80
|
+
throw new Error("key fingerprint collision");
|
|
81
|
+
a[k] = v;
|
|
82
|
+
return a;
|
|
83
|
+
}, {});
|
|
84
|
+
for (const xpub of parsedXpubs.filter((x) => x !== tree)) {
|
|
85
|
+
if (!(xpub.parentFp in xpubsByFp))
|
|
86
|
+
throw new Error("found xpub, but not its parent");
|
|
87
|
+
xpubsByFp[xpub.parentFp].children.set(xpub.childNum, xpub);
|
|
88
|
+
}
|
|
89
|
+
return new Mnemonic(tree);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
toSeed(passphrase) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
if (passphrase !== undefined && passphrase !== "")
|
|
95
|
+
throw new Error("bad passphrase type");
|
|
96
|
+
return yield BIP32Engine.Seed.create(this.xpubTree);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.Mnemonic = Mnemonic;
|
|
101
|
+
//# sourceMappingURL=bip39.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bip39.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/bip39.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.DummyEngineError = exports.BIP39 = exports.BIP32 = void 0;
|
|
23
|
+
exports.BIP32 = __importStar(require("./bip32"));
|
|
24
|
+
exports.BIP39 = __importStar(require("./bip39"));
|
|
25
|
+
var types_1 = require("./types");
|
|
26
|
+
Object.defineProperty(exports, "DummyEngineError", { enumerable: true, get: function () { return types_1.DummyEngineError; } });
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiC;AACjC,iDAAiC;AACjC,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
const Core = __importStar(require("../../core"));
|
|
32
|
+
const Dummy = __importStar(require("./"));
|
|
33
|
+
describe("Isolation.Engines.Dummy", () => {
|
|
34
|
+
let mnemonic;
|
|
35
|
+
let seed;
|
|
36
|
+
let masterKey;
|
|
37
|
+
it("can be loaded with a list of xpubs", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
+
yield expect((() => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
mnemonic = yield Dummy.BIP39.Mnemonic.create([
|
|
40
|
+
"xpub661MyMwAqRbcFLgDU7wpcEVubSF7NkswwmXBUkDiGUW6uopeUMys4AqKXNgpfZKRTLnpKQgffd6a2c3J8JxLkF1AQN17Pm9QYHEqEfo1Rsx",
|
|
41
|
+
"xpub68Zyu13qjcQxDzLNfTYnUXtJuX2qJgnxP6osrcAvJGdo6bs9M2Adt2BunbwiYrZS5qpA1QKoMf3uqS2NHpbyZp4KMJxDrL58NTyvHXBeAv6",
|
|
42
|
+
"xpub6APRH5kELakva27TFbzpfhfsY3Jd4dRGo7NocHb63qWecSgK2dUkjWaYevJsCunicpdAkPg9fvHAdpSFMDCMCDMit8kiTM1w9QoGmfyVwDo",
|
|
43
|
+
"xpub6BiVtCpG9fQPxnPmHXG8PhtzQdWC2Su4qWu6XW9tpWFYhxydCLJGrWBJZ5H6qTAHdPQ7pQhtpjiYZVZARo14qHiay2fvrX996oEP42u8wZy",
|
|
44
|
+
"xpub6APRH5kELakyDsZMmBU9HEoeRUzM9F8STp6ztXLPUJQLiXGrbsfACbngkw5vySPfa9vFs2p3kMsRPxhyDTLhKYEf5HLVfDcDuTTazgzvArk",
|
|
45
|
+
"xpub6CNFa58kEQJu2hwMVoofpDEKVVSg6gfwqBqE2zHAianaUnQkrJzJJ42iLDp7Dmg2aP88qCKoFZ4jidk3tECdQuF4567NGHDfe7iBRwHxgke",
|
|
46
|
+
"xpub68Zyu13qjcQxUZiesSWiHJMqkg8G8Guft6MvDhwP72zSYXr9iKnNmDo7LxuSVwtpamrNwGQHkGDWoK8MAp3S9GW5fVxsjBY6AdvZc1hB7kK",
|
|
47
|
+
"xpub6AA5piovovuKytxa5QtBWAbixSjg7fbmu5gqs6QmvARrUMgewJV51roNH4M7GtvZmjBY1m5oAgAjoHivasewSh4S2H7LAikCyuhJxfHdSsK",
|
|
48
|
+
"xpub6CVKsQYXc9awxgV1tWbG4foDvdcnieK2JkbpPEBKB5WwAPKBZ1mstLbKVB4ov7QzxzjaxNK6EfmNY5Jsk2cG26EVcEkycGW4tchT2dyUhrx",
|
|
49
|
+
"xpub68Zyu13qjcQz2DTzkBfLNCfsCTgT39rsUY9JT7MFvG3oEJvS8gUYwRX4RheUTFGZ6EtW4dFYhCdBX32GHJCodkQLAARjNsw4Drj1oDxvo9p",
|
|
50
|
+
"xpub69s3dQnszuX49hTwhNAQEMJyTcRQNZyhtKAqNgQXApquzXdR3fEjXg75ScXzMMMLkUjQnz2Giwt2L7vesiswkAYwzbHezaUXayU8Z81CW56",
|
|
51
|
+
"xpub6DDUPHpUo4pcy43iJeZjbSVWGav1SMMmuWdMHiGtkK8rhKmfbomtkwW6GKs1GGAKehT6QRocrmda3WWxXawpjmwaUHfFRXuKrXSapdckEYF", // all seed m/84'/0'/0'
|
|
52
|
+
].join(" "));
|
|
53
|
+
}))()).resolves.not.toThrow();
|
|
54
|
+
expect(mnemonic).toBeDefined();
|
|
55
|
+
}));
|
|
56
|
+
it("produces a seed", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
|
+
yield expect((() => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
|
+
seed = yield mnemonic.toSeed();
|
|
59
|
+
}))()).resolves.not.toThrow();
|
|
60
|
+
expect(seed).toBeDefined();
|
|
61
|
+
}));
|
|
62
|
+
it("produces a master key", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
masterKey = yield seed.toMasterKey();
|
|
64
|
+
const pk = yield masterKey.getPublicKey();
|
|
65
|
+
expect(Buffer.from(pk).toString("hex")).toEqual("03e3b30e8c21923752a408242e069941fedbaef7db7161f7e2c5f3fdafe7e25ddc");
|
|
66
|
+
}));
|
|
67
|
+
it.each([
|
|
68
|
+
["m/44'", "034d600165882b6faf32a3f1f2c4755eeb0f0486954718d46fd9621e8ca40ca6b6"],
|
|
69
|
+
["m/44'/0'", "03dde722d51529c6744d45e1a5e644c6e27520bd8bc7278fbeb1f43094f3dce91a"],
|
|
70
|
+
["m/44'/0'/0'", "03c8166eb40ac84088b618ec07c7cebadacee31c5f5b04a1e8c2a2f3e748eb2cdd"],
|
|
71
|
+
["m/44'/0'/0'/0", "02d3f906cd22167506f94331fc879b1757695c9d9b09fbb1cd6bee9c7ee7019751"],
|
|
72
|
+
["m/44'/0'/0'/0/0", "03c6d9cc725bb7e19c026df03bf693ee1171371a8eaf25f04b7a58f6befabcd38c"],
|
|
73
|
+
["m/44'/0'/0'/0/1", "02c651a011009e2c7e7b3ed2068857ca0a47cba35b73e06c32e3c06ef3aa67621d"],
|
|
74
|
+
["m/44'/0'/0'/0/2", "03330236b68aa6fdcaca0ea72e11b360c84ed19a338509aa527b678a7ec9076882"],
|
|
75
|
+
["m/44'/0'/0'/1", "0377d49f78af126571d0e995656ab0b12cf149a6761bfc3e75132813c7d9c1739f"],
|
|
76
|
+
["m/44'/0'/0'/1/0", "035bc524b005abbf8c3f0c22a452d0b9c2ad43c4609b4b78c745b47f66120bb1a0"],
|
|
77
|
+
["m/44'/0'/0'/1/1", "0203ae8dbf9f9b65f3922a4a855a7c5d7e7700b0f38477b9e047385eed1ba6e18c"],
|
|
78
|
+
["m/44'/0'/0'/1/2", "03389aa9b8d59b776a93a26cf7ee3d9e0ad1b8f0440e778f5270785d12936dad3c"],
|
|
79
|
+
["m/44'/60'", "026efeb8a29b3eedec94c5aca20a84ff4b98d57f9967856a21a64c8d127d863098"],
|
|
80
|
+
["m/44'/60'/0'", "03d92dfaf121b2723d0e6dabb2637b2d9b2b3b2d8026ab901f2df3eea3f6d200c9"],
|
|
81
|
+
["m/44'/60'/0'/0", "0217ebaac6b4c12d3c7e0fc21d8d53d89adf007ff7988840926032c89eb966a37c"],
|
|
82
|
+
["m/44'/60'/0'/0/0", "03ad8e7eb4f3a7d1a409fa7bdc7b79d8840fe746d3fa9ee17fee4f84631ec1430b"],
|
|
83
|
+
["m/49'", "02afb083c2e97455310c8591c6235c9ceb92dc32f4e40d146cd5b550e3bebbc74a"],
|
|
84
|
+
["m/49'/0'", "039051bb3f5af2094a2b4ee31964b8d82b379604926b393b698314e098b6984bd0"],
|
|
85
|
+
["m/49'/0'/0'", "0215a09870bbb713f1ba94d364e1e5bfcf9cdb5178d22efbca6ec17dc2c4f706cd"],
|
|
86
|
+
["m/49'/0'/0'/0", "020ddd7e4206daf889a2c11920fcccbb60df383d4c5fcd982cd5c7d400fdd46c8e"],
|
|
87
|
+
["m/49'/0'/0'/0/0", "02f770feae292b5b3f41d8c81220c2568cb73eb8042def35e648dfe048e4b41b11"],
|
|
88
|
+
["m/49'/0'/0'/0/1", "02dc4843f2fbef594a8c41573ca7a91c968ced334c16c5200cc6a07e8dbba3bdb2"],
|
|
89
|
+
["m/49'/0'/0'/0/2", "03eb2d79f0e0896f523a30d92f395e31c31d0196f2f36d8284145007e68d0563fa"],
|
|
90
|
+
["m/49'/0'/0'/1", "02f7ff3aab4f9fd88190ac153bd0bcb26758a6b3b75480ddda8c0f43147fbbee95"],
|
|
91
|
+
["m/49'/0'/0'/1/0", "03a961687895a78da9aef98eed8e1f2a3e91cfb69d2f3cf11cbd0bb1773d951928"],
|
|
92
|
+
["m/49'/0'/0'/1/1", "03f459101133e88e5953ec0a128c3bc17d5e6e7e8dd035b4dbffad364774f1e710"],
|
|
93
|
+
["m/49'/0'/0'/1/2", "036a7e2f1544eb4ddf1e3df4fedd4c8c0c39b988f3ac99e927f4a00fc5fddfc653"],
|
|
94
|
+
["m/84'", "0225ee2bad1901cea8dca61028fa2c39f9bc6fe6fde7f06405c4cf1131e0ec91ae"],
|
|
95
|
+
["m/84'/0'", "031c9a1c04f0c3b62c013e27ce7a6c7720ac669ee738aa4a6c9112f25d731b6c27"],
|
|
96
|
+
["m/84'/0'/0'", "03e36a4f3fee21bfe83447b209d8de6da1ce1ae38f76bc2c00652dc5e0a8c5c0b5"],
|
|
97
|
+
["m/84'/0'/0'/0", "025982bc036c5321d35d808ab872b2337438b1bb07d5544cf0a20e84327e05897f"],
|
|
98
|
+
["m/84'/0'/0'/0/0", "0396070f2813933502e907c011ae7ba928683a9c2f0e888dae7ebd2c41120ee6b5"],
|
|
99
|
+
["m/84'/0'/0'/0/1", "026b6039331b4d7bb2037fe72411a582e3d1993190731582bf04f18cc4249ea83e"],
|
|
100
|
+
["m/84'/0'/0'/0/2", "03e4a361a06cdf253f7be2b00bb171e30f6f73ec06eb437d9842ec593c5ac0e499"],
|
|
101
|
+
["m/84'/0'/0'/1", "03bc5bf5297765cd1675cd93667500529476502a413310afbfdeb04963e130ea3e"],
|
|
102
|
+
["m/84'/0'/0'/1/0", "032ef68318c8f6aaa0adec0199c69901f0db7d3485eb38d9ad235221dc3d61154b"],
|
|
103
|
+
["m/84'/0'/0'/1/1", "02768afac47832d02e24c39ffcaa9bbd54be67460e38c255d97192cec5e4e25975"],
|
|
104
|
+
["m/84'/0'/0'/1/2", "0245ac2db850ba9a1971741267a1849c72b91722e09cf71c9ff3754ff41f2a0419"],
|
|
105
|
+
])("derives the key at %s", (path, expectedPk) => __awaiter(void 0, void 0, void 0, function* () {
|
|
106
|
+
const node = yield Core.BIP32.derivePath(masterKey, path);
|
|
107
|
+
const pk = Buffer.from(yield node.getPublicKey()).toString("hex");
|
|
108
|
+
expect(pk).toEqual(expectedPk);
|
|
109
|
+
}));
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,0CAA4B;AAE5B,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAI,QAA6B,CAAC;IAClC,IAAI,IAAqB,CAAC;IAC1B,IAAI,SAA0B,CAAC;IAE/B,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,MAAM,CACV,CAAC,GAAS,EAAE;YACV,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAC1C;gBACE,iHAAiH;gBACjH,iHAAiH;gBACjH,iHAAiH;gBACjH,iHAAiH;gBACjH,iHAAiH;gBACjH,iHAAiH;gBACjH,iHAAiH;gBACjH,iHAAiH;gBACjH,iHAAiH;gBACjH,iHAAiH;gBACjH,iHAAiH;gBACjH,iHAAiH,EAAE,uBAAuB;aAC3I,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;QACJ,CAAC,CAAA,CAAC,EAAE,CACL,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAS,EAAE;QAC/B,MAAM,MAAM,CACV,CAAC,GAAS,EAAE;YACV,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjC,CAAC,CAAA,CAAC,EAAE,CACL,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAS,EAAE;QACrC,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAC7C,oEAAoE,CACrE,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,OAAO,EAAE,oEAAoE,CAAC;QAC/E,CAAC,UAAU,EAAE,oEAAoE,CAAC;QAClF,CAAC,aAAa,EAAE,oEAAoE,CAAC;QACrF,CAAC,eAAe,EAAE,oEAAoE,CAAC;QACvF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,eAAe,EAAE,oEAAoE,CAAC;QACvF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,WAAW,EAAE,oEAAoE,CAAC;QACnF,CAAC,cAAc,EAAE,oEAAoE,CAAC;QACtF,CAAC,gBAAgB,EAAE,oEAAoE,CAAC;QACxF,CAAC,kBAAkB,EAAE,oEAAoE,CAAC;QAC1F,CAAC,OAAO,EAAE,oEAAoE,CAAC;QAC/E,CAAC,UAAU,EAAE,oEAAoE,CAAC;QAClF,CAAC,aAAa,EAAE,oEAAoE,CAAC;QACrF,CAAC,eAAe,EAAE,oEAAoE,CAAC;QACvF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,eAAe,EAAE,oEAAoE,CAAC;QACvF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,OAAO,EAAE,oEAAoE,CAAC;QAC/E,CAAC,UAAU,EAAE,oEAAoE,CAAC;QAClF,CAAC,aAAa,EAAE,oEAAoE,CAAC;QACrF,CAAC,eAAe,EAAE,oEAAoE,CAAC;QACvF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,eAAe,EAAE,oEAAoE,CAAC;QACvF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;QACzF,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;KAC1F,CAAC,CAAC,uBAAuB,EAAE,CAAO,IAAY,EAAE,UAAkB,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ChainCode } from "../../core/bip32";
|
|
2
|
+
import { CompressedPoint } from "../../core/secp256k1";
|
|
3
|
+
export declare class DummyEngineError extends Error {
|
|
4
|
+
constructor();
|
|
5
|
+
}
|
|
6
|
+
export interface ParsedXpub {
|
|
7
|
+
version: number;
|
|
8
|
+
depth: number;
|
|
9
|
+
parentFp: number;
|
|
10
|
+
childNum: number;
|
|
11
|
+
chainCode: ChainCode;
|
|
12
|
+
publicKey: CompressedPoint;
|
|
13
|
+
}
|
|
14
|
+
export declare type ParsedXpubTree = ParsedXpub & {
|
|
15
|
+
fingerprint: number;
|
|
16
|
+
children: Map<number, ParsedXpubTree>;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,gBAAiB,SAAQ,KAAK;;CAI1C;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,oBAAY,cAAc,GAAG,UAAU,GAAG;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DummyEngineError = void 0;
|
|
4
|
+
class DummyEngineError extends Error {
|
|
5
|
+
constructor() {
|
|
6
|
+
super("Isolation.Engines.Dummy - Invalid operation: private key not available");
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.DummyEngineError = DummyEngineError;
|
|
10
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/types.ts"],"names":[],"mappings":";;;AAGA,MAAa,gBAAiB,SAAQ,KAAK;IACzC;QACE,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAClF,CAAC;CACF;AAJD,4CAIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/engines/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/engines/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC"}
|