@shapeshiftoss/hdwallet-keepkey 1.62.41 → 1.62.42
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/LICENSE.md +6 -6
- package/dist/cjs/.tsbuildinfo +1 -0
- package/dist/{adapter.d.ts → cjs/adapter.d.ts} +6 -7
- package/dist/cjs/adapter.js +146 -0
- package/dist/{binance.d.ts → cjs/binance.d.ts} +3 -4
- package/dist/cjs/binance.js +144 -0
- package/dist/{bitcoin.d.ts → cjs/bitcoin.d.ts} +3 -4
- package/dist/cjs/bitcoin.js +549 -0
- package/dist/{bnbencoding.d.ts → cjs/bnbencoding.d.ts} +3 -2
- package/dist/{bnbencoding.js → cjs/bnbencoding.js} +22 -22
- package/dist/{cosmos.d.ts → cjs/cosmos.d.ts} +4 -5
- package/dist/cjs/cosmos.js +219 -0
- package/dist/{eos.d.ts → cjs/eos.d.ts} +3 -4
- package/dist/cjs/eos.js +244 -0
- package/dist/{ethereum.d.ts → cjs/ethereum.d.ts} +4 -5
- package/dist/cjs/ethereum.js +264 -0
- package/dist/cjs/index.d.ts +5 -0
- package/dist/{index.js → cjs/index.js} +0 -1
- package/dist/{keepkey.d.ts → cjs/keepkey.d.ts} +45 -20
- package/dist/cjs/keepkey.js +959 -0
- package/dist/{mayachain.d.ts → cjs/mayachain.d.ts} +4 -5
- package/dist/cjs/mayachain.js +169 -0
- package/dist/{osmosis.d.ts → cjs/osmosis.d.ts} +4 -5
- package/dist/cjs/osmosis.js +270 -0
- package/dist/cjs/package.json +1 -0
- package/dist/{ripple.d.ts → cjs/ripple.d.ts} +3 -4
- package/dist/cjs/ripple.js +104 -0
- package/dist/{thorchain.d.ts → cjs/thorchain.d.ts} +4 -5
- package/dist/cjs/thorchain.js +169 -0
- package/dist/{transport.d.ts → cjs/transport.d.ts} +2 -3
- package/dist/cjs/transport.js +333 -0
- package/dist/{typeRegistry.d.ts → cjs/typeRegistry.d.ts} +2 -3
- package/dist/{typeRegistry.js → cjs/typeRegistry.js} +26 -13
- package/dist/{utils.d.ts → cjs/utils.d.ts} +1 -2
- package/dist/{utils.js → cjs/utils.js} +7 -8
- package/dist/esm/.tsbuildinfo +1 -0
- package/dist/esm/adapter.d.ts +35 -0
- package/dist/esm/adapter.js +119 -0
- package/dist/esm/binance.d.ts +5 -0
- package/dist/esm/binance.js +112 -0
- package/dist/esm/bitcoin.d.ts +11 -0
- package/dist/esm/bitcoin.js +511 -0
- package/dist/esm/bnbencoding.d.ts +11 -0
- package/dist/esm/bnbencoding.js +103 -0
- package/dist/esm/cosmos.d.ts +6 -0
- package/dist/esm/cosmos.js +187 -0
- package/dist/esm/eos.d.ts +5 -0
- package/dist/esm/eos.js +212 -0
- package/dist/esm/ethereum.d.ts +17 -0
- package/dist/esm/ethereum.js +229 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/keepkey.d.ts +177 -0
- package/dist/esm/keepkey.js +925 -0
- package/dist/esm/mayachain.d.ts +6 -0
- package/dist/esm/mayachain.js +137 -0
- package/dist/esm/osmosis.d.ts +6 -0
- package/dist/esm/osmosis.js +238 -0
- package/dist/esm/ripple.d.ts +5 -0
- package/dist/esm/ripple.js +72 -0
- package/dist/esm/thorchain.d.ts +6 -0
- package/dist/esm/thorchain.js +137 -0
- package/dist/esm/transport.d.ts +55 -0
- package/dist/esm/transport.js +306 -0
- package/dist/esm/typeRegistry.d.ts +4 -0
- package/dist/esm/typeRegistry.js +47 -0
- package/dist/esm/utils.d.ts +6 -0
- package/dist/esm/utils.js +56 -0
- package/package.json +33 -19
- package/dist/adapter.d.ts.map +0 -1
- package/dist/adapter.js +0 -175
- package/dist/adapter.js.map +0 -1
- package/dist/binance.d.ts.map +0 -1
- package/dist/binance.js +0 -146
- package/dist/binance.js.map +0 -1
- package/dist/bitcoin.d.ts.map +0 -1
- package/dist/bitcoin.js +0 -568
- package/dist/bitcoin.js.map +0 -1
- package/dist/bnbencoding.d.ts.map +0 -1
- package/dist/bnbencoding.js.map +0 -1
- package/dist/cosmos.d.ts.map +0 -1
- package/dist/cosmos.js +0 -230
- package/dist/cosmos.js.map +0 -1
- package/dist/eos.d.ts.map +0 -1
- package/dist/eos.js +0 -247
- package/dist/eos.js.map +0 -1
- package/dist/ethereum.d.ts.map +0 -1
- package/dist/ethereum.js +0 -281
- package/dist/ethereum.js.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/keepkey.d.ts.map +0 -1
- package/dist/keepkey.js +0 -1027
- package/dist/keepkey.js.map +0 -1
- package/dist/mayachain.d.ts.map +0 -1
- package/dist/mayachain.js +0 -180
- package/dist/mayachain.js.map +0 -1
- package/dist/osmosis.d.ts.map +0 -1
- package/dist/osmosis.js +0 -278
- package/dist/osmosis.js.map +0 -1
- package/dist/ripple.d.ts.map +0 -1
- package/dist/ripple.js +0 -111
- package/dist/ripple.js.map +0 -1
- package/dist/thorchain.d.ts.map +0 -1
- package/dist/thorchain.js +0 -180
- package/dist/thorchain.js.map +0 -1
- package/dist/transport.d.ts.map +0 -1
- package/dist/transport.js +0 -365
- package/dist/transport.js.map +0 -1
- package/dist/typeRegistry.d.ts.map +0 -1
- package/dist/typeRegistry.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js.map +0 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.Adapter = void 0;
|
|
27
|
+
const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
|
|
28
|
+
const keepkey_1 = require("./keepkey");
|
|
29
|
+
const transport_1 = require("./transport");
|
|
30
|
+
class Adapter {
|
|
31
|
+
keyring;
|
|
32
|
+
delegate;
|
|
33
|
+
constructor(keyring, delegate) {
|
|
34
|
+
this.keyring = keyring;
|
|
35
|
+
this.delegate = delegate;
|
|
36
|
+
try {
|
|
37
|
+
this.delegate.registerCallbacks?.(this.handleConnect.bind(this), this.handleDisconnect.bind(this));
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
console.error(e);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
static fromDelegate(delegate) {
|
|
44
|
+
const fn = (keyring) => new Adapter(keyring, delegate);
|
|
45
|
+
const out = fn;
|
|
46
|
+
out.useKeyring = fn;
|
|
47
|
+
return out;
|
|
48
|
+
}
|
|
49
|
+
static async inspectDevice(delegate, device) {
|
|
50
|
+
const props = (await Promise.resolve(delegate.inspectDevice?.(device))) ??
|
|
51
|
+
(['object', 'function'].includes(typeof device) ? device : {});
|
|
52
|
+
if (!props.serialNumber && typeof device === 'string')
|
|
53
|
+
props.serialNumber = device;
|
|
54
|
+
return {
|
|
55
|
+
get productName() {
|
|
56
|
+
const out = props['productName'];
|
|
57
|
+
return typeof out === 'string' ? out : 'KeepKey';
|
|
58
|
+
},
|
|
59
|
+
get serialNumber() {
|
|
60
|
+
const out = props['serialNumber'];
|
|
61
|
+
if (typeof out !== 'string')
|
|
62
|
+
throw new Error('could not get serialNumber from device');
|
|
63
|
+
return out;
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
async inspectDevice(device) {
|
|
68
|
+
return Adapter.inspectDevice(this.delegate, device);
|
|
69
|
+
}
|
|
70
|
+
async handleConnect(device) {
|
|
71
|
+
try {
|
|
72
|
+
await this.initialize([device]);
|
|
73
|
+
const { productName, serialNumber } = await this.inspectDevice(device);
|
|
74
|
+
await this.keyring.emit([productName, serialNumber, core.Events.CONNECT], serialNumber);
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
console.error(e);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async handleDisconnect(device) {
|
|
81
|
+
const { productName, serialNumber } = await this.inspectDevice(device);
|
|
82
|
+
try {
|
|
83
|
+
await this.keyring.remove(serialNumber);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// swallow keyring removal errors
|
|
87
|
+
}
|
|
88
|
+
await this.keyring.emit([productName, serialNumber, core.Events.DISCONNECT], serialNumber);
|
|
89
|
+
}
|
|
90
|
+
async initialize(devices, tryDebugLink, autoConnect) {
|
|
91
|
+
devices = devices ?? (await this.getDevices());
|
|
92
|
+
for (const device of devices) {
|
|
93
|
+
const { serialNumber } = await this.inspectDevice(device);
|
|
94
|
+
if (this.keyring.wallets[serialNumber])
|
|
95
|
+
await this.keyring.remove(serialNumber);
|
|
96
|
+
const delegate = await this.getTransportDelegate(device);
|
|
97
|
+
if (delegate === null)
|
|
98
|
+
continue;
|
|
99
|
+
const transport = await transport_1.Transport.create(this.keyring, delegate);
|
|
100
|
+
await transport.connect();
|
|
101
|
+
if (tryDebugLink)
|
|
102
|
+
await transport.tryConnectDebugLink();
|
|
103
|
+
const wallet = await keepkey_1.KeepKeyHDWallet.create(transport);
|
|
104
|
+
if (autoConnect)
|
|
105
|
+
await wallet.initialize();
|
|
106
|
+
this.keyring.add(wallet, serialNumber);
|
|
107
|
+
}
|
|
108
|
+
return Object.keys(this.keyring.wallets).length;
|
|
109
|
+
}
|
|
110
|
+
async getDevice(serialNumber) {
|
|
111
|
+
if (this.delegate.getDevice)
|
|
112
|
+
return await this.delegate.getDevice(serialNumber);
|
|
113
|
+
if (!serialNumber)
|
|
114
|
+
throw new Error('no default device specified');
|
|
115
|
+
const devices = await this.getDevices();
|
|
116
|
+
return (await Promise.all(devices.map(async (x) => (await this.inspectDevice(x)).serialNumber === serialNumber ? x : null))).filter(x => x !== null)[0];
|
|
117
|
+
}
|
|
118
|
+
async getDevices() {
|
|
119
|
+
if (this.delegate.getDevices)
|
|
120
|
+
return await this.delegate.getDevices();
|
|
121
|
+
let defaultDevice = undefined;
|
|
122
|
+
try {
|
|
123
|
+
defaultDevice = await this.getDevice();
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// swallow default device fetch errors
|
|
127
|
+
}
|
|
128
|
+
return defaultDevice ? [defaultDevice] : [];
|
|
129
|
+
}
|
|
130
|
+
async getTransportDelegate(device) {
|
|
131
|
+
return await this.delegate.getTransportDelegate(device);
|
|
132
|
+
}
|
|
133
|
+
async pairDevice(serialNumber, tryDebugLink) {
|
|
134
|
+
const device = await this.getDevice(serialNumber);
|
|
135
|
+
if (!device)
|
|
136
|
+
throw new Error(serialNumber
|
|
137
|
+
? `could not find device matching serial number '${serialNumber}'`
|
|
138
|
+
: 'could not find default device');
|
|
139
|
+
return this.pairRawDevice(device, tryDebugLink);
|
|
140
|
+
}
|
|
141
|
+
async pairRawDevice(device, tryDebugLink) {
|
|
142
|
+
await this.initialize([device], tryDebugLink, true);
|
|
143
|
+
return core.mustBeDefined(this.keyring.get((await this.inspectDevice(device)).serialNumber));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.Adapter = Adapter;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import * as core from
|
|
2
|
-
import { Transport } from
|
|
3
|
-
export declare function binanceGetAccountPaths(msg: core.BinanceGetAccountPaths):
|
|
1
|
+
import * as core from '@shapeshiftoss/hdwallet-core';
|
|
2
|
+
import type { Transport } from './transport';
|
|
3
|
+
export declare function binanceGetAccountPaths(msg: core.BinanceGetAccountPaths): core.BinanceAccountPath[];
|
|
4
4
|
export declare function binanceSignTx(transport: Transport, msg: core.BinanceSignTx): Promise<core.BinanceSignedTx>;
|
|
5
5
|
export declare function binanceGetAddress(transport: Transport, msg: core.BinanceGetAddress): Promise<string>;
|
|
6
|
-
//# sourceMappingURL=binance.d.ts.map
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.binanceGetAddress = exports.binanceSignTx = exports.binanceGetAccountPaths = void 0;
|
|
30
|
+
const Messages = __importStar(require("@keepkey/device-protocol/lib/messages_pb"));
|
|
31
|
+
const BinanceMessages = __importStar(require("@keepkey/device-protocol/lib/messages-binance_pb"));
|
|
32
|
+
const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
|
|
33
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
34
|
+
const crypto_js_1 = __importDefault(require("crypto-js"));
|
|
35
|
+
const bnbencoding_1 = require("./bnbencoding");
|
|
36
|
+
function binanceGetAccountPaths(msg) {
|
|
37
|
+
return [
|
|
38
|
+
{
|
|
39
|
+
addressNList: [
|
|
40
|
+
0x80000000 + 44,
|
|
41
|
+
0x80000000 + core.slip44ByCoin('Binance'),
|
|
42
|
+
0x80000000 + msg.accountIdx,
|
|
43
|
+
0,
|
|
44
|
+
0,
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
exports.binanceGetAccountPaths = binanceGetAccountPaths;
|
|
50
|
+
async function binanceSignTx(transport, msg) {
|
|
51
|
+
return transport.lockDuring(async () => {
|
|
52
|
+
if (msg.testnet)
|
|
53
|
+
throw new Error('testnet not supported');
|
|
54
|
+
const partialTx = Object.assign({}, msg.tx);
|
|
55
|
+
if (!partialTx.data)
|
|
56
|
+
partialTx.data = null;
|
|
57
|
+
if (!partialTx.memo)
|
|
58
|
+
partialTx.memo = '';
|
|
59
|
+
if (!partialTx.sequence)
|
|
60
|
+
partialTx.sequence = '0';
|
|
61
|
+
if (!partialTx.source)
|
|
62
|
+
partialTx.source = '0';
|
|
63
|
+
if (!partialTx.account_number)
|
|
64
|
+
throw new Error('account_number is required');
|
|
65
|
+
if (!partialTx.chain_id)
|
|
66
|
+
throw new Error('chain_id is required');
|
|
67
|
+
const tx = partialTx;
|
|
68
|
+
if (tx.data)
|
|
69
|
+
throw new Error('tx data field not supported');
|
|
70
|
+
const signTx = new BinanceMessages.BinanceSignTx();
|
|
71
|
+
signTx.setAddressNList(msg.addressNList);
|
|
72
|
+
signTx.setAccountNumber(tx.account_number);
|
|
73
|
+
signTx.setChainId(tx.chain_id);
|
|
74
|
+
signTx.setSequence(tx.sequence);
|
|
75
|
+
if (tx.memo)
|
|
76
|
+
signTx.setMemo(tx.memo);
|
|
77
|
+
//verify not a batch tx
|
|
78
|
+
if (msg.tx.msgs.length > 1)
|
|
79
|
+
throw new Error('Binance batch sending not supported!');
|
|
80
|
+
const message = msg.tx.msgs[0];
|
|
81
|
+
//tell device not a batch tx
|
|
82
|
+
signTx.setMsgCount(1);
|
|
83
|
+
//tell device im about to send a tx to sign
|
|
84
|
+
let resp = await transport.call(Messages.MessageType.MESSAGETYPE_BINANCESIGNTX, signTx, {
|
|
85
|
+
msgTimeout: core.LONG_TIMEOUT,
|
|
86
|
+
omitLock: true,
|
|
87
|
+
});
|
|
88
|
+
const outputAmount = new bignumber_js_1.default(message.outputs[0].coins[0].amount);
|
|
89
|
+
const inputAmount = new bignumber_js_1.default(message.inputs[0].coins[0].amount);
|
|
90
|
+
if (!outputAmount.isInteger())
|
|
91
|
+
throw new Error('Output amount must be an integer');
|
|
92
|
+
if (!inputAmount.isInteger())
|
|
93
|
+
throw new Error('Input amount must be an integer');
|
|
94
|
+
const coinOut = new BinanceMessages.BinanceTransferMsg.BinanceCoin();
|
|
95
|
+
coinOut.setAmount(outputAmount.toString());
|
|
96
|
+
coinOut.setDenom(message.outputs[0].coins[0].denom);
|
|
97
|
+
const outputs = new BinanceMessages.BinanceTransferMsg.BinanceInputOutput();
|
|
98
|
+
outputs.setAddress(message.outputs[0].address);
|
|
99
|
+
outputs.setCoinsList([coinOut]);
|
|
100
|
+
const coinIn = new BinanceMessages.BinanceTransferMsg.BinanceCoin();
|
|
101
|
+
coinIn.setAmount(inputAmount.toString());
|
|
102
|
+
coinIn.setDenom(message.inputs[0].coins[0].denom);
|
|
103
|
+
const inputs = new BinanceMessages.BinanceTransferMsg.BinanceInputOutput();
|
|
104
|
+
inputs.setAddress(message.inputs[0].address);
|
|
105
|
+
inputs.setCoinsList([coinIn]);
|
|
106
|
+
const send = new BinanceMessages.BinanceTransferMsg();
|
|
107
|
+
send.addInputs(inputs);
|
|
108
|
+
send.addOutputs(outputs);
|
|
109
|
+
//sent tx to device
|
|
110
|
+
resp = await transport.call(Messages.MessageType.MESSAGETYPE_BINANCETRANSFERMSG, send, {
|
|
111
|
+
msgTimeout: core.LONG_TIMEOUT,
|
|
112
|
+
omitLock: true,
|
|
113
|
+
});
|
|
114
|
+
if (resp.message_enum !== Messages.MessageType.MESSAGETYPE_BINANCESIGNEDTX) {
|
|
115
|
+
throw new Error(`binance: unexpected response ${resp.message_type}`);
|
|
116
|
+
}
|
|
117
|
+
const signedTx = new BinanceMessages.BinanceSignedTx();
|
|
118
|
+
signedTx.setSignature(resp.message.signature);
|
|
119
|
+
signedTx.setPublicKey(resp.message.publicKey);
|
|
120
|
+
const serialized = (0, bnbencoding_1.encodeBnbTx)(tx, Buffer.from(signedTx.getPublicKey_asU8()), Buffer.from(signedTx.getSignature_asU8())).toString('hex');
|
|
121
|
+
const out = {
|
|
122
|
+
...tx,
|
|
123
|
+
signatures: {
|
|
124
|
+
pub_key: signedTx.getPublicKey_asB64(),
|
|
125
|
+
signature: signedTx.getSignature_asB64(),
|
|
126
|
+
},
|
|
127
|
+
serialized,
|
|
128
|
+
txid: crypto_js_1.default.SHA256(crypto_js_1.default.enc.Hex.parse(serialized)).toString(),
|
|
129
|
+
};
|
|
130
|
+
return out;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
exports.binanceSignTx = binanceSignTx;
|
|
134
|
+
async function binanceGetAddress(transport, msg) {
|
|
135
|
+
const getAddr = new BinanceMessages.BinanceGetAddress();
|
|
136
|
+
getAddr.setAddressNList(msg.addressNList);
|
|
137
|
+
getAddr.setShowDisplay(msg.showDisplay !== false);
|
|
138
|
+
const response = await transport.call(Messages.MessageType.MESSAGETYPE_BINANCEGETADDRESS, getAddr, {
|
|
139
|
+
msgTimeout: core.LONG_TIMEOUT,
|
|
140
|
+
});
|
|
141
|
+
const binanceAddress = response.proto;
|
|
142
|
+
return core.mustBeDefined(binanceAddress.getAddress());
|
|
143
|
+
}
|
|
144
|
+
exports.binanceGetAddress = binanceGetAddress;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as core from
|
|
2
|
-
import { Transport } from
|
|
1
|
+
import * as core from '@shapeshiftoss/hdwallet-core';
|
|
2
|
+
import type { Transport } from './transport';
|
|
3
3
|
export declare function btcSupportsCoin(coin: core.Coin): Promise<boolean>;
|
|
4
4
|
export declare function btcSupportsScriptType(coin: core.Coin, scriptType?: core.BTCInputScriptType): Promise<boolean>;
|
|
5
5
|
export declare function btcGetAddress(wallet: core.BTCWallet, transport: Transport, msg: core.BTCGetAddress): Promise<string>;
|
|
@@ -8,5 +8,4 @@ export declare function btcSupportsSecureTransfer(): Promise<boolean>;
|
|
|
8
8
|
export declare function btcSupportsNativeShapeShift(): boolean;
|
|
9
9
|
export declare function btcSignMessage(wallet: core.BTCWallet, transport: Transport, msg: core.BTCSignMessage): Promise<core.BTCSignedMessage>;
|
|
10
10
|
export declare function btcVerifyMessage(wallet: core.BTCWallet, transport: Transport, msg: core.BTCVerifyMessage): Promise<boolean>;
|
|
11
|
-
export declare function btcGetAccountPaths(msg: core.BTCGetAccountPaths):
|
|
12
|
-
//# sourceMappingURL=bitcoin.d.ts.map
|
|
11
|
+
export declare function btcGetAccountPaths(msg: core.BTCGetAccountPaths): core.BTCAccountPath[];
|