def sbd_to_rshares(self, sbd, not_broadcasted_vote=False, use_stored_data=True):
    ' Obtain the r-shares from CBD\n\n        :param sbd: CBD\n        :type sbd: str, int, amount.Amount\n        :param bool not_broadcasted_vote: not_broadcasted or already broadcasted vote (True = not_broadcasted vote).\n         Only impactful for very high amounts of CBD. Slight modification to the value calculation, as the not_broadcasted\n         vote rshares decreases the reward pool.\n\n        '
    if isinstance(sbd, Amount):
        sbd = Amount(sbd, crea_instance=self)
    elif isinstance(sbd, string_types):
        sbd = Amount(sbd, crea_instance=self)
    else:
        sbd = Amount(sbd, self.sbd_symbol, crea_instance=self)
    if (sbd['symbol'] != self.sbd_symbol):
        raise AssertionError('Should input CBD, not any other asset!')
    if (not not_broadcasted_vote):
        return int((sbd.amount / self.get_sbd_per_rshares(use_stored_data=use_stored_data)))
    reward_fund = self.get_reward_funds(use_stored_data=use_stored_data)
    median_price = self.get_median_price(use_stored_data=use_stored_data)
    recent_claims = int(reward_fund['recent_claims'])
    reward_balance = Amount(reward_fund['reward_balance'], crea_instance=self)
    reward_pool_sbd = (median_price * reward_balance)
    if (sbd > reward_pool_sbd):
        raise ValueError('Provided more CBD than available in the reward pool.')
    rshares = ((recent_claims * sbd.amount) / ((reward_balance.amount * float(median_price)) - sbd.amount))
    return int(rshares)
Obtain the r-shares from CBD

:param sbd: CBD
:type sbd: str, int, amount.Amount
:param bool not_broadcasted_vote: not_broadcasted or already broadcasted vote (True = not_broadcasted vote).
 Only impactful for very high amounts of CBD. Slight modification to the value calculation, as the not_broadcasted
 vote rshares decreases the reward pool.
def sbd_to_rshares(self, sbd, not_broadcasted_vote=False, use_stored_data=True):
    ' Obtain the r-shares from CBD\n\n        :param sbd: CBD\n        :type sbd: str, int, amount.Amount\n        :param bool not_broadcasted_vote: not_broadcasted or already broadcasted vote (True = not_broadcasted vote).\n         Only impactful for very high amounts of CBD. Slight modification to the value calculation, as the not_broadcasted\n         vote rshares decreases the reward pool.\n\n        '
    if isinstance(sbd, Amount):
        sbd = Amount(sbd, crea_instance=self)
    elif isinstance(sbd, string_types):
        sbd = Amount(sbd, crea_instance=self)
    else:
        sbd = Amount(sbd, self.sbd_symbol, crea_instance=self)
    if (sbd['symbol'] != self.sbd_symbol):
        raise AssertionError('Should input CBD, not any other asset!')
    if (not not_broadcasted_vote):
        return int((sbd.amount / self.get_sbd_per_rshares(use_stored_data=use_stored_data)))
    reward_fund = self.get_reward_funds(use_stored_data=use_stored_data)
    median_price = self.get_median_price(use_stored_data=use_stored_data)
    recent_claims = int(reward_fund['recent_claims'])
    reward_balance = Amount(reward_fund['reward_balance'], crea_instance=self)
    reward_pool_sbd = (median_price * reward_balance)
    if (sbd > reward_pool_sbd):
        raise ValueError('Provided more CBD than available in the reward pool.')
    rshares = ((recent_claims * sbd.amount) / ((reward_balance.amount * float(median_price)) - sbd.amount))
    return int(rshares)