diff --git a/tests/documents/test_transaction.py b/tests/documents/test_transaction.py index d9df0f7513f4025ca77621a42c586af94339185e..4cf2ead08a2ffdd0f4461eee0f4264f99f640611 100644 --- a/tests/documents/test_transaction.py +++ b/tests/documents/test_transaction.py @@ -17,6 +17,7 @@ import unittest import pypeg2 +from duniterpy.constants import G1_TEST_CURRENCY_CODENAME from duniterpy.documents import BlockUID from duniterpy.documents.transaction import ( InputSource, @@ -143,6 +144,37 @@ Comment: -----@@@----- (why not this comment?) 2XiBDpuUdu6zCPWGzHXXy8c4ATSscfFQG9DjmqMZUxDZVt1Dp4m2N5oHYVUfoPdrU9SLk4qxi65RNrfCVnvQtQJk """ +# curl https://g1-test.duniter.org/blockchain/block/551979 +g1_test_tx_multi_sig_compact = """TX:10:6:6:6:1:1:0 +551977-0001108622DBA433872C547D342B033193B16E7C60C478C264DC4F1B5F36AC74 +CLxmBmQDxT4r5thHhQHQk3LVJZoerpMArkTGSfkeexkg +5gHpK5sfijCkDDxSfiCWa3QxUsXnd38ZX3Frn7qaG42b +6bcCUCMmTVQjqc3VGuA1xQv3ETKDV1JJDM5GGCfn58A4 +GM6jrbZSgd2WaE8LY9WP4V2v1MDpxbqMVUBBxdJswz1s +AfkSYeiqAVHPqaKHhw52fR4rgC4QGaLGCTBP9jHfeDMQ +8tqeZi9pKV8VFjY7CNce4FbHvv76f7y3uKcyJ865pZzB +250:2:T:9E5AB3FAED93C9C65D4D0C16C1387592A7B9E1AE7285DB6C687FFE6AAF542CF2:0 +250:2:T:9E5AB3FAED93C9C65D4D0C16C1387592A7B9E1AE7285DB6C687FFE6AAF542CF2:1 +250:2:T:9E5AB3FAED93C9C65D4D0C16C1387592A7B9E1AE7285DB6C687FFE6AAF542CF2:2 +250:2:T:9E5AB3FAED93C9C65D4D0C16C1387592A7B9E1AE7285DB6C687FFE6AAF542CF2:3 +250:2:T:9E5AB3FAED93C9C65D4D0C16C1387592A7B9E1AE7285DB6C687FFE6AAF542CF2:4 +250:2:T:9E5AB3FAED93C9C65D4D0C16C1387592A7B9E1AE7285DB6C687FFE6AAF542CF2:5 +0:SIG(0) +1:SIG(1) +2:SIG(2) +3:SIG(3) +4:SIG(4) +5:SIG(5) +1500:2:SIG(AhRMHUxMPXSeG7qXZrE6qCdjwK9p2bu5Eqei7xAWVEDK) +G1Don +ukn60jVqcaR5ZJdGOW6aZapUSyCpRQkQWtKBcndTXtLJP5zs26bAl5XfASDCqivecuWyNedU1y2sAhA/OqcADg== +kcybaONx12s8ZJuRVVyGrRXBgYlnUr7CGOdm0/75F9yNpQ8U/8lzyPMKugbJ6txPQ7/TBf6cS6XMTwoZH8PPBQ== +UM9eT2iW0br42yBznimxjuVJJNFtGICUwNHspPsYOraWqk4prEte5lh9b88Q/HtDZN9o4qZzXuoVYOwbvNfgBg== +LSqXaG4MylpG39r4OuxGbTXm/cLXOvCv60BarTR9QABW7uKjgIra5+EELRxW8Ueg9QAimfNBBIHy/ZVO+saHAQ== +wI7cEq8nhZbi/uDOx4DawqQNoVlqpWQ1N2XgFwz0AdTubgJc8/JxDOG+xDYk8P+9m4oni3NjC58jNWzOqd+TDA== +KjAnwP8gDyHr228py7xAFvaYoK2NQ6CHbZADK0m1qx0pxViB18m5Qs9MVAFjYTDQop9qfSie8nX/9NLdW09jBQ== +""" + input_source_str = ( "30:0:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:2" ) @@ -475,7 +507,7 @@ class TestTransaction(unittest.TestCase): unlocks=[Unlock(index=0, parameters=[SIGParameter(0)])], outputs=[OutputSource.from_inline(output_source_str)], comment="", - currency="g1-test", + currency=G1_TEST_CURRENCY_CODENAME, ) # multi-signature on the transaction @@ -488,3 +520,11 @@ class TestTransaction(unittest.TestCase): ) self.assertTrue(transaction.check_signatures(issuers)) + + def test_g1_test_tx_check_signatures(self): + tx_multi = Transaction.from_compact( + g1_test_tx_multi_sig_compact, + G1_TEST_CURRENCY_CODENAME, + ) + # multi signatures check for the pubkeys on the signatures + self.assertTrue(tx_multi.check_signatures(tx_multi.issuers))