You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 1, 2024. It is now read-only.
I tried submitting a batch with a single transaction of the intkey transaction family to a standard development Sawtooth setup. But I get the following exception from the Validator:
[2021-04-02 17:27:43.273 ERROR threadpool] (Signature) Unhandled exception during execution of task _HandlerManager.execute.<locals>.wrapped
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/sawtooth_signing/secp256k1.py", line 92, in from_hex
return Secp256k1PublicKey.from_bytes(binascii.unhexlify(hex_str))
File "/usr/lib/python3/dist-packages/sawtooth_signing/secp256k1.py", line 86, in from_bytes
public_key = secp256k1.PublicKey(byte_str, raw=True, ctx=__CTX__)
File "/usr/lib/python3/dist-packages/secp256k1/__init__.py", line 210, in __init__
self.public_key = self.deserialize(pubkey)
File "/usr/lib/python3/dist-packages/secp256k1/__init__.py", line 235, in deserialize
raise Exception("unknown public key size (expected 33 or 65)")
Exception: unknown public key size (expected 33 or 65)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/sawtooth_validator/concurrent/threadpool.py", line 83, in wrapper
return_value = fn(*args, **kwargs)
File "/usr/lib/python3/dist-packages/sawtooth_validator/networking/dispatch.py", line 444, in wrapped
return callback(self._handler.handle(connection_id, message))
File "/usr/lib/python3/dist-packages/sawtooth_validator/gossip/signature_verifier.py", line 248, in handle
if not all(map(is_valid_batch, message_content.batches)):
File "/usr/lib/python3/dist-packages/sawtooth_validator/gossip/signature_verifier.py", line 69, in is_valid_batch
public_key = Secp256k1PublicKey.from_hex(header.signer_public_key)
File "/usr/lib/python3/dist-packages/sawtooth_signing/secp256k1.py", line 94, in from_hex
raise ParseError('Unable to parse hex public key: {}'.format(e))
sawtooth_signing.core.ParseError: Unable to parse hex public key: unknown public key size (expected 33 or 65)
I am using the Sawtooth Signing SDK for creating the key pair and for signing the transaction and the batch. I found out while debugging, that the public key consists of 66 hex digits while the validator expects 33 or 65.
I tried to submit transactions with the Sawtooth NodeJs SDK and the result was the same. Then I tried the Python SDK and it somehow seemed to work (The exception was not thrown). This seems to be a major bug and I think that immediate action is required in solving this issue.
I tried submitting a batch with a single transaction of the intkey transaction family to a standard development Sawtooth setup. But I get the following exception from the Validator:
I am using the Sawtooth Signing SDK for creating the key pair and for signing the transaction and the batch. I found out while debugging, that the public key consists of 66 hex digits while the validator expects 33 or 65.
Here is the relevant code;
and the ioc configuration (I am using spring)
I think this might be a bug from the Sawtooth Signing SDK.
The text was updated successfully, but these errors were encountered: