Example #1
0
        public async Task WithdrawVestingOperationTest()
        {
            var op       = new WithdrawVestingOperation(User.Login, new Asset(1, Config.SteemAssetNumVests));
            var response = Post(User.ActiveKeys, false, op);

            Assert.IsFalse(response.IsError, response.GetErrorMessage());
        }
Example #2
0
        public async Task WithdrawVestingOperationTest()
        {
            var op       = new WithdrawVestingOperation(User.Login, new Asset("0.001 GESTS"));
            var response = Post(User.ActiveKeys, false, op);

            Assert.IsFalse(response.IsError, response.GetErrorMessage());
        }
Example #3
0
        public override async Task <OperationResult <VoidResponse> > PowerUpOrDown(PowerUpDownModel model, CancellationToken ct)
        {
            var isConnected = await TryReconnectChain(ct);

            if (!isConnected)
            {
                return(new OperationResult <VoidResponse>(new ValidationException(LocalizationKeys.EnableConnectToBlockchain)));
            }

            var keys = ToKeyArr(model.ActiveKey);

            if (keys == null)
            {
                return(new OperationResult <VoidResponse>(new ValidationException(LocalizationKeys.WrongPrivateActimeKey)));
            }

            var result = new OperationResult <VoidResponse>();

            BaseOperation op;

            Asset asset;

            if (model.PowerAction == PowerAction.PowerUp)
            {
                asset = new Asset($"{model.Value.ToString(CultureInfo.InvariantCulture)} GOLOS");
                op    = new TransferToVestingOperation(model.From, model.To, asset);
            }
            else
            {
                var vestsExchangeRatio = await GetVestsExchangeRatio(ct);

                if (!vestsExchangeRatio.IsSuccess)
                {
                    return(new OperationResult <VoidResponse>(vestsExchangeRatio.Exception));
                }

                asset = new Asset($"{(model.Value / vestsExchangeRatio.Result).ToString("F6", CultureInfo.InvariantCulture)} GESTS");
                op    = new WithdrawVestingOperation(model.From, asset);
            }

            var resp = await _operationManager.BroadcastOperationsSynchronous(keys, ct, op);

            if (resp.IsError)
            {
                result.Exception = new RequestException(resp);
            }
            else
            {
                result.Result = new VoidResponse();
            }
            return(result);
        }
Example #4
0
        public override async Task <OperationResult <VoidResponse> > PowerUpOrDown(PowerUpDownModel model, CancellationToken ct)
        {
            var isConnected = await TryReconnectChain(ct);

            if (!isConnected)
            {
                return(new OperationResult <VoidResponse>(new ValidationException(LocalizationKeys.EnableConnectToBlockchain)));
            }

            var keys = ToKeyArr(model.ActiveKey);

            if (keys == null)
            {
                return(new OperationResult <VoidResponse>(new ValidationException(LocalizationKeys.WrongPrivateActimeKey)));
            }

            var asset = new Asset();

            BaseOperation op;

            if (model.PowerAction == PowerAction.PowerUp)
            {
                asset.FromOldFormat($"{model.Value.ToString(CultureInfo.InvariantCulture)} {Config.Steem}");
                op = new TransferToVestingOperation(model.From, model.To, asset);
            }
            else
            {
                var vestsExchangeRatio = await GetVestsExchangeRatio(ct);

                if (!vestsExchangeRatio.IsSuccess)
                {
                    return(new OperationResult <VoidResponse>(vestsExchangeRatio.Exception));
                }

                asset.FromOldFormat($"{(model.Value / vestsExchangeRatio.Result).ToString("F6", CultureInfo.InvariantCulture)} {Config.Vests}");
                op = new WithdrawVestingOperation(model.Login, asset);
            }

            return(await Broadcast(keys, new[] { op }, ct));
        }
Example #5
0
        public async Task WithdrawVestingOperationTest()
        {
            var op = new WithdrawVestingOperation(User.Login, new Asset(1, Config.SteemAssetNumVests));

            await Post(User.ActiveKeys, false, op).ConfigureAwait(false);
        }
Example #6
0
        public async Task WithdrawVestingOperationTest()
        {
            var op = new WithdrawVestingOperation(User.Login, new Asset("0.001 GESTS"));

            await Post(User.ActiveKeys, false, op).ConfigureAwait(false);
        }