@shapeshiftoss/hdwallet-native 1.55.2 → 1.55.4-alpha.1
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.js +22 -61
- package/dist/adapter.js.map +1 -1
- package/dist/arkeo.d.ts +1 -1
- package/dist/arkeo.d.ts.map +1 -1
- package/dist/arkeo.js +54 -124
- package/dist/arkeo.js.map +1 -1
- package/dist/binance.d.ts +1 -1
- package/dist/binance.d.ts.map +1 -1
- package/dist/binance.js +123 -195
- package/dist/binance.js.map +1 -1
- package/dist/bitcoin.d.ts +1 -2
- package/dist/bitcoin.d.ts.map +1 -1
- package/dist/bitcoin.js +219 -285
- package/dist/bitcoin.js.map +1 -1
- package/dist/cosmos.d.ts +1 -1
- package/dist/cosmos.d.ts.map +1 -1
- package/dist/cosmos.js +54 -124
- package/dist/cosmos.js.map +1 -1
- package/dist/crypto/CryptoHelper.js +106 -172
- package/dist/crypto/CryptoHelper.js.map +1 -1
- package/dist/crypto/EncryptedWallet.js +64 -123
- package/dist/crypto/EncryptedWallet.js.map +1 -1
- package/dist/crypto/classes/cipherString.js +18 -19
- package/dist/crypto/classes/cipherString.js.map +1 -1
- package/dist/crypto/classes/encryptedObject.js +7 -7
- package/dist/crypto/classes/encryptedObject.js.map +1 -1
- package/dist/crypto/classes/encryptionType.js +2 -5
- package/dist/crypto/classes/encryptionType.js.map +1 -1
- package/dist/crypto/classes/index.js +4 -11
- package/dist/crypto/classes/index.js.map +1 -1
- package/dist/crypto/classes/symmetricCryptoKey.js +13 -11
- package/dist/crypto/classes/symmetricCryptoKey.js.map +1 -1
- package/dist/crypto/engines/index.js +2 -18
- package/dist/crypto/engines/index.js.map +1 -1
- package/dist/crypto/engines/types.js +2 -5
- package/dist/crypto/engines/types.js.map +1 -1
- package/dist/crypto/engines/web-crypto.js +39 -84
- package/dist/crypto/engines/web-crypto.js.map +1 -1
- package/dist/crypto/index.js +3 -32
- package/dist/crypto/index.js.map +1 -1
- package/dist/crypto/isolation/adapters/binance.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/binance.js +12 -51
- package/dist/crypto/isolation/adapters/binance.js.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.d.ts +2 -9
- package/dist/crypto/isolation/adapters/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.js +65 -108
- package/dist/crypto/isolation/adapters/bip32.js.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.d.ts +4 -13
- package/dist/crypto/isolation/adapters/bitcoin.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.js +41 -84
- package/dist/crypto/isolation/adapters/bitcoin.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmos.d.ts +0 -1
- package/dist/crypto/isolation/adapters/cosmos.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/cosmos.js +9 -24
- package/dist/crypto/isolation/adapters/cosmos.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmosDirect.js +35 -77
- package/dist/crypto/isolation/adapters/cosmosDirect.js.map +1 -1
- package/dist/crypto/isolation/adapters/ethereum.js +49 -90
- package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
- package/dist/crypto/isolation/adapters/fio.d.ts +0 -1
- package/dist/crypto/isolation/adapters/fio.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/fio.js +24 -67
- package/dist/crypto/isolation/adapters/fio.js.map +1 -1
- package/dist/crypto/isolation/adapters/index.js +7 -20
- package/dist/crypto/isolation/adapters/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.js +22 -51
- package/dist/crypto/isolation/core/bip32/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/interfaces.js +2 -29
- package/dist/crypto/isolation/core/bip32/interfaces.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/types.d.ts +2 -2
- package/dist/crypto/isolation/core/bip32/types.js +5 -8
- package/dist/crypto/isolation/core/bip32/types.js.map +1 -1
- package/dist/crypto/isolation/core/bip39/index.js +1 -17
- package/dist/crypto/isolation/core/bip39/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip39/interfaces.js +1 -2
- package/dist/crypto/isolation/core/digest/algorithms.d.ts.map +1 -1
- package/dist/crypto/isolation/core/digest/algorithms.js +17 -26
- package/dist/crypto/isolation/core/digest/algorithms.js.map +1 -1
- package/dist/crypto/isolation/core/digest/index.js +2 -18
- package/dist/crypto/isolation/core/digest/index.js.map +1 -1
- package/dist/crypto/isolation/core/digest/types.d.ts +20 -20
- package/dist/crypto/isolation/core/digest/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/digest/types.js +23 -26
- package/dist/crypto/isolation/core/digest/types.js.map +1 -1
- package/dist/crypto/isolation/core/index.js +5 -32
- package/dist/crypto/isolation/core/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/index.js +2 -18
- package/dist/crypto/isolation/core/secp256k1/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/interfaces.js +1 -2
- package/dist/crypto/isolation/core/secp256k1/types.d.ts +81 -81
- package/dist/crypto/isolation/core/secp256k1/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/types.js +119 -157
- package/dist/crypto/isolation/core/secp256k1/types.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.d.ts +0 -1
- package/dist/crypto/isolation/engines/default/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.js +102 -176
- package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip39.js +24 -68
- package/dist/crypto/isolation/engines/default/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/default/index.js +3 -32
- package/dist/crypto/isolation/engines/default/index.js.map +1 -1
- package/dist/crypto/isolation/engines/default/revocable.d.ts +1 -1
- package/dist/crypto/isolation/engines/default/revocable.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/default/revocable.js +30 -51
- package/dist/crypto/isolation/engines/default/revocable.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip32.js +63 -121
- package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip39.js +55 -97
- package/dist/crypto/isolation/engines/dummy/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/index.js +3 -30
- package/dist/crypto/isolation/engines/dummy/index.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/types.js +1 -5
- package/dist/crypto/isolation/engines/dummy/types.js.map +1 -1
- package/dist/crypto/isolation/engines/index.js +2 -28
- package/dist/crypto/isolation/engines/index.js.map +1 -1
- package/dist/crypto/isolation/index.js +3 -29
- package/dist/crypto/isolation/index.js.map +1 -1
- package/dist/crypto/isolation/types.d.ts +1 -2
- package/dist/crypto/isolation/types.d.ts.map +1 -1
- package/dist/crypto/isolation/types.js +43 -49
- package/dist/crypto/isolation/types.js.map +1 -1
- package/dist/crypto/utils.js +7 -14
- package/dist/crypto/utils.js.map +1 -1
- package/dist/ethereum.d.ts +1 -1
- package/dist/ethereum.d.ts.map +1 -1
- package/dist/ethereum.js +92 -161
- package/dist/ethereum.js.map +1 -1
- package/dist/fio.d.ts +3 -3
- package/dist/fio.d.ts.map +1 -1
- package/dist/fio.js +204 -283
- package/dist/fio.js.map +1 -1
- package/dist/index.js +3 -32
- package/dist/index.js.map +1 -1
- package/dist/kava.d.ts +1 -1
- package/dist/kava.d.ts.map +1 -1
- package/dist/kava.js +50 -120
- package/dist/kava.js.map +1 -1
- package/dist/native.d.ts +40 -41
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +176 -304
- package/dist/native.js.map +1 -1
- package/dist/networks.js +16 -34
- package/dist/networks.js.map +1 -1
- package/dist/osmosis.d.ts +1 -1
- package/dist/osmosis.d.ts.map +1 -1
- package/dist/osmosis.js +54 -124
- package/dist/osmosis.js.map +1 -1
- package/dist/secret.d.ts +1 -1
- package/dist/secret.d.ts.map +1 -1
- package/dist/secret.js +50 -120
- package/dist/secret.js.map +1 -1
- package/dist/terra.d.ts +1 -1
- package/dist/terra.d.ts.map +1 -1
- package/dist/terra.js +50 -120
- package/dist/terra.js.map +1 -1
- package/dist/thorchain.d.ts +1 -1
- package/dist/thorchain.d.ts.map +1 -1
- package/dist/thorchain.js +54 -124
- package/dist/thorchain.js.map +1 -1
- package/dist/util.js +16 -55
- package/dist/util.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,87 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
decrypt(data, key, iv) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const impKey = yield globalThis.crypto.subtle.importKey("raw", key, { name: "AES-CBC" }, false, ["decrypt"]);
|
|
43
|
-
return globalThis.crypto.subtle.decrypt({ name: "AES-CBC", iv }, impKey, data);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
digest(algorithm, data) {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
const alg = algorithm === types_1.DigestAlgorithm.SHA512 ? "SHA-512" : "SHA-256";
|
|
49
|
-
return globalThis.crypto.subtle.digest(alg, data);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
encrypt(data, key, iv) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
const impKey = yield globalThis.crypto.subtle.importKey("raw", key, { name: "AES-CBC" }, false, ["encrypt"]);
|
|
55
|
-
return globalThis.crypto.subtle.encrypt({ name: "AES-CBC", iv }, impKey, data);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
hmac(value, key) {
|
|
59
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
const signingAlgorithm = {
|
|
61
|
-
name: "HMAC",
|
|
62
|
-
hash: { name: "SHA-256" },
|
|
63
|
-
};
|
|
64
|
-
const impKey = yield globalThis.crypto.subtle.importKey("raw", key, signingAlgorithm, false, ["sign"]);
|
|
65
|
-
return globalThis.crypto.subtle.sign(signingAlgorithm, impKey, value);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
pbkdf2(password, salt, options) {
|
|
69
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
const pbkdf2Params = Object.assign({ name: "PBKDF2", salt: new Uint8Array(salt), hash: { name: "SHA-256" } }, options);
|
|
71
|
-
const impKey = yield globalThis.crypto.subtle.importKey("raw", password, { name: "PBKDF2" }, false, ["deriveBits"]);
|
|
72
|
-
return globalThis.crypto.subtle.deriveBits(pbkdf2Params, impKey, 256);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
randomBytes(size) {
|
|
76
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
return core.toArrayBuffer(globalThis.crypto.getRandomValues(new Uint8Array(size)));
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
scrypt(password, salt, params) {
|
|
81
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
return core.toArrayBuffer(yield scryptJs.scrypt(new Uint8Array(password), new Uint8Array(salt), params.iterations, params.blockSize, params.parallelism, params.keyLength));
|
|
83
|
-
});
|
|
1
|
+
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
|
+
import * as scryptJs from "scrypt-js";
|
|
3
|
+
import { DigestAlgorithm } from "./types";
|
|
4
|
+
export class WebCryptoEngine {
|
|
5
|
+
async decrypt(data, key, iv) {
|
|
6
|
+
const impKey = await globalThis.crypto.subtle.importKey("raw", key, { name: "AES-CBC" }, false, ["decrypt"]);
|
|
7
|
+
return globalThis.crypto.subtle.decrypt({ name: "AES-CBC", iv }, impKey, data);
|
|
8
|
+
}
|
|
9
|
+
async digest(algorithm, data) {
|
|
10
|
+
const alg = algorithm === DigestAlgorithm.SHA512 ? "SHA-512" : "SHA-256";
|
|
11
|
+
return globalThis.crypto.subtle.digest(alg, data);
|
|
12
|
+
}
|
|
13
|
+
async encrypt(data, key, iv) {
|
|
14
|
+
const impKey = await globalThis.crypto.subtle.importKey("raw", key, { name: "AES-CBC" }, false, ["encrypt"]);
|
|
15
|
+
return globalThis.crypto.subtle.encrypt({ name: "AES-CBC", iv }, impKey, data);
|
|
16
|
+
}
|
|
17
|
+
async hmac(value, key) {
|
|
18
|
+
const signingAlgorithm = {
|
|
19
|
+
name: "HMAC",
|
|
20
|
+
hash: { name: "SHA-256" },
|
|
21
|
+
};
|
|
22
|
+
const impKey = await globalThis.crypto.subtle.importKey("raw", key, signingAlgorithm, false, ["sign"]);
|
|
23
|
+
return globalThis.crypto.subtle.sign(signingAlgorithm, impKey, value);
|
|
24
|
+
}
|
|
25
|
+
async pbkdf2(password, salt, options) {
|
|
26
|
+
const pbkdf2Params = {
|
|
27
|
+
name: "PBKDF2",
|
|
28
|
+
salt: new Uint8Array(salt),
|
|
29
|
+
hash: { name: "SHA-256" },
|
|
30
|
+
...options,
|
|
31
|
+
};
|
|
32
|
+
const impKey = await globalThis.crypto.subtle.importKey("raw", password, { name: "PBKDF2" }, false, ["deriveBits"]);
|
|
33
|
+
return globalThis.crypto.subtle.deriveBits(pbkdf2Params, impKey, 256);
|
|
34
|
+
}
|
|
35
|
+
async randomBytes(size) {
|
|
36
|
+
return core.toArrayBuffer(globalThis.crypto.getRandomValues(new Uint8Array(size)));
|
|
37
|
+
}
|
|
38
|
+
async scrypt(password, salt, params) {
|
|
39
|
+
return core.toArrayBuffer(await scryptJs.scrypt(new Uint8Array(password), new Uint8Array(salt), params.iterations, params.blockSize, params.parallelism, params.keyLength));
|
|
84
40
|
}
|
|
85
41
|
}
|
|
86
|
-
exports.WebCryptoEngine = WebCryptoEngine;
|
|
87
42
|
//# sourceMappingURL=web-crypto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-crypto.js","sourceRoot":"","sources":["../../../src/crypto/engines/web-crypto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web-crypto.js","sourceRoot":"","sources":["../../../src/crypto/engines/web-crypto.ts"],"names":[],"mappings":"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"}
|
package/dist/crypto/index.js
CHANGED
|
@@ -1,33 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
-
};
|
|
21
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
|
-
if (mod && mod.__esModule) return mod;
|
|
23
|
-
var result = {};
|
|
24
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
25
|
-
__setModuleDefault(result, mod);
|
|
26
|
-
return result;
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.Isolation = exports.engines = void 0;
|
|
30
|
-
__exportStar(require("./EncryptedWallet"), exports);
|
|
31
|
-
exports.engines = __importStar(require("./engines"));
|
|
32
|
-
exports.Isolation = __importStar(require("./isolation"));
|
|
1
|
+
export * from "./EncryptedWallet";
|
|
2
|
+
export * as engines from "./engines";
|
|
3
|
+
export * as Isolation from "./isolation";
|
|
33
4
|
//# sourceMappingURL=index.js.map
|
package/dist/crypto/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binance.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/binance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EAAE,KAAK,EAAa,MAAM,SAAS,CAAC;AAE3C,KAAK,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;oBAK9C,
|
|
1
|
+
{"version":3,"file":"binance.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/binance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EAAE,KAAK,EAAa,MAAM,SAAS,CAAC;AAE3C,KAAK,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;oBAK9C,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;;AAD7D,wBAUE"}
|
|
@@ -1,54 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
const p_lazy_1 = __importDefault(require("p-lazy"));
|
|
39
|
-
const core_1 = require("../core");
|
|
40
|
-
const bnbSdk = p_lazy_1.default.from(() => Promise.resolve().then(() => __importStar(require("bnb-javascript-sdk-nobroadcast"))));
|
|
41
|
-
exports.default = {
|
|
42
|
-
create(keyPair) {
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
return (tx, signMsg) => __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
const signBytes = tx.getSignBytes(signMsg);
|
|
46
|
-
const pubKey = (yield bnbSdk).crypto.getPublicKey(Buffer.from(yield keyPair.getPublicKey()).toString("hex"));
|
|
47
|
-
const sig = Buffer.from(yield core_1.SecP256K1.Signature.signCanonically(keyPair, "sha256", signBytes));
|
|
48
|
-
tx.addSignature(pubKey, sig);
|
|
49
|
-
return tx;
|
|
50
|
-
});
|
|
51
|
-
});
|
|
1
|
+
import PLazy from "p-lazy";
|
|
2
|
+
import { SecP256K1 } from "../core";
|
|
3
|
+
const bnbSdk = PLazy.from(() => import("bnb-javascript-sdk-nobroadcast"));
|
|
4
|
+
export default {
|
|
5
|
+
async create(keyPair) {
|
|
6
|
+
return async (tx, signMsg) => {
|
|
7
|
+
const signBytes = tx.getSignBytes(signMsg);
|
|
8
|
+
const pubKey = (await bnbSdk).crypto.getPublicKey(Buffer.from(await keyPair.getPublicKey()).toString("hex"));
|
|
9
|
+
const sig = Buffer.from(await SecP256K1.Signature.signCanonically(keyPair, "sha256", signBytes));
|
|
10
|
+
tx.addSignature(pubKey, sig);
|
|
11
|
+
return tx;
|
|
12
|
+
};
|
|
52
13
|
},
|
|
53
14
|
};
|
|
54
15
|
//# sourceMappingURL=binance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binance.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/binance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"binance.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/binance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAS,SAAS,EAAE,MAAM,SAAS,CAAC;AAI3C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;AAE1E,eAAe;IACb,KAAK,CAAC,MAAM,CAAC,OAAmB;QAC9B,OAAO,KAAK,EAAE,EAAe,EAAE,OAAa,EAAwB,EAAE;YACpE,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7G,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;YACjG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import type { Network, SignerAsync } from "@shapeshiftoss/bitcoinjs-lib";
|
|
3
2
|
import * as bip32 from "bip32";
|
|
4
3
|
import { BIP32, SecP256K1 } from "../core";
|
|
@@ -25,9 +24,7 @@ export declare class BIP32Adapter extends ECPairAdapter implements BIP32Interfac
|
|
|
25
24
|
protected static prepare(): Promise<void>;
|
|
26
25
|
static create(isolatedNode: BIP32.Node, networkOrParent?: BIP32Adapter | Network, index?: number): Promise<BIP32Adapter>;
|
|
27
26
|
get depth(): number;
|
|
28
|
-
get chainCode(): Buffer &
|
|
29
|
-
length: 32;
|
|
30
|
-
};
|
|
27
|
+
get chainCode(): Buffer & BIP32.ChainCode;
|
|
31
28
|
getChainCode(): Buffer & Uint8Array & {
|
|
32
29
|
length: 32;
|
|
33
30
|
};
|
|
@@ -35,11 +32,7 @@ export declare class BIP32Adapter extends ECPairAdapter implements BIP32Interfac
|
|
|
35
32
|
get fingerprint(): Buffer;
|
|
36
33
|
get parentFingerprint(): number;
|
|
37
34
|
get path(): string;
|
|
38
|
-
get publicKey(): Buffer &
|
|
39
|
-
length: 33;
|
|
40
|
-
} & {
|
|
41
|
-
0: 2 | 3;
|
|
42
|
-
};
|
|
35
|
+
get publicKey(): Buffer & SecP256K1.CompressedPoint;
|
|
43
36
|
getPublicKey(): Buffer & Uint8Array & {
|
|
44
37
|
length: 33;
|
|
45
38
|
} & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/bip32.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/bip32.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE9F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,KAAK,EAAkB,SAAS,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAO1C,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,GAAG,gBAAgB,GAAG,YAAY,CAAC,GAC/G,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG;IAC1B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACxD,CAAC;AAEJ,qBAAa,YAAa,SAAQ,aAAc,YAAW,mBAAmB;IAC5E,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,SAAS,oBAA2B;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,aACP,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,SAAS,EAAE,SAAS,CAAC,UAAU,EAC/B,eAAe,CAAC,EAAE,YAAY,GAAG,OAAO,EACxC,KAAK,CAAC,EAAE,MAAM;qBAcO,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;WAKlC,MAAM,CACjB,YAAY,EAAE,KAAK,CAAC,IAAI,EACxB,eAAe,CAAC,EAAE,YAAY,GAAG,OAAO,EACxC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC;IAWxB,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,SAAS,IAC4B,MAAM,GAAG,KAAK,CAAC,SAAS,CAChE;IACD,YAAY;;;IAGZ,IAAI,UAAU,WAIb;IACD,IAAI,WAAW,WAEd;IACD,IAAI,iBAAiB,WAEpB;IAED,IAAI,IAAI,IAAI,MAAM,CAQjB;IAED,IAAI,SAAS,IAC4D,MAAM,GAAG,SAAS,CAAC,eAAe,CAC1G;IAED,YAAY;;;;;IAIZ,UAAU;IAGV,QAAQ;IAcR,QAAQ,IAAI,KAAK;IAIX,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIpD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAiBtD;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1,84 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.BIP32Adapter = void 0;
|
|
39
|
-
const hdwallet_core_1 = require("@shapeshiftoss/hdwallet-core");
|
|
40
|
-
const bip32 = __importStar(require("bip32"));
|
|
41
|
-
const bs58check_1 = __importDefault(require("bs58check"));
|
|
42
|
-
const p_lazy_1 = __importDefault(require("p-lazy"));
|
|
43
|
-
const core_1 = require("../core");
|
|
44
|
-
const types_1 = require("../core/bip32/types");
|
|
45
|
-
const bitcoin_1 = require("./bitcoin");
|
|
1
|
+
import { bip32ToAddressNList } from "@shapeshiftoss/hdwallet-core";
|
|
2
|
+
import * as bip32 from "bip32";
|
|
3
|
+
import bs58check from "bs58check";
|
|
4
|
+
import PLazy from "p-lazy";
|
|
5
|
+
import { BIP32, IsolationError, SecP256K1 } from "../core";
|
|
6
|
+
import { Path } from "../core/bip32/types";
|
|
7
|
+
import { ECPairAdapter } from "./bitcoin";
|
|
46
8
|
let btccryptoInstance;
|
|
47
|
-
const btccryptoReady =
|
|
48
|
-
btccryptoInstance = (
|
|
49
|
-
})
|
|
50
|
-
class BIP32Adapter extends
|
|
9
|
+
const btccryptoReady = PLazy.from(async () => {
|
|
10
|
+
btccryptoInstance = (await import("@shapeshiftoss/bitcoinjs-lib")).crypto;
|
|
11
|
+
});
|
|
12
|
+
export class BIP32Adapter extends ECPairAdapter {
|
|
13
|
+
node;
|
|
14
|
+
_chainCode;
|
|
15
|
+
_publicKey;
|
|
16
|
+
index;
|
|
17
|
+
_parent;
|
|
18
|
+
_children = new Map();
|
|
19
|
+
_explicitPath;
|
|
20
|
+
_identifier;
|
|
21
|
+
_base58;
|
|
51
22
|
/**
|
|
52
23
|
* If you're inheriting from this class, be sure to call `await BIP32Adapter.prepare()` in your `create()` overload.
|
|
53
24
|
*/
|
|
54
25
|
constructor(node, chainCode, publicKey, networkOrParent, index) {
|
|
55
26
|
super(node, publicKey, networkOrParent instanceof BIP32Adapter ? networkOrParent.network : networkOrParent);
|
|
56
|
-
this._children = new Map();
|
|
57
27
|
this.node = node;
|
|
58
28
|
this._chainCode = chainCode;
|
|
59
29
|
this._publicKey = publicKey;
|
|
60
|
-
this.index = index
|
|
30
|
+
this.index = index ?? 0;
|
|
61
31
|
if (networkOrParent instanceof BIP32Adapter)
|
|
62
32
|
this._parent = networkOrParent;
|
|
63
33
|
if (node.explicitPath) {
|
|
64
|
-
|
|
34
|
+
Path.assert(node.explicitPath);
|
|
65
35
|
this._explicitPath = node.explicitPath;
|
|
66
36
|
}
|
|
67
37
|
}
|
|
68
|
-
static prepare() {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
yield Promise.all([yield btccryptoReady, bitcoin_1.ECPairAdapter.prepare()]);
|
|
72
|
-
});
|
|
38
|
+
static async prepare() {
|
|
39
|
+
// Must await superclass's prepare() so it can do its lazy-loading.
|
|
40
|
+
await Promise.all([await btccryptoReady, ECPairAdapter.prepare()]);
|
|
73
41
|
}
|
|
74
|
-
static create(isolatedNode, networkOrParent, index) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return new BIP32Adapter(isolatedNode, yield isolatedNode.getChainCode(), yield isolatedNode.getPublicKey(), networkOrParent, index);
|
|
78
|
-
});
|
|
42
|
+
static async create(isolatedNode, networkOrParent, index) {
|
|
43
|
+
await this.prepare();
|
|
44
|
+
return new BIP32Adapter(isolatedNode, await isolatedNode.getChainCode(), await isolatedNode.getPublicKey(), networkOrParent, index);
|
|
79
45
|
}
|
|
80
46
|
get depth() {
|
|
81
|
-
return this.path ?
|
|
47
|
+
return this.path ? bip32ToAddressNList(this.path).length : 0;
|
|
82
48
|
}
|
|
83
49
|
get chainCode() {
|
|
84
50
|
return Buffer.from(this._chainCode);
|
|
@@ -87,10 +53,9 @@ class BIP32Adapter extends bitcoin_1.ECPairAdapter {
|
|
|
87
53
|
return this.chainCode;
|
|
88
54
|
}
|
|
89
55
|
get identifier() {
|
|
90
|
-
var _a;
|
|
91
56
|
return (this._identifier =
|
|
92
57
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
93
|
-
|
|
58
|
+
this._identifier ?? btccryptoInstance.hash160(Buffer.from(SecP256K1.CompressedPoint.from(this.publicKey))));
|
|
94
59
|
}
|
|
95
60
|
get fingerprint() {
|
|
96
61
|
return this.identifier.slice(0, 4);
|
|
@@ -99,12 +64,11 @@ class BIP32Adapter extends bitcoin_1.ECPairAdapter {
|
|
|
99
64
|
return this._parent ? this._parent.fingerprint.readUInt32BE(0) : 0;
|
|
100
65
|
}
|
|
101
66
|
get path() {
|
|
102
|
-
var _a;
|
|
103
67
|
if (this._explicitPath)
|
|
104
68
|
return this._explicitPath;
|
|
105
69
|
if (!this._parent)
|
|
106
70
|
return "";
|
|
107
|
-
let parentPath =
|
|
71
|
+
let parentPath = this._parent.path ?? "";
|
|
108
72
|
if (parentPath === "")
|
|
109
73
|
parentPath = "m";
|
|
110
74
|
const hardened = this.index >= 0x80000000;
|
|
@@ -112,7 +76,7 @@ class BIP32Adapter extends bitcoin_1.ECPairAdapter {
|
|
|
112
76
|
return `${parentPath}/${index}${hardened ? "'" : ""}`;
|
|
113
77
|
}
|
|
114
78
|
get publicKey() {
|
|
115
|
-
return Buffer.from(
|
|
79
|
+
return Buffer.from(SecP256K1.CompressedPoint.from(this._publicKey));
|
|
116
80
|
}
|
|
117
81
|
getPublicKey() {
|
|
118
82
|
return this.publicKey;
|
|
@@ -129,51 +93,44 @@ class BIP32Adapter extends bitcoin_1.ECPairAdapter {
|
|
|
129
93
|
xpub.writeUInt32BE(this.index, 9);
|
|
130
94
|
xpub.set(this.chainCode, 13);
|
|
131
95
|
xpub.set(this.publicKey, 45);
|
|
132
|
-
this._base58 =
|
|
96
|
+
this._base58 = bs58check.encode(xpub);
|
|
133
97
|
}
|
|
134
98
|
return bip32.fromBase58(this._base58, this.network);
|
|
135
99
|
}
|
|
136
100
|
toBase58() {
|
|
137
|
-
throw new
|
|
138
|
-
}
|
|
139
|
-
derive(index) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
* only derive keys for nodes that are children of this one.
|
|
160
|
-
*/
|
|
161
|
-
if (this._explicitPath) {
|
|
162
|
-
if (!(path.startsWith(this._explicitPath) && path.length >= this._explicitPath.length)) {
|
|
163
|
-
throw new Error("path is not a child of this node");
|
|
164
|
-
}
|
|
101
|
+
throw new IsolationError("xprv");
|
|
102
|
+
}
|
|
103
|
+
async derive(index) {
|
|
104
|
+
let out = this._children.get(index);
|
|
105
|
+
if (!out) {
|
|
106
|
+
out = (await BIP32Adapter.create(await this.node.derive(index), this, index));
|
|
107
|
+
this._children.set(index, out);
|
|
108
|
+
}
|
|
109
|
+
return out;
|
|
110
|
+
}
|
|
111
|
+
async deriveHardened(index) {
|
|
112
|
+
return await this.derive(index + 0x80000000);
|
|
113
|
+
}
|
|
114
|
+
async derivePath(path) {
|
|
115
|
+
/**
|
|
116
|
+
* If a non-root explicit path has been set, we cannot construct
|
|
117
|
+
* a full representation of the BIP32 key tree and therefore may
|
|
118
|
+
* only derive keys for nodes that are children of this one.
|
|
119
|
+
*/
|
|
120
|
+
if (this._explicitPath) {
|
|
121
|
+
if (!(path.startsWith(this._explicitPath) && path.length >= this._explicitPath.length)) {
|
|
122
|
+
throw new Error("path is not a child of this node");
|
|
165
123
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
124
|
+
}
|
|
125
|
+
const ownPath = this.path;
|
|
126
|
+
if (path.startsWith(ownPath))
|
|
127
|
+
path = path.slice(ownPath.length);
|
|
128
|
+
if (path.startsWith("/"))
|
|
129
|
+
path = path.slice(1);
|
|
130
|
+
if (/^m/.test(path) && this._parent)
|
|
131
|
+
throw new Error("expected master, got child");
|
|
132
|
+
return await BIP32.derivePath(this, path);
|
|
175
133
|
}
|
|
176
134
|
}
|
|
177
|
-
|
|
178
|
-
exports.default = BIP32Adapter;
|
|
135
|
+
export default BIP32Adapter;
|
|
179
136
|
//# sourceMappingURL=bip32.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/bip32.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/bip32.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import type { crypto as bcrypto, ECPairInterface, Network, SignerAsync } from "@shapeshiftoss/bitcoinjs-lib";
|
|
3
2
|
import { SecP256K1 } from "../core";
|
|
4
3
|
import { ByteArray } from "../types";
|
|
@@ -17,18 +16,10 @@ export declare class ECPairAdapter implements SignerAsync, ECPairInterfaceAsync
|
|
|
17
16
|
static create(isolatedKey: SecP256K1.ECDSAKey, network?: Network): Promise<ECPairAdapter>;
|
|
18
17
|
get network(): Network;
|
|
19
18
|
get ecdsaSign(): {
|
|
20
|
-
(digestAlgorithm: null, message: ByteArray<32>): Promise<NonNullable<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
(digestAlgorithm:
|
|
24
|
-
length: 64;
|
|
25
|
-
}> | undefined>;
|
|
26
|
-
(digestAlgorithm: "sha256" | "hash256" | "keccak256", message: Uint8Array): Promise<NonNullable<Uint8Array & {
|
|
27
|
-
length: 64;
|
|
28
|
-
}>>;
|
|
29
|
-
(digestAlgorithm: "sha256" | "hash256" | "keccak256", message: Uint8Array, counter: number): Promise<NonNullable<Uint8Array & {
|
|
30
|
-
length: 64;
|
|
31
|
-
}> | undefined>;
|
|
19
|
+
(digestAlgorithm: null, message: ByteArray<32>): Promise<NonNullable<SecP256K1.Signature>>;
|
|
20
|
+
(digestAlgorithm: null, message: ByteArray<32>, counter: import("../types").Uint32): Promise<NonNullable<SecP256K1.Signature> | undefined>;
|
|
21
|
+
(digestAlgorithm: import("../core/digest").AlgorithmName<32>, message: Uint8Array): Promise<NonNullable<SecP256K1.Signature>>;
|
|
22
|
+
(digestAlgorithm: import("../core/digest").AlgorithmName<32>, message: Uint8Array, counter: import("../types").Uint32): Promise<NonNullable<SecP256K1.Signature> | undefined>;
|
|
32
23
|
};
|
|
33
24
|
get ecdh(): any;
|
|
34
25
|
get ecdhRaw(): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/bitcoin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bitcoin.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/bitcoin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,OAAO,EAAE,eAAe,EAAE,OAAO,EAAY,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAGvH,OAAO,EAAkB,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAO7F,qBAAa,aAAc,YAAW,WAAW,EAAE,oBAAoB;IACrE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,UAAU,UAAS;IACnB,IAAI,UAAS;IAEb,SAAS,aAAa,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO;IAMzG;;OAEG;qBACoB,OAAO;WAIjB,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAK/F,IAAI,OAAO,YAGV;IAED,IAAI,SAAS;;;;;MAEZ;IAED,IAAI,IAAI,QAIP;IAED,IAAI,OAAO,QAIV;IAEK,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBhG,IAAI,SAAS,kCAEZ;IACD,YAAY,IAKiB,MAAM,GAAG,SAAS,CAAC,UAAU;IAG1D,KAAK,IAAI,KAAK;IAGd,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;CAI/C;AAED,eAAe,aAAa,CAAC"}
|