public override List <byte[]> GetProperties()
        {
            EncodedShortIdsEncoder shortIdsEncoder = new EncodedShortIdsEncoder();

            return(new List <byte[]> {
                ChainHash, shortIdsEncoder.Encode(ShortChannelIds, CompressShortIds)
            });
        }
        public override void SetProperties(List <byte[]> propertyData)
        {
            EncodedShortIdsEncoder shortIdsEncoder = new EncodedShortIdsEncoder();

            ChainHash        = propertyData[0];
            ShortChannelIds  = shortIdsEncoder.Decode(propertyData[1]);
            CompressShortIds = propertyData[1][0] != 0;
        }
Esempio n. 3
0
        public override void SetProperties(List <byte[]> propertyData)
        {
            EncodedShortIdsEncoder shortIdsEncoder = new EncodedShortIdsEncoder();

            ChainHash        = propertyData[0];
            FirstBlockNumber = propertyData[1].ToUIntBigEndian();
            NumberOfBlocks   = propertyData[2].ToUIntBigEndian();
            Complete         = propertyData[3][0] != 0;
            ShortIds         = shortIdsEncoder.Decode(propertyData[4]);
            CompressShortIds = propertyData[4][0] != 0;
        }
Esempio n. 4
0
        public override List <byte[]> GetProperties()
        {
            EncodedShortIdsEncoder shortIdsEncoder = new EncodedShortIdsEncoder();

            return(new List <byte[]> {
                ChainHash,
                FirstBlockNumber.GetBytesBigEndian(),
                NumberOfBlocks.GetBytesBigEndian(),
                Complete ? new byte[] { 255 } : new byte[1],
                shortIdsEncoder.Encode(ShortIds, CompressShortIds)
            });
        }
        public void EncodeWithCompressionTest()
        {
            var encoder = new EncodedShortIdsEncoder();

            List <byte[]> ids = new List <byte[]>()
            {
                "13bc9c0000800000".HexToByteArray(),
                "13bc9c0000801111".HexToByteArray(),
                "13bc9c0000802222".HexToByteArray()
            };

            var encoded = encoder.Encode(ids, true);

            Assert.Equal("01789c13de338781a1818141184c0b0a4268252500", encoded.ToHex());
        }
        public void EncodeWithoutCompressionTest()
        {
            var encoder = new EncodedShortIdsEncoder();

            List <byte[]> ids = new List <byte[]>()
            {
                "13bc9c0000800000".HexToByteArray(),
                "13bc9c0000801111".HexToByteArray(),
                "13bc9c0000802222".HexToByteArray()
            };

            var encoded = encoder.Encode(ids, false);

            Assert.Equal("0013bc9c000080000013bc9c000080111113bc9c0000802222", encoded.ToHex());
        }
        public void DecodeWithCompressionTest()
        {
            var encoder = new EncodedShortIdsEncoder();

            List <byte[]> reference = new List <byte[]>()
            {
                "13bc9c0000800000".HexToByteArray(),
                "13bc9c0000801111".HexToByteArray(),
                "13bc9c0000802222".HexToByteArray()
            };

            var decoded = encoder.Decode("01780113de338781a1818141184c0b0a4268252500".HexToByteArray());

            Assert.Equal(reference.Count, decoded.Count);

            for (int i = 0; i < reference.Count; i++)
            {
                Assert.True(reference[i].SequenceEqual(decoded[i]));
            }
        }