Ejemplo n.º 1
0
        public void TestPutContainerOnlyOne()
        {
            using var client = new Client.Client(key, host);
            var replica1  = new Replica(1, "loc1");
            var replica2  = new Replica(1, "loc2");
            var selector1 = new Selector("loc1", "Location", Clause.Same, 1, "loc1");
            var selector2 = new Selector("loc2", "Location", Clause.Same, 1, "loc2");
            var filter1   = new Filter("loc1", "Location", "Shanghai", Netmap.Operation.Eq);
            var filter2   = new Filter("loc2", "Location", "Shanghai", Netmap.Operation.Ne);
            var policy    = new PlacementPolicy(1, new Replica[] { replica1, replica2 }, new Selector[] { selector1, selector2 }, new Filter[] { filter1, filter2 });
            var container = new Container.Container
            {
                Version         = Refs.Version.SDKVersion(),
                OwnerId         = OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()),
                Nonce           = Guid.NewGuid().ToByteString(),
                BasicAcl        = BasicAcl.PublicBasicRule,
                PlacementPolicy = policy,
            };

            container.Attributes.Add(new Container.Container.Types.Attribute
            {
                Key   = "CreatedAt",
                Value = DateTime.UtcNow.ToString(),
            });
            using var source = new CancellationTokenSource();
            source.CancelAfter(TimeSpan.FromMinutes(1));
            var cid = client.PutContainer(container, context: source.Token).Result;

            Console.WriteLine(cid.String());
            Assert.AreEqual(container.CalCulateAndGetId, cid);
        }
Ejemplo n.º 2
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (OwnerID.Length != 0)
            {
                hash ^= OwnerID.GetHashCode();
            }
            if (Salt.Length != 0)
            {
                hash ^= Salt.GetHashCode();
            }
            if (Capacity != 0UL)
            {
                hash ^= Capacity.GetHashCode();
            }
            if (rules_ != null)
            {
                hash ^= Rules.GetHashCode();
            }
            if (BasicACL != 0)
            {
                hash ^= BasicACL.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        /// <summary>
        /// Возвращает коллекцию параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            if (OwnerID != 0)
            {
                parameters["owner_id"] = OwnerID.ToString();
            }
            parameters["video_id"] = VideoID.ToString();
            if (!string.IsNullOrWhiteSpace(Message))
            {
                parameters["message"] = Message;
            }
            if (Attachments != null && Attachments.Count != 0)
            {
                parameters["attachments"] = string.Join(",", Attachments);
            }
            if (FromGroup != VKBoolean.False && OwnerID < 0)
            {
                parameters["from_group"] = "1";
            }
            if (ReplyToComment != 0)
            {
                parameters["reply_to_comment"] = ReplyToComment.ToString();
            }
            if (StickerID != 0 && Message == null && Attachments == null)
            {
                parameters["sticker_id"] = StickerID.ToString();
            }

            return(parameters);
        }
Ejemplo n.º 4
0
        public void TestOwnerIDFromKey()
        {
            string pk      = "A/9ltq55E0pNzp0NOdOFHpurTul6v4boHhxbvFDNKCau";
            var    address = OwnerID.FromScriptHash(Convert.FromBase64String(pk).PublicKeyToScriptHash()).ToAddress();

            Console.WriteLine(address);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Возвращает словарь параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            parameters["owner_id"] = OwnerID.ToString();
            parameters["poll_id"]  = PollID.ToString();
            if (!string.IsNullOrWhiteSpace(Question))
            {
                parameters["question"] = Question;
            }
            if (AddAnswers != null)
            {
                parameters["add_answers"] = (string)JsonConvert.SerializeObject(AddAnswers);
            }
            if (EditAnswers != null)
            {
                parameters["edit_answers"] = (string)JsonConvert.SerializeObject(EditAnswers);
            }
            if (DeleteAnswers != null)
            {
                parameters["delete_answers"] = (string)JsonConvert.SerializeObject(DeleteAnswers);
            }

            return(parameters);
        }
