public void ShouldFindUnsedKeyFarFarAway() { var filters = Enumerable.Range(0, 100).Select(x => CreateFiltersWith(GetScripts(true, x * 250, 250))).ToArray(); var unusedKeyIndex = ExtPubKeyExplorer.GetUnusedBech32Keys(1, true, ExtPubKey.GetWif(Network.Main), filters).First().ScriptPubKey.ToCompressedBytes(); Assert.Equal(DerivateScript(true, 25_000), unusedKeyIndex); }
public void ShouldFindNeverUsedKey() { var filters = new[] { FilterModel.FromHeightlessLine("000000000000de90e633e1b1330859842795d39018d033044e8b003e8cbf58e4:050a2f58828c9820642769ae320a40", 0) }; var unusedKeyIndex = ExtPubKeyExplorer.GetUnusedBech32Keys(1, true, ExtPubKey.GetWif(Network.Main), filters).First().ScriptPubKey.ToCompressedBytes(); Assert.Equal(DerivateScript(true, 0), unusedKeyIndex); }
public void ShouldFindUnsedKeyAtTheEndOfFirstChunk() { var filters = new[] { CreateFiltersWith(GetScripts(true, 0, 500)), CreateFiltersWith(GetScripts(true, 500, 499)) }; var unusedKeyIndex = ExtPubKeyExplorer.GetUnusedBech32Keys(1, true, ExtPubKey.GetWif(Network.Main), filters).First().ScriptPubKey.ToCompressedBytes(); Assert.Equal(DerivateScript(true, 999), unusedKeyIndex); }
public void ShouldFindUnsedKeyFirstChunk() { var filters = new[] { CreateFiltersWith(GetScripts(false, 0, 10)), CreateFiltersWith(GetScripts(false, 10, 10)) }; var unusedKeyIndex = ExtPubKeyExplorer.GetUnusedBech32Keys(1, false, ExtPubKey.GetWif(Network.Main), filters).First().ScriptPubKey.ToCompressedBytes(); Assert.Equal(DerivateScript(false, 20), unusedKeyIndex); }
public void ShouldFindNeverUsedKey() { var filters = new[] { FilterModel.FromLine($"0:000000000000de90e633e1b1330859842795d39018d033044e8b003e8cbf58e4:050a2f58828c9820642769ae320a40:{uint256.One}:{DateTimeOffset.UtcNow.ToUnixTimeSeconds()}") }; var unusedKeyIndex = ExtPubKeyExplorer.GetUnusedBech32Keys(1, true, ExtPubKey.GetWif(Network.Main), filters).First().ScriptPubKey.ToCompressedBytes(); Assert.Equal(DerivateScript(true, 0), unusedKeyIndex); }
public void ShouldFindUnsedKeyAnywhereFirstChunk() { var filters = new[] { CreateFiltersWith(GetScripts(true, 0, 1)), CreateFiltersWith(GetScripts(true, 0, 2)), CreateFiltersWith(GetScripts(true, 0, 27)), CreateFiltersWith(GetScripts(true, 27, 3)), }; var unusedKeyIndex = ExtPubKeyExplorer.GetUnusedBech32Keys(1, true, ExtPubKey.GetWif(Network.Main), filters).First().ScriptPubKey.ToCompressedBytes(); Assert.Equal(DerivateScript(true, 30), unusedKeyIndex); }