commit 5dd9db32b1cb700b2ffcb2ea4b54c34f70ed0f8a
parent 799452102bd299c933418f96a54680348d9cab34
Author: nolash <dev@holbrook.no>
Date: Fri, 25 Jun 2021 13:08:26 +0200
Make literal v literal v in argument
Diffstat:
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/crypto_dev_signer/eth/encoding.py b/crypto_dev_signer/eth/encoding.py
@@ -3,3 +3,6 @@ ethereum_recid_modifier = 35
def chain_id_to_v(chain_id, signature):
v = signature[64]
return (chain_id * 2) + ethereum_recid_modifier + v
+
+def chainv_to_v(chain_id, v):
+ return v - ethereum_recid_modifier - (chain_id * 2)
diff --git a/crypto_dev_signer/eth/transaction.py b/crypto_dev_signer/eth/transaction.py
@@ -146,15 +146,13 @@ class EIP155Transaction:
return tx
- def apply_signature(self, chain_id, signature, literal_v=False):
+ def apply_signature(self, chain_id, signature, v=None):
if len(self.r + self.s) > 0:
raise AttributeError('signature already set')
if len(signature) < 65:
raise ValueError('invalid signature length')
- if literal_v:
+ if v == None:
v = signature[64]
- else:
- v = chain_id_to_v(chain_id, signature)
self.v = int_to_minbytes(v)
self.r = signature[:32]
self.s = signature[32:64]
diff --git a/setup.py b/setup.py
@@ -33,7 +33,7 @@ f.close()
setup(
name="crypto-dev-signer",
- version="0.4.14b5",
+ version="0.4.14b6",
description="A signer and keystore daemon and library for cryptocurrency software development",
author="Louis Holbrook",
author_email="dev@holbrook.no",