Ejemplo n.º 6
0
        public void TestWif3()
        {
            var key = "KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr".LoadWif();

            Assert.AreEqual("NbUgTSFvPmsRxmGeWpuuGeJUoRoi6PErcM", key.PublicKey().PublicKeyToScriptHash().ToAddress(0x35));
            Assert.AreEqual("NbUgTSFvPmsRxmGeWpuuGeJUoRoi6PErcM", OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()).ToAddress());
        }
Ejemplo n.º 7
0
        public async Task <ContainerID> PutContainer(Container.Container container, CallOptions options = null, CancellationToken context = default)
        {
            if (container is null)
            {
                throw new ArgumentNullException(nameof(container));
            }
            var opts = DefaultCallOptions.ApplyCustomOptions(options);

            CheckOptions(opts);
            container.Version = Refs.Version.SDKVersion();
            if (container.OwnerId is null)
            {
                container.OwnerId = OwnerID.FromScriptHash(opts.Key.PublicKey().PublicKeyToScriptHash());
            }
            var req = new PutRequest
            {
                Body = new PutRequest.Types.Body
                {
                    Container = container,
                    Signature = opts.Key.SignRFC6979(container),
                }
            };

            req.MetaHeader = opts.GetRequestMetaHeader();
            opts.Key.Sign(req);

            return(await PutContainer(req, opts.Deadline, context));
        }
Ejemplo n.º 8
0
        public void TestObjectPut()
        {
            var rand    = new Random();
            var payload = new byte[1024];

            rand.NextBytes(payload);
            var obj = new FSObject
            {
                Header = new Header
                {
                    OwnerId     = OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()),
                    ContainerId = cid,
                },
                Payload = ByteString.CopyFrom(payload),
            };

            using var client = new Client.Client(key, host);
            using var source = new CancellationTokenSource();
            source.CancelAfter(TimeSpan.FromMinutes(10));
            var session = client.CreateSession(20).Result;
            var o       = client.PutObject(obj, new CallOptions {
                Ttl = 1, Session = session
            }, source.Token).Result;

            Console.WriteLine(o.String());
            Assert.AreNotEqual("", o.String());
        }
Ejemplo n.º 9
0
        public void TestPutContainerSelect()
        {
            using var client = new Client.Client(key, host);
            // var replica = new Replica(2, ""); //not in policy
            var replica = new Replica(2, ""); // in policy with others
            // var replica = new Replica(1, ""); // test only one node put container size
            var policy    = new PlacementPolicy(1, new Replica[] { replica }, null, null);
            var container = new Container.Container
            {
                Version         = Refs.Version.SDKVersion(),
                OwnerId         = OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()),
                Nonce           = Guid.NewGuid().ToByteString(),
                BasicAcl        = BasicAcl.PublicBasicRule,
                PlacementPolicy = policy,
            };

            container.Attributes.Add(new Container.Container.Types.Attribute
            {
                Key   = "CreatedAt",
                Value = DateTime.UtcNow.ToString(),
            });
            using var source = new CancellationTokenSource();
            source.CancelAfter(TimeSpan.FromMinutes(1));
            var cid = client.PutContainer(container, context: source.Token).Result;

            Console.WriteLine(cid.String());
            Assert.AreEqual(container.CalCulateAndGetId, cid);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Возвращает коллекцию параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            parameters["owner_id"] = OwnerID.ToString();
            parameters["audio_id"] = AudioID.ToString();
            if (!String.IsNullOrWhiteSpace(Artist))
            {
                parameters["artist"] = Artist;
            }
            if (!String.IsNullOrWhiteSpace(Title))
            {
                parameters["title"] = Title;
            }
            if (!String.IsNullOrWhiteSpace(Text))
            {
                parameters["text"] = Text;
            }
            if (Genre != VKAudioGenre.Unknown)
            {
                parameters["genre"] = ((byte)Genre).ToString();
            }
            if (NoSearch == VKBoolean.True)
            {
                parameters["no_search"] = "1";
            }

            return(parameters);
        }
        /// <summary>
        /// Возвращает коллекцию параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            parameters["owner_id"] = OwnerID.ToString();
            parameters["post_id"]  = PostID.ToString();
            if (NeedLikes != VKBoolean.False)
            {
                parameters["need_likes"] = "1";
            }
            if (StartCommentID != 0)
            {
                parameters["start_comment_id"] = StartCommentID.ToString();
            }
            if (Sort != VKSortByDate.asc)
            {
                parameters["sort"] = VKSortByDate.desc.ToString();
            }
            if (PreviewLength != 0)
            {
                parameters["preview_length"] = PreviewLength.ToString();
            }

            return(parameters);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Возвращает словарь параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            parameters["owner_id"] = OwnerID.ToString();
            parameters["doc_id"]   = DocumentID.ToString();
            return(parameters);
        }
