@shapeshiftoss/hdwallet-native 1.50.5-alpha.1 → 1.50.5-alpha.49
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 +1 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +5 -1
- package/dist/adapter.js.map +1 -1
- package/dist/adapter.test.js +5 -1
- package/dist/adapter.test.js.map +1 -1
- package/dist/arkeo.js +5 -1
- package/dist/arkeo.js.map +1 -1
- package/dist/arkeo.test.js +5 -1
- package/dist/arkeo.test.js.map +1 -1
- package/dist/binance.d.ts +1 -1
- package/dist/binance.d.ts.map +1 -1
- package/dist/binance.js +5 -1
- package/dist/binance.js.map +1 -1
- package/dist/binance.test.js +5 -1
- package/dist/binance.test.js.map +1 -1
- package/dist/bitcoin.d.ts +9 -9
- package/dist/bitcoin.d.ts.map +1 -1
- package/dist/bitcoin.js +6 -2
- package/dist/bitcoin.js.map +1 -1
- package/dist/bitcoin.test.js +7 -3
- package/dist/bitcoin.test.js.map +1 -1
- package/dist/cosmos.js +5 -1
- package/dist/cosmos.js.map +1 -1
- package/dist/cosmos.test.js +5 -1
- package/dist/cosmos.test.js.map +1 -1
- package/dist/crypto/CryptoHelper.js +5 -1
- package/dist/crypto/CryptoHelper.js.map +1 -1
- package/dist/crypto/CryptoHelper.test.js +7 -1
- package/dist/crypto/CryptoHelper.test.js.map +1 -1
- package/dist/crypto/EncryptedWallet.js +5 -1
- package/dist/crypto/EncryptedWallet.js.map +1 -1
- package/dist/crypto/EncryptedWallet.test.js +7 -1
- package/dist/crypto/EncryptedWallet.test.js.map +1 -1
- package/dist/crypto/classes/cipherString.js +6 -6
- package/dist/crypto/classes/cipherString.js.map +1 -1
- package/dist/crypto/classes/symmetricCryptoKey.js +3 -3
- package/dist/crypto/classes/symmetricCryptoKey.js.map +1 -1
- package/dist/crypto/engines/index.js +5 -1
- package/dist/crypto/engines/index.js.map +1 -1
- package/dist/crypto/engines/web-crypto.js +5 -1
- package/dist/crypto/engines/web-crypto.js.map +1 -1
- package/dist/crypto/engines/web-crypto.test.js +7 -1
- package/dist/crypto/engines/web-crypto.test.js.map +1 -1
- package/dist/crypto/index.js +5 -1
- package/dist/crypto/index.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 +5 -1
- package/dist/crypto/isolation/adapters/binance.js.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.d.ts +1 -1
- package/dist/crypto/isolation/adapters/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.js +6 -2
- package/dist/crypto/isolation/adapters/bip32.js.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.d.ts +9 -9
- package/dist/crypto/isolation/adapters/bitcoin.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.js +7 -3
- package/dist/crypto/isolation/adapters/bitcoin.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmosDirect.js +5 -1
- package/dist/crypto/isolation/adapters/cosmosDirect.js.map +1 -1
- package/dist/crypto/isolation/adapters/ethereum.js +7 -3
- package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
- package/dist/crypto/isolation/adapters/fio.d.ts +1 -1
- package/dist/crypto/isolation/adapters/fio.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/fio.js +6 -2
- package/dist/crypto/isolation/adapters/fio.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.d.ts.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.js +9 -2
- package/dist/crypto/isolation/core/bip32/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/interfaces.js +5 -1
- 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.d.ts.map +1 -1
- package/dist/crypto/isolation/core/bip32/types.js +2 -2
- package/dist/crypto/isolation/core/bip32/types.js.map +1 -1
- package/dist/crypto/isolation/core/bip39/index.js +5 -1
- package/dist/crypto/isolation/core/bip39/index.js.map +1 -1
- package/dist/crypto/isolation/core/digest/index.js +5 -1
- package/dist/crypto/isolation/core/digest/index.js.map +1 -1
- package/dist/crypto/isolation/core/digest/index.test.js +2 -2
- package/dist/crypto/isolation/core/digest/index.test.js.map +1 -1
- package/dist/crypto/isolation/core/digest/types.d.ts +8 -8
- package/dist/crypto/isolation/core/digest/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/digest/types.js +13 -10
- package/dist/crypto/isolation/core/digest/types.js.map +1 -1
- package/dist/crypto/isolation/core/index.js +5 -1
- package/dist/crypto/isolation/core/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/index.js +5 -1
- package/dist/crypto/isolation/core/secp256k1/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/types.d.ts +32 -32
- package/dist/crypto/isolation/core/secp256k1/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/types.js +39 -35
- package/dist/crypto/isolation/core/secp256k1/types.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.js +21 -17
- package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip39.js +8 -4
- package/dist/crypto/isolation/engines/default/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/default/index.js +5 -1
- package/dist/crypto/isolation/engines/default/index.js.map +1 -1
- package/dist/crypto/isolation/engines/default/index.test.js +5 -1
- package/dist/crypto/isolation/engines/default/index.test.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip32.js +10 -6
- package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip39.js +9 -5
- package/dist/crypto/isolation/engines/dummy/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/index.js +5 -1
- package/dist/crypto/isolation/engines/dummy/index.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/index.test.js +5 -1
- package/dist/crypto/isolation/engines/dummy/index.test.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/types.d.ts +1 -1
- package/dist/crypto/isolation/engines/dummy/types.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/index.js +5 -1
- package/dist/crypto/isolation/engines/index.js.map +1 -1
- package/dist/crypto/isolation/index.js +5 -1
- package/dist/crypto/isolation/index.js.map +1 -1
- package/dist/crypto/isolation/types.d.ts +18 -18
- package/dist/crypto/isolation/types.d.ts.map +1 -1
- package/dist/crypto/isolation/types.js +5 -5
- package/dist/crypto/isolation/types.js.map +1 -1
- package/dist/crypto/utils.test.js +5 -1
- package/dist/crypto/utils.test.js.map +1 -1
- package/dist/ethereum.js +6 -2
- package/dist/ethereum.js.map +1 -1
- package/dist/ethereum.test.js +5 -1
- package/dist/ethereum.test.js.map +1 -1
- package/dist/fio.js +6 -2
- package/dist/fio.js.map +1 -1
- package/dist/fio.test.js +5 -1
- package/dist/fio.test.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +5 -1
- package/dist/index.test.js.map +1 -1
- package/dist/kava.js +5 -1
- package/dist/kava.js.map +1 -1
- package/dist/kava.test.js +5 -1
- package/dist/kava.test.js.map +1 -1
- package/dist/native.d.ts +1 -1
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +9 -5
- package/dist/native.js.map +1 -1
- package/dist/native.test.js +11 -7
- package/dist/native.test.js.map +1 -1
- package/dist/networks.js +5 -1
- package/dist/networks.js.map +1 -1
- package/dist/networks.test.js +4 -4
- package/dist/networks.test.js.map +1 -1
- package/dist/osmosis.js +5 -1
- package/dist/osmosis.js.map +1 -1
- package/dist/osmosis.test.js +5 -1
- package/dist/osmosis.test.js.map +1 -1
- package/dist/secret.js +5 -1
- package/dist/secret.js.map +1 -1
- package/dist/secret.test.js +5 -1
- package/dist/secret.test.js.map +1 -1
- package/dist/terra.js +5 -1
- package/dist/terra.js.map +1 -1
- package/dist/terra.test.js +5 -1
- package/dist/terra.test.js.map +1 -1
- package/dist/thorchain.js +5 -1
- package/dist/thorchain.js.map +1 -1
- package/dist/thorchain.test.js +5 -1
- package/dist/thorchain.test.js.map +1 -1
- package/dist/util.js +6 -2
- package/dist/util.js.map +1 -1
- package/dist/util.test.js +5 -1
- package/dist/util.test.js.map +1 -1
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/ethereum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/ethereum.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { ExternalPrivateKey as FIOExternalPrivateKey } from "@shapeshiftoss/fiojs";
|
|
3
3
|
import { SecP256K1 } from "../core";
|
|
4
4
|
import { CurvePoint } from "../core/secp256k1";
|
|
5
|
-
|
|
5
|
+
type IsolatedKey = SecP256K1.ECDSAKey & SecP256K1.ECDHKey;
|
|
6
6
|
export declare class ExternalSignerAdapter implements FIOExternalPrivateKey {
|
|
7
7
|
protected readonly _isolatedKey: IsolatedKey;
|
|
8
8
|
readonly _publicKey: CurvePoint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fio.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/fio.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,IAAI,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAInF,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAwB,MAAM,mBAAmB,CAAC;AASrE,
|
|
1
|
+
{"version":3,"file":"fio.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/fio.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,IAAI,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAInF,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAwB,MAAM,mBAAmB,CAAC;AASrE,KAAK,WAAW,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;AAC1D,qBAAa,qBAAsB,YAAW,qBAAqB;IACjE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,SAAS,aAAa,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU;WAKxD,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI7E,IAAI,SAAS,IAAI,MAAM,CAGtB;IAEK,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAU1C,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CAKvD;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -70,7 +74,7 @@ class ExternalSignerAdapter {
|
|
|
70
74
|
}
|
|
71
75
|
getSharedSecret(publicKey) {
|
|
72
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
return Buffer.from(Digest.Algorithms["sha512"](yield this._isolatedKey.ecdh(types_1.checkType(core_1.SecP256K1.CurvePoint, publicKey.toBuffer()))));
|
|
77
|
+
return Buffer.from(Digest.Algorithms["sha512"](yield this._isolatedKey.ecdh((0, types_1.checkType)(core_1.SecP256K1.CurvePoint, publicKey.toBuffer()))));
|
|
74
78
|
});
|
|
75
79
|
}
|
|
76
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fio.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/fio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fio.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/fio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mEAAqD;AACrD,gDAAwB;AAExB,kCAAoC;AACpC,uDAAyC;AACzC,iDAAqE;AACrE,oCAAqC;AAErC,SAAS,aAAa,CAAC,GAAe,EAAE,OAAO,GAAG,EAAE;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,OAAO,cAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAGD,MAAa,qBAAqB;IAIhC,YAAsB,WAAwB,EAAE,SAAqB;QACnE,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,MAAM,CAAO,MAAM,CAAC,WAAwB;;YAC1C,OAAO,IAAI,qBAAqB,CAAC,WAAW,EAAE,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;QAClF,CAAC;KAAA;IAED,IAAI,SAAS;QACX,MAAM,GAAG,GAAG,gBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,OAAO,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;IACpC,CAAC;IAEK,IAAI,CAAC,OAAmB;;YAC5B,MAAM,GAAG,GAAG,MAAM,gBAAS,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvG,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,gCAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC/D,gBAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC;gBACrC,gBAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC;aACtC,CAAC,CAAC;YACH,OAAO,UAAU,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;QACpD,CAAC;KAAA;IAEK,eAAe,CAAC,SAAc;;YAClC,OAAO,MAAM,CAAC,IAAI,CAChB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,gBAAS,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CACjH,CAAC;QACJ,CAAC;KAAA;CACF;AAjCD,sDAiCC;AAED,kBAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip32/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,UAAU,SAAS;IACjB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,wBAAsB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip32/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,UAAU,SAAS;IACjB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,wBAAsB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAuBrF"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -34,7 +38,10 @@ function derivePath(node, path) {
|
|
|
34
38
|
const endIndex = splitPath.lastIndexOf("");
|
|
35
39
|
if (endIndex >= 0)
|
|
36
40
|
splitPath = splitPath.slice(0, endIndex);
|
|
37
|
-
|
|
41
|
+
// TODO(gomes): fix this generic hell
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
43
|
+
// @ts-ignore this breaks type checking and I haven't touched this diff, ts-ignoring it for the time being
|
|
44
|
+
return splitPath.reduce((prevHd, indexStr) => __awaiter(this, void 0, void 0, function* () {
|
|
38
45
|
let index;
|
|
39
46
|
if (indexStr.slice(-1) === `'`) {
|
|
40
47
|
index = parseInt(indexStr.slice(0, -1), 10);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip32/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip32/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,+CAA6B;AAE7B,mCAA+B;AAM/B,SAAsB,UAAU,CAAsB,IAAO,EAAE,IAAU;;QACvE,kEAAkE;QAClE,YAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAElB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACxB,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,QAAQ,IAAI,CAAC;YAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5D,qCAAqC;QACrC,6DAA6D;QAC7D,0GAA0G;QAC1G,OAAO,SAAS,CAAC,MAAM,CAAC,CAAO,MAAM,EAAE,QAAQ,EAAE,EAAE;YACjD,IAAI,KAAK,CAAC;YACV,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC9B,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;aAClD;iBAAM;gBACL,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACrC;QACH,CAAC,CAAA,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,CAAC;CAAA;AAvBD,gCAuBC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip32/interfaces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip32/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAqD;AAiBrD,SAAgB,gBAAgB,CAAiB,CAAI;IACnD,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;AAC5E,CAAC;AAFD,4CAEC"}
|
|
@@ -2,7 +2,7 @@ import { Static } from "funtypes";
|
|
|
2
2
|
declare const chainCodeBase: import("funtypes").Intersect<[import("funtypes").InstanceOf<Uint8Array>, import("funtypes/lib/types/Object").Object<{
|
|
3
3
|
length: import("funtypes").Literal<32>;
|
|
4
4
|
}, false>]>;
|
|
5
|
-
export
|
|
5
|
+
export type ChainCode = Static<typeof chainCodeBase>;
|
|
6
6
|
declare const chainCode: import("funtypes").Intersect<[import("funtypes").InstanceOf<Uint8Array>, import("funtypes/lib/types/Object").Object<{
|
|
7
7
|
length: import("funtypes").Literal<32>;
|
|
8
8
|
}, false>]>;
|
|
@@ -10,7 +10,7 @@ export declare const ChainCode: typeof chainCode;
|
|
|
10
10
|
declare const pathBase: import("funtypes").Constraint<import("funtypes").String, string, unknown> & {
|
|
11
11
|
regex: RegExp;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
13
|
+
export type Path = Static<typeof pathBase>;
|
|
14
14
|
declare const path: import("funtypes").Constraint<import("funtypes").String, string, unknown> & {
|
|
15
15
|
regex: RegExp;
|
|
16
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip32/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,QAAA,MAAM,aAAa;;WAAgB,CAAC;AACpC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip32/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,QAAA,MAAM,aAAa;;WAAgB,CAAC;AACpC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAErD,QAAA,MAAM,SAAS;;WAAgD,CAAC;AAChE,eAAO,MAAM,SAAS,EAAE,OAAO,SAAqB,CAAC;AAGrD,QAAA,MAAM,QAAQ;;CAAyD,CAAC;AACxE,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE3C,QAAA,MAAM,IAAI;;CAAsC,CAAC;AACjD,eAAO,MAAM,IAAI,EAAE,OAAO,IAAW,CAAC"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Path = exports.ChainCode = void 0;
|
|
4
4
|
const types_1 = require("../../types");
|
|
5
|
-
const chainCodeBase = types_1.ByteArray(32);
|
|
5
|
+
const chainCodeBase = (0, types_1.ByteArray)(32);
|
|
6
6
|
const chainCodeStatic = {};
|
|
7
7
|
const chainCode = Object.assign(chainCodeBase, chainCodeStatic);
|
|
8
8
|
exports.ChainCode = chainCode;
|
|
9
9
|
// https://regex101.com/r/KwmgAp/1
|
|
10
|
-
const pathBase = types_1.BoundedString(/^((m\/)?(\d+'?\/)*\d+'?)$|^(?![\s\S])/);
|
|
10
|
+
const pathBase = (0, types_1.BoundedString)(/^((m\/)?(\d+'?\/)*\d+'?)$|^(?![\s\S])/);
|
|
11
11
|
const pathStatic = {};
|
|
12
12
|
const path = Object.assign(pathBase, pathStatic);
|
|
13
13
|
exports.Path = path;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip32/types.ts"],"names":[],"mappings":";;;AAEA,uCAAuD;AAEvD,MAAM,aAAa,GAAG,iBAAS,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip32/types.ts"],"names":[],"mappings":";;;AAEA,uCAAuD;AAEvD,MAAM,aAAa,GAAG,IAAA,iBAAS,EAAC,EAAE,CAAC,CAAC;AAEpC,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AACnD,QAAA,SAAS,GAAqB,SAAS,CAAC;AAErD,kCAAkC;AAClC,MAAM,QAAQ,GAAG,IAAA,qBAAa,EAAC,uCAAuC,CAAC,CAAC;AAExE,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACpC,QAAA,IAAI,GAAgB,IAAI,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip39/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/bip39/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/digest/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/digest/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,+CAA6B"}
|
|
@@ -6,8 +6,8 @@ describe("Digests", () => {
|
|
|
6
6
|
it("converts to/from WordArrays correctly", () => {
|
|
7
7
|
const inHex = "deadbeeffeedface";
|
|
8
8
|
const input = Buffer.from(inHex, "hex");
|
|
9
|
-
const foo = algorithms_1.toWordArray(input);
|
|
10
|
-
const bar = algorithms_1.fromWordArray(foo);
|
|
9
|
+
const foo = (0, algorithms_1.toWordArray)(input);
|
|
10
|
+
const bar = (0, algorithms_1.fromWordArray)(foo);
|
|
11
11
|
const output = Buffer.from(bar);
|
|
12
12
|
expect(output.toString("hex")).toEqual(inHex);
|
|
13
13
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/digest/index.test.ts"],"names":[],"mappings":";;AAAA,wBAA+B;AAC/B,6CAA0D;AAE1D,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,KAAK,GAAG,kBAAkB,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,wBAAW,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/digest/index.test.ts"],"names":[],"mappings":";;AAAA,wBAA+B;AAC/B,6CAA0D;AAE1D,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,KAAK,GAAG,kBAAkB,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAA,wBAAW,EAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAA,0BAAa,EAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,0CAA0C,CAAC;QACvE,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,0CAA0C,CAAC;QAChF,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,0CAA0C,CAAC;QAC5E,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,kEAAkE,CAAC;QACnG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,kEAAkE,CAAC;QACpG,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,kEAAkE,CAAC;QACzG;YACE,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,kIAAkI;SACnI;KACO,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE;gBACrB,MAAM,GAAG,GAAG,aAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,IAAI;oBAAE,OAAO,GAAG,CAAC;aAC5B;QACH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -4,13 +4,13 @@ import { AlgorithmLength } from "./algorithms";
|
|
|
4
4
|
declare function algorithmNameBase<L extends NonNegativeInteger | undefined = undefined>(length?: L): Enum<{
|
|
5
5
|
[N in AlgorithmName<L>]: N;
|
|
6
6
|
}>;
|
|
7
|
-
|
|
8
|
-
export
|
|
7
|
+
type algorithmNameInner<K, L> = K extends keyof typeof AlgorithmLength ? typeof AlgorithmLength[K] extends L ? K : never : never;
|
|
8
|
+
export type AlgorithmName<L extends NonNegativeInteger | undefined = undefined> = L extends undefined ? keyof typeof AlgorithmLength : algorithmNameInner<keyof typeof AlgorithmLength, L>;
|
|
9
9
|
declare const algorithmName: typeof algorithmNameBase & Enum<{
|
|
10
|
-
ripemd160: "ripemd160";
|
|
11
10
|
sha1: "sha1";
|
|
12
|
-
|
|
11
|
+
ripemd160: "ripemd160";
|
|
13
12
|
hash160: "hash160";
|
|
13
|
+
sha256: "sha256";
|
|
14
14
|
hash256: "hash256";
|
|
15
15
|
keccak256: "keccak256";
|
|
16
16
|
sha512: "sha512";
|
|
@@ -19,19 +19,19 @@ declare const algorithmName: typeof algorithmNameBase & Enum<{
|
|
|
19
19
|
};
|
|
20
20
|
export declare const AlgorithmName: typeof algorithmName;
|
|
21
21
|
declare function unverifiedDigestBase<N extends AlgorithmName = AlgorithmName>(name?: N): Runtype<UnverifiedDigest<N>>;
|
|
22
|
-
|
|
22
|
+
type unverifiedDigestInner<N> = N extends keyof typeof AlgorithmLength ? ByteArray<typeof AlgorithmLength[N]> & {
|
|
23
23
|
preimage: ByteArray;
|
|
24
24
|
algorithm: N;
|
|
25
25
|
} : never;
|
|
26
|
-
|
|
26
|
+
type UnverifiedDigest<N extends AlgorithmName = AlgorithmName> = unverifiedDigestInner<N>;
|
|
27
27
|
declare const unverifiedDigest: typeof unverifiedDigestBase & (<T extends number | undefined = undefined>(length?: T | undefined) => T extends undefined ? import("funtypes").InstanceOf<Uint8Array> : unknown extends T ? import("funtypes").InstanceOf<Uint8Array> : import("funtypes").Intersect<[import("funtypes").InstanceOf<Uint8Array>, Obj<{
|
|
28
28
|
length: Literal<T>;
|
|
29
29
|
}, false>]>) & {
|
|
30
30
|
equal(lhs: Uint8Array, rhs: Uint8Array): boolean;
|
|
31
31
|
};
|
|
32
32
|
declare const UnverifiedDigest: typeof unverifiedDigest;
|
|
33
|
-
export
|
|
34
|
-
export
|
|
33
|
+
export type Digest<N extends AlgorithmName> = UnverifiedDigest<N>;
|
|
34
|
+
export type Algorithm<N extends AlgorithmName = AlgorithmName> = (_: ByteArray) => Digest<N>;
|
|
35
35
|
export declare const Algorithms: {
|
|
36
36
|
readonly sha1: Algorithm<"sha1">;
|
|
37
37
|
readonly ripemd160: Algorithm<"ripemd160">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/digest/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,OAAO,EAAS,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAyB,eAAe,EAAE,MAAM,cAAc,CAAC;AAMtE,iBAAS,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,SAAS,GAAG,SAAS,EAC7E,MAAM,CAAC,EAAE,CAAC,GACT,IAAI,CAAC;KAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;CAAE,CAAC,CAQtC;AAED,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/digest/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,OAAO,EAAS,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAyB,eAAe,EAAE,MAAM,cAAc,CAAC;AAMtE,iBAAS,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,SAAS,GAAG,SAAS,EAC7E,MAAM,CAAC,EAAE,CAAC,GACT,IAAI,CAAC;KAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;CAAE,CAAC,CAQtC;AAED,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,MAAM,OAAO,eAAe,GAClE,OAAO,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,GACjC,CAAC,GACD,KAAK,GACP,KAAK,CAAC;AAEV,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,kBAAkB,GAAG,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,SAAS,GACjG,MAAM,OAAO,eAAe,GAC5B,kBAAkB,CAAC,MAAM,OAAO,eAAe,EAAE,CAAC,CAAC,CAAC;AAMxD,QAAA,MAAM,aAAa;;;;;;;;;gCAJW,aAAa,SAAS,MAAM,SAAS,aAAa,EAAE,KAAK,IAAI,YAAY,GAAG;CAIV,CAAC;AACjG,eAAO,MAAM,aAAa,EAAE,OAAO,aAA6B,CAAC;AASjE,iBAAS,oBAAoB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAK7G;AAED,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,OAAO,eAAe,GAClE,SAAS,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,CAAC,CAAA;CAAE,GAC5E,KAAK,CAAC;AAEV,KAAK,gBAAgB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE1F,QAAA,MAAM,gBAAgB;;;;CAAyE,CAAC;AAIhG,QAAA,MAAM,gBAAgB,EAAE,OAAO,gBAAmC,CAAC;AAEnE,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,aAAa,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAOlE,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,CAAC,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;AAM7F,eAAO,MAAM,UAAU;;;;;;;;CAyBnB,CAAC;AAEL,iBAAS,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAOvC;AAED,QAAA,MAAM,MAAM;;;;CAA4D,CAAC;AACzE,eAAO,MAAM,MAAM,EAAE,OAAO,MAAe,CAAC"}
|
|
@@ -10,23 +10,23 @@ const algorithms_1 = require("./algorithms");
|
|
|
10
10
|
// type inference can't follow. Luckily, because the names are statically known,
|
|
11
11
|
// we can assert the type even though it can't be inferred.
|
|
12
12
|
function algorithmNameBase(length) {
|
|
13
|
-
return funtypes_1.Enum(`AlgorithmName(${length !== null && length !== void 0 ? length : ""})`, Object.entries(algorithms_1.AlgorithmLength)
|
|
13
|
+
return (0, funtypes_1.Enum)(`AlgorithmName(${length !== null && length !== void 0 ? length : ""})`, Object.entries(algorithms_1.AlgorithmLength)
|
|
14
14
|
.filter((x) => length === undefined || length === x[1])
|
|
15
15
|
.map((x) => x[0])
|
|
16
16
|
.reduce((a, x) => Object.assign(a, { [x]: x }), {}));
|
|
17
17
|
}
|
|
18
18
|
const algorithmNameStatic = {
|
|
19
19
|
forEach(callbackfn, thisarg) {
|
|
20
|
-
Object.keys(exports.AlgorithmName().enumObject).forEach(callbackfn, thisarg);
|
|
20
|
+
Object.keys((0, exports.AlgorithmName)().enumObject).forEach(callbackfn, thisarg);
|
|
21
21
|
},
|
|
22
22
|
};
|
|
23
23
|
const algorithmName = Object.assign(algorithmNameBase, algorithmNameBase(), algorithmNameStatic);
|
|
24
24
|
exports.AlgorithmName = algorithmName;
|
|
25
25
|
function specificUnverifiedDigest(name) {
|
|
26
|
-
return funtypes_1.Object({
|
|
27
|
-
preimage: types_1.ByteArray(),
|
|
28
|
-
algorithm: funtypes_1.Literal(name),
|
|
29
|
-
}).And(types_1.ByteArray(algorithms_1.AlgorithmLength[name]));
|
|
26
|
+
return (0, funtypes_1.Object)({
|
|
27
|
+
preimage: (0, types_1.ByteArray)(),
|
|
28
|
+
algorithm: (0, funtypes_1.Literal)(name),
|
|
29
|
+
}).And((0, types_1.ByteArray)(algorithms_1.AlgorithmLength[name]));
|
|
30
30
|
}
|
|
31
31
|
function unverifiedDigestBase(name) {
|
|
32
32
|
if (name !== undefined)
|
|
@@ -44,7 +44,7 @@ const UnverifiedDigest = unverifiedDigest;
|
|
|
44
44
|
const digestStatic = {};
|
|
45
45
|
// We use UnverifiedDigest instead of Digest in the contract because the result is implicitly trusted.
|
|
46
46
|
function algorithmBase(name) {
|
|
47
|
-
return funtypes_1.Contract([types_1.ByteArray()], UnverifiedDigest(name));
|
|
47
|
+
return (0, funtypes_1.Contract)([(0, types_1.ByteArray)()], UnverifiedDigest(name));
|
|
48
48
|
}
|
|
49
49
|
const algorithmStatic = {};
|
|
50
50
|
const algorithm = Object.assign(algorithmBase, algorithmStatic);
|
|
@@ -52,15 +52,18 @@ const algorithm = Object.assign(algorithmBase, algorithmStatic);
|
|
|
52
52
|
const Algorithm = algorithm;
|
|
53
53
|
exports.Algorithms = (() => {
|
|
54
54
|
const algorithms = {};
|
|
55
|
-
algorithms_1._initializeAlgorithms((name, fn) => {
|
|
55
|
+
(0, algorithms_1._initializeAlgorithms)((name, fn) => {
|
|
56
56
|
exports.AlgorithmName.assert(name);
|
|
57
57
|
if (name in algorithms)
|
|
58
58
|
throw new Error(`digest algorithm implementation already provided for ${name}`);
|
|
59
59
|
algorithms[name] = Algorithm(name).enforce((x) => {
|
|
60
|
-
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
61
|
+
// @ts-ignore TODO(gomes): tsc fix this line or maybe not, this is a major sensitive core bitand
|
|
62
|
+
// and the error is just TS being stricter in later versions than it used to
|
|
63
|
+
const out = (0, types_2.checkType)((0, types_1.ByteArray)(algorithms_1.AlgorithmLength[name]), fn(x));
|
|
61
64
|
out.preimage = x;
|
|
62
65
|
out.algorithm = name;
|
|
63
|
-
return types_2.checkType(UnverifiedDigest(name), out);
|
|
66
|
+
return (0, types_2.checkType)(UnverifiedDigest(name), out);
|
|
64
67
|
});
|
|
65
68
|
});
|
|
66
69
|
Object.freeze(algorithms);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/digest/types.ts"],"names":[],"mappings":";;;AAAA,uCAAkF;AAElF,uCAA4D;AAC5D,uCAAwC;AACxC,6CAAsE;AAEtE,gFAAgF;AAChF,kFAAkF;AAClF,gFAAgF;AAChF,2DAA2D;AAC3D,SAAS,iBAAiB,CACxB,MAAU;IAEV,OAAO,eAAI,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/digest/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/core/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiC;AACjC,iDAAiC;AACjC,mDAAmC;AACnC,yDAAyC;AAEzC,MAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,IAAY;QACtB,KAAK,CAAC,8BAA8B,IAAI,WAAW,CAAC,CAAC;IACvD,CAAC;CACF;AAJD,wCAIC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/secp256k1/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/secp256k1/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB"}
|