1- '''
1+ """
22[](https://mermaid-js.github.io/mermaid-live-editor/edit#pako:eNp9VMtuwjAQ_BXLpz7gB3Ks4NBTD1CVA1K02Eti4diRHxQU5d_rPAiJA80pnhl7Z8ebVJRpjjShTIK1KwGZgWKvSHh-QEp05G25JCu0zIjSadNR93VLb9rFbNcT-Hu7--rAThCBI-V2N9M1UAe2hnt11UGEvG-cESojCgocsIPWkpRGnMFhesKrTVHBQSKPd1mcY2Wo8qsNTy3Ivpd6bOAeRTUtCMyJc2RCKIdGgYyL8CjfwAQpUXhxqVAcLw8Kd6FUkw0j7air0TXEaA42nzEu5DSAHyL7DCczrY7CFKN8esKrOQWcG7T25XWwPTbeXPXUtrsIPgHO2rsJkKPIchfXhkJ75aYRS81ONyv1jeqesYnt7h8LfRCH5qxJQs-ttFon4qkzWEpg2EzbQKyVLwgLGWfaXJ-3_bjHgDbKI_bn1XRBCzQFCB4-4ranPXU5BiM0Ca8cj-DD4NK9aqS-5KHwmoswajQ5grS4oOCd3lwVo4kzHm-i_l_Qq-o_ZgxJhg)
33
44
5- '''
5+ """
66
77from flask_sqlalchemy import SQLAlchemy
88from embit .descriptor import Descriptor as EmbitDescriptor
2020class NoNameMeta (BindMetaMixin , DeclarativeMeta ):
2121 pass
2222
23+
2324CustomModel = declarative_base (cls = Model , metaclass = NoNameMeta , name = "Model" )
2425
2526db = SQLAlchemy (model_class = CustomModel )
26- #db = SQLAlchemy()
27+ # db = SQLAlchemy()
2728
2829
2930class SpectrumModel (db .Model ):
3031 __abstract__ = True
32+
3133 @declared_attr
3234 def __tablename__ (cls ):
33- return ' spectrum_' + snake_case2camelcase (cls .__name__ )
35+ return " spectrum_" + snake_case2camelcase (cls .__name__ )
3436
3537
3638class TxCategory (Enum ):
@@ -68,8 +70,11 @@ def get_keypool(self, internal=False):
6870
6971class Descriptor (SpectrumModel ):
7072 """Descriptors tracked by the wallet"""
73+
7174 id = db .Column (db .Integer , primary_key = True )
72- wallet_id = db .Column (db .Integer , db .ForeignKey (f"{ Wallet .__tablename__ } .id" ), nullable = False )
75+ wallet_id = db .Column (
76+ db .Integer , db .ForeignKey (f"{ Wallet .__tablename__ } .id" ), nullable = False
77+ )
7378 wallet = db .relationship ("Wallet" , backref = db .backref ("descriptors" , lazy = True ))
7479 # if we should use this descriptor for new addresses
7580 active = db .Column (db .Boolean , default = True )
@@ -109,11 +114,16 @@ def get_descriptor(self, index=None):
109114# We store script pubkeys instead of addresses as database is chain-agnostic
110115class Script (SpectrumModel ):
111116 id = db .Column (db .Integer , primary_key = True )
112- wallet_id = db .Column (db .Integer , db .ForeignKey (f"{ Wallet .__tablename__ } .id" ), nullable = False )
117+ wallet_id = db .Column (
118+ db .Integer , db .ForeignKey (f"{ Wallet .__tablename__ } .id" ), nullable = False
119+ )
113120 wallet = db .relationship ("Wallet" , backref = db .backref ("scripts" , lazy = True ))
114121 # this must be nullable as we may need to label external scripts
115122 descriptor_id = db .Column (
116- db .Integer , db .ForeignKey (f"{ Descriptor .__tablename__ } .id" ), nullable = True , default = None
123+ db .Integer ,
124+ db .ForeignKey (f"{ Descriptor .__tablename__ } .id" ),
125+ nullable = True ,
126+ default = None ,
117127 )
118128 descriptor = db .relationship ("Descriptor" , backref = db .backref ("scripts" , lazy = True ))
119129 # derivation index if it's our address
@@ -138,7 +148,7 @@ def script_pubkey(self):
138148 return EmbitScript (bytes .fromhex (self .script ))
139149
140150
141- class UTXO ( SpectrumModel ):
151+ class UTXO (SpectrumModel ):
142152 id = db .Column (db .Integer , primary_key = True )
143153 txid = db .Column (db .String (64 ))
144154 vout = db .Column (db .Integer )
@@ -150,11 +160,13 @@ class UTXO( SpectrumModel):
150160 # refs
151161 script_id = db .Column (db .Integer , db .ForeignKey (f"{ Script .__tablename__ } .id" ))
152162 script = db .relationship ("Script" , backref = db .backref ("utxos" , lazy = True ))
153- wallet_id = db .Column (db .Integer , db .ForeignKey (f"{ Wallet .__tablename__ } .id" ), nullable = False )
163+ wallet_id = db .Column (
164+ db .Integer , db .ForeignKey (f"{ Wallet .__tablename__ } .id" ), nullable = False
165+ )
154166 wallet = db .relationship ("Wallet" , backref = db .backref ("utxos" , lazy = True ))
155167
156168
157- class Tx ( SpectrumModel ):
169+ class Tx (SpectrumModel ):
158170 id = db .Column (db .Integer , primary_key = True )
159171 txid = db .Column (db .String (64 ))
160172 blockhash = db .Column (db .String (64 ), default = None )
@@ -168,7 +180,9 @@ class Tx( SpectrumModel):
168180 # refs
169181 script_id = db .Column (db .Integer , db .ForeignKey (f"{ Script .__tablename__ } .id" ))
170182 script = db .relationship ("Script" , backref = db .backref ("txs" , lazy = True ))
171- wallet_id = db .Column (db .Integer , db .ForeignKey (f"{ Wallet .__tablename__ } .id" ), nullable = False )
183+ wallet_id = db .Column (
184+ db .Integer , db .ForeignKey (f"{ Wallet .__tablename__ } .id" ), nullable = False
185+ )
172186 wallet = db .relationship ("Wallet" , backref = db .backref ("txs" , lazy = True ))
173187
174188 def to_dict (self , blockheight , network ):
0 commit comments