mirror of
https://github.com/aljazceru/nutshell.git
synced 2026-02-19 23:54:20 +01:00
mint start
This commit is contained in:
@@ -21,6 +21,8 @@ class MyFlaskApp(Flask):
|
||||
def __init__(self, *args, **kwargs):
|
||||
async def create_tasks_func():
|
||||
await asyncio.wait([m001_initial(ledger.db)])
|
||||
await ledger.load_used_proofs()
|
||||
print("Mint started.")
|
||||
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(create_tasks_func())
|
||||
|
||||
13
mint/crud.py
13
mint/crud.py
@@ -29,6 +29,19 @@ async def store_promise(
|
||||
)
|
||||
|
||||
|
||||
async def get_proofs_used(
|
||||
db: Database,
|
||||
conn: Optional[Connection] = None,
|
||||
):
|
||||
|
||||
rows = await (conn or db).fetchall(
|
||||
"""
|
||||
SELECT secret from proofs_used
|
||||
"""
|
||||
)
|
||||
return [row[0] for row in rows]
|
||||
|
||||
|
||||
async def invalidate_proof(
|
||||
proof: dict,
|
||||
db: Database,
|
||||
|
||||
@@ -11,16 +11,19 @@ import core.b_dhke as b_dhke
|
||||
from core.db import Database
|
||||
from core.split import amount_split
|
||||
from core.settings import MAX_ORDER
|
||||
from mint.crud import store_promise, invalidate_proof
|
||||
from mint.crud import store_promise, invalidate_proof, get_proofs_used
|
||||
|
||||
|
||||
class Ledger:
|
||||
def __init__(self, secret_key: str, db: str):
|
||||
self.master_key = secret_key
|
||||
self.proofs_used = set() # no promise proofs have been used
|
||||
self.proofs_used = set()
|
||||
self.keys = self._derive_keys(self.master_key)
|
||||
self.db = Database("mint", db)
|
||||
|
||||
async def load_used_proofs(self):
|
||||
self.proofs_used = await get_proofs_used(db=self.db)
|
||||
|
||||
@staticmethod
|
||||
def _derive_keys(master_key):
|
||||
"""Deterministic derivation of keys for 2^n values."""
|
||||
|
||||
Reference in New Issue
Block a user