Ejemplo n.º 13
0
        public void TestOwnerIDToScriptHash()
        {
            var key        = "L4kWTNckyaWn2QdUrACCJR1qJNgFFGhTCy63ERk7ZK3NvBoXap6t".LoadWif();
            var scriptHash = key.PublicKey().PublicKeyToScriptHash();
            var owner      = OwnerID.FromScriptHash(scriptHash);

            Assert.AreEqual(scriptHash, owner.ToScriptHash());
        }
Ejemplo n.º 14
0
 public void Render(Cell sadConsoleCell)
 {
     System.Console.WriteLine("Render ME ! " + OwnerID.ToString());
     //if ( Changed == false )
     //	return;
     Appearance.CopyAppearanceTo(sadConsoleCell);
     Changed = false;
 }
Ejemplo n.º 15
0
        public void TestPublicKey()
        {
            var key = "0203592a65bd5fb116a3381f1f29a125bac8658cd592d2a8dc9fed886c891f16c1".HexToBytes().LoadPublicKey();

            Assert.AreEqual("0203592a65bd5fb116a3381f1f29a125bac8658cd592d2a8dc9fed886c891f16c1", key.PublicKey().ToHexString());
            Assert.AreEqual("Nedo3Wtrx8fDjtYosjt7ZERHyR2EsgPtxK", key.PublicKey().PublicKeyToScriptHash().ToAddress(0x35));
            Assert.AreEqual("Nedo3Wtrx8fDjtYosjt7ZERHyR2EsgPtxK", OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()).ToAddress());
        }
Ejemplo n.º 16
0
        public override int GetHashCode()
        {
            var hashCode = 1023787409;

            hashCode = hashCode * -1521134295 + OwnerID.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(PreferredLender);

            return(hashCode);
        }
Ejemplo n.º 17
0
        public void TestOwnerID()
        {
            var version = new OwnerID
            {
                Value = ByteString.CopyFrom("351f694a2a49229f8e41d24542a0e6a7329b7ed065a113d002".HexToBytes()),
            };

            Console.WriteLine(version.ToByteArray().ToHexString());
        }
Ejemplo n.º 18
0
            public XElement ToQBXML(string name)
            {
                XElement xElement = new XElement(name);

                xElement.Add(OwnerID.ToQBXML(nameof(OwnerID)));
                xElement.Add(DataExtName.ToQBXML(nameof(DataExtName)));
                xElement.Add(DataExtValue.ToQBXML(nameof(DataExtValue)));
                return(xElement);
            }
Ejemplo n.º 19
0
        public void TestBalanceWithOwner()
        {
            var address = "NiXweMv91Vz512bQw7jFNHAGBg8upVS8Qo";

            using var client = new Client.Client(key, host);
            var balance = client.GetBalance(OwnerID.FromAddress(address)).Result;

            Assert.AreEqual(0, balance.Value);
        }
        /// <summary>
        /// Возвращает словарь параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            parameters["type"]     = Type.ToString().ToLower();
            parameters["owner_id"] = OwnerID.ToString();
            parameters["item_id"]  = ItemID.ToString();

            return(parameters);
        }
Ejemplo n.º 21
0
        public void TestSessionCreate()
        {
            using var client = new Client.Client(key, host);
            using var source = new CancellationTokenSource();
            source.CancelAfter(10000);
            var token = client.CreateSession(ulong.MaxValue, context: source.Token).Result;

            Assert.AreEqual(OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()), token.Body.OwnerId);
            Console.WriteLine($"id={token.Body.Id.ToUUID()}, key={token.Body.SessionKey.ToByteArray().ToHexString()}");
        }
