@shapeshiftoss/hdwallet-native 1.31.0 → 1.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/binance.d.ts +4 -2
- package/dist/binance.d.ts.map +1 -1
- package/dist/bitcoin.d.ts +4 -2
- package/dist/bitcoin.d.ts.map +1 -1
- package/dist/cosmos.d.ts +4 -2
- package/dist/cosmos.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/ethereum.d.ts +9 -9
- package/dist/crypto/isolation/adapters/ethereum.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/ethereum.js +16 -18
- package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.d.ts +4 -4
- package/dist/crypto/isolation/engines/default/bip39.d.ts +2 -2
- package/dist/crypto/isolation/engines/default/revocable.d.ts +2 -2
- package/dist/ethereum.d.ts +5 -3
- package/dist/ethereum.d.ts.map +1 -1
- package/dist/ethereum.js +15 -13
- package/dist/ethereum.js.map +1 -1
- package/dist/ethereum.test.js +2 -7
- package/dist/ethereum.test.js.map +1 -1
- package/dist/fio.d.ts +4 -2
- package/dist/fio.d.ts.map +1 -1
- package/dist/kava.d.ts +4 -2
- package/dist/kava.d.ts.map +1 -1
- package/dist/native.d.ts +41 -20
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +3 -0
- package/dist/native.js.map +1 -1
- package/dist/native.test.js +8 -0
- package/dist/native.test.js.map +1 -1
- package/dist/osmosis.d.ts +4 -2
- package/dist/osmosis.d.ts.map +1 -1
- package/dist/secret.d.ts +4 -2
- package/dist/secret.d.ts.map +1 -1
- package/dist/terra.d.ts +4 -2
- package/dist/terra.d.ts.map +1 -1
- package/dist/thorchain.d.ts +4 -2
- package/dist/thorchain.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/binance.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare function MixinNativeBinanceWalletInfo<TBase extends core.Construc
|
|
|
15
15
|
hasOnDeviceDisplay(): boolean;
|
|
16
16
|
hasOnDeviceRecovery(): boolean;
|
|
17
17
|
hasNativeShapeShift(srcCoin: string, dstCoin: string): boolean;
|
|
18
|
+
supportsBip44Accounts(): boolean;
|
|
18
19
|
supportsOfflineSigning(): boolean;
|
|
19
20
|
supportsBroadcast(): boolean;
|
|
20
21
|
describePath(msg: core.DescribePath): core.PathDescription;
|
|
@@ -23,7 +24,7 @@ export declare function MixinNativeBinanceWalletInfo<TBase extends core.Construc
|
|
|
23
24
|
export declare function MixinNativeBinanceWallet<TBase extends core.Constructor<NativeHDWalletBase>>(Base: TBase): {
|
|
24
25
|
new (...args: any[]): {
|
|
25
26
|
readonly _supportsBinance: true;
|
|
26
|
-
"__#
|
|
27
|
+
"__#8@#masterKey": Isolation.Core.BIP32.Node | undefined;
|
|
27
28
|
binanceInitializeWallet(masterKey: Isolation.Core.BIP32.Node): Promise<void>;
|
|
28
29
|
binanceWipe(): void;
|
|
29
30
|
binanceBech32ify(address: ArrayLike<number>, prefix: string): string;
|
|
@@ -34,7 +35,7 @@ export declare function MixinNativeBinanceWallet<TBase extends core.Constructor<
|
|
|
34
35
|
binanceSignTx(msg: core.BinanceSignTx & {
|
|
35
36
|
testnet?: boolean;
|
|
36
37
|
}): Promise<core.BinanceSignedTx | null>;
|
|
37
|
-
readonly "__#
|
|
38
|
+
readonly "__#17@#events": import("eventemitter2").EventEmitter2;
|
|
38
39
|
readonly events: import("eventemitter2").EventEmitter2;
|
|
39
40
|
needsMnemonic<T>(hasMnemonic: boolean, callback: () => T): T | null;
|
|
40
41
|
getVendor(): string;
|
|
@@ -43,6 +44,7 @@ export declare function MixinNativeBinanceWallet<TBase extends core.Constructor<
|
|
|
43
44
|
hasOnDeviceDisplay(): boolean;
|
|
44
45
|
hasOnDeviceRecovery(): boolean;
|
|
45
46
|
hasNativeShapeShift(): boolean;
|
|
47
|
+
supportsBip44Accounts(): boolean;
|
|
46
48
|
supportsOfflineSigning(): boolean;
|
|
47
49
|
supportsBroadcast(): boolean;
|
|
48
50
|
describePath(msg: core.DescribePath): core.PathDescription;
|
package/dist/binance.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binance.d.ts","sourceRoot":"","sources":["../src/binance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAOrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAK9C,wBAAgB,4BAA4B,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;kCAKvE,QAAQ,OAAO,CAAC;yCAIT,QAAQ,OAAO,CAAC;2CAIpB,OAAO;oCAId,KAAK,sBAAsB,GAAG,MAAM,KAAK,kBAAkB,CAAC;oCAU5D,KAAK,kBAAkB,GAAG,KAAK,kBAAkB,GAAG,SAAS
|
|
1
|
+
{"version":3,"file":"binance.d.ts","sourceRoot":"","sources":["../src/binance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAOrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAK9C,wBAAgB,4BAA4B,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;kCAKvE,QAAQ,OAAO,CAAC;yCAIT,QAAQ,OAAO,CAAC;2CAIpB,OAAO;oCAId,KAAK,sBAAsB,GAAG,MAAM,KAAK,kBAAkB,CAAC;oCAU5D,KAAK,kBAAkB,GAAG,KAAK,kBAAkB,GAAG,SAAS;;;;;;;;;;;;UAK5F;AAED,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK;;;2BAKxF,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,SAAS;2CAER,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,QAAQ,IAAI,CAAC;uBAInE,IAAI;kCAIO,UAAU,MAAM,CAAC,UAAU,MAAM,GAAG,MAAM;wCAKpC,MAAM;+BAOT,KAAK,iBAAiB,GAAG;YAAE,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,QAAQ,MAAM,GAAG,IAAI,CAAC;2BAQ3E,KAAK,aAAa,GAAG;YAAE,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,QAAQ,KAAK,eAAe,GAAG,IAAI,CAAC;;;;;;;;;;;;;;;UAgH7G"}
|
package/dist/bitcoin.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export declare function MixinNativeBTCWalletInfo<TBase extends core.Constructor<
|
|
|
36
36
|
hasOnDeviceDisplay(): boolean;
|
|
37
37
|
hasOnDeviceRecovery(): boolean;
|
|
38
38
|
hasNativeShapeShift(srcCoin: string, dstCoin: string): boolean;
|
|
39
|
+
supportsBip44Accounts(): boolean;
|
|
39
40
|
supportsOfflineSigning(): boolean;
|
|
40
41
|
supportsBroadcast(): boolean;
|
|
41
42
|
describePath(msg: core.DescribePath): core.PathDescription;
|
|
@@ -44,7 +45,7 @@ export declare function MixinNativeBTCWalletInfo<TBase extends core.Constructor<
|
|
|
44
45
|
export declare function MixinNativeBTCWallet<TBase extends core.Constructor<NativeHDWalletBase>>(Base: TBase): {
|
|
45
46
|
new (...args: any[]): {
|
|
46
47
|
readonly _supportsBTC: true;
|
|
47
|
-
"__#
|
|
48
|
+
"__#7@#masterKey": Isolation.Core.BIP32.Node | undefined;
|
|
48
49
|
btcInitializeWallet(masterKey: Isolation.Core.BIP32.Node): Promise<void>;
|
|
49
50
|
btcWipe(): void;
|
|
50
51
|
createPayment(pubkey: Buffer, scriptType?: BTCScriptType | undefined, network?: bitcoin.networks.Network | undefined): bitcoin.Payment;
|
|
@@ -54,7 +55,7 @@ export declare function MixinNativeBTCWallet<TBase extends core.Constructor<Nati
|
|
|
54
55
|
btcSignTx(msg: core.BTCSignTxNative): Promise<core.BTCSignedTx | null>;
|
|
55
56
|
btcSignMessage(msg: core.BTCSignMessage): Promise<core.BTCSignedMessage>;
|
|
56
57
|
btcVerifyMessage(msg: core.BTCVerifyMessage): Promise<boolean>;
|
|
57
|
-
readonly "__#
|
|
58
|
+
readonly "__#17@#events": import("eventemitter2").EventEmitter2;
|
|
58
59
|
readonly events: import("eventemitter2").EventEmitter2;
|
|
59
60
|
needsMnemonic<T>(hasMnemonic: boolean, callback: () => T): T | null;
|
|
60
61
|
getVendor(): string;
|
|
@@ -63,6 +64,7 @@ export declare function MixinNativeBTCWallet<TBase extends core.Constructor<Nati
|
|
|
63
64
|
hasOnDeviceDisplay(): boolean;
|
|
64
65
|
hasOnDeviceRecovery(): boolean;
|
|
65
66
|
hasNativeShapeShift(): boolean;
|
|
67
|
+
supportsBip44Accounts(): boolean;
|
|
66
68
|
supportsOfflineSigning(): boolean;
|
|
67
69
|
supportsBroadcast(): boolean;
|
|
68
70
|
describePath(msg: core.DescribePath): core.PathDescription;
|
package/dist/bitcoin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin.d.ts","sourceRoot":"","sources":["../src/bitcoin.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAGrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAQ9C,oBAAY,aAAa,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAE/E,aAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,aAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,aAAK,QAAQ,GAAG,cAAc,GAAG,WAAW,CAAC;AAE7C,aAAK,UAAU,GAAG;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,aAAK,YAAY,GAAG;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,aAAK,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAEtD,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;kCAKzE,KAAK,IAAI,GAAG,OAAO;8BAIjB,KAAK,IAAI,GAAG,QAAQ,OAAO,CAAC;wCAIxB,KAAK,IAAI,qDAAyC,OAAO;oCAevD,KAAK,IAAI,cAAc,KAAK,kBAAkB,GAAG,QAAQ,OAAO,CAAC;qCAIhE,QAAQ,OAAO,CAAC;uCAIpB,OAAO;gCAId,KAAK,kBAAkB,GAAG,MAAM,KAAK,cAAc,CAAC;8BA6BtD,MAAM,KAAK,cAAc,CAAC,GAAG,OAAO;gCAKlC,KAAK,cAAc,GAAG,KAAK,cAAc,GAAG,SAAS
|
|
1
|
+
{"version":3,"file":"bitcoin.d.ts","sourceRoot":"","sources":["../src/bitcoin.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAGrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAQ9C,oBAAY,aAAa,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAE/E,aAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,aAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,aAAK,QAAQ,GAAG,cAAc,GAAG,WAAW,CAAC;AAE7C,aAAK,UAAU,GAAG;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,aAAK,YAAY,GAAG;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,aAAK,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAEtD,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;kCAKzE,KAAK,IAAI,GAAG,OAAO;8BAIjB,KAAK,IAAI,GAAG,QAAQ,OAAO,CAAC;wCAIxB,KAAK,IAAI,qDAAyC,OAAO;oCAevD,KAAK,IAAI,cAAc,KAAK,kBAAkB,GAAG,QAAQ,OAAO,CAAC;qCAIhE,QAAQ,OAAO,CAAC;uCAIpB,OAAO;gCAId,KAAK,kBAAkB,GAAG,MAAM,KAAK,cAAc,CAAC;8BA6BtD,MAAM,KAAK,cAAc,CAAC,GAAG,OAAO;gCAKlC,KAAK,cAAc,GAAG,KAAK,cAAc,GAAG,SAAS;;;;;;;;;;;;UAwBhF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK;;;2BAKpF,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,SAAS;uCAEZ,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,QAAQ,IAAI,CAAC;mBAInE,IAAI;8BAIO,MAAM,2FAA0D,QAAQ,OAAO;kCAuB3E,KAAK,eAAe,MAAM,QAAQ,WAAW,GAAG,OAAO;yBA+C1D,KAAK,IAAI,SAAS,KAAK,oBAAoB,GAAG,QAAQ,SAAS,GAAG,IAAI,CAAC;2BA6CrE,KAAK,aAAa,GAAG,QAAQ,MAAM,GAAG,IAAI,CAAC;uBAW/C,KAAK,eAAe,GAAG,QAAQ,KAAK,WAAW,GAAG,IAAI,CAAC;4BAsGlD,KAAK,cAAc,GAAG,QAAQ,KAAK,gBAAgB,CAAC;8BAKlD,KAAK,gBAAgB,GAAG,QAAQ,OAAO,CAAC;;;;;;;;;;;;;;;UAIvE"}
|
package/dist/cosmos.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare function MixinNativeCosmosWalletInfo<TBase extends core.Construct
|
|
|
15
15
|
hasOnDeviceDisplay(): boolean;
|
|
16
16
|
hasOnDeviceRecovery(): boolean;
|
|
17
17
|
hasNativeShapeShift(srcCoin: string, dstCoin: string): boolean;
|
|
18
|
+
supportsBip44Accounts(): boolean;
|
|
18
19
|
supportsOfflineSigning(): boolean;
|
|
19
20
|
supportsBroadcast(): boolean;
|
|
20
21
|
describePath(msg: core.DescribePath): core.PathDescription;
|
|
@@ -23,14 +24,14 @@ export declare function MixinNativeCosmosWalletInfo<TBase extends core.Construct
|
|
|
23
24
|
export declare function MixinNativeCosmosWallet<TBase extends core.Constructor<NativeHDWalletBase>>(Base: TBase): {
|
|
24
25
|
new (...args: any[]): {
|
|
25
26
|
readonly _supportsCosmos: true;
|
|
26
|
-
"__#
|
|
27
|
+
"__#9@#masterKey": Isolation.Core.BIP32.Node | undefined;
|
|
27
28
|
cosmosInitializeWallet(masterKey: Isolation.Core.BIP32.Node): Promise<void>;
|
|
28
29
|
cosmosWipe(): void;
|
|
29
30
|
cosmosBech32ify(address: ArrayLike<number>, prefix: string): string;
|
|
30
31
|
createCosmosAddress(publicKey: string): string;
|
|
31
32
|
cosmosGetAddress(msg: core.CosmosGetAddress): Promise<string | null>;
|
|
32
33
|
cosmosSignTx(msg: core.CosmosSignTx): Promise<core.CosmosSignedTx | null>;
|
|
33
|
-
readonly "__#
|
|
34
|
+
readonly "__#17@#events": import("eventemitter2").EventEmitter2;
|
|
34
35
|
readonly events: import("eventemitter2").EventEmitter2;
|
|
35
36
|
needsMnemonic<T>(hasMnemonic: boolean, callback: () => T): T | null;
|
|
36
37
|
getVendor(): string;
|
|
@@ -39,6 +40,7 @@ export declare function MixinNativeCosmosWallet<TBase extends core.Constructor<N
|
|
|
39
40
|
hasOnDeviceDisplay(): boolean;
|
|
40
41
|
hasOnDeviceRecovery(): boolean;
|
|
41
42
|
hasNativeShapeShift(): boolean;
|
|
43
|
+
supportsBip44Accounts(): boolean;
|
|
42
44
|
supportsOfflineSigning(): boolean;
|
|
43
45
|
supportsBroadcast(): boolean;
|
|
44
46
|
describePath(msg: core.DescribePath): core.PathDescription;
|
package/dist/cosmos.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../src/cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAKrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAO9C,wBAAgB,2BAA2B,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;iCAIvE,QAAQ,OAAO,CAAC;wCAIT,QAAQ,OAAO,CAAC;0CAIpB,OAAO;mCAId,KAAK,qBAAqB,GAAG,MAAM,KAAK,iBAAiB,CAAC;mCAU1D,KAAK,iBAAiB,GAAG,KAAK,iBAAiB,GAAG,SAAS
|
|
1
|
+
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../src/cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAKrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAO9C,wBAAgB,2BAA2B,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;iCAIvE,QAAQ,OAAO,CAAC;wCAIT,QAAQ,OAAO,CAAC;0CAIpB,OAAO;mCAId,KAAK,qBAAqB,GAAG,MAAM,KAAK,iBAAiB,CAAC;mCAU1D,KAAK,iBAAiB,GAAG,KAAK,iBAAiB,GAAG,SAAS;;;;;;;;;;;;UAKzF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK;;;2BAKvF,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,SAAS;0CAET,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,QAAQ,IAAI,CAAC;sBAInE,IAAI;iCAIO,UAAU,MAAM,CAAC,UAAU,MAAM,GAAG,MAAM;uCAKpC,MAAM;8BAOT,KAAK,gBAAgB,GAAG,QAAQ,MAAM,GAAG,IAAI,CAAC;0BAQlD,KAAK,YAAY,GAAG,QAAQ,KAAK,cAAc,GAAG,IAAI,CAAC;;;;;;;;;;;;;;;UAgBlF"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
+
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
1
2
|
import * as ethers from "ethers";
|
|
2
|
-
import {
|
|
3
|
-
export declare class SignerAdapter
|
|
4
|
-
protected readonly
|
|
3
|
+
import { Isolation } from "../..";
|
|
4
|
+
export declare class SignerAdapter {
|
|
5
|
+
protected readonly nodeAdapter: Isolation.Adapters.BIP32;
|
|
5
6
|
readonly provider?: ethers.providers.Provider;
|
|
6
|
-
|
|
7
|
-
static create(isolatedKey: SecP256K1.ECDSAKey, provider?: ethers.providers.Provider): Promise<SignerAdapter>;
|
|
7
|
+
constructor(nodeAdapter: Isolation.Adapters.BIP32, provider?: ethers.providers.Provider);
|
|
8
8
|
connect(_provider: ethers.providers.Provider): never;
|
|
9
|
-
getAddress(): Promise<string>;
|
|
10
|
-
signDigest(digest: ethers.BytesLike): Promise<ethers.Signature>;
|
|
11
|
-
signTransaction(transaction: ethers.utils.Deferrable<ethers.providers.TransactionRequest
|
|
12
|
-
signMessage(messageData: ethers.Bytes | string): Promise<string>;
|
|
9
|
+
getAddress(addressNList: core.BIP32Path): Promise<string>;
|
|
10
|
+
signDigest(digest: ethers.BytesLike, addressNList: core.BIP32Path): Promise<ethers.Signature>;
|
|
11
|
+
signTransaction(transaction: ethers.utils.Deferrable<ethers.providers.TransactionRequest>, addressNList: core.BIP32Path): Promise<string>;
|
|
12
|
+
signMessage(messageData: ethers.Bytes | string, addressNList: core.BIP32Path): Promise<string>;
|
|
13
13
|
}
|
|
14
14
|
export default SignerAdapter;
|
|
15
15
|
//# sourceMappingURL=ethereum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/ethereum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ethereum.d.ts","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/ethereum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASlC,qBAAa,aAAa;IACxB,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;IACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAElC,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;IAUvF,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK;IAI9C,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAKzD,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;IAY7F,eAAe,CACnB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EACzE,YAAY,EAAE,IAAI,CAAC,SAAS,GAC3B,OAAO,CAAC,MAAM,CAAC;IAmBZ,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAarG;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -37,17 +37,11 @@ function ethSigFromRecoverableSig(x) {
|
|
|
37
37
|
const recoveryParam = core_1.SecP256K1.RecoverableSignature.recoveryParam(x);
|
|
38
38
|
return ethers.utils.splitSignature(core.compatibleBufferConcat([sig, Buffer.from([recoveryParam])]));
|
|
39
39
|
}
|
|
40
|
-
class SignerAdapter
|
|
41
|
-
constructor(
|
|
42
|
-
|
|
43
|
-
this._isolatedKey = isolatedKey;
|
|
40
|
+
class SignerAdapter {
|
|
41
|
+
constructor(nodeAdapter, provider) {
|
|
42
|
+
this.nodeAdapter = nodeAdapter;
|
|
44
43
|
this.provider = provider;
|
|
45
44
|
}
|
|
46
|
-
static create(isolatedKey, provider) {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
return new SignerAdapter(isolatedKey, provider);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
45
|
// This throws (as allowed by ethers.Signer) to avoid having to return an object which is initialized asynchronously
|
|
52
46
|
// from a synchronous function. Because all the (other) methods on SignerAdapter are async, one could construct a
|
|
53
47
|
// wrapper that deferred its initialization and awaited it before calling through to a "real" method, but that's
|
|
@@ -56,35 +50,38 @@ class SignerAdapter extends ethers.Signer {
|
|
|
56
50
|
connect(_provider) {
|
|
57
51
|
throw new Error("changing providers on a SignerAdapter is unsupported");
|
|
58
52
|
}
|
|
59
|
-
getAddress() {
|
|
53
|
+
getAddress(addressNList) {
|
|
60
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
|
|
55
|
+
const nodeAdapter = yield this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
|
|
56
|
+
return ethers.utils.computeAddress(core_1.SecP256K1.UncompressedPoint.from(nodeAdapter.getPublicKey()));
|
|
62
57
|
});
|
|
63
58
|
}
|
|
64
|
-
signDigest(digest) {
|
|
59
|
+
signDigest(digest, addressNList) {
|
|
65
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
const
|
|
61
|
+
const nodeAdapter = yield this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
|
|
62
|
+
const recoverableSig = yield core_1.SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, null, digest instanceof Uint8Array ? digest : ethers.utils.arrayify(digest));
|
|
67
63
|
const sig = core_1.SecP256K1.RecoverableSignature.sig(recoverableSig);
|
|
68
64
|
const recoveryParam = core_1.SecP256K1.RecoverableSignature.recoveryParam(recoverableSig);
|
|
69
65
|
return ethers.utils.splitSignature(core.compatibleBufferConcat([sig, Buffer.from([recoveryParam])]));
|
|
70
66
|
});
|
|
71
67
|
}
|
|
72
|
-
signTransaction(transaction) {
|
|
68
|
+
signTransaction(transaction, addressNList) {
|
|
73
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
74
70
|
const tx = yield ethers.utils.resolveProperties(transaction);
|
|
75
71
|
if (tx.from != null) {
|
|
76
|
-
if (ethers.utils.getAddress(tx.from) !== (yield this.getAddress())) {
|
|
72
|
+
if (ethers.utils.getAddress(tx.from) !== (yield this.getAddress(addressNList))) {
|
|
77
73
|
throw new Error("transaction from address mismatch");
|
|
78
74
|
}
|
|
79
75
|
delete tx.from;
|
|
80
76
|
}
|
|
81
77
|
const unsignedTx = Object.assign(Object.assign({}, tx), { nonce: tx.nonce !== undefined ? ethers.BigNumber.from(tx.nonce).toNumber() : undefined });
|
|
78
|
+
const nodeAdapter = yield this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
|
|
82
79
|
const txBuf = ethers.utils.arrayify(ethers.utils.serializeTransaction(unsignedTx));
|
|
83
|
-
const rawSig = yield core_1.SecP256K1.RecoverableSignature.signCanonically(
|
|
80
|
+
const rawSig = yield core_1.SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", txBuf);
|
|
84
81
|
return ethers.utils.serializeTransaction(unsignedTx, ethSigFromRecoverableSig(rawSig));
|
|
85
82
|
});
|
|
86
83
|
}
|
|
87
|
-
signMessage(messageData) {
|
|
84
|
+
signMessage(messageData, addressNList) {
|
|
88
85
|
return __awaiter(this, void 0, void 0, function* () {
|
|
89
86
|
const messageDataBuf = typeof messageData === "string"
|
|
90
87
|
? Buffer.from(messageData.normalize("NFKD"), "utf8")
|
|
@@ -93,7 +90,8 @@ class SignerAdapter extends ethers.Signer {
|
|
|
93
90
|
Buffer.from(`\x19Ethereum Signed Message:\n${messageDataBuf.length}`, "utf8"),
|
|
94
91
|
messageDataBuf,
|
|
95
92
|
]);
|
|
96
|
-
const
|
|
93
|
+
const nodeAdapter = yield this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
|
|
94
|
+
const rawSig = yield core_1.SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", messageBuf);
|
|
97
95
|
return ethers.utils.joinSignature(ethSigFromRecoverableSig(rawSig));
|
|
98
96
|
});
|
|
99
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/ethereum.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAqD;AACrD,+CAAiC;
|
|
1
|
+
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/ethereum.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import { ByteArray, Uint32 } from "../../types";
|
|
|
4
4
|
export * from "../../core/bip32";
|
|
5
5
|
declare const Node_base: {
|
|
6
6
|
new (...args: any[]): {
|
|
7
|
-
readonly "__#
|
|
8
|
-
"__#
|
|
7
|
+
readonly "__#3@#revokers": Set<() => void>;
|
|
8
|
+
"__#3@#revoked": boolean;
|
|
9
9
|
readonly revoke: () => void;
|
|
10
10
|
readonly addRevoker: (revoker: () => void) => void;
|
|
11
11
|
};
|
|
@@ -33,8 +33,8 @@ export declare class Node extends Node_base implements BIP32.Node, SecP256K1.ECD
|
|
|
33
33
|
}
|
|
34
34
|
declare const Seed_base: {
|
|
35
35
|
new (...args: any[]): {
|
|
36
|
-
readonly "__#
|
|
37
|
-
"__#
|
|
36
|
+
readonly "__#3@#revokers": Set<() => void>;
|
|
37
|
+
"__#3@#revoked": boolean;
|
|
38
38
|
readonly revoke: () => void;
|
|
39
39
|
readonly addRevoker: (revoker: () => void) => void;
|
|
40
40
|
};
|
|
@@ -3,8 +3,8 @@ import * as BIP39 from "../../core/bip39";
|
|
|
3
3
|
export * from "../../core/bip39";
|
|
4
4
|
declare const Mnemonic_base: {
|
|
5
5
|
new (...args: any[]): {
|
|
6
|
-
readonly "__#
|
|
7
|
-
"__#
|
|
6
|
+
readonly "__#3@#revokers": Set<() => void>;
|
|
7
|
+
"__#3@#revoked": boolean;
|
|
8
8
|
readonly revoke: () => void;
|
|
9
9
|
readonly addRevoker: (revoker: () => void) => void;
|
|
10
10
|
};
|
|
@@ -6,8 +6,8 @@ export interface Revocable {
|
|
|
6
6
|
}
|
|
7
7
|
export declare const Revocable: <T extends core.Constructor<object>>(x: T) => {
|
|
8
8
|
new (...args: any[]): {
|
|
9
|
-
readonly "__#
|
|
10
|
-
"__#
|
|
9
|
+
readonly "__#3@#revokers": Set<() => void>;
|
|
10
|
+
"__#3@#revoked": boolean;
|
|
11
11
|
readonly revoke: () => void;
|
|
12
12
|
readonly addRevoker: (revoker: () => void) => void;
|
|
13
13
|
};
|
package/dist/ethereum.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
|
-
import * as ethers from "ethers";
|
|
3
2
|
import * as Isolation from "./crypto/isolation";
|
|
3
|
+
import SignerAdapter from "./crypto/isolation/adapters/ethereum";
|
|
4
4
|
import { NativeHDWalletBase } from "./native";
|
|
5
5
|
export declare function MixinNativeETHWalletInfo<TBase extends core.Constructor<core.HDWalletInfo>>(Base: TBase): {
|
|
6
6
|
new (...args: any[]): {
|
|
@@ -17,6 +17,7 @@ export declare function MixinNativeETHWalletInfo<TBase extends core.Constructor<
|
|
|
17
17
|
hasOnDeviceDisplay(): boolean;
|
|
18
18
|
hasOnDeviceRecovery(): boolean;
|
|
19
19
|
hasNativeShapeShift(srcCoin: string, dstCoin: string): boolean;
|
|
20
|
+
supportsBip44Accounts(): boolean;
|
|
20
21
|
supportsOfflineSigning(): boolean;
|
|
21
22
|
supportsBroadcast(): boolean;
|
|
22
23
|
describePath(msg: core.DescribePath): core.PathDescription;
|
|
@@ -25,14 +26,14 @@ export declare function MixinNativeETHWalletInfo<TBase extends core.Constructor<
|
|
|
25
26
|
export declare function MixinNativeETHWallet<TBase extends core.Constructor<NativeHDWalletBase>>(Base: TBase): {
|
|
26
27
|
new (...args: any[]): {
|
|
27
28
|
readonly _supportsETH: true;
|
|
28
|
-
"__#
|
|
29
|
+
"__#10@#ethSigner": SignerAdapter | undefined;
|
|
29
30
|
ethInitializeWallet(masterKey: Isolation.Core.BIP32.Node): Promise<void>;
|
|
30
31
|
ethWipe(): void;
|
|
31
32
|
ethGetAddress(msg: core.ETHGetAddress): Promise<string | null>;
|
|
32
33
|
ethSignTx(msg: core.ETHSignTx): Promise<core.ETHSignedTx | null>;
|
|
33
34
|
ethSignMessage(msg: core.ETHSignMessage): Promise<core.ETHSignedMessage | null>;
|
|
34
35
|
ethVerifyMessage(msg: core.ETHVerifyMessage): Promise<boolean>;
|
|
35
|
-
readonly "__#
|
|
36
|
+
readonly "__#17@#events": import("eventemitter2").EventEmitter2;
|
|
36
37
|
readonly events: import("eventemitter2").EventEmitter2;
|
|
37
38
|
needsMnemonic<T>(hasMnemonic: boolean, callback: () => T): T | null;
|
|
38
39
|
getVendor(): string;
|
|
@@ -41,6 +42,7 @@ export declare function MixinNativeETHWallet<TBase extends core.Constructor<Nati
|
|
|
41
42
|
hasOnDeviceDisplay(): boolean;
|
|
42
43
|
hasOnDeviceRecovery(): boolean;
|
|
43
44
|
hasNativeShapeShift(): boolean;
|
|
45
|
+
supportsBip44Accounts(): boolean;
|
|
44
46
|
supportsOfflineSigning(): boolean;
|
|
45
47
|
supportsBroadcast(): boolean;
|
|
46
48
|
describePath(msg: core.DescribePath): core.PathDescription;
|
package/dist/ethereum.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.d.ts","sourceRoot":"","sources":["../src/ethereum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ethereum.d.ts","sourceRoot":"","sources":["../src/ethereum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAGrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;8BAKvE,QAAQ,OAAO,CAAC;qCAIT,QAAQ,OAAO,CAAC;uCAIpB,OAAO;8BAIV,QAAQ,OAAO,CAAC;gCAIpB,KAAK,iBAAiB,GAAG,MAAM,KAAK,cAAc,CAAC;gCAcnD,KAAK,cAAc,GAAG,KAAK,cAAc,GAAG,SAAS;;;;;;;;;;;;UAMhF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK;;;4BAKpF,aAAa,GAAG,SAAS;uCAEA,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,QAAQ,IAAI,CAAC;;2BAUrD,KAAK,aAAa,GAAG,QAAQ,MAAM,GAAG,IAAI,CAAC;uBAW/C,KAAK,SAAS,GAAG,QAAQ,KAAK,WAAW,GAAG,IAAI,CAAC;4BA2C5C,KAAK,cAAc,GAAG,QAAQ,KAAK,gBAAgB,GAAG,IAAI,CAAC;8BAYzD,KAAK,gBAAgB,GAAG,QAAQ,OAAO,CAAC;;;;;;;;;;;;;;;UAMvE"}
|
package/dist/ethereum.js
CHANGED
|
@@ -45,8 +45,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
45
45
|
exports.MixinNativeETHWallet = exports.MixinNativeETHWalletInfo = void 0;
|
|
46
46
|
const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
|
|
47
47
|
const ethers = __importStar(require("ethers"));
|
|
48
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
49
48
|
const Isolation = __importStar(require("./crypto/isolation"));
|
|
49
|
+
const ethereum_1 = __importDefault(require("./crypto/isolation/adapters/ethereum"));
|
|
50
|
+
// import { addressNListToBIP32 } from "./utils";
|
|
50
51
|
function MixinNativeETHWalletInfo(Base) {
|
|
51
52
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
52
53
|
return class MixinNativeETHWalletInfo extends Base {
|
|
@@ -105,9 +106,8 @@ function MixinNativeETHWallet(Base) {
|
|
|
105
106
|
}
|
|
106
107
|
ethInitializeWallet(masterKey) {
|
|
107
108
|
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
__classPrivateFieldSet(this, _MixinNativeETHWallet_ethSigner, yield Isolation.Adapters.Ethereum.create(isolatedSigner.node), "f");
|
|
109
|
+
const nodeAdapter = yield Isolation.Adapters.BIP32.create(masterKey);
|
|
110
|
+
__classPrivateFieldSet(this, _MixinNativeETHWallet_ethSigner, new ethereum_1.default(nodeAdapter), "f");
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
113
|
ethWipe() {
|
|
@@ -115,11 +115,13 @@ function MixinNativeETHWallet(Base) {
|
|
|
115
115
|
}
|
|
116
116
|
ethGetAddress(msg) {
|
|
117
117
|
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
-
if (
|
|
119
|
-
throw new Error(
|
|
118
|
+
if (msg.addressNList.length < 5) {
|
|
119
|
+
throw new Error(`path not supported length: ${msg.addressNList.length}`);
|
|
120
120
|
}
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
return this.needsMnemonic(!!__classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f"), () => {
|
|
122
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
123
|
+
return __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").getAddress(msg.addressNList);
|
|
124
|
+
});
|
|
123
125
|
});
|
|
124
126
|
}
|
|
125
127
|
ethSignTx(msg) {
|
|
@@ -128,7 +130,7 @@ function MixinNativeETHWallet(Base) {
|
|
|
128
130
|
const utx = {
|
|
129
131
|
to: msg.to,
|
|
130
132
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
131
|
-
from: yield __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").getAddress(),
|
|
133
|
+
from: yield __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").getAddress(msg.addressNList),
|
|
132
134
|
nonce: msg.nonce,
|
|
133
135
|
gasLimit: msg.gasLimit,
|
|
134
136
|
data: msg.data,
|
|
@@ -137,9 +139,9 @@ function MixinNativeETHWallet(Base) {
|
|
|
137
139
|
};
|
|
138
140
|
const result = msg.maxFeePerGas
|
|
139
141
|
? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
140
|
-
yield __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").signTransaction(Object.assign(Object.assign({}, utx), { maxFeePerGas: msg.maxFeePerGas, maxPriorityFeePerGas: msg.maxPriorityFeePerGas, type: core.ETHTransactionType.ETH_TX_TYPE_EIP_1559 }))
|
|
142
|
+
yield __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").signTransaction(Object.assign(Object.assign({}, utx), { maxFeePerGas: msg.maxFeePerGas, maxPriorityFeePerGas: msg.maxPriorityFeePerGas, type: core.ETHTransactionType.ETH_TX_TYPE_EIP_1559 }), msg.addressNList)
|
|
141
143
|
: // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
142
|
-
yield __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").signTransaction(Object.assign(Object.assign({}, utx), { gasPrice: msg.gasPrice, type: core.ETHTransactionType.ETH_TX_TYPE_LEGACY }));
|
|
144
|
+
yield __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").signTransaction(Object.assign(Object.assign({}, utx), { gasPrice: msg.gasPrice, type: core.ETHTransactionType.ETH_TX_TYPE_LEGACY }), msg.addressNList);
|
|
143
145
|
const decoded = ethers.utils.parseTransaction(result);
|
|
144
146
|
return {
|
|
145
147
|
v: core.mustBeDefined(decoded.v),
|
|
@@ -154,10 +156,10 @@ function MixinNativeETHWallet(Base) {
|
|
|
154
156
|
return __awaiter(this, void 0, void 0, function* () {
|
|
155
157
|
return this.needsMnemonic(!!__classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f"), () => __awaiter(this, void 0, void 0, function* () {
|
|
156
158
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
157
|
-
const result = yield __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").signMessage(msg.message);
|
|
159
|
+
const result = yield __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").signMessage(msg.message, msg.addressNList);
|
|
158
160
|
return {
|
|
159
161
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
160
|
-
address: yield __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").getAddress(),
|
|
162
|
+
address: yield __classPrivateFieldGet(this, _MixinNativeETHWallet_ethSigner, "f").getAddress(msg.addressNList),
|
|
161
163
|
signature: result,
|
|
162
164
|
};
|
|
163
165
|
}));
|
package/dist/ethereum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../src/ethereum.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAqD;AACrD,+CAAiC;
|
|
1
|
+
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../src/ethereum.ts"],"names":[],"mappings":"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"}
|
package/dist/ethereum.test.js
CHANGED
|
@@ -69,13 +69,8 @@ describe("NativeETHWallet", () => {
|
|
|
69
69
|
it("should generate a correct ethereum address", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
70
|
expect(yield wallet.ethGetAddress({ addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0") })).toBe("0x73d0385F4d8E00C5e6504C6030F47BF6212736A8");
|
|
71
71
|
}));
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
it.skip("should generate another correct ethereum address", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
|
-
expect(yield wallet.ethGetAddress({ addressNList: core.bip32ToAddressNList("m/44'/60'/1337'/123/4") })).toBe("0x387F3031b30E2c8eB997E87a69FEA02756983b77");
|
|
76
|
-
}));
|
|
77
|
-
it("fails when generating another ethereum address", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
-
yield expect(wallet.ethGetAddress({ addressNList: core.bip32ToAddressNList("m/44'/60'/1337'/123/4") })).rejects.toThrowError("path not supported");
|
|
72
|
+
it("should generate another correct ethereum address at account 1", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
73
|
+
expect(yield wallet.ethGetAddress({ addressNList: core.bip32ToAddressNList("m/44'/60'/1'/0/0") })).toBe("0xeDe5D356020A0aA3DC3fCAf0d899b5c63d7eA4aa");
|
|
79
74
|
}));
|
|
80
75
|
it("should sign a legacy transaction correctly", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
81
76
|
const sig = yield wallet.ethSignTx({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.test.js","sourceRoot":"","sources":["../src/ethereum.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8C;AAC9C,mEAAqD;AACrD,+CAAiC;AACjC,+CAA2C;AAE3C,iDAAmC;AAEnC,MAAM,QAAQ,GAAG,iDAAiD,CAAC;AAEnE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;AACnD,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAExD,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAE3B,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAS,EAAE;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1B;gBACE,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC;gBAC1D,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;gBACtD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACf,WAAW,EAAE,QAAQ;aACtB;SACF,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;QAC9D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,MAA6B,CAAC;IAElC,UAAU,CAAC,GAAS,EAAE;QACpB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;QAC1D,MAAM,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACrG,4CAA4C,CAC7C,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,
|
|
1
|
+
{"version":3,"file":"ethereum.test.js","sourceRoot":"","sources":["../src/ethereum.test.ts"],"names":[],"mappings":"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"}
|
package/dist/fio.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare function MixinNativeFioWalletInfo<TBase extends core.Constructor<
|
|
|
16
16
|
hasOnDeviceDisplay(): boolean;
|
|
17
17
|
hasOnDeviceRecovery(): boolean;
|
|
18
18
|
hasNativeShapeShift(srcCoin: string, dstCoin: string): boolean;
|
|
19
|
+
supportsBip44Accounts(): boolean;
|
|
19
20
|
supportsOfflineSigning(): boolean;
|
|
20
21
|
supportsBroadcast(): boolean;
|
|
21
22
|
describePath(msg: core.DescribePath): core.PathDescription;
|
|
@@ -25,7 +26,7 @@ export declare function MixinNativeFioWallet<TBase extends core.Constructor<Nati
|
|
|
25
26
|
new (...args: any[]): {
|
|
26
27
|
readonly _supportsFio: true;
|
|
27
28
|
baseUrl: string;
|
|
28
|
-
"__#
|
|
29
|
+
"__#11@#masterKey": Isolation.Core.BIP32.Node | undefined;
|
|
29
30
|
fioInitializeWallet(masterKey: Isolation.Core.BIP32.Node): Promise<void>;
|
|
30
31
|
fioWipe(): void;
|
|
31
32
|
getFioSdk(addressNList: core.BIP32Path): Promise<fio.FIOSDK | null>;
|
|
@@ -33,7 +34,7 @@ export declare function MixinNativeFioWallet<TBase extends core.Constructor<Nati
|
|
|
33
34
|
fioSignTx(msg: core.FioSignTx): Promise<core.FioSignedTx | null>;
|
|
34
35
|
fioEncryptRequestContent<T extends core.Fio.ContentType>(msg: core.FioEncryptRequestContentMsg<T>): Promise<string | null>;
|
|
35
36
|
fioDecryptRequestContent<T_1 extends core.Fio.ContentType>(msg: core.FioDecryptRequestContentMsg<T_1>): Promise<core.Fio.Content<T_1> | null>;
|
|
36
|
-
readonly "__#
|
|
37
|
+
readonly "__#17@#events": import("eventemitter2").EventEmitter2;
|
|
37
38
|
readonly events: import("eventemitter2").EventEmitter2;
|
|
38
39
|
needsMnemonic<T_2>(hasMnemonic: boolean, callback: () => T_2): T_2 | null;
|
|
39
40
|
getVendor(): string;
|
|
@@ -42,6 +43,7 @@ export declare function MixinNativeFioWallet<TBase extends core.Constructor<Nati
|
|
|
42
43
|
hasOnDeviceDisplay(): boolean;
|
|
43
44
|
hasOnDeviceRecovery(): boolean;
|
|
44
45
|
hasNativeShapeShift(): boolean;
|
|
46
|
+
supportsBip44Accounts(): boolean;
|
|
45
47
|
supportsOfflineSigning(): boolean;
|
|
46
48
|
supportsBroadcast(): boolean;
|
|
47
49
|
describePath(msg: core.DescribePath): core.PathDescription;
|
package/dist/fio.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fio.d.ts","sourceRoot":"","sources":["../src/fio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAGrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAY9C,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;8BAKvE,QAAQ,OAAO,CAAC;qCAIT,QAAQ,OAAO,CAAC;uCAIpB,OAAO;gCAId,KAAK,kBAAkB,GAAG,MAAM,KAAK,cAAc,CAAC;gCASpD,KAAK,cAAc,GAAG,KAAK,cAAc,GAAG,SAAS
|
|
1
|
+
{"version":3,"file":"fio.d.ts","sourceRoot":"","sources":["../src/fio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAGrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAY9C,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;8BAKvE,QAAQ,OAAO,CAAC;qCAIT,QAAQ,OAAO,CAAC;uCAIpB,OAAO;gCAId,KAAK,kBAAkB,GAAG,MAAM,KAAK,cAAc,CAAC;gCASpD,KAAK,cAAc,GAAG,KAAK,cAAc,GAAG,SAAS;;;;;;;;;;;;UAMhF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK;;;;4BAKpF,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,SAAS;uCAEZ,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,QAAQ,IAAI,CAAC;mBAInE,IAAI;iDAIgC,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;2BAUhD,KAAK,aAAa,GAAG,QAAQ,MAAM,GAAG,IAAI,CAAC;uBAK/C,KAAK,SAAS,GAAG,QAAQ,KAAK,WAAW,GAAG,IAAI,CAAC;4GA+JnE,QAAQ,MAAM,GAAG,IAAI,CAAC;;;;;;;;;;;;;;;;UA+B5B"}
|
package/dist/kava.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare function MixinNativeKavaWalletInfo<TBase extends core.Constructor
|
|
|
15
15
|
hasOnDeviceDisplay(): boolean;
|
|
16
16
|
hasOnDeviceRecovery(): boolean;
|
|
17
17
|
hasNativeShapeShift(srcCoin: string, dstCoin: string): boolean;
|
|
18
|
+
supportsBip44Accounts(): boolean;
|
|
18
19
|
supportsOfflineSigning(): boolean;
|
|
19
20
|
supportsBroadcast(): boolean;
|
|
20
21
|
describePath(msg: core.DescribePath): core.PathDescription;
|
|
@@ -23,14 +24,14 @@ export declare function MixinNativeKavaWalletInfo<TBase extends core.Constructor
|
|
|
23
24
|
export declare function MixinNativeKavaWallet<TBase extends core.Constructor<NativeHDWalletBase>>(Base: TBase): {
|
|
24
25
|
new (...args: any[]): {
|
|
25
26
|
readonly _supportsKava: true;
|
|
26
|
-
"__#
|
|
27
|
+
"__#12@#masterKey": Isolation.Core.BIP32.Node | undefined;
|
|
27
28
|
kavaInitializeWallet(masterKey: Isolation.Core.BIP32.Node): Promise<void>;
|
|
28
29
|
kavaWipe(): void;
|
|
29
30
|
kavaBech32ify(address: ArrayLike<number>, prefix: string): string;
|
|
30
31
|
createKavaAddress(publicKey: string): string;
|
|
31
32
|
kavaGetAddress(msg: core.KavaGetAddress): Promise<string | null>;
|
|
32
33
|
kavaSignTx(msg: core.KavaSignTx): Promise<core.KavaSignedTx | null>;
|
|
33
|
-
readonly "__#
|
|
34
|
+
readonly "__#17@#events": import("eventemitter2").EventEmitter2;
|
|
34
35
|
readonly events: import("eventemitter2").EventEmitter2;
|
|
35
36
|
needsMnemonic<T>(hasMnemonic: boolean, callback: () => T): T | null;
|
|
36
37
|
getVendor(): string;
|
|
@@ -39,6 +40,7 @@ export declare function MixinNativeKavaWallet<TBase extends core.Constructor<Nat
|
|
|
39
40
|
hasOnDeviceDisplay(): boolean;
|
|
40
41
|
hasOnDeviceRecovery(): boolean;
|
|
41
42
|
hasNativeShapeShift(): boolean;
|
|
43
|
+
supportsBip44Accounts(): boolean;
|
|
42
44
|
supportsOfflineSigning(): boolean;
|
|
43
45
|
supportsBroadcast(): boolean;
|
|
44
46
|
describePath(msg: core.DescribePath): core.PathDescription;
|
package/dist/kava.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kava.d.ts","sourceRoot":"","sources":["../src/kava.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAKrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;+BAKvE,QAAQ,OAAO,CAAC;sCAIT,QAAQ,OAAO,CAAC;wCAIpB,OAAO;iCAId,KAAK,mBAAmB,GAAG,MAAM,KAAK,eAAe,CAAC;iCAUtD,KAAK,eAAe,GAAG,KAAK,eAAe,GAAG,SAAS
|
|
1
|
+
{"version":3,"file":"kava.d.ts","sourceRoot":"","sources":["../src/kava.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAKrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;+BAKvE,QAAQ,OAAO,CAAC;sCAIT,QAAQ,OAAO,CAAC;wCAIpB,OAAO;iCAId,KAAK,mBAAmB,GAAG,MAAM,KAAK,eAAe,CAAC;iCAUtD,KAAK,eAAe,GAAG,KAAK,eAAe,GAAG,SAAS;;;;;;;;;;;;UAKnF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK;;;4BAKrF,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,SAAS;wCAEX,UAAU,IAAI,CAAC,KAAK,KAAK,GAAG,QAAQ,IAAI,CAAC;oBAInE,IAAI;+BAIO,UAAU,MAAM,CAAC,UAAU,MAAM,GAAG,MAAM;qCAKpC,MAAM;4BAOT,KAAK,cAAc,GAAG,QAAQ,MAAM,GAAG,IAAI,CAAC;wBAQhD,KAAK,UAAU,GAAG,QAAQ,KAAK,YAAY,GAAG,IAAI,CAAC;;;;;;;;;;;;;;;UAW5E"}
|