Skip to content

Commit

Permalink
Add ronin chain models.
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrey committed Nov 11, 2024
1 parent cb6d423 commit 415573a
Show file tree
Hide file tree
Showing 7 changed files with 751 additions and 1 deletion.
4 changes: 4 additions & 0 deletions moonstreamdb-v3/moonstreamdbv3/alembic/env.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@
MumbaiLabel,
PolygonLabel,
ProofOfPlayApexLabel,
RoninLabel,
RoninSepoliaLabel,
SepoliaLabel,
StarknetLabel,
StarknetSepoliaLabel,
Expand Down Expand Up @@ -91,6 +93,8 @@ def include_symbol(tablename, schema):
ImxZkevmSepoliaLabel.__tablename__,
B3Label.__tablename__,
B3SepoliaLabel.__tablename__,
RoninLabel.__tablename__,
RoninSepoliaLabel.__tablename__,
}


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,325 @@
"""add ronin
Revision ID: f8ea378cffbf
Revises: d816689b786a
Create Date: 2024-11-11 16:16:09.255737
"""

from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql

# revision identifiers, used by Alembic.
revision: str = "f8ea378cffbf"
down_revision: Union[str, None] = "d816689b786a"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table(
"ronin_labels",
sa.Column("id", sa.UUID(), nullable=False),
sa.Column("label", sa.VARCHAR(length=256), nullable=False),
sa.Column("transaction_hash", sa.VARCHAR(length=128), nullable=False),
sa.Column("log_index", sa.Integer(), nullable=True),
sa.Column("block_number", sa.BigInteger(), nullable=False),
sa.Column("block_hash", sa.VARCHAR(length=256), nullable=False),
sa.Column("block_timestamp", sa.BigInteger(), nullable=False),
sa.Column("caller_address", sa.LargeBinary(), nullable=True),
sa.Column("origin_address", sa.LargeBinary(), nullable=True),
sa.Column("address", sa.LargeBinary(), nullable=False),
sa.Column("label_name", sa.Text(), nullable=True),
sa.Column("label_type", sa.VARCHAR(length=64), nullable=True),
sa.Column("label_data", postgresql.JSONB(astext_type=sa.Text()), nullable=True),
sa.Column(
"created_at",
sa.DateTime(timezone=True),
server_default=sa.text("TIMEZONE('utc', statement_timestamp())"),
nullable=False,
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_ronin_labels")),
sa.UniqueConstraint("id", name=op.f("uq_ronin_labels_id")),
)
op.create_index(
"ix_ronin_labels_addr_block_num",
"ronin_labels",
["address", "block_number"],
unique=False,
)
op.create_index(
"ix_ronin_labels_addr_block_ts",
"ronin_labels",
["address", "block_timestamp"],
unique=False,
)
op.create_index(
op.f("ix_ronin_labels_address"), "ronin_labels", ["address"], unique=False
)
op.create_index(
op.f("ix_ronin_labels_block_number"),
"ronin_labels",
["block_number"],
unique=False,
)
op.create_index(
op.f("ix_ronin_labels_caller_address"),
"ronin_labels",
["caller_address"],
unique=False,
)
op.create_index(
op.f("ix_ronin_labels_label"), "ronin_labels", ["label"], unique=False
)
op.create_index(
op.f("ix_ronin_labels_label_name"), "ronin_labels", ["label_name"], unique=False
)
op.create_index(
op.f("ix_ronin_labels_label_type"), "ronin_labels", ["label_type"], unique=False
)
op.create_index(
op.f("ix_ronin_labels_origin_address"),
"ronin_labels",
["origin_address"],
unique=False,
)
op.create_index(
op.f("ix_ronin_labels_transaction_hash"),
"ronin_labels",
["transaction_hash"],
unique=False,
)
op.create_index(
"uk_ronin_labels_tx_hash_log_idx_evt",
"ronin_labels",
["transaction_hash", "log_index"],
unique=True,
postgresql_where=sa.text("label='seer' and label_type='event'"),
)
op.create_index(
"uk_ronin_labels_tx_hash_log_idx_evt_raw",
"ronin_labels",
["transaction_hash", "log_index"],
unique=True,
postgresql_where=sa.text("label='seer-raw' and label_type='event'"),
)
op.create_index(
"uk_ronin_labels_tx_hash_tx_call",
"ronin_labels",
["transaction_hash"],
unique=True,
postgresql_where=sa.text("label='seer' and label_type='tx_call'"),
)
op.create_index(
"uk_ronin_labels_tx_hash_tx_call_raw",
"ronin_labels",
["transaction_hash"],
unique=True,
postgresql_where=sa.text("label='seer-raw' and label_type='tx_call'"),
)
op.create_table(
"ronin_sepolia_labels",
sa.Column("id", sa.UUID(), nullable=False),
sa.Column("label", sa.VARCHAR(length=256), nullable=False),
sa.Column("transaction_hash", sa.VARCHAR(length=128), nullable=False),
sa.Column("log_index", sa.Integer(), nullable=True),
sa.Column("block_number", sa.BigInteger(), nullable=False),
sa.Column("block_hash", sa.VARCHAR(length=256), nullable=False),
sa.Column("block_timestamp", sa.BigInteger(), nullable=False),
sa.Column("caller_address", sa.LargeBinary(), nullable=True),
sa.Column("origin_address", sa.LargeBinary(), nullable=True),
sa.Column("address", sa.LargeBinary(), nullable=False),
sa.Column("label_name", sa.Text(), nullable=True),
sa.Column("label_type", sa.VARCHAR(length=64), nullable=True),
sa.Column("label_data", postgresql.JSONB(astext_type=sa.Text()), nullable=True),
sa.Column(
"created_at",
sa.DateTime(timezone=True),
server_default=sa.text("TIMEZONE('utc', statement_timestamp())"),
nullable=False,
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_ronin_sepolia_labels")),
sa.UniqueConstraint("id", name=op.f("uq_ronin_sepolia_labels_id")),
)
op.create_index(
"ix_ronin_sepolia_labels_addr_block_num",
"ronin_sepolia_labels",
["address", "block_number"],
unique=False,
)
op.create_index(
"ix_ronin_sepolia_labels_addr_block_ts",
"ronin_sepolia_labels",
["address", "block_timestamp"],
unique=False,
)
op.create_index(
op.f("ix_ronin_sepolia_labels_address"),
"ronin_sepolia_labels",
["address"],
unique=False,
)
op.create_index(
op.f("ix_ronin_sepolia_labels_block_number"),
"ronin_sepolia_labels",
["block_number"],
unique=False,
)
op.create_index(
op.f("ix_ronin_sepolia_labels_caller_address"),
"ronin_sepolia_labels",
["caller_address"],
unique=False,
)
op.create_index(
op.f("ix_ronin_sepolia_labels_label"),
"ronin_sepolia_labels",
["label"],
unique=False,
)
op.create_index(
op.f("ix_ronin_sepolia_labels_label_name"),
"ronin_sepolia_labels",
["label_name"],
unique=False,
)
op.create_index(
op.f("ix_ronin_sepolia_labels_label_type"),
"ronin_sepolia_labels",
["label_type"],
unique=False,
)
op.create_index(
op.f("ix_ronin_sepolia_labels_origin_address"),
"ronin_sepolia_labels",
["origin_address"],
unique=False,
)
op.create_index(
op.f("ix_ronin_sepolia_labels_transaction_hash"),
"ronin_sepolia_labels",
["transaction_hash"],
unique=False,
)
op.create_index(
"uk_ronin_sepolia_labels_tx_hash_log_idx_evt",
"ronin_sepolia_labels",
["transaction_hash", "log_index"],
unique=True,
postgresql_where=sa.text("label='seer' and label_type='event'"),
)
op.create_index(
"uk_ronin_sepolia_labels_tx_hash_log_idx_evt_raw",
"ronin_sepolia_labels",
["transaction_hash", "log_index"],
unique=True,
postgresql_where=sa.text("label='seer-raw' and label_type='event'"),
)
op.create_index(
"uk_ronin_sepolia_labels_tx_hash_tx_call",
"ronin_sepolia_labels",
["transaction_hash"],
unique=True,
postgresql_where=sa.text("label='seer' and label_type='tx_call'"),
)
op.create_index(
"uk_ronin_sepolia_labels_tx_hash_tx_call_raw",
"ronin_sepolia_labels",
["transaction_hash"],
unique=True,
postgresql_where=sa.text("label='seer-raw' and label_type='tx_call'"),
)


def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index(
"uk_ronin_sepolia_labels_tx_hash_tx_call_raw",
table_name="ronin_sepolia_labels",
postgresql_where=sa.text("label='seer-raw' and label_type='tx_call'"),
)
op.drop_index(
"uk_ronin_sepolia_labels_tx_hash_tx_call",
table_name="ronin_sepolia_labels",
postgresql_where=sa.text("label='seer' and label_type='tx_call'"),
)
op.drop_index(
"uk_ronin_sepolia_labels_tx_hash_log_idx_evt_raw",
table_name="ronin_sepolia_labels",
postgresql_where=sa.text("label='seer-raw' and label_type='event'"),
)
op.drop_index(
"uk_ronin_sepolia_labels_tx_hash_log_idx_evt",
table_name="ronin_sepolia_labels",
postgresql_where=sa.text("label='seer' and label_type='event'"),
)
op.drop_index(
op.f("ix_ronin_sepolia_labels_transaction_hash"),
table_name="ronin_sepolia_labels",
)
op.drop_index(
op.f("ix_ronin_sepolia_labels_origin_address"),
table_name="ronin_sepolia_labels",
)
op.drop_index(
op.f("ix_ronin_sepolia_labels_label_type"), table_name="ronin_sepolia_labels"
)
op.drop_index(
op.f("ix_ronin_sepolia_labels_label_name"), table_name="ronin_sepolia_labels"
)
op.drop_index(
op.f("ix_ronin_sepolia_labels_label"), table_name="ronin_sepolia_labels"
)
op.drop_index(
op.f("ix_ronin_sepolia_labels_caller_address"),
table_name="ronin_sepolia_labels",
)
op.drop_index(
op.f("ix_ronin_sepolia_labels_block_number"), table_name="ronin_sepolia_labels"
)
op.drop_index(
op.f("ix_ronin_sepolia_labels_address"), table_name="ronin_sepolia_labels"
)
op.drop_index(
"ix_ronin_sepolia_labels_addr_block_ts", table_name="ronin_sepolia_labels"
)
op.drop_index(
"ix_ronin_sepolia_labels_addr_block_num", table_name="ronin_sepolia_labels"
)
op.drop_table("ronin_sepolia_labels")
op.drop_index(
"uk_ronin_labels_tx_hash_tx_call_raw",
table_name="ronin_labels",
postgresql_where=sa.text("label='seer-raw' and label_type='tx_call'"),
)
op.drop_index(
"uk_ronin_labels_tx_hash_tx_call",
table_name="ronin_labels",
postgresql_where=sa.text("label='seer' and label_type='tx_call'"),
)
op.drop_index(
"uk_ronin_labels_tx_hash_log_idx_evt_raw",
table_name="ronin_labels",
postgresql_where=sa.text("label='seer-raw' and label_type='event'"),
)
op.drop_index(
"uk_ronin_labels_tx_hash_log_idx_evt",
table_name="ronin_labels",
postgresql_where=sa.text("label='seer' and label_type='event'"),
)
op.drop_index(op.f("ix_ronin_labels_transaction_hash"), table_name="ronin_labels")
op.drop_index(op.f("ix_ronin_labels_origin_address"), table_name="ronin_labels")
op.drop_index(op.f("ix_ronin_labels_label_type"), table_name="ronin_labels")
op.drop_index(op.f("ix_ronin_labels_label_name"), table_name="ronin_labels")
op.drop_index(op.f("ix_ronin_labels_label"), table_name="ronin_labels")
op.drop_index(op.f("ix_ronin_labels_caller_address"), table_name="ronin_labels")
op.drop_index(op.f("ix_ronin_labels_block_number"), table_name="ronin_labels")
op.drop_index(op.f("ix_ronin_labels_address"), table_name="ronin_labels")
op.drop_index("ix_ronin_labels_addr_block_ts", table_name="ronin_labels")
op.drop_index("ix_ronin_labels_addr_block_num", table_name="ronin_labels")
op.drop_table("ronin_labels")
# ### end Alembic commands ###
12 changes: 12 additions & 0 deletions moonstreamdb-v3/moonstreamdbv3/alembic_indexes/env.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,12 @@
PolygonLogIndex,
PolygonReorgs,
PolygonTransactionIndex,
RoninBlockIndex,
RoninReorgs,
RoninContracts,
RoninSepoliaBlockIndex,
RoninSepoliaReorgs,
RoninSepoliaContracts,
XaiBlockIndex,
XaiLogIndex,
XaiReorgs,
Expand Down Expand Up @@ -143,6 +149,12 @@ def include_symbol(tablename, schema):
B3Reorgs.__tablename__,
B3SepoliaBlockIndex.__tablename__,
B3SepoliaReorgs.__tablename__,
RoninBlockIndex.__tablename__,
RoninReorgs.__tablename__,
RoninContracts.__tablename__,
RoninSepoliaBlockIndex.__tablename__,
RoninSepoliaReorgs.__tablename__,
RoninSepoliaContracts.__tablename__,
}


Expand Down
Loading

0 comments on commit 415573a

Please sign in to comment.