Exemple #1
0
        public async Task PostTest()
        {
            var user = User;
            var op   = new PostOperation("test", user.Login, "test", "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg", GetMeta(null));

            await Post(user.PostingKeys, false, op).ConfigureAwait(false);
        }
Exemple #2
0
 private bool IsSupportedOperation(PostOperation operation)
 {
     return(operation == PostOperation.Remove ||
            operation == PostOperation.Edit ||
            operation == PostOperation.Publish ||
            operation == PostOperation.Unpublish);
 }
Exemple #3
0
        public async Task PostWithBeneficiariesTest()
        {
            var user = User;
            var op   = new PostOperation("test", user.Login, "Тест с русскими буквами и бенефитами", "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg фотачка и русский текст в придачу!", GetMeta(null));
            var op2  = new BeneficiariesOperation(user.Login, op.Permlink, new Asset(1000000000, 3, "GBG"), new Beneficiary("steepshot", 1000));

            await Post(user.PostingKeys, false, op, op2).ConfigureAwait(false);
        }
Exemple #4
0
        public async Task RuPostTest()
        {
            var user = User;

            var op = new PostOperation("test", user.Login, "Тест с русскими буквами", "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg фотачка и русский текст в придачу!", GetMeta(null));

            await Post(user.PostingKeys, false, op).ConfigureAwait(false);
        }
Exemple #5
0
        public async Task PostWithBeneficiariesTest()
        {
            var user = User;
            var op   = new PostOperation("test", user.Login, "test", "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg", GetMeta(null));
            var popt = new BeneficiariesOperation(user.Login, op.Permlink, new Asset(1000000000, Config.SteemAssetNumSbd), new Beneficiary("steepshot", 1000));

            await Post(user.PostingKeys, false, op, popt).ConfigureAwait(false);
        }
Exemple #6
0
        public void RuPostTest()
        {
            var user = User;

            var op       = new PostOperation("test", user.Login, "Тест с русскими буквами", "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg фотачка и русский текст в придачу!", GetMeta(null));
            var response = Post(user.PostingKeys, false, op);

            Assert.IsFalse(response.IsError, response.GetErrorMessage());
        }
        public virtual void PostTest([Values("Steem")] string name)
        {
            var op   = new PostOperation("test", _login[name], "test post with beneficiares", "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg", "{\"app\": \"steepshot / 0.0.4\", \"tags\": []}");
            var popt = new BeneficiariesOperation(_login[name], op.Permlink, _chain[name].SbdSymbol, new Beneficiary("steepshot", 1000));
            var prop = Manager(name).VerifyAuthority(_userPrivateKeys[name], op, popt);

            //var prop = Manager(name).BroadcastOperations(UserPrivateKeys[name], op, popt);
            Assert.IsFalse(prop.IsError, prop.GetErrorMessage());
        }
Exemple #8
0
        public void PostTest()
        {
            var user     = User;
            var op       = new PostOperation("test", user.Login, "test", "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg", GetMeta(null));
            var popt     = new BeneficiariesOperation(user.Login, op.Permlink, new Asset(1000000000, Config.SteemAssetNumSbd), new Beneficiary("steepshot", 1000));
            var response = Post(user.PostingKeys, false, op, popt);

            Assert.IsFalse(response.IsError, response.GetErrorMessage());
        }
Exemple #9
0
        public void RuPostTest([Values("Steem", "Golos")] string name)
        {
            var op = new PostOperation("test", Login[name], "Тест с русскими буквами", "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg фотачка и русский текст в придачу!", "{\"app\": \"steepshot / 0.0.4\", \"tags\": []}");

            var prop = Manager(name).VerifyAuthority(UserPrivateKeys[name], op);

            //var prop = Manager(name).BroadcastOperations(UserPrivateKeys[name], op, popt);
            Assert.IsFalse(prop.IsError, prop.GetErrorMessage());
        }
Exemple #10
0
        public void PostWithBeneficiariesTest()
        {
            var user = User;
            var op   = new PostOperation("test", user.Login, "Тест с русскими буквами и бенефитами", "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg фотачка и русский текст в придачу!", GetMeta(null));
            var op2  = new BeneficiariesOperation(user.Login, op.Permlink, new Asset(1000000000, 3, "GBG"), new Beneficiary("steepshot", 1000));

            var response = Post(user.PostingKeys, false, op, op2);

            Assert.IsFalse(response.IsError, response.GetErrorMessage());
        }
Exemple #11
0
        public async Task DeleteCommentTest()
        {
            var user = User;
            var op   = new PostOperation("test", user.Login, "Test post for delete", "Test post for delete", GetMeta(null));

            await Post(user.PostingKeys, false, op);

            var op2 = new DeleteCommentOperation(user.Login, "");

            await Post(user.PostingKeys, false, op2);
        }
