fix ypub/zpub parsing for all alts

@gruve-p reported that ypub import was not working and then found this. no ypub/zpub import for any alts worked before lol
This commit is contained in:
Kukks 2020-06-24 10:18:45 +02:00
parent 8230a408ac
commit 2042f59283

View File

@ -17,8 +17,6 @@ namespace BTCPayServer
public Network Network => BtcPayNetwork.NBitcoinNetwork; public Network Network => BtcPayNetwork.NBitcoinNetwork;
public Script HintScriptPubKey { get; set; } public Script HintScriptPubKey { get; set; }
Dictionary<uint, string[]> ElectrumMapping = new Dictionary<uint, string[]>();
public DerivationSchemeParser(BTCPayNetwork expectedNetwork) public DerivationSchemeParser(BTCPayNetwork expectedNetwork)
{ {
@ -42,7 +40,7 @@ namespace BTCPayServer
var standardPrefix = Utils.ToBytes(0x0488b21eU, false); var standardPrefix = Utils.ToBytes(0x0488b21eU, false);
for (int ii = 0; ii < 4; ii++) for (int ii = 0; ii < 4; ii++)
data[ii] = standardPrefix[ii]; data[ii] = standardPrefix[ii];
var extPubKey = new BitcoinExtPubKey(Network.GetBase58CheckEncoder().EncodeData(data), Network.Main).ToNetwork(Network); var extPubKey = new BitcoinExtPubKey(Network.GetBase58CheckEncoder().EncodeData(data), Network.NetworkSet.Mainnet).ToNetwork(Network);
if (!BtcPayNetwork.ElectrumMapping.TryGetValue(prefix, out var type)) if (!BtcPayNetwork.ElectrumMapping.TryGetValue(prefix, out var type))
{ {
throw new FormatException(); throw new FormatException();
@ -119,7 +117,7 @@ namespace BTCPayServer
var standardPrefix = Utils.ToBytes(0x0488b21eU, false); var standardPrefix = Utils.ToBytes(0x0488b21eU, false);
for (int ii = 0; ii < 4; ii++) for (int ii = 0; ii < 4; ii++)
data[ii] = standardPrefix[ii]; data[ii] = standardPrefix[ii];
var derivationScheme = new BitcoinExtPubKey(Network.GetBase58CheckEncoder().EncodeData(data), Network.Main).ToNetwork(Network).ToString(); var derivationScheme = new BitcoinExtPubKey(Network.GetBase58CheckEncoder().EncodeData(data), Network.NetworkSet.Mainnet).ToNetwork(Network).ToString();
if (BtcPayNetwork.ElectrumMapping.TryGetValue(prefix, out var type)) if (BtcPayNetwork.ElectrumMapping.TryGetValue(prefix, out var type))
{ {