public override async Task <OperationResult <VoidResponse> > ClaimRewards(ClaimRewardsModel model, CancellationToken ct) { var isConnected = await TryReconnectChain(ct); if (!isConnected) { return(new OperationResult <VoidResponse>(new ValidationException(LocalizationKeys.EnableConnectToBlockchain))); } var keys = ToKeyArr(model.PostingKey); if (keys == null) { return(new OperationResult <VoidResponse>(new ValidationException(LocalizationKeys.WrongPrivatePostingKey))); } var assetSteem = new Asset(); assetSteem.FromOldFormat($"{model.RewardSteem} {Config.Steem}"); var assetSp = new Asset(); assetSp.FromOldFormat($"{(model.RewardSp / _vestsExchangeRatio.Value).ToString(CultureInfo.InvariantCulture) } {Config.Vests}"); var assetSbd = new Asset(); assetSbd.FromOldFormat($"{model.RewardSbd} {Config.Sbd}"); var op = new ClaimRewardBalanceOperation(model.Login, assetSteem, assetSbd, assetSp); return(await Broadcast(keys, new BaseOperation[] { op }, ct)); }
public async Task ClaimRewardBalanceOperationTest() { var steem = new Asset(1, Config.SteemAssetNumSteem); var sbd = new Asset(1, Config.SteemAssetNumSbd); var vest = new Asset(1, Config.SteemAssetNumVests); var op = new ClaimRewardBalanceOperation(User.Login, steem, sbd, vest); await Post(User.PostingKeys, false, op).ConfigureAwait(false); }