mirror of
https://github.com/yzernik/squeaknode.git
synced 2026-08-17 13:07:32 +02:00
Return squeakentry with squeak and blockheader from db query (#88)
This commit is contained in:
parent
6f15f8196d
commit
970a991ebc
5 changed files with 17 additions and 7 deletions
0
squeakserver/core/__init__.py
Normal file
0
squeakserver/core/__init__.py
Normal file
4
squeakserver/core/squeak_entry.py
Normal file
4
squeakserver/core/squeak_entry.py
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
from collections import namedtuple
|
||||
|
||||
|
||||
SqueakEntry = namedtuple("LightningAddress", ["squeak", "block_header"])
|
||||
|
|
@ -38,7 +38,8 @@ class SqueakBlockVerifier:
|
|||
self.verify_squeak_block(squeak_hash)
|
||||
|
||||
def _get_squeak(self, squeak_hash):
|
||||
return self.postgres_db.get_squeak(squeak_hash)
|
||||
squeak_entry = self.postgres_db.get_squeak_entry(squeak_hash)
|
||||
return squeak_entry.squeak
|
||||
|
||||
def _mark_squeak_verified(self, squeak_hash, block_header):
|
||||
self.postgres_db.mark_squeak_block_valid(squeak_hash, block_header)
|
||||
|
|
|
|||
|
|
@ -45,20 +45,22 @@ class SqueakNode:
|
|||
return inserted_squeak_hash
|
||||
|
||||
def get_locked_squeak(self, squeak_hash):
|
||||
squeak = self.postgres_db.get_squeak(squeak_hash)
|
||||
squeak_entry = self.postgres_db.get_squeak_entry(squeak_hash)
|
||||
squeak = squeak_entry.squeak
|
||||
# Remove the decryption key before returning.
|
||||
squeak.ClearDecryptionKey()
|
||||
return squeak
|
||||
|
||||
def get_squeak(self, squeak_hash):
|
||||
return self.postgres_db.get_squeak(squeak_hash)
|
||||
def get_squeak_entry(self, squeak_hash):
|
||||
return self.postgres_db.get_squeak_entry(squeak_hash)
|
||||
|
||||
def lookup_squeaks(self, addresses, min_block, max_block):
|
||||
return self.postgres_db.lookup_squeaks(addresses, min_block, max_block)
|
||||
|
||||
def get_buy_offer(self, squeak_hash, challenge):
|
||||
# Get the squeak from the database
|
||||
squeak = self.postgres_db.get_squeak(squeak_hash)
|
||||
squeak_entry = self.postgres_db.get_squeak_entry(squeak_hash)
|
||||
squeak = squeak_entry.squeak
|
||||
# Get the decryption key from the squeak
|
||||
decryption_key = squeak.GetDecryptionKey()
|
||||
# Solve the proof
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ from squeak.core import CSqueak
|
|||
|
||||
from squeakserver.server.squeak_profile import SqueakProfile
|
||||
from squeakserver.server.util import get_hash
|
||||
from squeakserver.core.squeak_entry import SqueakEntry
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
@ -76,7 +78,7 @@ class PostgresDb:
|
|||
row = curs.fetchone()
|
||||
return bytes.fromhex(row[0])
|
||||
|
||||
def get_squeak(self, squeak_hash):
|
||||
def get_squeak_entry(self, squeak_hash):
|
||||
""" Get a squeak. """
|
||||
sql = """
|
||||
SELECT * FROM squeak WHERE hash=%s"""
|
||||
|
|
@ -103,7 +105,8 @@ class PostgresDb:
|
|||
vchScriptSig=row[14],
|
||||
vchDecryptionKey=row[16],
|
||||
)
|
||||
return squeak
|
||||
block_header = row[17]
|
||||
return SqueakEntry(squeak=squeak, block_header=block_header)
|
||||
|
||||
def lookup_squeaks(self, addresses, min_block, max_block):
|
||||
""" Lookup squeaks. """
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue