Add gas payment to miner payments

This commit is contained in:
Luke Van Seters 2021-08-25 11:58:10 -04:00
parent 919bdeb7a2
commit a960d5e4cf
3 changed files with 21 additions and 10 deletions

View File

@ -35,11 +35,13 @@ def create_from_block_number(
def fetch_block(w3, base_provider, block_number: int) -> Block: def fetch_block(w3, base_provider, block_number: int) -> Block:
block_json = w3.eth.get_block(block_number, True) block_json = w3.eth.get_block(block_number)
receipts_json = base_provider.make_request("eth_getBlockReceipts", [block_number]) receipts_json = base_provider.make_request("eth_getBlockReceipts", [block_number])
traces_json = w3.parity.trace_block(block_number) traces_json = w3.parity.trace_block(block_number)
receipts: List[Receipt] = [Receipt(**receipt) for receipt in receipts_json["result"]] receipts: List[Receipt] = [
Receipt(**receipt) for receipt in receipts_json["result"]
]
traces = [Trace(**trace_json) for trace_json in traces_json] traces = [Trace(**trace_json) for trace_json in traces_json]
return Block( return Block(

View File

@ -24,16 +24,20 @@ def get_miner_payments(
eth_transfers, to_address=miner_address.lower() eth_transfers, to_address=miner_address.lower()
) )
total_eth_transfer_payment = sum( wei_transfered_to_miner = sum(
transfer.amount for transfer in miner_eth_transfers transfer.amount for transfer in miner_eth_transfers
) )
if total_eth_transfer_payment > 0: miner_payments.append(
miner_payments.append( MinerPayment(
MinerPayment( miner_address=miner_address,
transaction_hash=receipt.transaction_hash, block_number=receipt.block_number,
total_eth_transfer_payment=total_eth_transfer_payment, transaction_hash=receipt.transaction_hash,
) transaction_index=receipt.transaction_index,
effective_gas_price=receipt.effective_gas_price,
gas_used=receipt.gas_used,
wei_transfered_to_miner=wei_transfered_to_miner,
) )
)
return miner_payments return miner_payments

View File

@ -2,5 +2,10 @@ from pydantic import BaseModel
class MinerPayment(BaseModel): class MinerPayment(BaseModel):
block_number: int
transaction_hash: str transaction_hash: str
total_eth_transfer_payment: int transaction_index: int
miner_address: str
wei_transfered_to_miner: int
effective_gas_price: int
gas_used: int