Skip to content

Commit

Permalink
Fix issue #289
Browse files Browse the repository at this point in the history
  • Loading branch information
holgern committed Mar 12, 2021
1 parent e8c614c commit 49d2248
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 25 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ Changelog
* Add Blocks class, which uses get_block_range
* PR #272: correct blockchain virtual op batch calls (thanks to @crokkon)
* PR #276: blockchain: get_account_reputations fix for first (thanks to @crokkon)
* PR #287: beempy witnessproperties: fix interest rate options
* PR #287: beempy witnessproperties: fix interest rate options (thanks to @crokkon)
* Fix #289: Unable to Claim Specific Reward Asset

0.24.20
-------
Expand Down
50 changes: 26 additions & 24 deletions beem/account.py
Original file line number Diff line number Diff line change
Expand Up @@ -3152,9 +3152,9 @@ def claim_reward_balance(self,
# if no values were set by user, claim all outstanding balances on
# account

reward_steem = self._check_amount(reward_steem + reward_hive, self.blockchain.token_symbol)
reward_sbd = self._check_amount(reward_sbd + reward_hbd, self.blockchain.backed_token_symbol)
reward_vests = self._check_amount(reward_vests, self.blockchain.vest_token_symbol)
reward_token_amount = self._check_amount(reward_steem + reward_hive, self.blockchain.token_symbol)
reward_backed_token_amount = self._check_amount(reward_sbd + reward_hbd, self.blockchain.backed_token_symbol)
reward_vests_amount = self._check_amount(reward_vests, self.blockchain.vest_token_symbol)

if self.blockchain.is_hive:
reward_token = "reward_hive"
Expand All @@ -3163,29 +3163,31 @@ def claim_reward_balance(self,
reward_token = "reward_steem"
reward_backed_token = "reward_sbd"

if reward_steem.amount == 0 and reward_sbd.amount == 0 and reward_vests.amount == 0:
if reward_token_amount.amount == 0 and reward_backed_token_amount.amount == 0 and reward_vests_amount.amount == 0:
if len(account.balances["rewards"]) == 3:
reward_steem = account.balances["rewards"][0]
reward_sbd = account.balances["rewards"][1]
reward_vests = account.balances["rewards"][2]
op = operations.Claim_reward_balance(
**{
"account": account["name"],
reward_token: reward_steem,
reward_backed_token: reward_sbd,
"reward_vests": reward_vests,
"prefix": self.blockchain.prefix,
})
reward_token_amount = account.balances["rewards"][0]
reward_backed_token_amount = account.balances["rewards"][1]
reward_vests_amount = account.balances["rewards"][2]
else:
reward_steem = account.balances["rewards"][0]
reward_vests = account.balances["rewards"][1]
op = operations.Claim_reward_balance(
**{
"account": account["name"],
reward_token: reward_steem,
"reward_vests": reward_vests,
"prefix": self.blockchain.prefix,
})
reward_token_amount = account.balances["rewards"][0]
reward_vests_amount = account.balances["rewards"][1]
if len(account.balances["rewards"]) == 3:
op = operations.Claim_reward_balance(
**{
"account": account["name"],
reward_token: reward_token_amount,
reward_backed_token: reward_backed_token_amount,
"reward_vests": reward_vests_amount,
"prefix": self.blockchain.prefix,
})
else:
op = operations.Claim_reward_balance(
**{
"account": account["name"],
reward_token: reward_token_amount,
"reward_vests": reward_vests_amount,
"prefix": self.blockchain.prefix,
})

return self.blockchain.finalizeOp(op, account, "posting", **kwargs)

Expand Down

0 comments on commit 49d2248

Please sign in to comment.