コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }