Esempio n. 1
0
        public static byte[] BuildPrefix(this EntryPrefix prefix)
        {
            var bytes  = new byte[2];
            var number = (short)prefix;

            bytes[0] = (byte)(number >> 0 & 0xff);
            bytes[1] = (byte)(number >> 8 & 0xff);
            return(bytes);
        }
Esempio n. 2
0
        public static byte[] BuildPrefix(this EntryPrefix prefix, params UInt256[] keys)
        {
            if (keys.Length == 0)
            {
                throw new ArgumentOutOfRangeException(nameof(keys));
            }
            var buffer = keys.Select(k => k.ToBytes() as IEnumerable <byte>).Flatten();

            return(BuildPrefix(prefix, buffer));
        }
Esempio n. 3
0
        public static bool Matches(this EntryPrefix prefix, byte[] key)
        {
            if (key.Length < 2)
            {
                return(false);
            }
            var number = (short)prefix;

            return(key[0] == (byte)(number >> 0 & 0xff) && key[1] == (byte)(number >> 8 & 0xff));
        }
Esempio n. 4
0
        public static byte[] BuildPrefix(this EntryPrefix prefix, byte[] key)
        {
            var length = key.Length;
            var bytes  = new byte[length + 2];
            var number = (short)prefix;

            bytes[0] = (byte)(number >> 0 & 0xff);
            bytes[1] = (byte)(number >> 8 & 0xff);
            Array.Copy(key, 0, bytes, 2, length);
            return(bytes);
        }
Esempio n. 5
0
        public static byte[] BuildPrefix(this EntryPrefix prefix, IEnumerable <byte> key)
        {
            var enumerable = key as byte[] ?? key.ToArray();
            var length     = enumerable.Length;
            var bytes      = new byte[length + 2];
            var number     = (short)prefix;

            bytes[0] = (byte)(number >> 0 & 0xff);
            bytes[1] = (byte)(number >> 8 & 0xff);
            Array.Copy(enumerable.ToArray(), 0, bytes, 2, length);
            return(bytes);
        }
Esempio n. 6
0
        public static byte[] BuildPrefix(this EntryPrefix prefix, uint key)
        {
            var bytes  = new byte[2 + 4];
            var number = (short)prefix;

            bytes[0] = (byte)(number >> 0 & 0xff);
            bytes[1] = (byte)(number >> 8 & 0xff);
            bytes[2] = (byte)((key >> 0) & 0xff);
            bytes[3] = (byte)((key >> 8) & 0xff);
            bytes[4] = (byte)((key >> 16) & 0xff);
            bytes[5] = (byte)((key >> 24) & 0xff);
            return(bytes);
        }
Esempio n. 7
0
        public static byte[] BuildPrefix(this EntryPrefix prefix, ulong key)
        {
            var bytes  = new byte[2 + 8];
            var number = (short)prefix;

            bytes[0] = (byte)(number >> 0 & 0xff);
            bytes[1] = (byte)(number >> 8 & 0xff);
            bytes[2] = (byte)((key >> 0) & 0xff);
            bytes[3] = (byte)((key >> 8) & 0xff);
            bytes[4] = (byte)((key >> 16) & 0xff);
            bytes[5] = (byte)((key >> 24) & 0xff);
            bytes[6] = (byte)((key >> 32) & 0xff);
            bytes[7] = (byte)((key >> 40) & 0xff);
            bytes[8] = (byte)((key >> 48) & 0xff);
            bytes[9] = (byte)((key >> 56) & 0xff);
            return(bytes);
        }
Esempio n. 8
0
 public static byte[] BuildPrefix(this EntryPrefix prefix, UInt160 key)
 {
     return(BuildPrefix(prefix, key.ToBytes()));
 }
Esempio n. 9
0
 public static byte[] BuildPrefix(this EntryPrefix prefix, UInt256 value, uint key)
 {
     return(prefix.BuildPrefix(value).Concat(key.ToBytes()).ToArray());
 }
Esempio n. 10
0
 public static byte[] BuildPrefix(this EntryPrefix prefix, string key)
 {
     return(BuildPrefix(prefix, Encoding.ASCII.GetBytes(key)));
 }