Skip to content

Commit 073dd73

Browse files
spkjpfaustbrian
authored andcommitted
fix: skip recipient_id in to_bytes for tx type 1 and 4 (#56)
* fix: skip recipient_id in to_bytes for type 1 and 4 * style: fix linter
1 parent 112bfe2 commit 073dd73

6 files changed

Lines changed: 11 additions & 1 deletion

File tree

crypto/transactions/transaction.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,12 @@ def to_bytes(self, skip_signature=True, skip_second_signature=True):
9191
bytes_data += write_bit32(self.timestamp)
9292
bytes_data += write_high(self.senderPublicKey)
9393

94-
if self.recipientId:
94+
skip_recipient_id = self.type in [
95+
TRANSACTION_SECOND_SIGNATURE_REGISTRATION,
96+
TRANSACTION_MULTI_SIGNATURE_REGISTRATION
97+
]
98+
99+
if self.recipientId and not skip_recipient_id:
95100
bytes_data += b58decode_check(self.recipientId)
96101
else:
97102
bytes_data += pack('21x')

tests/transactions/deserializers/test_delegate_registration.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ def test_delegate_registration_deserializer():
66
deserializer = Deserializer(serialized)
77
actual = deserializer.deserialize()
88
assert actual.asset['delegate'] == {'username': 'boldninja'}
9+
actual.verify()

tests/transactions/deserializers/test_multi_signature_registration.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ def test_multi_signature_registration_deserializer():
1313
'+0276dc5b8706a85ca9fdc46e571ac84e52fbb48e13ec7a165a80731b44ae89f1fc',
1414
'+02e8d5d17eb17bbc8d7bf1001d29a2d25d1249b7bb7a5b7ad8b7422063091f4b31'
1515
]
16+
actual.verify()

tests/transactions/deserializers/test_second_signature_registration.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ def test_second_signature_registration():
66
deserializer = Deserializer(serialized)
77
actual = deserializer.deserialize()
88
assert actual.asset['signature']['publicKey'] == '03699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609' # noqa
9+
actual.verify()

tests/transactions/deserializers/test_transfer.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ def test_transfer_deserializer():
1313
assert actual.recipientId == 'D61mfSggzbvQgTUe6JhYKH2doHaqJ3Dyib'
1414
assert actual.senderPublicKey == '034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192' # noqa
1515
assert actual.id == 'da61c6cba363cc39baa0ca3f9ba2c5db81b9805045bd0b9fc58af07ad4206856'
16+
actual.verify()

tests/transactions/deserializers/test_vote.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ def test_vote_deserializer():
66
deserializer = Deserializer(serialized)
77
actual = deserializer.deserialize()
88
assert actual.asset['votes'] == ['+022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d'] # noqa
9+
actual.verify()

0 commit comments

Comments
 (0)