mirror of
https://github.com/aljazceru/nutshell.git
synced 2025-12-20 18:44:20 +01:00
Python/relative_import (#186)
* relative import all the things * make format * add __init__.py to cli/ * fix mypy errors * get rid of more mypy * mypy fix crud.py * fix another mypy error
This commit is contained in:
@@ -5,8 +5,8 @@ from typing import Any, Dict, List, Optional, TypedDict, Union
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from cashu.core.crypto import derive_keys, derive_keyset_id, derive_pubkeys
|
||||
from cashu.core.secp import PrivateKey, PublicKey
|
||||
from ..core.crypto import derive_keys, derive_keyset_id, derive_pubkeys
|
||||
from ..core.secp import PrivateKey, PublicKey
|
||||
|
||||
# ------- PROOFS -------
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ import base64
|
||||
import hashlib
|
||||
from typing import Dict, List
|
||||
|
||||
from cashu.core.secp import PrivateKey, PublicKey
|
||||
from cashu.core.settings import settings
|
||||
from ..core.secp import PrivateKey, PublicKey
|
||||
from ..core.settings import settings
|
||||
|
||||
# entropy = bytes([random.getrandbits(8) for i in range(16)])
|
||||
# mnemonic = bip39.mnemonic_from_bytes(entropy)
|
||||
|
||||
@@ -2,8 +2,8 @@ import asyncio
|
||||
from functools import partial, wraps
|
||||
from typing import List
|
||||
|
||||
from cashu.core.base import Proof
|
||||
from cashu.core.settings import settings
|
||||
from ..core.base import Proof
|
||||
from ..core.settings import settings
|
||||
|
||||
|
||||
def sum_proofs(proofs: List[Proof]):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import re
|
||||
|
||||
from cashu.core.db import COCKROACH, POSTGRES, SQLITE, Database
|
||||
from ..core.db import COCKROACH, POSTGRES, SQLITE, Database
|
||||
|
||||
|
||||
def table_with_schema(db, table: str):
|
||||
@@ -35,6 +35,7 @@ async def migrate_databases(db: Database, migrations_module):
|
||||
await set_migration_version(conn, db_name, version)
|
||||
|
||||
async with db.connect() as conn:
|
||||
exists = None
|
||||
if conn.type == SQLITE:
|
||||
exists = await conn.fetchone(
|
||||
f"SELECT * FROM sqlite_master WHERE type='table' AND name='{table_with_schema(db, 'dbversions')}'"
|
||||
|
||||
@@ -4,8 +4,7 @@ import random
|
||||
from datetime import datetime
|
||||
from typing import AsyncGenerator, Dict, Optional, Set
|
||||
|
||||
from cashu.core.bolt11 import Invoice, decode, encode
|
||||
|
||||
from ..core.bolt11 import Invoice, decode, encode
|
||||
from .base import (
|
||||
InvoiceResponse,
|
||||
PaymentResponse,
|
||||
|
||||
@@ -3,8 +3,7 @@ from typing import Dict, Optional
|
||||
|
||||
import requests
|
||||
|
||||
from cashu.core.settings import settings
|
||||
|
||||
from ..core.settings import settings
|
||||
from .base import (
|
||||
InvoiceResponse,
|
||||
PaymentResponse,
|
||||
@@ -110,7 +109,6 @@ class LNbitsWallet(Wallet):
|
||||
|
||||
async def get_invoice_status(self, checking_id: str) -> PaymentStatus:
|
||||
try:
|
||||
|
||||
r = self.s.get(
|
||||
url=f"{self.endpoint}/api/v1/payments/{checking_id}",
|
||||
headers=self.key,
|
||||
|
||||
@@ -7,8 +7,7 @@ from starlette.middleware import Middleware
|
||||
from starlette.middleware.base import BaseHTTPMiddleware
|
||||
from starlette.middleware.cors import CORSMiddleware
|
||||
|
||||
from cashu.core.settings import settings
|
||||
|
||||
from ..core.settings import settings
|
||||
from .router import router
|
||||
from .startup import start_mint_init
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import time
|
||||
from typing import Any, List, Optional
|
||||
|
||||
from cashu.core.base import Invoice, MintKeyset, Proof
|
||||
from cashu.core.db import Connection, Database
|
||||
from cashu.core.migrations import table_with_schema
|
||||
from ..core.base import Invoice, MintKeyset, Proof
|
||||
from ..core.db import Connection, Database
|
||||
from ..core.migrations import table_with_schema
|
||||
|
||||
|
||||
class LedgerCrud:
|
||||
@@ -14,48 +14,37 @@ class LedgerCrud:
|
||||
"""
|
||||
|
||||
async def get_keyset(*args, **kwags):
|
||||
|
||||
return await get_keyset(*args, **kwags)
|
||||
return await get_keyset(*args, **kwags) # type: ignore
|
||||
|
||||
async def get_lightning_invoice(*args, **kwags):
|
||||
|
||||
return await get_lightning_invoice(*args, **kwags)
|
||||
return await get_lightning_invoice(*args, **kwags) # type: ignore
|
||||
|
||||
async def get_proofs_used(*args, **kwags):
|
||||
|
||||
return await get_proofs_used(*args, **kwags)
|
||||
return await get_proofs_used(*args, **kwags) # type: ignore
|
||||
|
||||
async def invalidate_proof(*args, **kwags):
|
||||
|
||||
return await invalidate_proof(*args, **kwags)
|
||||
return await invalidate_proof(*args, **kwags) # type: ignore
|
||||
|
||||
async def get_proofs_pending(*args, **kwags):
|
||||
|
||||
return await get_proofs_pending(*args, **kwags)
|
||||
return await get_proofs_pending(*args, **kwags) # type: ignore
|
||||
|
||||
async def set_proof_pending(*args, **kwags):
|
||||
|
||||
return await set_proof_pending(*args, **kwags)
|
||||
return await set_proof_pending(*args, **kwags) # type: ignore
|
||||
|
||||
async def unset_proof_pending(*args, **kwags):
|
||||
|
||||
return await unset_proof_pending(*args, **kwags)
|
||||
return await unset_proof_pending(*args, **kwags) # type: ignore
|
||||
|
||||
async def store_keyset(*args, **kwags):
|
||||
|
||||
return await store_keyset(*args, **kwags)
|
||||
return await store_keyset(*args, **kwags) # type: ignore
|
||||
|
||||
async def store_lightning_invoice(*args, **kwags):
|
||||
|
||||
return await store_lightning_invoice(*args, **kwags)
|
||||
return await store_lightning_invoice(*args, **kwags) # type: ignore
|
||||
|
||||
async def store_promise(*args, **kwags):
|
||||
|
||||
return await store_promise(*args, **kwags)
|
||||
return await store_promise(*args, **kwags) # type: ignore
|
||||
|
||||
async def update_lightning_invoice(*args, **kwags):
|
||||
|
||||
return await update_lightning_invoice(*args, **kwags)
|
||||
return await update_lightning_invoice(*args, **kwags) # type: ignore
|
||||
|
||||
|
||||
async def store_promise(
|
||||
@@ -65,7 +54,6 @@ async def store_promise(
|
||||
C_: str,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
await (conn or db).execute(
|
||||
f"""
|
||||
INSERT INTO {table_with_schema(db, 'promises')}
|
||||
@@ -84,7 +72,6 @@ async def get_proofs_used(
|
||||
db: Database,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
rows = await (conn or db).fetchall(
|
||||
f"""
|
||||
SELECT secret from {table_with_schema(db, 'proofs_used')}
|
||||
@@ -98,7 +85,6 @@ async def invalidate_proof(
|
||||
proof: Proof,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
# we add the proof and secret to the used list
|
||||
await (conn or db).execute(
|
||||
f"""
|
||||
@@ -118,7 +104,6 @@ async def get_proofs_pending(
|
||||
db: Database,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
rows = await (conn or db).fetchall(
|
||||
f"""
|
||||
SELECT * from {table_with_schema(db, 'proofs_pending')}
|
||||
@@ -132,7 +117,6 @@ async def set_proof_pending(
|
||||
proof: Proof,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
# we add the proof and secret to the used list
|
||||
await (conn or db).execute(
|
||||
f"""
|
||||
@@ -153,7 +137,6 @@ async def unset_proof_pending(
|
||||
db: Database,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
await (conn or db).execute(
|
||||
f"""
|
||||
DELETE FROM {table_with_schema(db, 'proofs_pending')}
|
||||
@@ -168,7 +151,6 @@ async def store_lightning_invoice(
|
||||
invoice: Invoice,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
await (conn or db).execute(
|
||||
f"""
|
||||
INSERT INTO {table_with_schema(db, 'invoices')}
|
||||
@@ -189,7 +171,6 @@ async def get_lightning_invoice(
|
||||
hash: str,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
row = await (conn or db).fetchone(
|
||||
f"""
|
||||
SELECT * from {table_with_schema(db, 'invoices')}
|
||||
@@ -220,7 +201,6 @@ async def store_keyset(
|
||||
keyset: MintKeyset,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
await (conn or db).execute( # type: ignore
|
||||
f"""
|
||||
INSERT INTO {table_with_schema(db, 'keysets')}
|
||||
@@ -241,7 +221,7 @@ async def store_keyset(
|
||||
|
||||
async def get_keyset(
|
||||
db: Database,
|
||||
id: str = None,
|
||||
id: str = "",
|
||||
derivation_path: str = "",
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
@@ -3,10 +3,10 @@ from typing import Dict, List, Literal, Optional, Set, Union
|
||||
|
||||
from loguru import logger
|
||||
|
||||
import cashu.core.b_dhke as b_dhke
|
||||
import cashu.core.bolt11 as bolt11
|
||||
import cashu.core.legacy as legacy
|
||||
from cashu.core.base import (
|
||||
from ..core import b_dhke as b_dhke
|
||||
from ..core import bolt11 as bolt11
|
||||
from ..core import legacy as legacy
|
||||
from ..core.base import (
|
||||
BlindedMessage,
|
||||
BlindedSignature,
|
||||
Invoice,
|
||||
@@ -14,15 +14,15 @@ from cashu.core.base import (
|
||||
MintKeysets,
|
||||
Proof,
|
||||
)
|
||||
from cashu.core.crypto import derive_pubkey
|
||||
from cashu.core.db import Database
|
||||
from cashu.core.helpers import fee_reserve, sum_proofs
|
||||
from cashu.core.script import verify_script
|
||||
from cashu.core.secp import PublicKey
|
||||
from cashu.core.settings import settings
|
||||
from cashu.core.split import amount_split
|
||||
from cashu.lightning.base import Wallet
|
||||
from cashu.mint.crud import LedgerCrud
|
||||
from ..core.crypto import derive_pubkey
|
||||
from ..core.db import Database
|
||||
from ..core.helpers import fee_reserve, sum_proofs
|
||||
from ..core.script import verify_script
|
||||
from ..core.secp import PublicKey
|
||||
from ..core.settings import settings
|
||||
from ..core.split import amount_split
|
||||
from ..lightning.base import Wallet
|
||||
from ..mint.crud import LedgerCrud
|
||||
|
||||
|
||||
class Ledger:
|
||||
@@ -449,6 +449,7 @@ class Ledger:
|
||||
invoice_amount: int,
|
||||
ln_fee_msat: int,
|
||||
outputs: List[BlindedMessage],
|
||||
keyset: Optional[MintKeyset] = None,
|
||||
):
|
||||
"""Generates a set of new promises (blinded signatures) from a set of blank outputs
|
||||
(outputs with no or ignored amount) by looking at the difference between the Lightning
|
||||
@@ -497,7 +498,7 @@ class Ledger:
|
||||
outputs[i].amount = return_amounts_sorted[i]
|
||||
if not self._verify_no_duplicate_outputs(outputs):
|
||||
raise Exception("duplicate promises.")
|
||||
return_promises = await self._generate_promises(outputs)
|
||||
return_promises = await self._generate_promises(outputs, keyset)
|
||||
return return_promises
|
||||
else:
|
||||
return []
|
||||
|
||||
@@ -4,7 +4,7 @@ import click
|
||||
import uvicorn
|
||||
from click import Context
|
||||
|
||||
from cashu.core.settings import settings
|
||||
from ..core.settings import settings
|
||||
|
||||
|
||||
@click.command(
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from cashu.core.db import Database
|
||||
from cashu.core.migrations import table_with_schema
|
||||
from ..core.db import Database
|
||||
from ..core.migrations import table_with_schema
|
||||
|
||||
|
||||
async def m000_create_migrations_table(db):
|
||||
|
||||
@@ -3,7 +3,7 @@ from typing import Dict, List, Union
|
||||
from fastapi import APIRouter
|
||||
from secp256k1 import PublicKey
|
||||
|
||||
from cashu.core.base import (
|
||||
from ..core.base import (
|
||||
BlindedMessage,
|
||||
BlindedSignature,
|
||||
CheckFeesRequest,
|
||||
@@ -21,9 +21,9 @@ from cashu.core.base import (
|
||||
PostSplitRequest,
|
||||
PostSplitResponse,
|
||||
)
|
||||
from cashu.core.errors import CashuError
|
||||
from cashu.core.settings import settings
|
||||
from cashu.mint.startup import ledger
|
||||
from ..core.errors import CashuError
|
||||
from ..core.settings import settings
|
||||
from ..mint.startup import ledger
|
||||
|
||||
router: APIRouter = APIRouter()
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@ import importlib
|
||||
|
||||
from loguru import logger
|
||||
|
||||
from cashu.core.db import Database
|
||||
from cashu.core.migrations import migrate_databases
|
||||
from cashu.core.settings import settings
|
||||
from cashu.lightning.fake import FakeWallet # type: ignore
|
||||
from cashu.lightning.lnbits import LNbitsWallet # type: ignore
|
||||
from cashu.mint import migrations
|
||||
from cashu.mint.ledger import Ledger
|
||||
from ..core.db import Database
|
||||
from ..core.migrations import migrate_databases
|
||||
from ..core.settings import settings
|
||||
from ..lightning.fake import FakeWallet # type: ignore
|
||||
from ..lightning.lnbits import LNbitsWallet # type: ignore
|
||||
from ..mint import migrations
|
||||
from ..mint.ledger import Ledger
|
||||
|
||||
logger.debug("Enviroment Settings:")
|
||||
for key, value in settings.dict().items():
|
||||
|
||||
@@ -4,7 +4,7 @@ sys.tracebacklimit = None # type: ignore
|
||||
|
||||
from loguru import logger
|
||||
|
||||
from cashu.core.settings import settings
|
||||
from ..core.settings import settings
|
||||
|
||||
# configure logger
|
||||
logger.remove()
|
||||
|
||||
0
cashu/wallet/cli/__init__.py
Normal file
0
cashu/wallet/cli/__init__.py
Normal file
@@ -18,21 +18,20 @@ import click
|
||||
from click import Context
|
||||
from loguru import logger
|
||||
|
||||
from cashu.core.base import Proof, TokenV1, TokenV2, TokenV3
|
||||
from cashu.core.helpers import sum_proofs
|
||||
from cashu.core.migrations import migrate_databases
|
||||
from cashu.core.settings import settings
|
||||
from cashu.nostr.nostr.client.client import NostrClient
|
||||
from cashu.tor.tor import TorProxy
|
||||
from cashu.wallet import migrations
|
||||
from cashu.wallet.crud import (
|
||||
from ...core.base import Proof, TokenV1, TokenV2, TokenV3
|
||||
from ...core.helpers import sum_proofs
|
||||
from ...core.migrations import migrate_databases
|
||||
from ...core.settings import settings
|
||||
from ...nostr.nostr.client.client import NostrClient
|
||||
from ...tor.tor import TorProxy
|
||||
from ...wallet import migrations
|
||||
from ...wallet.crud import (
|
||||
get_keyset,
|
||||
get_lightning_invoices,
|
||||
get_reserved_proofs,
|
||||
get_unused_locks,
|
||||
)
|
||||
from cashu.wallet.wallet import Wallet as Wallet
|
||||
|
||||
from ...wallet.wallet import Wallet as Wallet
|
||||
from .cli_helpers import (
|
||||
get_mint_wallet,
|
||||
print_mint_balances,
|
||||
|
||||
@@ -6,7 +6,7 @@ import click
|
||||
from click import Context
|
||||
from loguru import logger
|
||||
|
||||
from cashu.core.base import (
|
||||
from ...core.base import (
|
||||
Proof,
|
||||
TokenV1,
|
||||
TokenV2,
|
||||
@@ -15,10 +15,10 @@ from cashu.core.base import (
|
||||
TokenV3Token,
|
||||
WalletKeyset,
|
||||
)
|
||||
from cashu.core.helpers import sum_proofs
|
||||
from cashu.core.settings import settings
|
||||
from cashu.wallet.crud import get_keyset
|
||||
from cashu.wallet.wallet import Wallet as Wallet
|
||||
from ...core.helpers import sum_proofs
|
||||
from ...core.settings import settings
|
||||
from ...wallet.crud import get_keyset
|
||||
from ...wallet.wallet import Wallet as Wallet
|
||||
|
||||
|
||||
async def verify_mint(mint_wallet: Wallet, url: str):
|
||||
|
||||
@@ -6,16 +6,13 @@ import click
|
||||
from click import Context
|
||||
from requests.exceptions import ConnectionError
|
||||
|
||||
from cashu.core.settings import settings
|
||||
from cashu.nostr.nostr.client.client import NostrClient
|
||||
from cashu.nostr.nostr.event import Event
|
||||
from cashu.nostr.nostr.key import PublicKey
|
||||
from cashu.wallet.cli.cli_helpers import get_mint_wallet
|
||||
from cashu.wallet.crud import (
|
||||
get_nostr_last_check_timestamp,
|
||||
set_nostr_last_check_timestamp,
|
||||
)
|
||||
from cashu.wallet.wallet import Wallet
|
||||
from ...core.settings import settings
|
||||
from ...nostr.nostr.client.client import NostrClient
|
||||
from ...nostr.nostr.event import Event
|
||||
from ...nostr.nostr.key import PublicKey
|
||||
from ..crud import get_nostr_last_check_timestamp, set_nostr_last_check_timestamp
|
||||
from ..wallet import Wallet
|
||||
from .cli_helpers import get_mint_wallet
|
||||
|
||||
|
||||
async def nip5_to_pubkey(wallet: Wallet, address: str):
|
||||
@@ -113,7 +110,7 @@ async def receive_nostr(ctx: Context, verbose: bool):
|
||||
)
|
||||
try:
|
||||
# call the receive method
|
||||
from cashu.wallet.cli.cli import receive
|
||||
from ...wallet.cli.cli import receive
|
||||
|
||||
asyncio.run(receive(ctx, decrypted_content, ""))
|
||||
except Exception as e:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import time
|
||||
from typing import Any, List, Optional
|
||||
|
||||
from cashu.core.base import Invoice, KeyBase, P2SHScript, Proof, WalletKeyset
|
||||
from cashu.core.db import Connection, Database
|
||||
from ..core.base import Invoice, KeyBase, P2SHScript, Proof, WalletKeyset
|
||||
from ..core.db import Connection, Database
|
||||
|
||||
|
||||
async def store_proof(
|
||||
@@ -10,7 +10,6 @@ async def store_proof(
|
||||
db: Database,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
await (conn or db).execute(
|
||||
"""
|
||||
INSERT INTO proofs
|
||||
@@ -25,7 +24,6 @@ async def get_proofs(
|
||||
db: Database,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
rows = await (conn or db).fetchall(
|
||||
"""
|
||||
SELECT * from proofs
|
||||
@@ -38,7 +36,6 @@ async def get_reserved_proofs(
|
||||
db: Database,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
rows = await (conn or db).fetchall(
|
||||
"""
|
||||
SELECT * from proofs
|
||||
@@ -53,7 +50,6 @@ async def invalidate_proof(
|
||||
db: Database,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
await (conn or db).execute(
|
||||
f"""
|
||||
DELETE FROM proofs
|
||||
@@ -75,8 +71,8 @@ async def invalidate_proof(
|
||||
async def update_proof_reserved(
|
||||
proof: Proof,
|
||||
reserved: bool,
|
||||
send_id: str = None,
|
||||
db: Database = None,
|
||||
send_id: str = "",
|
||||
db: Optional[Database] = None,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
clauses = []
|
||||
@@ -104,7 +100,6 @@ async def secret_used(
|
||||
db: Database,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
rows = await (conn or db).fetchone(
|
||||
"""
|
||||
SELECT * from proofs
|
||||
@@ -120,7 +115,6 @@ async def store_p2sh(
|
||||
db: Database,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
await (conn or db).execute(
|
||||
"""
|
||||
INSERT INTO p2sh
|
||||
@@ -137,11 +131,10 @@ async def store_p2sh(
|
||||
|
||||
|
||||
async def get_unused_locks(
|
||||
address: str = None,
|
||||
db: Database = None,
|
||||
address: str = "",
|
||||
db: Optional[Database] = None,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
clause: List[str] = []
|
||||
args: List[str] = []
|
||||
|
||||
@@ -168,7 +161,7 @@ async def get_unused_locks(
|
||||
async def update_p2sh_used(
|
||||
p2sh: P2SHScript,
|
||||
used: bool,
|
||||
db: Database = None,
|
||||
db: Optional[Database] = None,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
clauses = []
|
||||
@@ -184,11 +177,10 @@ async def update_p2sh_used(
|
||||
|
||||
async def store_keyset(
|
||||
keyset: WalletKeyset,
|
||||
mint_url: str = None,
|
||||
db: Database = None,
|
||||
mint_url: str = "",
|
||||
db: Optional[Database] = None,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
await (conn or db).execute( # type: ignore
|
||||
"""
|
||||
INSERT INTO keysets
|
||||
@@ -209,7 +201,7 @@ async def store_keyset(
|
||||
async def get_keyset(
|
||||
id: str = "",
|
||||
mint_url: str = "",
|
||||
db: Database = None,
|
||||
db: Optional[Database] = None,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
clauses = []
|
||||
@@ -241,7 +233,6 @@ async def store_lightning_invoice(
|
||||
invoice: Invoice,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
await (conn or db).execute(
|
||||
f"""
|
||||
INSERT INTO invoices
|
||||
@@ -262,7 +253,7 @@ async def store_lightning_invoice(
|
||||
|
||||
async def get_lightning_invoice(
|
||||
db: Database,
|
||||
hash: str = None,
|
||||
hash: str = "",
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
clauses = []
|
||||
@@ -287,7 +278,7 @@ async def get_lightning_invoice(
|
||||
|
||||
async def get_lightning_invoices(
|
||||
db: Database,
|
||||
paid: bool = None,
|
||||
paid: Optional[bool] = None,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
clauses: List[Any] = []
|
||||
@@ -315,7 +306,7 @@ async def update_lightning_invoice(
|
||||
db: Database,
|
||||
hash: str,
|
||||
paid: bool,
|
||||
time_paid: int = None,
|
||||
time_paid: Optional[int] = None,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
clauses = []
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from cashu.core.db import Database
|
||||
from ..core.db import Database
|
||||
|
||||
|
||||
async def m000_create_migrations_table(db):
|
||||
|
||||
@@ -10,9 +10,9 @@ from typing import Dict, List, Optional
|
||||
import requests
|
||||
from loguru import logger
|
||||
|
||||
import cashu.core.b_dhke as b_dhke
|
||||
import cashu.core.bolt11 as bolt11
|
||||
from cashu.core.base import (
|
||||
from ..core import b_dhke as b_dhke
|
||||
from ..core import bolt11 as bolt11
|
||||
from ..core.base import (
|
||||
BlindedMessage,
|
||||
BlindedSignature,
|
||||
CheckFeesRequest,
|
||||
@@ -35,20 +35,20 @@ from cashu.core.base import (
|
||||
TokenV3Token,
|
||||
WalletKeyset,
|
||||
)
|
||||
from cashu.core.bolt11 import Invoice as InvoiceBolt11
|
||||
from cashu.core.db import Database
|
||||
from cashu.core.helpers import sum_proofs
|
||||
from cashu.core.script import (
|
||||
from ..core.bolt11 import Invoice as InvoiceBolt11
|
||||
from ..core.db import Database
|
||||
from ..core.helpers import sum_proofs
|
||||
from ..core.script import (
|
||||
step0_carol_checksig_redeemscrip,
|
||||
step0_carol_privkey,
|
||||
step1_carol_create_p2sh_address,
|
||||
step2_carol_sign_tx,
|
||||
)
|
||||
from cashu.core.secp import PrivateKey, PublicKey
|
||||
from cashu.core.settings import settings
|
||||
from cashu.core.split import amount_split
|
||||
from cashu.tor.tor import TorProxy
|
||||
from cashu.wallet.crud import (
|
||||
from ..core.secp import PrivateKey, PublicKey
|
||||
from ..core.settings import settings
|
||||
from ..core.split import amount_split
|
||||
from ..tor.tor import TorProxy
|
||||
from ..wallet.crud import (
|
||||
get_keyset,
|
||||
get_proofs,
|
||||
invalidate_proof,
|
||||
|
||||
Reference in New Issue
Block a user