def get_memos_from(self, t): """ """ txs = NetworkAPI.get_transactions_by_address_from(self._address, t) memos = [ Memo.form_transaction_dict(tx) for tx in txs if Memo.is_memo(tx) ] self.memos_send = [ memo for memo in memos if memo.sender == self._address ] self.memos_receive = [ memo for memo in memos if memo.sender != self._address ] self.memos_post = [ memo for memo in self.memos_send if memo.prefix == PRIFIX_BY_ACTION_NAME['Post memo'] ] self.memos_like = [ memo for memo in self.memos_send if memo.prefix == PRIFIX_BY_ACTION_NAME['Like / tip memo'] ] for memo in reversed(self.memos_send): if memo.prefix == PRIFIX_BY_ACTION_NAME['Set name']: self.name = memo.name USER_NAME_DICT[memo.sender] = memo.name if memo.prefix == PRIFIX_BY_ACTION_NAME['Follow user']: self.following.add(memo.address) if memo.prefix == PRIFIX_BY_ACTION_NAME['Unfollow user']: self.following.remove(memo.address)
def __get_like_memo(self): """ Get memo liked by this memo and calc tip amount """ try: tx_like = NetworkAPI.get_tx(self._txhash_of_liked_memo) except: return if Memo.is_memo(tx_like): self.liked_memo = Memo.form_transaction_dict( tx_like ) # FIXME: Long runtime for multi-nesting like type memo for addr, amount in self.transfer: if addr == self.liked_memo.sender: self._tip_amount += int(float(amount) * 100000000)
def from_txhash(cls, txhash): tx_dict = NetworkAPI.get_tx(txhash) return Memo.form_transaction_dict(tx_dict)
def send_transaction(self): NetworkAPI.broadcast_tx(self.signed_transaction) return bitcash.wallet.calc_txid(self.signed_transaction)