@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,52 +1,17 @@
|
|
|
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 __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.ECPairAdapter = void 0;
|
|
39
|
-
const p_lazy_1 = __importDefault(require("p-lazy"));
|
|
40
|
-
const core_1 = require("../core");
|
|
41
|
-
const types_1 = require("../types");
|
|
1
|
+
import PLazy from "p-lazy";
|
|
2
|
+
import { IsolationError, SecP256K1 } from "../core";
|
|
3
|
+
import { assertType, ByteArray } from "../types";
|
|
42
4
|
let networksInstance;
|
|
43
|
-
const networksReady =
|
|
44
|
-
networksInstance = (
|
|
45
|
-
})
|
|
46
|
-
class ECPairAdapter {
|
|
5
|
+
const networksReady = PLazy.from(async () => {
|
|
6
|
+
networksInstance = (await import("@shapeshiftoss/bitcoinjs-lib")).networks;
|
|
7
|
+
});
|
|
8
|
+
export class ECPairAdapter {
|
|
9
|
+
_isolatedKey;
|
|
10
|
+
_publicKey;
|
|
11
|
+
_network;
|
|
12
|
+
compressed = false;
|
|
13
|
+
lowR = false;
|
|
47
14
|
constructor(isolatedKey, publicKey, network) {
|
|
48
|
-
this.compressed = false;
|
|
49
|
-
this.lowR = false;
|
|
50
15
|
this._isolatedKey = isolatedKey;
|
|
51
16
|
this._publicKey = publicKey;
|
|
52
17
|
this._network = network;
|
|
@@ -54,21 +19,16 @@ class ECPairAdapter {
|
|
|
54
19
|
/**
|
|
55
20
|
* If you're inheriting from this class, be sure to call `await ECPairAdapter.prepare()` in your `create()` overload.
|
|
56
21
|
*/
|
|
57
|
-
static prepare() {
|
|
58
|
-
|
|
59
|
-
yield networksReady;
|
|
60
|
-
});
|
|
22
|
+
static async prepare() {
|
|
23
|
+
await networksReady;
|
|
61
24
|
}
|
|
62
|
-
static create(isolatedKey, network) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return new ECPairAdapter(isolatedKey, yield isolatedKey.getPublicKey(), network);
|
|
66
|
-
});
|
|
25
|
+
static async create(isolatedKey, network) {
|
|
26
|
+
await this.prepare();
|
|
27
|
+
return new ECPairAdapter(isolatedKey, await isolatedKey.getPublicKey(), network);
|
|
67
28
|
}
|
|
68
29
|
get network() {
|
|
69
|
-
var _a;
|
|
70
30
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
71
|
-
return
|
|
31
|
+
return this._network ?? networksInstance.bitcoin;
|
|
72
32
|
}
|
|
73
33
|
get ecdsaSign() {
|
|
74
34
|
return this._isolatedKey.ecdsaSign.bind(this._isolatedKey);
|
|
@@ -85,25 +45,23 @@ class ECPairAdapter {
|
|
|
85
45
|
return undefined;
|
|
86
46
|
return isolatedKey.ecdhRaw.bind(isolatedKey);
|
|
87
47
|
}
|
|
88
|
-
sign(hash, lowR) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return Buffer.from(sig);
|
|
106
|
-
});
|
|
48
|
+
async sign(hash, lowR) {
|
|
49
|
+
assertType(ByteArray(), hash);
|
|
50
|
+
lowR = lowR ?? this.lowR;
|
|
51
|
+
const sig = await (async () => {
|
|
52
|
+
if (!hash.algorithm) {
|
|
53
|
+
assertType(ByteArray(32), hash);
|
|
54
|
+
return !lowR
|
|
55
|
+
? await this._isolatedKey.ecdsaSign(null, hash)
|
|
56
|
+
: await SecP256K1.Signature.signCanonically(this._isolatedKey, null, hash);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return !lowR
|
|
60
|
+
? await this._isolatedKey.ecdsaSign(hash.algorithm, hash.preimage)
|
|
61
|
+
: await SecP256K1.Signature.signCanonically(this._isolatedKey, hash.algorithm, hash.preimage);
|
|
62
|
+
}
|
|
63
|
+
})();
|
|
64
|
+
return Buffer.from(sig);
|
|
107
65
|
}
|
|
108
66
|
get publicKey() {
|
|
109
67
|
return this.getPublicKey();
|
|
@@ -111,18 +69,17 @@ class ECPairAdapter {
|
|
|
111
69
|
getPublicKey() {
|
|
112
70
|
const publicKey = this._publicKey;
|
|
113
71
|
const key = this.compressed
|
|
114
|
-
?
|
|
115
|
-
:
|
|
72
|
+
? SecP256K1.CompressedPoint.from(publicKey)
|
|
73
|
+
: SecP256K1.UncompressedPoint.from(publicKey);
|
|
116
74
|
return Buffer.from(key);
|
|
117
75
|
}
|
|
118
76
|
toWIF() {
|
|
119
|
-
throw new
|
|
77
|
+
throw new IsolationError("WIF");
|
|
120
78
|
}
|
|
121
79
|
verify(hash, signature) {
|
|
122
|
-
|
|
123
|
-
return
|
|
80
|
+
SecP256K1.Signature.assert(signature);
|
|
81
|
+
return SecP256K1.Signature.verify(signature, null, hash, this._publicKey);
|
|
124
82
|
}
|
|
125
83
|
}
|
|
126
|
-
|
|
127
|
-
exports.default = ECPairAdapter;
|
|
84
|
+
export default ECPairAdapter;
|
|
128
85
|
//# sourceMappingURL=bitcoin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/bitcoin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/bitcoin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/cosmos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,qBAAa,aAAa;IACxB,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC/E,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC;IAE1C,SAAS,aAAa,WAAW,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,UAAU;WAKpG,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC;IAIvG,IAAI,SAAS,IAAI,MAAM,CAEtB;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAIjD;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1,35 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.WalletAdapter = void 0;
|
|
13
|
-
class WalletAdapter {
|
|
1
|
+
export class WalletAdapter {
|
|
2
|
+
_isolatedKey;
|
|
3
|
+
_publicKey;
|
|
14
4
|
constructor(isolatedKey, publicKey) {
|
|
15
5
|
this._isolatedKey = isolatedKey;
|
|
16
6
|
this._publicKey = publicKey;
|
|
17
7
|
}
|
|
18
|
-
static create(isolatedKey) {
|
|
19
|
-
return
|
|
20
|
-
return new WalletAdapter(isolatedKey, yield isolatedKey.getPublicKey());
|
|
21
|
-
});
|
|
8
|
+
static async create(isolatedKey) {
|
|
9
|
+
return new WalletAdapter(isolatedKey, await isolatedKey.getPublicKey());
|
|
22
10
|
}
|
|
23
11
|
get publicKey() {
|
|
24
12
|
return Buffer.from(this._publicKey).toString("hex");
|
|
25
13
|
}
|
|
26
|
-
sign(signMessage) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return Buffer.from(yield this._isolatedKey.ecdsaSign("sha256", signBuf));
|
|
30
|
-
});
|
|
14
|
+
async sign(signMessage) {
|
|
15
|
+
const signBuf = Buffer.from(signMessage.normalize("NFKD"), "utf8");
|
|
16
|
+
return Buffer.from(await this._isolatedKey.ecdsaSign("sha256", signBuf));
|
|
31
17
|
}
|
|
32
18
|
}
|
|
33
|
-
|
|
34
|
-
exports.default = WalletAdapter;
|
|
19
|
+
export default WalletAdapter;
|
|
35
20
|
//# sourceMappingURL=cosmos.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/cosmos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/cosmos.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IACL,YAAY,CAAgD;IACtE,UAAU,CAAuB;IAE1C,YAAsB,WAA0D,EAAE,SAA+B;QAC/G,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAA0D;QAC5E,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,SAAS;QACX,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAmB;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1,88 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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.OfflineDirectSignerAdapter = void 0;
|
|
39
|
-
const bech32 = __importStar(require("bech32"));
|
|
40
|
-
const p_lazy_1 = __importDefault(require("p-lazy"));
|
|
41
|
-
const core_1 = require("../core");
|
|
42
|
-
const cosmJsProtoSigning = p_lazy_1.default.from(() => Promise.resolve().then(() => __importStar(require("@cosmjs/proto-signing"))));
|
|
43
|
-
class OfflineDirectSignerAdapter {
|
|
1
|
+
import * as bech32 from "bech32";
|
|
2
|
+
import PLazy from "p-lazy";
|
|
3
|
+
import { Digest } from "../core";
|
|
4
|
+
const cosmJsProtoSigning = PLazy.from(() => import("@cosmjs/proto-signing"));
|
|
5
|
+
export class OfflineDirectSignerAdapter {
|
|
6
|
+
_isolatedKey;
|
|
7
|
+
_pubkey;
|
|
8
|
+
address;
|
|
44
9
|
constructor(isolatedKey, pubkey, address) {
|
|
45
10
|
this._isolatedKey = isolatedKey;
|
|
46
11
|
this._pubkey = pubkey;
|
|
47
12
|
this.address = address;
|
|
48
13
|
}
|
|
49
|
-
static create(isolatedKey, prefix) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return new OfflineDirectSignerAdapter(isolatedKey, pubkey, address);
|
|
54
|
-
});
|
|
14
|
+
static async create(isolatedKey, prefix) {
|
|
15
|
+
const pubkey = await isolatedKey.getPublicKey();
|
|
16
|
+
const address = bech32.encode(prefix, bech32.toWords(Digest.Algorithms.ripemd160(Digest.Algorithms.sha256(await isolatedKey.getPublicKey()))));
|
|
17
|
+
return new OfflineDirectSignerAdapter(isolatedKey, pubkey, address);
|
|
55
18
|
}
|
|
56
|
-
getAccounts() {
|
|
57
|
-
return
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
];
|
|
65
|
-
});
|
|
19
|
+
async getAccounts() {
|
|
20
|
+
return [
|
|
21
|
+
{
|
|
22
|
+
address: this.address,
|
|
23
|
+
algo: "secp256k1",
|
|
24
|
+
pubkey: this._pubkey,
|
|
25
|
+
},
|
|
26
|
+
];
|
|
66
27
|
}
|
|
67
|
-
signDirect(signerAddress, signDoc) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
value: Buffer.from(this._pubkey).toString("base64"),
|
|
79
|
-
},
|
|
80
|
-
signature: Buffer.from(signatureBytes).toString("base64"),
|
|
28
|
+
async signDirect(signerAddress, signDoc) {
|
|
29
|
+
if (signerAddress !== this.address)
|
|
30
|
+
throw new Error("signerAddress mismatch");
|
|
31
|
+
const signBytes = (await cosmJsProtoSigning).makeSignBytes(signDoc);
|
|
32
|
+
const signatureBytes = await this._isolatedKey.ecdsaSign("sha256", signBytes);
|
|
33
|
+
return {
|
|
34
|
+
signed: signDoc,
|
|
35
|
+
signature: {
|
|
36
|
+
pub_key: {
|
|
37
|
+
type: "tendermint/PubKeySecp256k1",
|
|
38
|
+
value: Buffer.from(this._pubkey).toString("base64"),
|
|
81
39
|
},
|
|
82
|
-
|
|
83
|
-
|
|
40
|
+
signature: Buffer.from(signatureBytes).toString("base64"),
|
|
41
|
+
},
|
|
42
|
+
};
|
|
84
43
|
}
|
|
85
44
|
}
|
|
86
|
-
|
|
87
|
-
exports.default = OfflineDirectSignerAdapter;
|
|
45
|
+
export default OfflineDirectSignerAdapter;
|
|
88
46
|
//# sourceMappingURL=cosmosDirect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmosDirect.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/cosmosDirect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cosmosDirect.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/cosmosDirect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,KAAK,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAa,MAAM,SAAS,CAAC;AAE5C,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAE7E,MAAM,OAAO,0BAA0B;IAClB,YAAY,CAAqB;IACjC,OAAO,CAAa;IAC9B,OAAO,CAAS;IAEzB,YAAsB,WAA+B,EAAE,MAAkB,EAAE,OAAe;QACxF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAA+B,EAAE,MAAc;QACjE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,MAAM,EACN,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CACxG,CAAC;QACF,OAAO,IAAI,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO;YACL;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,IAAI,CAAC,OAAO;aACrB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,aAAqB,EAAE,OAAgB;QACtD,IAAI,aAAa,KAAK,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE9E,MAAM,SAAS,GAAG,CAAC,MAAM,kBAAkB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC9E,OAAO;YACL,MAAM,EAAE,OAAO;YACf,SAAS,EAAE;gBACT,OAAO,EAAE;oBACP,IAAI,EAAE,4BAA4B;oBAClC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBACpD;gBACD,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAC1D;SACF,CAAC;IACJ,CAAC;CACF;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -1,50 +1,17 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.SignerAdapter = void 0;
|
|
36
|
-
const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
|
|
37
|
-
const eip_712_1 = require("eip-712");
|
|
38
|
-
const ethers_1 = require("ethers");
|
|
39
|
-
const utils_js_1 = require("ethers/lib/utils.js");
|
|
40
|
-
const util_1 = require("../../../util");
|
|
41
|
-
const core_1 = require("../core");
|
|
1
|
+
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
|
+
import { getMessage } from "eip-712";
|
|
3
|
+
import { BigNumber } from "ethers";
|
|
4
|
+
import { arrayify, computeAddress, getAddress, joinSignature, resolveProperties, serializeTransaction, splitSignature, } from "ethers/lib/utils.js";
|
|
5
|
+
import { buildMessage } from "../../../util";
|
|
6
|
+
import { SecP256K1 } from "../core";
|
|
42
7
|
function ethSigFromRecoverableSig(x) {
|
|
43
|
-
const sig =
|
|
44
|
-
const recoveryParam =
|
|
45
|
-
return
|
|
8
|
+
const sig = SecP256K1.RecoverableSignature.sig(x);
|
|
9
|
+
const recoveryParam = SecP256K1.RecoverableSignature.recoveryParam(x);
|
|
10
|
+
return splitSignature(core.compatibleBufferConcat([sig, Buffer.from([recoveryParam])]));
|
|
46
11
|
}
|
|
47
|
-
class SignerAdapter {
|
|
12
|
+
export class SignerAdapter {
|
|
13
|
+
nodeAdapter;
|
|
14
|
+
provider;
|
|
48
15
|
constructor(nodeAdapter, provider) {
|
|
49
16
|
this.nodeAdapter = nodeAdapter;
|
|
50
17
|
this.provider = provider;
|
|
@@ -57,56 +24,48 @@ class SignerAdapter {
|
|
|
57
24
|
connect(_provider) {
|
|
58
25
|
throw new Error("changing providers on a SignerAdapter is unsupported");
|
|
59
26
|
}
|
|
60
|
-
getAddress(addressNList) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return (0, utils_js_1.computeAddress)(core_1.SecP256K1.UncompressedPoint.from(nodeAdapter.getPublicKey()));
|
|
64
|
-
});
|
|
27
|
+
async getAddress(addressNList) {
|
|
28
|
+
const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
|
|
29
|
+
return computeAddress(SecP256K1.UncompressedPoint.from(nodeAdapter.getPublicKey()));
|
|
65
30
|
}
|
|
66
|
-
signDigest(digest, addressNList) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
return (0, utils_js_1.splitSignature)(core.compatibleBufferConcat([sig, Buffer.from([recoveryParam])]));
|
|
73
|
-
});
|
|
31
|
+
async signDigest(digest, addressNList) {
|
|
32
|
+
const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
|
|
33
|
+
const recoverableSig = await SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, null, digest instanceof Uint8Array ? digest : arrayify(digest));
|
|
34
|
+
const sig = SecP256K1.RecoverableSignature.sig(recoverableSig);
|
|
35
|
+
const recoveryParam = SecP256K1.RecoverableSignature.recoveryParam(recoverableSig);
|
|
36
|
+
return splitSignature(core.compatibleBufferConcat([sig, Buffer.from([recoveryParam])]));
|
|
74
37
|
}
|
|
75
|
-
signTransaction(transaction, addressNList) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
if (tx.from
|
|
79
|
-
|
|
80
|
-
throw new Error("transaction from address mismatch");
|
|
81
|
-
}
|
|
82
|
-
delete tx.from;
|
|
38
|
+
async signTransaction(transaction, addressNList) {
|
|
39
|
+
const tx = await resolveProperties(transaction);
|
|
40
|
+
if (tx.from != null) {
|
|
41
|
+
if (getAddress(tx.from) !== (await this.getAddress(addressNList))) {
|
|
42
|
+
throw new Error("transaction from address mismatch");
|
|
83
43
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
44
|
+
delete tx.from;
|
|
45
|
+
}
|
|
46
|
+
const unsignedTx = {
|
|
47
|
+
...tx,
|
|
48
|
+
nonce: tx.nonce !== undefined ? BigNumber.from(tx.nonce).toNumber() : undefined,
|
|
49
|
+
};
|
|
50
|
+
const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
|
|
51
|
+
const txBuf = arrayify(serializeTransaction(unsignedTx));
|
|
52
|
+
const rawSig = await SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", txBuf);
|
|
53
|
+
return serializeTransaction(unsignedTx, ethSigFromRecoverableSig(rawSig));
|
|
90
54
|
}
|
|
91
|
-
signMessage(messageData, addressNList) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return (0, utils_js_1.joinSignature)(ethSigFromRecoverableSig(rawSig));
|
|
97
|
-
});
|
|
55
|
+
async signMessage(messageData, addressNList) {
|
|
56
|
+
const messageBuf = buildMessage(messageData);
|
|
57
|
+
const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
|
|
58
|
+
const rawSig = await SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", messageBuf);
|
|
59
|
+
return joinSignature(ethSigFromRecoverableSig(rawSig));
|
|
98
60
|
}
|
|
99
|
-
signTypedData(typedData, addressNList) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return { address, signature };
|
|
107
|
-
});
|
|
61
|
+
async signTypedData(typedData, addressNList) {
|
|
62
|
+
const address = await this.getAddress(addressNList);
|
|
63
|
+
const messageArray = getMessage(typedData);
|
|
64
|
+
const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
|
|
65
|
+
const rawSig = await SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", messageArray);
|
|
66
|
+
const signature = joinSignature(ethSigFromRecoverableSig(rawSig));
|
|
67
|
+
return { address, signature };
|
|
108
68
|
}
|
|
109
69
|
}
|
|
110
|
-
|
|
111
|
-
exports.default = SignerAdapter;
|
|
70
|
+
export default SignerAdapter;
|
|
112
71
|
//# sourceMappingURL=ethereum.js.map
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fio.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/fio.ts"],"names":[],"mappings":"
|
|
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"}
|