@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
package/dist/bitcoin.js
CHANGED
|
@@ -1,70 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
35
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
36
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
37
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
38
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
39
|
-
};
|
|
40
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
41
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
42
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
43
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
44
|
-
};
|
|
45
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
-
exports.MixinNativeBTCWallet = exports.MixinNativeBTCWalletInfo = void 0;
|
|
47
|
-
const bitcoin = __importStar(require("@shapeshiftoss/bitcoinjs-lib"));
|
|
48
|
-
const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
|
|
49
|
-
const bchAddr = __importStar(require("bchaddrjs"));
|
|
50
|
-
const networks_1 = require("./networks");
|
|
51
|
-
const util = __importStar(require("./util"));
|
|
1
|
+
import * as bitcoin from "@shapeshiftoss/bitcoinjs-lib";
|
|
2
|
+
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
3
|
+
import * as bchAddr from "bchaddrjs";
|
|
4
|
+
import { getNetwork } from "./networks";
|
|
5
|
+
import * as util from "./util";
|
|
52
6
|
const supportedCoins = ["bitcoin", "dash", "digibyte", "dogecoin", "litecoin", "bitcoincash", "testnet"];
|
|
53
7
|
const segwit = ["p2wpkh", "p2sh-p2wpkh", "bech32"];
|
|
54
|
-
function MixinNativeBTCWalletInfo(Base) {
|
|
8
|
+
export function MixinNativeBTCWalletInfo(Base) {
|
|
55
9
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
56
10
|
return class MixinNativeBTCWalletInfo extends Base {
|
|
57
|
-
|
|
58
|
-
super(...arguments);
|
|
59
|
-
this._supportsBTCInfo = true;
|
|
60
|
-
}
|
|
11
|
+
_supportsBTCInfo = true;
|
|
61
12
|
btcSupportsCoinSync(coin) {
|
|
62
13
|
return supportedCoins.includes(String(coin).toLowerCase());
|
|
63
14
|
}
|
|
64
|
-
btcSupportsCoin(coin) {
|
|
65
|
-
return
|
|
66
|
-
return this.btcSupportsCoinSync(coin);
|
|
67
|
-
});
|
|
15
|
+
async btcSupportsCoin(coin) {
|
|
16
|
+
return this.btcSupportsCoinSync(coin);
|
|
68
17
|
}
|
|
69
18
|
btcSupportsScriptTypeSync(coin, scriptType) {
|
|
70
19
|
if (!this.btcSupportsCoinSync(coin))
|
|
@@ -80,15 +29,11 @@ function MixinNativeBTCWalletInfo(Base) {
|
|
|
80
29
|
return false;
|
|
81
30
|
}
|
|
82
31
|
}
|
|
83
|
-
btcSupportsScriptType(coin, scriptType) {
|
|
84
|
-
return
|
|
85
|
-
return this.btcSupportsScriptTypeSync(coin, scriptType);
|
|
86
|
-
});
|
|
32
|
+
async btcSupportsScriptType(coin, scriptType) {
|
|
33
|
+
return this.btcSupportsScriptTypeSync(coin, scriptType);
|
|
87
34
|
}
|
|
88
|
-
btcSupportsSecureTransfer() {
|
|
89
|
-
return
|
|
90
|
-
return false;
|
|
91
|
-
});
|
|
35
|
+
async btcSupportsSecureTransfer() {
|
|
36
|
+
return false;
|
|
92
37
|
}
|
|
93
38
|
btcSupportsNativeShapeShift() {
|
|
94
39
|
return false;
|
|
@@ -132,242 +77,231 @@ function MixinNativeBTCWalletInfo(Base) {
|
|
|
132
77
|
(addressNList[0] === 0x80000000 + 49 && msg.scriptType == core.BTCInputScriptType.SpendP2SHWitness) ||
|
|
133
78
|
(addressNList[0] === 0x80000000 + 84 && msg.scriptType == core.BTCInputScriptType.SpendWitness)) {
|
|
134
79
|
addressNList[2] += 1;
|
|
135
|
-
return
|
|
80
|
+
return {
|
|
81
|
+
...msg,
|
|
82
|
+
addressNList,
|
|
83
|
+
};
|
|
136
84
|
}
|
|
137
85
|
return undefined;
|
|
138
86
|
}
|
|
139
87
|
};
|
|
140
88
|
}
|
|
141
|
-
|
|
142
|
-
function MixinNativeBTCWallet(Base) {
|
|
143
|
-
var _MixinNativeBTCWallet_masterKey, _a;
|
|
89
|
+
export function MixinNativeBTCWallet(Base) {
|
|
144
90
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
145
|
-
return
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
91
|
+
return class MixinNativeBTCWallet extends Base {
|
|
92
|
+
_supportsBTC = true;
|
|
93
|
+
#masterKey;
|
|
94
|
+
async btcInitializeWallet(masterKey) {
|
|
95
|
+
this.#masterKey = masterKey;
|
|
96
|
+
}
|
|
97
|
+
btcWipe() {
|
|
98
|
+
this.#masterKey = undefined;
|
|
99
|
+
}
|
|
100
|
+
createPayment(pubkey, scriptType, network) {
|
|
101
|
+
switch (scriptType) {
|
|
102
|
+
case "p2sh":
|
|
103
|
+
return bitcoin.payments.p2sh({ pubkey, network });
|
|
104
|
+
case "p2pkh":
|
|
105
|
+
return bitcoin.payments.p2pkh({ pubkey, network });
|
|
106
|
+
case "p2wpkh":
|
|
107
|
+
return bitcoin.payments.p2wpkh({ pubkey, network });
|
|
108
|
+
case "p2sh-p2wpkh":
|
|
109
|
+
return bitcoin.payments.p2sh({
|
|
110
|
+
redeem: bitcoin.payments.p2wpkh({ pubkey, network }),
|
|
111
|
+
network,
|
|
112
|
+
});
|
|
113
|
+
case "bech32":
|
|
114
|
+
return bitcoin.payments.p2wsh({
|
|
115
|
+
redeem: bitcoin.payments.p2wsh({ pubkey, network }),
|
|
116
|
+
network,
|
|
117
|
+
});
|
|
118
|
+
default:
|
|
119
|
+
throw new Error(`no implementation for script type: ${scriptType}`);
|
|
150
120
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
121
|
+
}
|
|
122
|
+
validateVoutOrdering(msg, tx) {
|
|
123
|
+
// From THORChain specification:
|
|
124
|
+
/* ignoreTx checks if we can already ignore a tx according to preset rules
|
|
125
|
+
|
|
126
|
+
we expect array of "vout" for a BTC to have this format
|
|
127
|
+
OP_RETURN is mandatory only on inbound tx
|
|
128
|
+
vout:0 is our vault
|
|
129
|
+
vout:1 is any any change back to themselves
|
|
130
|
+
vout:2 is OP_RETURN (first 80 bytes)
|
|
131
|
+
vout:3 is OP_RETURN (next 80 bytes)
|
|
132
|
+
|
|
133
|
+
Rules to ignore a tx are:
|
|
134
|
+
- vout:0 doesn't have coins (value)
|
|
135
|
+
- vout:0 doesn't have address
|
|
136
|
+
- count vouts > 4
|
|
137
|
+
- count vouts with coins (value) > 2
|
|
138
|
+
*/
|
|
139
|
+
// Check that vout:0 contains the vault address
|
|
140
|
+
if (bitcoin.address.fromOutputScript(tx.outs[0].script) != msg.vaultAddress) {
|
|
141
|
+
console.error("Vout:0 does not contain vault address.");
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
// TODO: Can we check and make sure vout:1 is our address?
|
|
145
|
+
// Check and make sure vout:2 exists
|
|
146
|
+
if (tx.outs.length < 3) {
|
|
147
|
+
console.error("Not enough outputs found in transaction.", msg);
|
|
148
|
+
return false;
|
|
155
149
|
}
|
|
156
|
-
|
|
157
|
-
|
|
150
|
+
// Check and make sure vout:2 has OP_RETURN data
|
|
151
|
+
const opcode = bitcoin.script.decompile(tx.outs[2].script)?.[0];
|
|
152
|
+
if (Object.keys(bitcoin.script.OPS).find((k) => bitcoin.script.OPS[k] === opcode) != "OP_RETURN") {
|
|
153
|
+
console.error("OP_RETURN output not found for transaction.");
|
|
154
|
+
return false;
|
|
158
155
|
}
|
|
159
|
-
|
|
156
|
+
// Make sure vout:3 does not exist
|
|
157
|
+
if (tx.outs[3]) {
|
|
158
|
+
console.error("Illegal second op_return output found.");
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
async buildInput(coin, input) {
|
|
164
|
+
return this.needsMnemonic(!!this.#masterKey, async () => {
|
|
165
|
+
const { addressNList, amount, hex, scriptType } = input;
|
|
166
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
167
|
+
const keyPair = await util.getKeyPair(this.#masterKey, addressNList, coin, scriptType);
|
|
168
|
+
const isSegwit = !!scriptType && segwit.includes(scriptType);
|
|
169
|
+
const nonWitnessUtxo = hex && Buffer.from(hex, "hex");
|
|
170
|
+
const witnessUtxo = input.tx && {
|
|
171
|
+
script: Buffer.from(input.tx.vout[input.vout].scriptPubKey.hex, "hex"),
|
|
172
|
+
value: Number(amount),
|
|
173
|
+
};
|
|
174
|
+
const utxoData = isSegwit && witnessUtxo ? { witnessUtxo } : { nonWitnessUtxo };
|
|
175
|
+
if (!(utxoData.witnessUtxo || utxoData.nonWitnessUtxo)) {
|
|
176
|
+
throw new Error("failed to build input - must provide prev rawTx (segwit input can provide scriptPubKey hex and value instead)");
|
|
177
|
+
}
|
|
178
|
+
const { publicKey, network } = keyPair;
|
|
179
|
+
const payment = this.createPayment(publicKey, scriptType, network);
|
|
180
|
+
const scriptData = {};
|
|
160
181
|
switch (scriptType) {
|
|
161
|
-
case "p2sh":
|
|
162
|
-
return bitcoin.payments.p2sh({ pubkey, network });
|
|
163
|
-
case "p2pkh":
|
|
164
|
-
return bitcoin.payments.p2pkh({ pubkey, network });
|
|
165
|
-
case "p2wpkh":
|
|
166
|
-
return bitcoin.payments.p2wpkh({ pubkey, network });
|
|
167
182
|
case "p2sh-p2wpkh":
|
|
168
|
-
|
|
169
|
-
redeem: bitcoin.payments.p2wpkh({ pubkey, network }),
|
|
170
|
-
network,
|
|
171
|
-
});
|
|
183
|
+
case "p2sh":
|
|
172
184
|
case "bech32":
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
network,
|
|
176
|
-
});
|
|
177
|
-
default:
|
|
178
|
-
throw new Error(`no implementation for script type: ${scriptType}`);
|
|
185
|
+
scriptData.redeemScript = payment.redeem?.output;
|
|
186
|
+
break;
|
|
179
187
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
/* ignoreTx checks if we can already ignore a tx according to preset rules
|
|
184
|
-
|
|
185
|
-
we expect array of "vout" for a BTC to have this format
|
|
186
|
-
OP_RETURN is mandatory only on inbound tx
|
|
187
|
-
vout:0 is our vault
|
|
188
|
-
vout:1 is any any change back to themselves
|
|
189
|
-
vout:2 is OP_RETURN (first 80 bytes)
|
|
190
|
-
vout:3 is OP_RETURN (next 80 bytes)
|
|
191
|
-
|
|
192
|
-
Rules to ignore a tx are:
|
|
193
|
-
- vout:0 doesn't have coins (value)
|
|
194
|
-
- vout:0 doesn't have address
|
|
195
|
-
- count vouts > 4
|
|
196
|
-
- count vouts with coins (value) > 2
|
|
197
|
-
*/
|
|
198
|
-
var _b;
|
|
199
|
-
// Check that vout:0 contains the vault address
|
|
200
|
-
if (bitcoin.address.fromOutputScript(tx.outs[0].script) != msg.vaultAddress) {
|
|
201
|
-
console.error("Vout:0 does not contain vault address.");
|
|
202
|
-
return false;
|
|
203
|
-
}
|
|
204
|
-
// TODO: Can we check and make sure vout:1 is our address?
|
|
205
|
-
// Check and make sure vout:2 exists
|
|
206
|
-
if (tx.outs.length < 3) {
|
|
207
|
-
console.error("Not enough outputs found in transaction.", msg);
|
|
208
|
-
return false;
|
|
188
|
+
const bchData = {};
|
|
189
|
+
if (coin.toLowerCase() === "bitcoincash") {
|
|
190
|
+
bchData.sighashType = bitcoin.Transaction.SIGHASH_ALL | bitcoin.Transaction.SIGHASH_BITCOINCASHBIP143;
|
|
209
191
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
const
|
|
237
|
-
|
|
238
|
-
|
|
192
|
+
return {
|
|
193
|
+
...utxoData,
|
|
194
|
+
...bchData,
|
|
195
|
+
...scriptData,
|
|
196
|
+
};
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
async btcGetAddress(msg) {
|
|
200
|
+
return this.needsMnemonic(!!this.#masterKey, async () => {
|
|
201
|
+
const { addressNList, coin, scriptType } = msg;
|
|
202
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
203
|
+
const keyPair = await util.getKeyPair(this.#masterKey, addressNList, coin, scriptType);
|
|
204
|
+
const { address } = this.createPayment(keyPair.publicKey, scriptType, keyPair.network);
|
|
205
|
+
if (!address)
|
|
206
|
+
return null;
|
|
207
|
+
return coin.toLowerCase() === "bitcoincash" ? bchAddr.toCashAddress(address) : address;
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
async btcSignTx(msg) {
|
|
211
|
+
return this.needsMnemonic(!!this.#masterKey, async () => {
|
|
212
|
+
const { coin, inputs, outputs, version, locktime } = msg;
|
|
213
|
+
const psbt = new bitcoin.Psbt({ network: getNetwork(coin) });
|
|
214
|
+
psbt.setVersion(version ?? 1);
|
|
215
|
+
locktime && psbt.setLocktime(locktime);
|
|
216
|
+
await Promise.all(inputs.map(async (input) => {
|
|
217
|
+
try {
|
|
218
|
+
const inputData = await this.buildInput(coin, input);
|
|
219
|
+
psbt.addInput({
|
|
220
|
+
hash: input.txid,
|
|
221
|
+
index: input.vout,
|
|
222
|
+
...inputData,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
catch (e) {
|
|
226
|
+
throw new Error(`failed to add input: ${e}`);
|
|
227
|
+
}
|
|
228
|
+
}));
|
|
229
|
+
await Promise.all(outputs.map(async (output) => {
|
|
230
|
+
try {
|
|
231
|
+
const { amount } = output;
|
|
232
|
+
let address;
|
|
233
|
+
if (output.address !== undefined) {
|
|
234
|
+
address = output.address;
|
|
239
235
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
236
|
+
else if (output.addressNList !== undefined) {
|
|
237
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
238
|
+
const keyPair = await util.getKeyPair(this.#masterKey, output.addressNList, coin, output.scriptType);
|
|
239
|
+
const { publicKey, network } = keyPair;
|
|
240
|
+
const payment = this.createPayment(publicKey, output.scriptType, network);
|
|
241
|
+
if (!payment.address)
|
|
242
|
+
throw new Error("could not get payment address");
|
|
243
|
+
address = payment.address;
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
throw new Error("unsupported output type");
|
|
249
247
|
}
|
|
250
|
-
const bchData = {};
|
|
251
248
|
if (coin.toLowerCase() === "bitcoincash") {
|
|
252
|
-
|
|
249
|
+
address = bchAddr.toLegacyAddress(address);
|
|
253
250
|
}
|
|
254
|
-
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
251
|
+
psbt.addOutput({ address, value: Number(amount) });
|
|
252
|
+
}
|
|
253
|
+
catch (e) {
|
|
254
|
+
throw new Error(`failed to add output: ${e}`);
|
|
255
|
+
}
|
|
256
|
+
}));
|
|
257
|
+
if (msg.opReturnData) {
|
|
258
|
+
const data = Buffer.from(msg.opReturnData, "utf-8");
|
|
259
|
+
const embed = bitcoin.payments.embed({ data: [data] });
|
|
260
|
+
const script = embed.output;
|
|
261
|
+
if (!script)
|
|
262
|
+
throw new Error("unable to build OP_RETURN script");
|
|
263
|
+
psbt.addOutput({ script, value: 0 });
|
|
264
|
+
}
|
|
265
|
+
await Promise.all(inputs.map(async (input, idx) => {
|
|
266
|
+
try {
|
|
267
|
+
const { addressNList, scriptType } = input;
|
|
262
268
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
263
|
-
const keyPair =
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
}
|
|
269
|
-
});
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
throw new Error(`failed to add input: ${e}`);
|
|
285
|
-
}
|
|
286
|
-
})));
|
|
287
|
-
yield Promise.all(outputs.map((output) => __awaiter(this, void 0, void 0, function* () {
|
|
288
|
-
try {
|
|
289
|
-
const { amount } = output;
|
|
290
|
-
let address;
|
|
291
|
-
if (output.address !== undefined) {
|
|
292
|
-
address = output.address;
|
|
293
|
-
}
|
|
294
|
-
else if (output.addressNList !== undefined) {
|
|
295
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
296
|
-
const keyPair = yield util.getKeyPair(__classPrivateFieldGet(this, _MixinNativeBTCWallet_masterKey, "f"), output.addressNList, coin, output.scriptType);
|
|
297
|
-
const { publicKey, network } = keyPair;
|
|
298
|
-
const payment = this.createPayment(publicKey, output.scriptType, network);
|
|
299
|
-
if (!payment.address)
|
|
300
|
-
throw new Error("could not get payment address");
|
|
301
|
-
address = payment.address;
|
|
302
|
-
}
|
|
303
|
-
else {
|
|
304
|
-
throw new Error("unsupported output type");
|
|
305
|
-
}
|
|
306
|
-
if (coin.toLowerCase() === "bitcoincash") {
|
|
307
|
-
address = bchAddr.toLegacyAddress(address);
|
|
308
|
-
}
|
|
309
|
-
psbt.addOutput({ address, value: Number(amount) });
|
|
310
|
-
}
|
|
311
|
-
catch (e) {
|
|
312
|
-
throw new Error(`failed to add output: ${e}`);
|
|
313
|
-
}
|
|
314
|
-
})));
|
|
315
|
-
if (msg.opReturnData) {
|
|
316
|
-
const data = Buffer.from(msg.opReturnData, "utf-8");
|
|
317
|
-
const embed = bitcoin.payments.embed({ data: [data] });
|
|
318
|
-
const script = embed.output;
|
|
319
|
-
if (!script)
|
|
320
|
-
throw new Error("unable to build OP_RETURN script");
|
|
321
|
-
psbt.addOutput({ script, value: 0 });
|
|
322
|
-
}
|
|
323
|
-
yield Promise.all(inputs.map((input, idx) => __awaiter(this, void 0, void 0, function* () {
|
|
324
|
-
try {
|
|
325
|
-
const { addressNList, scriptType } = input;
|
|
326
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
327
|
-
const keyPair = yield util.getKeyPair(__classPrivateFieldGet(this, _MixinNativeBTCWallet_masterKey, "f"), addressNList, coin, scriptType);
|
|
328
|
-
yield psbt.signInputAsync(idx, keyPair);
|
|
329
|
-
}
|
|
330
|
-
catch (e) {
|
|
331
|
-
throw new Error(`failed to sign input: ${e}`);
|
|
332
|
-
}
|
|
333
|
-
})));
|
|
334
|
-
psbt.finalizeAllInputs();
|
|
335
|
-
const tx = psbt.extractTransaction(true);
|
|
336
|
-
// If this is a THORChain transaction, validate the vout ordering
|
|
337
|
-
if (msg.vaultAddress && !this.validateVoutOrdering(msg, tx)) {
|
|
338
|
-
throw new Error("Improper vout ordering for BTC Thorchain transaction");
|
|
339
|
-
}
|
|
340
|
-
const signatures = tx.ins.map((input) => {
|
|
341
|
-
if (input.witness.length > 0) {
|
|
342
|
-
return input.witness[0].toString("hex");
|
|
343
|
-
}
|
|
344
|
-
else {
|
|
345
|
-
const sigLen = input.script[0];
|
|
346
|
-
return input.script.slice(1, sigLen).toString("hex");
|
|
347
|
-
}
|
|
348
|
-
});
|
|
349
|
-
return {
|
|
350
|
-
signatures,
|
|
351
|
-
serializedTx: tx.toHex(),
|
|
352
|
-
};
|
|
353
|
-
}));
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
357
|
-
btcSignMessage(msg) {
|
|
358
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
359
|
-
throw new Error("function not implemented");
|
|
360
|
-
});
|
|
361
|
-
}
|
|
362
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
363
|
-
btcVerifyMessage(msg) {
|
|
364
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
365
|
-
throw new Error("function not implemented");
|
|
269
|
+
const keyPair = await util.getKeyPair(this.#masterKey, addressNList, coin, scriptType);
|
|
270
|
+
await psbt.signInputAsync(idx, keyPair);
|
|
271
|
+
}
|
|
272
|
+
catch (e) {
|
|
273
|
+
throw new Error(`failed to sign input: ${e}`);
|
|
274
|
+
}
|
|
275
|
+
}));
|
|
276
|
+
psbt.finalizeAllInputs();
|
|
277
|
+
const tx = psbt.extractTransaction(true);
|
|
278
|
+
// If this is a THORChain transaction, validate the vout ordering
|
|
279
|
+
if (msg.vaultAddress && !this.validateVoutOrdering(msg, tx)) {
|
|
280
|
+
throw new Error("Improper vout ordering for BTC Thorchain transaction");
|
|
281
|
+
}
|
|
282
|
+
const signatures = tx.ins.map((input) => {
|
|
283
|
+
if (input.witness.length > 0) {
|
|
284
|
+
return input.witness[0].toString("hex");
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
const sigLen = input.script[0];
|
|
288
|
+
return input.script.slice(1, sigLen).toString("hex");
|
|
289
|
+
}
|
|
366
290
|
});
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
291
|
+
return {
|
|
292
|
+
signatures,
|
|
293
|
+
serializedTx: tx.toHex(),
|
|
294
|
+
};
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
298
|
+
async btcSignMessage(msg) {
|
|
299
|
+
throw new Error("function not implemented");
|
|
300
|
+
}
|
|
301
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
302
|
+
async btcVerifyMessage(msg) {
|
|
303
|
+
throw new Error("function not implemented");
|
|
304
|
+
}
|
|
305
|
+
};
|
|
371
306
|
}
|
|
372
|
-
exports.MixinNativeBTCWallet = MixinNativeBTCWallet;
|
|
373
307
|
//# sourceMappingURL=bitcoin.js.map
|
package/dist/bitcoin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../src/bitcoin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../src/bitcoin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAIrC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAEzG,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AAwBnD,MAAM,UAAU,wBAAwB,CAAoD,IAAW;IACrG,wDAAwD;IACxD,OAAO,MAAM,wBAAyB,SAAQ,IAAI;QACvC,gBAAgB,GAAG,IAAI,CAAC;QAEjC,mBAAmB,CAAC,IAAe;YACjC,OAAO,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,IAAe;YACnC,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,yBAAyB,CAAC,IAAe,EAAE,UAAoC;YAC7E,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAElD,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC;gBAC3C,KAAK,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;gBAC1C,KAAK,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;gBAC1C,KAAK,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBACpC,KAAK,IAAI,CAAC,kBAAkB,CAAC,gBAAgB;oBAC3C,OAAO,IAAI,CAAC;gBACd;oBACE,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,qBAAqB,CAAC,IAAe,EAAE,UAAmC;YAC9E,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,CAAC,yBAAyB;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2BAA2B;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kBAAkB,CAAC,GAA4B;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YAEzE,MAAM,SAAS,GAAG;gBAChB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;gBAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;gBAClC,IAAI,EAAE,CAAC,KAAK,CAAC;gBACb,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;gBAC/B,QAAQ,EAAE,CAAC,KAAK,CAAC;gBACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;gBAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;aACwB,CAAC;YAEzD,IAAI,KAAK,GAA+B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YAEhF,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACjC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC5B,OAAO,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6DAA6D;QAC7D,gBAAgB,CAAC,GAA+B;YAC9C,8BAA8B;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kBAAkB,CAAC,GAAwB;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YAEtF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;YAEtC,IACE,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,EAAE,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;gBAC/F,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,EAAE,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;gBACnG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,EAAE,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAC/F,CAAC;gBACD,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,OAAO;oBACL,GAAG,GAAG;oBACN,YAAY;iBACb,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAqD,IAAW;IAClG,wDAAwD;IACxD,OAAO,MAAM,oBAAqB,SAAQ,IAAI;QACnC,YAAY,GAAG,IAAI,CAAC;QAE7B,UAAU,CAAwC;QAElD,KAAK,CAAC,mBAAmB,CAAC,SAAoC;YAC5D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,OAAO;YACL,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,aAAa,CAAC,MAAc,EAAE,UAA0B,EAAE,OAAyB;YACjF,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,MAAM;oBACT,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpD,KAAK,OAAO;oBACV,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrD,KAAK,QAAQ;oBACX,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtD,KAAK,aAAa;oBAChB,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC3B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;wBACpD,OAAO;qBACR,CAAC,CAAC;gBACL,KAAK,QAAQ;oBACX,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAC5B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;wBACnD,OAAO;qBACR,CAAC,CAAC;gBACL;oBACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,oBAAoB,CAAC,GAAyB,EAAE,EAAuB;YACrE,gCAAgC;YAChC;;;;;;;;;;;;;;cAcE;YAEF,+CAA+C;YAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBAC5E,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACxD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,2DAA2D;YAE3D,oCAAoC;YACpC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;gBAC/D,OAAO,KAAK,CAAC;YACf,CAAC;YACD,gDAAgD;YAChD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBACjG,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,kCAAkC;YAClC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACxD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,IAAe,EAAE,KAAgC;YAChE,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBACtD,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;gBACxD,oEAAoE;gBACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAW,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBAExF,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC7D,MAAM,cAAc,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,IAAI;oBAC9B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC;oBACtE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;iBACtB,CAAC;gBACF,MAAM,QAAQ,GAAG,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;gBAEhF,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBACvD,MAAM,IAAI,KAAK,CACb,+GAA+G,CAChH,CAAC;gBACJ,CAAC;gBAED,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBAEnE,MAAM,UAAU,GAAe,EAAE,CAAC;gBAClC,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,aAAa,CAAC;oBACnB,KAAK,MAAM,CAAC;oBACZ,KAAK,QAAQ;wBACX,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;wBACjD,MAAM;gBACV,CAAC;gBAED,MAAM,OAAO,GAAiB,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;oBACzC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC;gBACxG,CAAC;gBAED,OAAO;oBACL,GAAG,QAAQ;oBACX,GAAG,OAAO;oBACV,GAAG,UAAU;iBACd,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,GAAuB;YACzC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBACtD,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;gBAC/C,oEAAoE;gBACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAW,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBACxF,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACvF,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC1B,OAAO,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzF,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,GAAyB;YACvC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBACtD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;gBAEzD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAE7D,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;gBAC9B,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAEvC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACzB,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBAErD,IAAI,CAAC,QAAQ,CAAC;4BACZ,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,GAAG,SAAS;yBACb,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBAEF,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBAC3B,IAAI,CAAC;wBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;wBAE1B,IAAI,OAAe,CAAC;wBACpB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;4BACjC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;wBAC3B,CAAC;6BAAM,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;4BAC7C,oEAAoE;4BACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAW,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;4BACtG,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;4BACvC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;4BAC1E,IAAI,CAAC,OAAO,CAAC,OAAO;gCAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;4BACvE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAC5B,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;wBAC7C,CAAC;wBAED,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;4BACzC,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBAC7C,CAAC;wBAED,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACrD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBAEF,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;oBACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBACpD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC5B,IAAI,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBACjE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;gBAED,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;oBAC9B,IAAI,CAAC;wBACH,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;wBAC3C,oEAAoE;wBACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAW,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;wBACxF,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC1C,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEzC,iEAAiE;gBACjE,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;oBAC5D,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAC1E,CAAC;gBAED,MAAM,UAAU,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACtC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACN,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO;oBACL,UAAU;oBACV,YAAY,EAAE,EAAE,CAAC,KAAK,EAAE;iBACzB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,KAAK,CAAC,cAAc,CAAC,GAAwB;YAC3C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,6DAA6D;QAC7D,KAAK,CAAC,gBAAgB,CAAC,GAA0B;YAC/C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/cosmos.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare function MixinNativeCosmosWalletInfo<TBase extends core.Construct
|
|
|
14
14
|
hasOnDevicePassphrase(): boolean;
|
|
15
15
|
hasOnDeviceDisplay(): boolean;
|
|
16
16
|
hasOnDeviceRecovery(): boolean;
|
|
17
|
-
hasNativeShapeShift(srcCoin:
|
|
17
|
+
hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean;
|
|
18
18
|
supportsBip44Accounts(): boolean;
|
|
19
19
|
supportsOfflineSigning(): boolean;
|
|
20
20
|
supportsBroadcast(): boolean;
|
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,
|
|
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,OAAO,CAAC,OAAO,CAAC;wCAIT,OAAO,CAAC,OAAO,CAAC;0CAIpB,OAAO;mCAId,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;mCAU1D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,GAAG,SAAS;;;;;;;;;;;;UAKzF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK;;;2BAKvF,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS;0CAET,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;sBAInE,IAAI;iCAIO,SAAS,CAAC,MAAM,CAAC,UAAU,MAAM,GAAG,MAAM;uCAKpC,MAAM;8BAOT,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;0BAQlD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;;;;;;;;;;;;;0BAZ5E,KAAM,YAAY,GAAE,KAAM,eACjC;;UA2BC"}
|