Add to and from addresses
This commit is contained in:
parent
1aa5c5b465
commit
9846b9f16c
@ -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")
|
@ -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,
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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]
|
||||
|
Loading…
x
Reference in New Issue
Block a user