From d85870b525f21c20349358a466cae2431ca8d8eb Mon Sep 17 00:00:00 2001 From: kompotkot Date: Sat, 30 Mar 2024 09:49:05 +0300 Subject: [PATCH] Starknet models --- moonstreamdb-v3/alembic.sample.ini | 2 +- moonstreamdb-v3/moonstreamdbv3/models.py | 122 ++++++++++++++++++++++- 2 files changed, 120 insertions(+), 4 deletions(-) diff --git a/moonstreamdb-v3/alembic.sample.ini b/moonstreamdb-v3/alembic.sample.ini index c10d4ca0..055dec4a 100644 --- a/moonstreamdb-v3/alembic.sample.ini +++ b/moonstreamdb-v3/alembic.sample.ini @@ -2,7 +2,7 @@ [alembic] # path to migration scripts -script_location = alembic +script_location = moonstreamdbv3/alembic # template used to generate migration file names; The default value is %%(rev)s_%%(slug)s # Uncomment the line below if you want the files to be prepended with date and time diff --git a/moonstreamdb-v3/moonstreamdbv3/models.py b/moonstreamdb-v3/moonstreamdbv3/models.py index efdfc7e8..d5fa0366 100644 --- a/moonstreamdb-v3/moonstreamdbv3/models.py +++ b/moonstreamdb-v3/moonstreamdbv3/models.py @@ -127,6 +127,12 @@ class EthereumLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_ethereum_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -140,6 +146,12 @@ class SepoliaLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_sepolia_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -153,6 +165,12 @@ class PolygonLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_polygon_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -166,6 +184,12 @@ class MumbaiLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_mumbai_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -179,6 +203,12 @@ class XDaiLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_xdai_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -192,6 +222,12 @@ class WyrmLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_wyrm_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -205,19 +241,31 @@ class ZkSyncEraLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_zksync_era_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) -class ZkSyncEraTestnetLabel(EvmBasedLabel): # type: ignore - __tablename__ = "zksync_era_testnet_labels" +class ZkSyncEraSepoliaLabel(EvmBasedLabel): # type: ignore + __tablename__ = "zksync_era_sepolia_labels" __table_args__ = ( Index( - "ix_zksync_era_testnet_labels_addr_block_num", + "ix_zksync_era_sepolia_labels_addr_block_num", "address", "block_number", unique=False, ), + Index( + "ix_zksync_era_sepolia_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -231,6 +279,12 @@ class BaseLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_base_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -244,6 +298,12 @@ class ArbitrumNovaLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_arbitrum_nova_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -257,6 +317,12 @@ class ArbitrumSepoliaLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_arbitrum_sepolia_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -270,6 +336,12 @@ class XaiLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_xai_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), ) @@ -283,4 +355,48 @@ class XaiSepoliaLabel(EvmBasedLabel): # type: ignore "block_number", unique=False, ), + Index( + "ix_xai_sepolia_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), + ) + + +class StarknetLabel(EvmBasedLabel): # type: ignore + __tablename__ = "starknet_labels" + + __table_args__ = ( + Index( + "ix_starknet_labels_addr_block_num", + "address", + "block_number", + unique=False, + ), + Index( + "ix_starknet_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), + ) + + +class StarknetSepoliaLabel(EvmBasedLabel): # type: ignore + __tablename__ = "starknet_sepolia_labels" + + __table_args__ = ( + Index( + "ix_starknet_sepolia_labels_addr_block_num", + "address", + "block_number", + unique=False, + ), + Index( + "ix_starknet_sepolia_labels_addr_block_ts", + "address", + "block_timestamp", + unique=False, + ), )