Add sign msg method

This commit is contained in:
nolash
2020-12-19 08:47:21 +01:00
parent e4efc53b31
commit 793c1d9367
7 changed files with 45 additions and 4 deletions

View File

@@ -38,3 +38,12 @@ class ReferenceSigner(Signer):
tx.r = z[:32]
tx.s = z[32:64]
return z
def signEthereumMessage(self, address, message, password=None):
#msg = b'\x19Ethereum Signed Message:\n{}{}'.format(len(message), message)
k = keys.PrivateKey(self.keyGetter.get(address, password))
#z = keys.ecdsa_sign(message_hash=g, private_key=k)
z = k.sign_msg(message.encode('utf-8'))
return z

View File

@@ -50,6 +50,7 @@ class PlatformMiddleware:
return params
# TODO: DRY
def __call__(self, method, suspect_params):
self.id_seq += 1
@@ -76,12 +77,11 @@ class PlatformMiddleware:
#return str(json.dumps(jr))
return jr
# TODO: DRY
elif method == 'eth_signTransaction':
params = PlatformMiddleware._translate_params(suspect_params)
s = socket.socket(family=socket.AF_UNIX, type=socket.SOCK_STREAM, proto=0)
ipc_provider_workaround = s.connect(self.ipcaddr)
logg.info('redirecting methodd {} params {} original params {}'.format(method, params, suspect_params))
logg.info('redirecting method {} params {} original params {}'.format(method, params, suspect_params))
o = jsonrpc_request(method, params[0])
j = json.dumps(o)
logg.debug('send {}'.format(j))
@@ -94,6 +94,23 @@ class PlatformMiddleware:
#return str(json.dumps(jr))
return jr
elif method == 'eth_sign':
params = PlatformMiddleware._translate_params(suspect_params)
s = socket.socket(family=socket.AF_UNIX, type=socket.SOCK_STREAM, proto=0)
ipc_provider_workaround = s.connect(self.ipcaddr)
logg.info('redirecting method {} params {} original params {}'.format(method, params, suspect_params))
o = jsonrpc_request(method, params[0])
j = json.dumps(o)
logg.debug('send {}'.format(j))
s.send(j.encode('utf-8'))
r = s.recv(4096)
s.close()
logg.debug('got recv {}'.format(str(r)))
jr = json.loads(r)
jr['id'] = self.id_seq
return jr
r = self.make_request(method, suspect_params)
return r