예제 #1
0
    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)
예제 #2
0
 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)
예제 #3
0
 def from_txhash(cls, txhash):
     tx_dict = NetworkAPI.get_tx(txhash)
     return Memo.form_transaction_dict(tx_dict)
예제 #4
0
 def send_transaction(self):
     NetworkAPI.broadcast_tx(self.signed_transaction)
     return bitcash.wallet.calc_txid(self.signed_transaction)