kopia lustrzana https://github.com/bugout-dev/moonstream
Add models.
rodzic
050e4cabba
commit
6b5dc2852c
|
@ -15,7 +15,7 @@ from sqlalchemy import (
|
|||
Text,
|
||||
UniqueConstraint,
|
||||
)
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.dialects.postgresql import UUID, JSONB
|
||||
from sqlalchemy.ext.compiler import compiles
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.sql import expression
|
||||
|
@ -103,6 +103,24 @@ class EvmBasedReorgs(Base):
|
|||
block_hash = Column(VARCHAR(256), nullable=False, index=True)
|
||||
|
||||
|
||||
class evmBasedContracts(Base):
|
||||
__abstract__ = True
|
||||
address = Column(LargeBinary(length=20), primary_key=True, nullable=False)
|
||||
bytecode = Column(Text, nullable=False)
|
||||
abi = Column(JSONB, nullable=True)
|
||||
deployed_at_block_number = Column(BigInteger, nullable=False)
|
||||
deployed_at_block_hash = Column(VARCHAR(256), nullable=False)
|
||||
deployed_at_block_timestamp = Column(BigInteger, nullable=False)
|
||||
name = Column(VARCHAR(256), nullable=True, index=True)
|
||||
statistics = Column(JSONB, nullable=True)
|
||||
created_at = Column(
|
||||
DateTime(timezone=True), server_default=utcnow(), nullable=False
|
||||
)
|
||||
updated_at = Column(
|
||||
DateTime(timezone=True), server_default=utcnow(), nullable=False
|
||||
)
|
||||
|
||||
|
||||
### Ethereum
|
||||
|
||||
|
||||
|
@ -155,6 +173,10 @@ class EthereumReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "ethereum_reorgs"
|
||||
|
||||
|
||||
class EthereumContracts(evmBasedContracts):
|
||||
__tablename__ = "ethereum_contracts"
|
||||
|
||||
|
||||
### Sepolia
|
||||
|
||||
|
||||
|
@ -211,6 +233,10 @@ class SepoliaReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "sepolia_reorgs"
|
||||
|
||||
|
||||
class SepoliaContracts(evmBasedContracts):
|
||||
__tablename__ = "sepolia_contracts"
|
||||
|
||||
|
||||
### Polygon
|
||||
|
||||
|
||||
|
@ -256,6 +282,10 @@ class PolygonReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "polygon_reorgs"
|
||||
|
||||
|
||||
class PolygonContracts(evmBasedContracts):
|
||||
__tablename__ = "polygon_contracts"
|
||||
|
||||
|
||||
### Xai
|
||||
|
||||
|
||||
|
@ -301,6 +331,10 @@ class XaiReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "xai_reorgs"
|
||||
|
||||
|
||||
class XaiContracts(evmBasedContracts):
|
||||
__tablename__ = "xai_contracts"
|
||||
|
||||
|
||||
### Xai Sepolia
|
||||
|
||||
|
||||
|
@ -350,6 +384,10 @@ class XaiSepoliaReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "xai_sepolia_reorgs"
|
||||
|
||||
|
||||
class XaiSepoliaContracts(evmBasedContracts):
|
||||
__tablename__ = "xai_sepolia_contracts"
|
||||
|
||||
|
||||
### Arbitrum One
|
||||
|
||||
|
||||
|
@ -402,6 +440,10 @@ class ArbitrumOneReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "arbitrum_one_reorgs"
|
||||
|
||||
|
||||
class ArbitrumOneContracts(evmBasedContracts):
|
||||
__tablename__ = "arbitrum_one_contracts"
|
||||
|
||||
|
||||
### Arbitrum Sepolia
|
||||
|
||||
|
||||
|
@ -454,6 +496,10 @@ class ArbitrumSepoliaReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "arbitrum_sepolia_reorgs"
|
||||
|
||||
|
||||
class ArbitrumSepoliaContracts(evmBasedContracts):
|
||||
__tablename__ = "arbitrum_sepolia_contracts"
|
||||
|
||||
|
||||
### Game7 Orbit Arbitrum Sepolia
|
||||
|
||||
|
||||
|
@ -512,6 +558,10 @@ class Game7OrbitArbitrumSepoliaReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "game7_orbit_arbitrum_sepolia_reorgs"
|
||||
|
||||
|
||||
class Game7OrbitArbitrumSepoliaContracts(evmBasedContracts):
|
||||
__tablename__ = "game7_orbit_arbitrum_sepolia_contracts"
|
||||
|
||||
|
||||
### Mantle
|
||||
|
||||
|
||||
|
@ -562,6 +612,10 @@ class MantleReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "mantle_reorgs"
|
||||
|
||||
|
||||
class MantleContracts(evmBasedContracts):
|
||||
__tablename__ = "mantle_contracts"
|
||||
|
||||
|
||||
### Mantle Sepolia
|
||||
|
||||
|
||||
|
@ -617,6 +671,10 @@ class MantleSepoliaReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "mantle_sepolia_reorgs"
|
||||
|
||||
|
||||
class MantleSepoliaContracts(evmBasedContracts):
|
||||
__tablename__ = "mantle_sepolia_contracts"
|
||||
|
||||
|
||||
### Immutable zkEvm
|
||||
|
||||
|
||||
|
@ -672,6 +730,10 @@ class ImxZkevmReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "imx_zkevm_reorgs"
|
||||
|
||||
|
||||
class ImxZkevmContracts(evmBasedContracts):
|
||||
__tablename__ = "imx_zkevm_contracts"
|
||||
|
||||
|
||||
### Immutable zkEvm Sepolia
|
||||
|
||||
|
||||
|
@ -727,6 +789,13 @@ class ImxZkevmSepoliaReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "imx_zkevm_sepolia_reorgs"
|
||||
|
||||
|
||||
class ImxZkevmSepoliaContracts(evmBasedContracts):
|
||||
__tablename__ = "imx_zkevm_sepolia_contracts"
|
||||
|
||||
|
||||
### Game7 Testnet
|
||||
|
||||
|
||||
class Game7TestnetBlockIndex(EvmBasedBlocks):
|
||||
__tablename__ = "game7_testnet_blocks"
|
||||
|
||||
|
@ -775,6 +844,10 @@ class Game7TestnetReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "game7_testnet_reorgs"
|
||||
|
||||
|
||||
class Game7TestnetContracts(evmBasedContracts):
|
||||
__tablename__ = "game7_testnet_contracts"
|
||||
|
||||
|
||||
class B3BlockIndex(EvmBasedBlocks):
|
||||
__tablename__ = "b3_blocks"
|
||||
|
||||
|
@ -783,6 +856,10 @@ class B3Reorgs(EvmBasedReorgs):
|
|||
__tablename__ = "b3_reorgs"
|
||||
|
||||
|
||||
class B3Contracts(evmBasedContracts):
|
||||
__tablename__ = "b3_contracts"
|
||||
|
||||
|
||||
class B3SepoliaBlockIndex(EvmBasedBlocks):
|
||||
__tablename__ = "b3_sepolia_blocks"
|
||||
|
||||
|
@ -791,6 +868,10 @@ class B3SepoliaReorgs(EvmBasedReorgs):
|
|||
__tablename__ = "b3_sepolia_reorgs"
|
||||
|
||||
|
||||
class B3SepoliaContracts(evmBasedContracts):
|
||||
__tablename__ = "b3_sepolia_contracts"
|
||||
|
||||
|
||||
### ABI Jobs
|
||||
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue