private static async Task <string> GetHashAsync(Client client, Address addr, string[] ps, CancellationToken cancellation)
        {
            if (ps.Length == 0 || ps[0] == "")
            {
                Object obj = await client.GetObjectHeader(new ObjectHeaderParams()
                {
                    Address = addr
                }, new CallOptions { Ttl = 2 }, cancellation);

                return($"\"{new UInt256(obj.PayloadChecksum.Sum.ToByteArray())}\"");
            }
            Range         range  = ParseRange(ps[0]);
            List <byte[]> hashes = await client.GetObjectPayloadRangeHash(new RangeChecksumParams()
            {
                Address = addr, Ranges = new List <Range>()
                {
                    range
                }, Type = ChecksumType.Sha256, Salt = Array.Empty <byte>()
            }, new CallOptions { Ttl = 2 }, cancellation);

            if (hashes.Count == 0)
            {
                throw new Exception("empty response, object range is invalid (expected 'Offset|Length')");
            }
            return($"\"{new UInt256(hashes[0])}\"");
        }
Exemple #2
0
        private static async Task <string> GetPayloadAsync(Client client, Address addr, CancellationToken cancellation)
        {
            Object obj = await client.GetObject(addr, options : new CallOptions {
                Ttl = 2
            }, context : cancellation);

            return(obj.Payload.ToString(Utility.StrictUTF8));
        }
        private static async Task <string> GetPayloadAsync(Client client, Address addr, CancellationToken cancellation)
        {
            Object obj = await client.GetObject(cancellation, new GetObjectParams()
            {
                Address = addr
            }, new CallOptions { Ttl = 2 });

            return(obj.Payload.ToString(Utility.StrictUTF8));
        }