Browse Source

FIX: import single-address bech32 wallet from WIF (closes #911)

disable-batching-for-eps
Overtorment 5 years ago
parent
commit
c1456383f2
  1. 4
      class/segwit-bech-wallet.js
  2. 8
      class/walletGradient.js
  3. 9
      class/walletImport.js

4
class/segwit-bech-wallet.js

@ -52,4 +52,8 @@ export class SegwitBech32Wallet extends LegacyWallet {
}
return ret;
}
allowSend() {
return false;
}
}

8
class/walletGradient.js

@ -6,10 +6,12 @@ import { HDLegacyP2PKHWallet } from './hd-legacy-p2pkh-wallet';
import { WatchOnlyWallet } from './watch-only-wallet';
import { HDSegwitBech32Wallet } from './hd-segwit-bech32-wallet';
import { PlaceholderWallet } from './placeholder-wallet';
import { SegwitBech32Wallet } from './segwit-bech-wallet';
export default class WalletGradient {
static hdSegwitP2SHWallet = ['#65ceef', '#68bbe1'];
static hdSegwitBech32Wallet = ['#68bbe1', '#3b73d4'];
static segwitBech32Wallet = ['#f8bbe1', '#945a90'];
static watchOnlyWallet = ['#7d7d7d', '#4a4a4a'];
static legacyWallet = ['#40fad1', '#15be98'];
static hdLegacyP2PKHWallet = ['#e36dfa', '#bd10e0'];
@ -45,6 +47,9 @@ export default class WalletGradient {
case PlaceholderWallet.type:
gradient = WalletGradient.watchOnlyWallet;
break;
case SegwitBech32Wallet.type:
gradient = WalletGradient.segwitBech32Wallet;
break;
case 'CreateWallet':
gradient = WalletGradient.createWallet;
break;
@ -76,6 +81,9 @@ export default class WalletGradient {
case HDSegwitBech32Wallet.type:
gradient = WalletGradient.hdSegwitBech32Wallet;
break;
case SegwitBech32Wallet.type:
gradient = WalletGradient.segwitBech32Wallet;
break;
case LightningCustodianWallet.type:
gradient = WalletGradient.lightningCustodianWallet;
break;

9
class/walletImport.js

@ -9,6 +9,7 @@ import {
HDSegwitBech32Wallet,
LightningCustodianWallet,
PlaceholderWallet,
SegwitBech32Wallet,
} from '../class';
import ReactNativeHapticFeedback from 'react-native-haptic-feedback';
const EV = require('../events');
@ -138,11 +139,19 @@ export default class WalletImport {
let legacyWallet = new LegacyWallet();
legacyWallet.setSecret(importText);
let segwitBech32Wallet = new SegwitBech32Wallet();
segwitBech32Wallet.setSecret(importText);
await legacyWallet.fetchBalance();
await segwitBech32Wallet.fetchBalance();
if (legacyWallet.getBalance() > 0) {
// yep, its legacy we're importing
await legacyWallet.fetchTransactions();
return WalletImport._saveWallet(legacyWallet);
} else if (segwitBech32Wallet.getBalance() > 0) {
// yep, its single-address bech32 wallet
await segwitBech32Wallet.fetchTransactions();
return WalletImport._saveWallet(segwitBech32Wallet);
} else {
// by default, we import wif as Segwit P2SH
await segwitWallet.fetchBalance();

Loading…
Cancel
Save