Add to and from addresses

This commit is contained in:
Luke Van Seters 2021-08-30 20:09:01 -04:00
parent 1aa5c5b465
commit 9846b9f16c
4 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,32 @@
"""Add to_address and from_address to miner_payments table
Revision ID: d70c08b4db6f
Revises: 083978d6e455
Create Date: 2021-08-30 22:10:04.186251
"""
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "d70c08b4db6f"
down_revision = "083978d6e455"
branch_labels = None
depends_on = None
def upgrade():
op.add_column(
"miner_payments",
sa.Column("transaction_to_address", sa.String(256), nullable=True),
)
op.add_column(
"miner_payments",
sa.Column("transaction_from_address", sa.String(256), nullable=True),
)
def downgrade():
op.drop_column("miner_payments", "transaction_to_address")
op.drop_column("miner_payments", "transaction_from_address")

View File

@ -22,6 +22,12 @@ def get_miner_payments(
for receipt in receipts:
transaciton_traces = traces_by_transaction_hash[receipt.transaction_hash]
if len(transaciton_traces) == 0:
continue
first_trace = sorted(transaciton_traces, key=lambda t: t.trace_address)[0]
eth_transfers = get_eth_transfers(transaciton_traces)
miner_eth_transfers = filter_transfers(
eth_transfers, to_address=miner_address.lower()
@ -46,6 +52,8 @@ def get_miner_payments(
base_fee_per_gas=base_fee_per_gas,
gas_used=receipt.gas_used,
coinbase_transfer=coinbase_transfer,
transaction_to_address=first_trace.to_address,
transaction_from_address=first_trace.from_address,
)
)

View File

@ -15,3 +15,5 @@ class MinerPaymentModel(Base):
gas_price = Column(Numeric, nullable=False)
gas_price_with_coinbase_transfer = Column(Numeric, nullable=False)
gas_used = Column(Numeric, nullable=False)
transaction_from_address = Column(String, nullable=True)
transaction_to_address = Column(String, nullable=True)

View File

@ -1,3 +1,5 @@
from typing import Optional
from pydantic import BaseModel
@ -11,3 +13,5 @@ class MinerPayment(BaseModel):
gas_price: int
gas_price_with_coinbase_transfer: int
gas_used: int
transaction_to_address: Optional[str]
transaction_from_address: Optional[str]