Skip to content

Commit

Permalink
fix: wrong pending rewards
Browse files Browse the repository at this point in the history
  • Loading branch information
shaojunda committed Jul 1, 2019
1 parent c755e58 commit 13ffcba
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 8 deletions.
4 changes: 4 additions & 0 deletions app/models/block.rb
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ def self.find_block(query_key)
raise Api::V1::Exceptions::BlockNotFoundError
end

def miner_address
Address.find_by(address_hash: miner_hash)
end

private

def verified?(node_block_hash)
Expand Down
6 changes: 3 additions & 3 deletions app/models/ckb_sync/persist.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def save_block(node_block, sync_type)
local_block.reload.ckb_transactions_count = ckb_transactions.size
local_block.address_ids = AccountBook.where(ckb_transaction: local_block.ckb_transactions).pluck(:address_id).uniq
local_block.save!
update_pending_rewards(local_block)
update_pending_rewards(local_block.miner_address)
end

local_block
Expand Down Expand Up @@ -122,8 +122,8 @@ def issue_block_reward(current_block)
CkbUtils.calculate_received_tx_fee!(current_block)
end

def update_pending_rewards(local_block)
CkbUtils.update_current_block_miner_address_pending_rewards(local_block)
def update_pending_rewards(miner_address)
CkbUtils.update_current_block_miner_address_pending_rewards(miner_address)
end

def update_cell_status(ckb_transaction)
Expand Down
7 changes: 2 additions & 5 deletions app/utils/ckb_utils.rb
Original file line number Diff line number Diff line change
Expand Up @@ -184,9 +184,7 @@ def self.calculate_received_tx_fee!(current_block)
target_block.update(received_tx_fee: received_tx_fee, received_tx_fee_status: "calculated")
end

def self.update_current_block_miner_address_pending_rewards(local_block)
cellbase = local_block.cellbase
miner_address = cellbase.addresses.first
def self.update_current_block_miner_address_pending_rewards(miner_address)
miner_address.increment!(:pending_reward_blocks_count) if miner_address.present?
end

Expand All @@ -195,8 +193,7 @@ def self.update_target_block_miner_address_pending_rewards(current_block)
target_block = current_block.target_block
return if target_block_number < 1 || target_block.blank?

cellbase = target_block.cellbase
miner_address = cellbase.addresses.first
miner_address = target_block.miner_address
miner_address.decrement!(:pending_reward_blocks_count) if miner_address.present?
end
end

0 comments on commit 13ffcba

Please sign in to comment.