Exemple #12
0
        public async Task DeleteCommentTest()
        {
            var user = User;
            var op   = new PostOperation("test", user.Login, "Test post for delete", "Test post for delete", GetMeta(null));

            await Post(user.PostingKeys, false, op).ConfigureAwait(false);

            var op2 = new DeleteCommentOperation(op.Author, op.Permlink);

            await Post(user.PostingKeys, false, op2).ConfigureAwait(false);
        }
Exemple #13
0
        public override IEnumerator ReceivePayload(VisualPayload payload)
        {
            var newBound = payload.VisualData.Bound.CreateDependingBound(Name);
            //var bound = payload.VisualData.Bound;

            var isPreOperation = !PostOperation.GetFirstValue(payload.Data);

            if (isPreOperation)
            {
                newBound.transform.parent = payload.VisualData.Bound.transform.parent;

                payload.VisualData.Bound.transform.parent = newBound.transform;
            }

            //newBound.transform.parent = payload.VisualData.Bound.transform.parent;
            //payload.VisualData.Bound.transform.parent = newBound.transform;

            if (LocalSpace.GetFirstValue(payload.Data))
            {
                newBound.transform.localScale =
                    newBound.transform.localScale.PiecewiseMultiply(ScaleMultiplier.GetFirstValue(payload.Data).MinAtEpsilon());

                newBound.transform.position +=
                    payload.VisualData.Bound.transform.PiecewiseMultiply(TranslationOffset.GetFirstValue(payload.Data));
            }
            else
            {
                newBound.transform.localScale = ScaleMultiplier.GetFirstValue(payload.Data).MinAtEpsilon();

                newBound.transform.position += TranslationOffset.GetFirstValue(payload.Data);
            }

            // rotation is already a quaternion, so it's already localized or not
            newBound.transform.localRotation = RotationMultiplier.GetFirstValue(payload.Data);

            VisualPayload newPayload = payload;

            if (!isPreOperation)
            {
                newPayload = new VisualPayload(payload.Data, new VisualDescription(newBound));
            }

            var iterator = Router.TransmitAll(newPayload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
        public void DeleteCommentTest()
        {
            var user     = User;
            var op       = new PostOperation("test", user.Login, "Test post for delete", "Test post for delete", GetMeta(null));
            var response = Post(user.PostingKeys, false, op);

            Console.WriteLine(response.Error);
            Assert.IsFalse(response.IsError, response.GetErrorMessage());

            var op2 = new DeleteCommentOperation(op.Author, op.Permlink);

            response = Post(user.PostingKeys, false, op2);
            Console.WriteLine(response.Error);
            Assert.IsFalse(response.IsError, response.GetErrorMessage());
        }
        public BinderSession CreateSession(string username, string clearTextPassword)
        {
            var req = new CreateSessionRequest()
            {
                ClearTextPassword = clearTextPassword,
                Username = username
            };

            var url = _authenticationBaseUrl.AppendPathSegment("Sessions");

            var responseMessage = new PostOperation<CreateSessionRequest>(url).WithRequest(req).ResponseMessage;

            return new BinderSession(responseMessage.Content<CreateSessionResponse>());


        }
Exemple #16
0
        public void PostFailByTitleSizeTest([Values("Steem")] string name)
        {
            var op = new PostOperation("test", Login[name], new string('t', 666), "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg", "{\"app\": \"steepshot / 0.0.4\", \"tags\": [\"test\",\"spam\"]}");
            //var prop = Manager(name).VerifyAuthority(UserPrivateKeys[name], op);
            var response = Manager(name).BroadcastOperations(UserPrivateKeys[name], op);

            Assert.IsTrue(response.IsError);
            Console.WriteLine(response.GetErrorMessage());
            Assert.IsTrue(response.Error is ResponseError);
            var typedError = (ResponseError)response.Error;

            Assert.IsTrue(typedError.Data.Code == 10);
            var match = _errorMsg.Match(typedError.Data.Stack[0].Format);

            Console.WriteLine(match.Value);
            Assert.IsTrue(match.Success);
            Assert.IsTrue(match.Value.Equals("Title larger than size limit"));
        }
        public void PostFailByTitleSizeTest()
        {
            var user = User;

            var op       = new PostOperation("test", user.Login, new string('t', 666), "http://yt3.ggpht.com/-Z7aLVW1IhkQ/AAAAAAAAAAI/AAAAAAAAAAA/k54r-HgKdJc/s900-c-k-no-mo-rj-c0xffffff/photo.jpg", GetMeta(new[] { "test", "spam" }));
            var response = Post(user.PostingKeys, true, op);

            Assert.IsTrue(response.IsError);
            Console.WriteLine(response.GetErrorMessage());
            Assert.IsTrue(response.Error is ResponseError);
            var typedError = (ResponseError)response.Error;

            Assert.IsTrue(typedError.Data.Code == 10);
            var match = _errorMsg.Match(typedError.Data.Stack[0].Format);

            Console.WriteLine(match.Value);
            Assert.IsTrue(match.Success);
            Assert.IsTrue(match.Value.Equals("Title larger than size limit"));
        }
        public void PostDataToSteemWithUpvote()
        {
            Login = new Dictionary <string, string>()
            {
                { "Steem", txtUsername.Text }
            };

            UserPrivateKeys = new Dictionary <string, List <byte[]> >()
            {
                { "Steem", new List <byte[]> {
                      Base58.GetBytes(txtPassword.Text)
                  } }
            };

            Chain = new Dictionary <string, ChainInfo>();

            var steemChainInfo = ChainManager.GetChainInfo(KnownChains.Steem);

            Chain.Add("Steem", steemChainInfo);
            Steem = new OperationManager(steemChainInfo.Url, steemChainInfo.ChainId);

            var op    = new PostOperation(txtTag1.Text, txtUsername.Text, txtTitle.Text, txtResponse.Text, "{\"app\": \"steemit/0.1\", \"tags\": [\"" + txtTag2.Text + "\",\"" + txtTag3.Text + "\",\"" + txtTag4.Text + "\",\"" + txtTag5.Text + "\"]}");
            var prop  = Manager("Steem").VerifyAuthority(UserPrivateKeys["Steem"], op);
            var propa = Manager("Steem").BroadcastOperations(UserPrivateKeys["Steem"], op);

            if (propa.Error == null)
            {
                lblStatus.Text = "'Post to STEEM' transaction successfully completed!";

                var up     = new UpVoteOperation(txtUsername.Text, txtUsername.Text, op.Permlink);
                var uprop  = Manager("Steem").VerifyAuthority(UserPrivateKeys["Steem"], up);
                var upropa = Manager("Steem").BroadcastOperations(UserPrivateKeys["Steem"], up);
            }
            else
            {
                lblStatus.Text = "Error posting on STEEM: " + propa.Error.Message.ToString();
            }
        }
        public void PostDataToSteem()
        {
            Login = new Dictionary <string, string>()
            {
                { "Steem", txtUsername.Text }
            };

            UserPrivateKeys = new Dictionary <string, List <byte[]> >()
            {
                { "Steem", new List <byte[]> {
                      Base58.GetBytes(txtPassword.Text)
                  } }
            };

            Chain = new Dictionary <string, ChainInfo>();

            var steemChainInfo = ChainManager.GetChainInfo(KnownChains.Steem);

            Chain.Add("Steem", steemChainInfo);
            Steem = new OperationManager(steemChainInfo.Url, steemChainInfo.ChainId);

            var op   = new PostOperation(txtTag1.Text, txtUsername.Text, txtTitle.Text, txtResponse.Text, "{\"app\": \"steemit/0.1\", \"tags\": [\"" + txtTag2.Text + "\",\"" + txtTag3.Text + "\",\"" + txtTag4.Text + "\",\"" + txtTag5.Text + "\"]}");
            var prop = Manager("Steem").VerifyAuthority(UserPrivateKeys["Steem"], op);
            var resp = Manager("Steem").GetAccountBandwidth(txtUsername.Text, BandwidthType.Post);
            var Text = JsonConvert.SerializeObject(resp.Result);

            var propa = Manager("Steem").BroadcastOperations(UserPrivateKeys["Steem"], op);

            if (propa.Error == null)
            {
                lblStatus.Text = "Posted to STEEM blockchain, finished";
            }
            else
            {
                lblStatus.Text = propa.Error.Message.ToString();
            }
        }
 public PostOperationAttributeImpl(IAuthorizationService authorizationService, IPostsService postsService, PostOperation postOperation)
 {
     _authorizationService = authorizationService ?? throw new ArgumentNullException(nameof(authorizationService));
     _postsService         = postsService ?? throw new ArgumentNullException(nameof(postsService));
     _postOperation        = postOperation;
 }
 public PostOperationAttribute(PostOperation postOperation)
     : base(typeof(PostOperationAttributeImpl))
 {
     Arguments = new object[] { postOperation };
 }
Exemple #22
0
 public PostOperationRequirement(PostOperation operation)
 {
     Operation = operation;
 }