Ejemplo n.º 22
0
        public void TestWif1()
        {
            var key     = "L4kWTNckyaWn2QdUrACCJR1qJNgFFGhTCy63ERk7ZK3NvBoXap6t".LoadWif();
            var address = key.PublicKey().PublicKeyToScriptHash().ToAddress(0x35);

            Assert.AreEqual("Nivku7mFnqdzVftRnUYHo5hD1oJT71yeZp", address);
            key = "L1pBKpw4tR6CogySzye3GUcVPz5pAeemXbyupoWUEVrtfstBfDiN".LoadWif();
            Assert.AreEqual("NgYMvdwCWMypHLqoZ6uqYutbeAAAgbSFcD", key.PublicKey().PublicKeyToScriptHash().ToAddress(0x35));
            Assert.AreEqual("NgYMvdwCWMypHLqoZ6uqYutbeAAAgbSFcD", OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()).ToAddress());
        }
Ejemplo n.º 23
0
        public void TestListContainer()
        {
            using var client = new Client.Client(key, host);
            using var source = new CancellationTokenSource();
            source.CancelAfter(10000);
            var cids = client.ListContainers(OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()), context: source.Token).Result;

            Console.WriteLine(string.Join(", ", cids.Select(p => p.String())));
            Assert.AreEqual(1, cids.Count);
            Assert.AreEqual(cid.String(), cids[0].String());
        }
Ejemplo n.º 24
0
 private string MakeCoverPicPath(long id)
 {
     if (id == 0)
     {
         return(System.IO.Path.Combine("Resource", OwnerID.ToString(), "NewsPicture", "Temp"));
     }
     else
     {
         return(System.IO.Path.Combine("Resource", OwnerID.ToString(), "NewsPicture", id.ToString()));
     }
 }
        /// <summary>
        /// Возвращает коллекцию параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            if (OwnerID != 0)
            {
                parameters["owner_id"] = OwnerID.ToString();
            }
            parameters["need_system"] = "1";

            return(parameters);
        }
Ejemplo n.º 26
0
        public void TestOwnerId()
        {
            var address = "NTfozM1xX7WDKD2LUE5yjtd8FMFYQJoy54";
            var ownerId = OwnerID.FromAddress(address);

            Assert.AreEqual(25, ownerId.Value.Length);
            var key = "Kwk6k2eC3L3QuPvD8aiaNyoSXgQ2YL1bwS5CP1oKoA9waeAze97s".LoadWif();

            ownerId = OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash());
            Assert.AreEqual(25, ownerId.Value.Length);
            Assert.AreEqual(27, ownerId.ToByteArray().Length);
        }
Ejemplo n.º 27
0
        /// <summary>
        /// Возвращает коллекцию параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            if (OwnerID != 0)
            {
                parameters["owner_id"] = OwnerID.ToString();
            }
            parameters["album_id"] = AlbumID.ToString();

            return(parameters);
        }
        /// <summary>
        /// Возвращает коллекцию параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            parameters["owner_id"]   = OwnerID.ToString();
            parameters["comment_id"] = CommentID.ToString();
            if (Reason != VKReason.Spam)
            {
                parameters["reason"] = ((byte)Reason).ToString();
            }

            return(parameters);
        }
Ejemplo n.º 29
0
        /// <summary>
        /// Возвращает коллекцию параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            parameters["audio_id"] = AudioID.ToString();
            parameters["owner_id"] = OwnerID.ToString();
            if (GroupID > 0)
            {
                parameters["group_id"] = GroupID.ToString();
            }

            return(parameters);
        }
Ejemplo n.º 30
0
        /// <summary>
        /// Возвращает коллекцию параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            if (TargetID != 0)
            {
                parameters["target_id"] = TargetID.ToString();
            }
            parameters["video_id"] = VideoID.ToString();
            parameters["owner_id"] = OwnerID.ToString();

            return(parameters);
        }