- if (segwitSelected()) {
- if (network == bitcoinjs.bitcoin.networks.bitcoin) {
- network = bitcoinjs.bitcoin.networks.bitcoinBip49;
- }
- else if (network == bitcoinjs.bitcoin.networks.testnet) {
- network = bitcoinjs.bitcoin.networks.testnetBip49;
- }
- else if (network == bitcoinjs.bitcoin.networks.litecoin) {
- network = bitcoinjs.bitcoin.networks.litecoinBip49;
- }
- }
- else {
- if (network == bitcoinjs.bitcoin.networks.bitcoinBip49) {
- network = bitcoinjs.bitcoin.networks.bitcoin;
- }
- else if (network == bitcoinjs.bitcoin.networks.testnetBip49) {
- network = bitcoinjs.bitcoin.networks.testnet;
- }
- else if (network == bitcoinjs.bitcoin.networks.litecoinBip49) {
- network = bitcoinjs.bitcoin.networks.litecoin;
- }
+ var segwitNetworks = null;
+ // if a segwit network is alread selected, need to use base network to
+ // look up new parameters
+ if ("baseNetwork" in network) {
+ network = bitcoinjs.bitcoin.networks[network.baseNetwork];
+ }
+ // choose the right segwit params
+ if (p2wpkhSelected() && "p2wpkh" in network) {
+ network = network.p2wpkh;
+ }
+ else if (p2wpkhInP2shSelected() && "p2wpkhInP2sh" in network) {
+ network = network.p2wpkhInP2sh;