Skip to content

Commit 43c0511

Browse files
Merge pull request #1137 from moonstream-to/add-ronin-chain
Add ronin chain models.
2 parents cb6d423 + 3242308 commit 43c0511

File tree

7 files changed

+747
-1
lines changed

7 files changed

+747
-1
lines changed

moonstreamdb-v3/moonstreamdbv3/alembic/env.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@
4848
MumbaiLabel,
4949
PolygonLabel,
5050
ProofOfPlayApexLabel,
51+
RoninLabel,
52+
RoninSaigonLabel,
5153
SepoliaLabel,
5254
StarknetLabel,
5355
StarknetSepoliaLabel,
@@ -91,6 +93,8 @@ def include_symbol(tablename, schema):
9193
ImxZkevmSepoliaLabel.__tablename__,
9294
B3Label.__tablename__,
9395
B3SepoliaLabel.__tablename__,
96+
RoninLabel.__tablename__,
97+
RoninSaigonLabel.__tablename__,
9498
}
9599

96100

Lines changed: 324 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,324 @@
1+
"""add ronin chain
2+
3+
Revision ID: e6d3c285e7cc
4+
Revises: d816689b786a
5+
Create Date: 2024-11-12 12:54:33.415972
6+
7+
"""
8+
9+
from typing import Sequence, Union
10+
11+
from alembic import op
12+
import sqlalchemy as sa
13+
from sqlalchemy.dialects import postgresql
14+
15+
# revision identifiers, used by Alembic.
16+
revision: str = "e6d3c285e7cc"
17+
down_revision: Union[str, None] = "d816689b786a"
18+
branch_labels: Union[str, Sequence[str], None] = None
19+
depends_on: Union[str, Sequence[str], None] = None
20+
21+
22+
def upgrade() -> None:
23+
# ### commands auto generated by Alembic - please adjust! ###
24+
op.create_table(
25+
"ronin_labels",
26+
sa.Column("id", sa.UUID(), nullable=False),
27+
sa.Column("label", sa.VARCHAR(length=256), nullable=False),
28+
sa.Column("transaction_hash", sa.VARCHAR(length=128), nullable=False),
29+
sa.Column("log_index", sa.Integer(), nullable=True),
30+
sa.Column("block_number", sa.BigInteger(), nullable=False),
31+
sa.Column("block_hash", sa.VARCHAR(length=256), nullable=False),
32+
sa.Column("block_timestamp", sa.BigInteger(), nullable=False),
33+
sa.Column("caller_address", sa.LargeBinary(), nullable=True),
34+
sa.Column("origin_address", sa.LargeBinary(), nullable=True),
35+
sa.Column("address", sa.LargeBinary(), nullable=False),
36+
sa.Column("label_name", sa.Text(), nullable=True),
37+
sa.Column("label_type", sa.VARCHAR(length=64), nullable=True),
38+
sa.Column("label_data", postgresql.JSONB(astext_type=sa.Text()), nullable=True),
39+
sa.Column(
40+
"created_at",
41+
sa.DateTime(timezone=True),
42+
server_default=sa.text("TIMEZONE('utc', statement_timestamp())"),
43+
nullable=False,
44+
),
45+
sa.PrimaryKeyConstraint("id", name=op.f("pk_ronin_labels")),
46+
sa.UniqueConstraint("id", name=op.f("uq_ronin_labels_id")),
47+
)
48+
op.create_index(
49+
"ix_ronin_labels_addr_block_num",
50+
"ronin_labels",
51+
["address", "block_number"],
52+
unique=False,
53+
)
54+
op.create_index(
55+
"ix_ronin_labels_addr_block_ts",
56+
"ronin_labels",
57+
["address", "block_timestamp"],
58+
unique=False,
59+
)
60+
op.create_index(
61+
op.f("ix_ronin_labels_address"), "ronin_labels", ["address"], unique=False
62+
)
63+
op.create_index(
64+
op.f("ix_ronin_labels_block_number"),
65+
"ronin_labels",
66+
["block_number"],
67+
unique=False,
68+
)
69+
op.create_index(
70+
op.f("ix_ronin_labels_caller_address"),
71+
"ronin_labels",
72+
["caller_address"],
73+
unique=False,
74+
)
75+
op.create_index(
76+
op.f("ix_ronin_labels_label"), "ronin_labels", ["label"], unique=False
77+
)
78+
op.create_index(
79+
op.f("ix_ronin_labels_label_name"), "ronin_labels", ["label_name"], unique=False
80+
)
81+
op.create_index(
82+
op.f("ix_ronin_labels_label_type"), "ronin_labels", ["label_type"], unique=False
83+
)
84+
op.create_index(
85+
op.f("ix_ronin_labels_origin_address"),
86+
"ronin_labels",
87+
["origin_address"],
88+
unique=False,
89+
)
90+
op.create_index(
91+
op.f("ix_ronin_labels_transaction_hash"),
92+
"ronin_labels",
93+
["transaction_hash"],
94+
unique=False,
95+
)
96+
op.create_index(
97+
"uk_ronin_labels_tx_hash_log_idx_evt",
98+
"ronin_labels",
99+
["transaction_hash", "log_index"],
100+
unique=True,
101+
postgresql_where=sa.text("label='seer' and label_type='event'"),
102+
)
103+
op.create_index(
104+
"uk_ronin_labels_tx_hash_log_idx_evt_raw",
105+
"ronin_labels",
106+
["transaction_hash", "log_index"],
107+
unique=True,
108+
postgresql_where=sa.text("label='seer-raw' and label_type='event'"),
109+
)
110+
op.create_index(
111+
"uk_ronin_labels_tx_hash_tx_call",
112+
"ronin_labels",
113+
["transaction_hash"],
114+
unique=True,
115+
postgresql_where=sa.text("label='seer' and label_type='tx_call'"),
116+
)
117+
op.create_index(
118+
"uk_ronin_labels_tx_hash_tx_call_raw",
119+
"ronin_labels",
120+
["transaction_hash"],
121+
unique=True,
122+
postgresql_where=sa.text("label='seer-raw' and label_type='tx_call'"),
123+
)
124+
op.create_table(
125+
"ronin_saigon_labels",
126+
sa.Column("id", sa.UUID(), nullable=False),
127+
sa.Column("label", sa.VARCHAR(length=256), nullable=False),
128+
sa.Column("transaction_hash", sa.VARCHAR(length=128), nullable=False),
129+
sa.Column("log_index", sa.Integer(), nullable=True),
130+
sa.Column("block_number", sa.BigInteger(), nullable=False),
131+
sa.Column("block_hash", sa.VARCHAR(length=256), nullable=False),
132+
sa.Column("block_timestamp", sa.BigInteger(), nullable=False),
133+
sa.Column("caller_address", sa.LargeBinary(), nullable=True),
134+
sa.Column("origin_address", sa.LargeBinary(), nullable=True),
135+
sa.Column("address", sa.LargeBinary(), nullable=False),
136+
sa.Column("label_name", sa.Text(), nullable=True),
137+
sa.Column("label_type", sa.VARCHAR(length=64), nullable=True),
138+
sa.Column("label_data", postgresql.JSONB(astext_type=sa.Text()), nullable=True),
139+
sa.Column(
140+
"created_at",
141+
sa.DateTime(timezone=True),
142+
server_default=sa.text("TIMEZONE('utc', statement_timestamp())"),
143+
nullable=False,
144+
),
145+
sa.PrimaryKeyConstraint("id", name=op.f("pk_ronin_saigon_labels")),
146+
sa.UniqueConstraint("id", name=op.f("uq_ronin_saigon_labels_id")),
147+
)
148+
op.create_index(
149+
"ix_ronin_saigon_labels_addr_block_num",
150+
"ronin_saigon_labels",
151+
["address", "block_number"],
152+
unique=False,
153+
)
154+
op.create_index(
155+
"ix_ronin_saigon_labels_addr_block_ts",
156+
"ronin_saigon_labels",
157+
["address", "block_timestamp"],
158+
unique=False,
159+
)
160+
op.create_index(
161+
op.f("ix_ronin_saigon_labels_address"),
162+
"ronin_saigon_labels",
163+
["address"],
164+
unique=False,
165+
)
166+
op.create_index(
167+
op.f("ix_ronin_saigon_labels_block_number"),
168+
"ronin_saigon_labels",
169+
["block_number"],
170+
unique=False,
171+
)
172+
op.create_index(
173+
op.f("ix_ronin_saigon_labels_caller_address"),
174+
"ronin_saigon_labels",
175+
["caller_address"],
176+
unique=False,
177+
)
178+
op.create_index(
179+
op.f("ix_ronin_saigon_labels_label"),
180+
"ronin_saigon_labels",
181+
["label"],
182+
unique=False,
183+
)
184+
op.create_index(
185+
op.f("ix_ronin_saigon_labels_label_name"),
186+
"ronin_saigon_labels",
187+
["label_name"],
188+
unique=False,
189+
)
190+
op.create_index(
191+
op.f("ix_ronin_saigon_labels_label_type"),
192+
"ronin_saigon_labels",
193+
["label_type"],
194+
unique=False,
195+
)
196+
op.create_index(
197+
op.f("ix_ronin_saigon_labels_origin_address"),
198+
"ronin_saigon_labels",
199+
["origin_address"],
200+
unique=False,
201+
)
202+
op.create_index(
203+
op.f("ix_ronin_saigon_labels_transaction_hash"),
204+
"ronin_saigon_labels",
205+
["transaction_hash"],
206+
unique=False,
207+
)
208+
op.create_index(
209+
"uk_ronin_saigon_labels_tx_hash_log_idx_evt",
210+
"ronin_saigon_labels",
211+
["transaction_hash", "log_index"],
212+
unique=True,
213+
postgresql_where=sa.text("label='seer' and label_type='event'"),
214+
)
215+
op.create_index(
216+
"uk_ronin_saigon_labels_tx_hash_log_idx_evt_raw",
217+
"ronin_saigon_labels",
218+
["transaction_hash", "log_index"],
219+
unique=True,
220+
postgresql_where=sa.text("label='seer-raw' and label_type='event'"),
221+
)
222+
op.create_index(
223+
"uk_ronin_saigon_labels_tx_hash_tx_call",
224+
"ronin_saigon_labels",
225+
["transaction_hash"],
226+
unique=True,
227+
postgresql_where=sa.text("label='seer' and label_type='tx_call'"),
228+
)
229+
op.create_index(
230+
"uk_ronin_saigon_labels_tx_hash_tx_call_raw",
231+
"ronin_saigon_labels",
232+
["transaction_hash"],
233+
unique=True,
234+
postgresql_where=sa.text("label='seer-raw' and label_type='tx_call'"),
235+
)
236+
# ### end Alembic commands ###
237+
238+
239+
def downgrade() -> None:
240+
# ### commands auto generated by Alembic - please adjust! ###
241+
op.drop_index(
242+
"uk_ronin_saigon_labels_tx_hash_tx_call_raw",
243+
table_name="ronin_saigon_labels",
244+
postgresql_where=sa.text("label='seer-raw' and label_type='tx_call'"),
245+
)
246+
op.drop_index(
247+
"uk_ronin_saigon_labels_tx_hash_tx_call",
248+
table_name="ronin_saigon_labels",
249+
postgresql_where=sa.text("label='seer' and label_type='tx_call'"),
250+
)
251+
op.drop_index(
252+
"uk_ronin_saigon_labels_tx_hash_log_idx_evt_raw",
253+
table_name="ronin_saigon_labels",
254+
postgresql_where=sa.text("label='seer-raw' and label_type='event'"),
255+
)
256+
op.drop_index(
257+
"uk_ronin_saigon_labels_tx_hash_log_idx_evt",
258+
table_name="ronin_saigon_labels",
259+
postgresql_where=sa.text("label='seer' and label_type='event'"),
260+
)
261+
op.drop_index(
262+
op.f("ix_ronin_saigon_labels_transaction_hash"),
263+
table_name="ronin_saigon_labels",
264+
)
265+
op.drop_index(
266+
op.f("ix_ronin_saigon_labels_origin_address"), table_name="ronin_saigon_labels"
267+
)
268+
op.drop_index(
269+
op.f("ix_ronin_saigon_labels_label_type"), table_name="ronin_saigon_labels"
270+
)
271+
op.drop_index(
272+
op.f("ix_ronin_saigon_labels_label_name"), table_name="ronin_saigon_labels"
273+
)
274+
op.drop_index(
275+
op.f("ix_ronin_saigon_labels_label"), table_name="ronin_saigon_labels"
276+
)
277+
op.drop_index(
278+
op.f("ix_ronin_saigon_labels_caller_address"), table_name="ronin_saigon_labels"
279+
)
280+
op.drop_index(
281+
op.f("ix_ronin_saigon_labels_block_number"), table_name="ronin_saigon_labels"
282+
)
283+
op.drop_index(
284+
op.f("ix_ronin_saigon_labels_address"), table_name="ronin_saigon_labels"
285+
)
286+
op.drop_index(
287+
"ix_ronin_saigon_labels_addr_block_ts", table_name="ronin_saigon_labels"
288+
)
289+
op.drop_index(
290+
"ix_ronin_saigon_labels_addr_block_num", table_name="ronin_saigon_labels"
291+
)
292+
op.drop_table("ronin_saigon_labels")
293+
op.drop_index(
294+
"uk_ronin_labels_tx_hash_tx_call_raw",
295+
table_name="ronin_labels",
296+
postgresql_where=sa.text("label='seer-raw' and label_type='tx_call'"),
297+
)
298+
op.drop_index(
299+
"uk_ronin_labels_tx_hash_tx_call",
300+
table_name="ronin_labels",
301+
postgresql_where=sa.text("label='seer' and label_type='tx_call'"),
302+
)
303+
op.drop_index(
304+
"uk_ronin_labels_tx_hash_log_idx_evt_raw",
305+
table_name="ronin_labels",
306+
postgresql_where=sa.text("label='seer-raw' and label_type='event'"),
307+
)
308+
op.drop_index(
309+
"uk_ronin_labels_tx_hash_log_idx_evt",
310+
table_name="ronin_labels",
311+
postgresql_where=sa.text("label='seer' and label_type='event'"),
312+
)
313+
op.drop_index(op.f("ix_ronin_labels_transaction_hash"), table_name="ronin_labels")
314+
op.drop_index(op.f("ix_ronin_labels_origin_address"), table_name="ronin_labels")
315+
op.drop_index(op.f("ix_ronin_labels_label_type"), table_name="ronin_labels")
316+
op.drop_index(op.f("ix_ronin_labels_label_name"), table_name="ronin_labels")
317+
op.drop_index(op.f("ix_ronin_labels_label"), table_name="ronin_labels")
318+
op.drop_index(op.f("ix_ronin_labels_caller_address"), table_name="ronin_labels")
319+
op.drop_index(op.f("ix_ronin_labels_block_number"), table_name="ronin_labels")
320+
op.drop_index(op.f("ix_ronin_labels_address"), table_name="ronin_labels")
321+
op.drop_index("ix_ronin_labels_addr_block_ts", table_name="ronin_labels")
322+
op.drop_index("ix_ronin_labels_addr_block_num", table_name="ronin_labels")
323+
op.drop_table("ronin_labels")
324+
# ### end Alembic commands ###

moonstreamdb-v3/moonstreamdbv3/alembic_indexes/env.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,12 @@
7474
PolygonLogIndex,
7575
PolygonReorgs,
7676
PolygonTransactionIndex,
77+
RoninBlockIndex,
78+
RoninReorgs,
79+
RoninContracts,
80+
RoninSaigonBlockIndex,
81+
RoninSaigonReorgs,
82+
RoninSaigonContracts,
7783
XaiBlockIndex,
7884
XaiLogIndex,
7985
XaiReorgs,
@@ -143,6 +149,12 @@ def include_symbol(tablename, schema):
143149
B3Reorgs.__tablename__,
144150
B3SepoliaBlockIndex.__tablename__,
145151
B3SepoliaReorgs.__tablename__,
152+
RoninBlockIndex.__tablename__,
153+
RoninReorgs.__tablename__,
154+
RoninContracts.__tablename__,
155+
RoninSaigonBlockIndex.__tablename__,
156+
RoninSaigonReorgs.__tablename__,
157+
RoninSaigonContracts.__tablename__,
146158
}
147159

148160

0 commit comments

Comments
 (0)