public BitcoinScriptAddress(string base58, Network expectedNetwork) : base(Validate(base58, expectedNetwork), expectedNetwork) { var decoded = expectedNetwork.NetworkStringParser.GetBase58CheckEncoder().DecodeData(base58); if (expectedNetwork.GetVersionBytes(Base58Type.SCRIPT_ADDRESS, false) is byte[] v) { _Hash = new ScriptId(new uint160(decoded.Skip(v.Length).ToArray())); } else { throw expectedNetwork.Base58NotSupported(Base58Type.SCRIPT_ADDRESS); } }
public BitcoinPubKeyAddress(string base58, Network expectedNetwork) : base(Validate(base58, expectedNetwork), expectedNetwork) { var decoded = expectedNetwork.NetworkStringParser.GetBase58CheckEncoder().DecodeData(base58); if (expectedNetwork.GetVersionBytes(Base58Type.PUBKEY_ADDRESS, false) is byte[] bytes) { _KeyId = new KeyId(new uint160(decoded.Skip(bytes.Length).ToArray())); } else { throw expectedNetwork.Base58NotSupported(Base58Type.PUBKEY_ADDRESS); } }