Skip to content
Snippets Groups Projects
Commit 16fcea5c authored by inso's avatar inso
Browse files

Fix dividends parsing

parent c3017a91
Branches
Tags
No related merge requests found
......@@ -61,7 +61,7 @@ class DividendsProcessor:
for tx in transactions:
txdoc = Transaction.from_signed_raw(tx.raw)
for input in txdoc.inputs:
if input.source == "D" and input.index not in block_numbers:
if input.source == "D" and input.origin_id == identity.pubkey and input.index not in block_numbers:
block = await self._bma_connector.get(identity.currency,
bma.blockchain.block, req_args={'number': input.index})
......@@ -69,8 +69,8 @@ class DividendsProcessor:
pubkey=identity.pubkey,
block_number=input.index,
timestamp=block["medianTime"],
amount=input.amount,
base=input.base)
amount=block["dividend"],
base=block["unitbase"])
log_stream("Dividend of block {0}".format(dividend.block_number))
try:
self._repo.insert(dividend)
......
from PyQt5.QtCore import QObject
from sakia.data.entities.transaction import parse_transaction_doc
from duniterpy.documents import SimpleTransaction
from sakia.data.entities import Dividend
import logging
......@@ -47,8 +48,17 @@ class TransactionsService(QObject):
if not self._transactions_processor.find_by_hash(t.sha_hash)
and SimpleTransaction.is_simple(t)]
connections_pubkeys = [c.pubkey for c in self._connections_processor.connections_to(self.currency)]
for (i, tx_doc) in enumerate(new_transactions):
for pubkey in connections_pubkeys:
if block_doc.ud:
dividend = Dividend(currency=self.currency,
pubkey=pubkey,
block_number=block_doc.number,
timestamp=block_doc.mediantime,
amount=block_doc.ud,
base=block_doc.unit_base)
self._dividends_processor.commit(dividend)
for (i, tx_doc) in enumerate(new_transactions):
tx = parse_transaction_doc(tx_doc, pubkey, block_doc.blockUID.number, block_doc.mediantime, txid+i)
if tx:
new_transfers.append(tx)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment