Make signer test pass

This commit is contained in:
nolash
2021-10-10 09:55:15 +02:00
parent 91b94f5ddf
commit e606384ed2
4 changed files with 13 additions and 108 deletions

View File

@@ -4,29 +4,26 @@ import json
import logging
# local imports
from funga.keystore import Keystore
from funga.eth.keystore import keyfile
from funga.eth.encoding import private_key_from_bytes
from funga.keystore import Keystore
logg = logging.getLogger(__name__)
def native_keygen(self):
def native_keygen(*args, **kwargs):
return os.urandom(32)
class EthKeystore(Keystore):
def __init__(self, private_key_generator=native_keygen):
super(Keystore, self).__init__(
private_key_generator=private_key_generator,
private_key_parser=private_key_from_bytes,
keystore_parser=keyfile.from_some,
)
super(EthKeystore, self).__init__(private_key_generator, private_key_from_bytes, keyfile.from_some)
def new(self, password=None):
return self.import_raw_key(b, password)
b = self.private_key_generator()
return self.import_raw_key(b, password=password)
def import_raw_key(self, b, password=None):

View File

@@ -5,8 +5,6 @@ import base64
# external imports
from cryptography.fernet import Fernet
#import psycopg2
#from psycopg2 import sql
#from psycopg2.extensions import make_dsn
from sqlalchemy import create_engine, text
from sqlalchemy.orm import sessionmaker
import sha3
@@ -16,10 +14,10 @@ from hexathon import (
)
# local imports
from .interface import Keystore
from .interface import EthKeystore
#from . import keyapi
from crypto_dev_signer.error import UnknownAccountError
from crypto_dev_signer.encoding import private_key_to_address
from funga.error import UnknownAccountError
from funga.eth.encoding import private_key_to_address
logg = logging.getLogger(__name__)
@@ -28,7 +26,7 @@ def to_bytes(x):
return x.encode('utf-8')
class ReferenceKeystore(Keystore):
class SQLKeystore(EthKeystore):
schema = [
"""CREATE TABLE IF NOT EXISTS ethereum (
@@ -42,6 +40,7 @@ class ReferenceKeystore(Keystore):
]
def __init__(self, dsn, **kwargs):
super(SQLKeystore, self).__init__()
logg.debug('starting db session with dsn {}'.format(dsn))
self.db_engine = create_engine(dsn)
self.db_session = sessionmaker(bind=self.db_engine)()