Return squeakentry with squeak and blockheader from db query (#88)

This commit is contained in:
Jonathan Zernik 2020-07-18 23:49:45 -07:00 committed by GitHub
parent 6f15f8196d
commit 970a991ebc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 17 additions and 7 deletions

View file

View file

@ -0,0 +1,4 @@
from collections import namedtuple
SqueakEntry = namedtuple("LightningAddress", ["squeak", "block_header"])

View file

@ -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)

View file

@ -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

View file

@ -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. """