Scaffold project layout, DB schema and settings
Package skeleton, pyproject/alembic config, env-driven settings (app/config.py), and the SQLAlchemy models + initial Alembic migration covering users, UTXO events, rounds/participants, round config, pending transactions, withdrawals and the audit log. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
model_config = SettingsConfigDict(env_file=".env", extra="ignore")
|
||||
|
||||
database_url: str = "sqlite+aiosqlite:///./plm_lottery.db"
|
||||
|
||||
electrum_host: str = "santantonio.sytes.net"
|
||||
electrum_port: int = 50002
|
||||
electrum_use_ssl: bool = True
|
||||
|
||||
xprv_encryption_key: str = ""
|
||||
master_key_path: str = "./master.xprv.enc"
|
||||
jwt_secret: str = ""
|
||||
jwt_algorithm: str = "HS256"
|
||||
jwt_expire_minutes: int = 60 * 24
|
||||
admin_token: str = ""
|
||||
|
||||
round_duration_seconds: int = 600
|
||||
|
||||
bet_amount_sats: int = 10 * 100_000_000
|
||||
min_amount_sats: int = 1 * 100_000_000
|
||||
confirmations_required: int = 1
|
||||
fee_rate_sat_vb: int = 1
|
||||
rbf_timeout_seconds: int = 900
|
||||
|
||||
|
||||
settings = Settings()
|
||||
Reference in New Issue
Block a user