88
99import pytest
1010from cbor2 import CBORTag
11+ from frozenlist import FrozenList
1112
1213from pycardano import (
1314 AssetName ,
6970from pycardano .witness import TransactionWitnessSet , VerificationKeyWitness
7071
7172
73+ def frozen_list (items ):
74+ """Helper function to create a frozen list from items."""
75+ fl = FrozenList (items )
76+ fl .freeze ()
77+ return fl
78+
79+
7280def test_tx_builder (chain_context ):
7381 tx_builder = TransactionBuilder (chain_context , [RandomImproveMultiAsset ([0 , 0 ])])
7482 sender = "addr_test1vrm9x2zsux7va6w892g38tvchnzahvcd9tykqf3ygnmwtaqyfg52x"
@@ -82,7 +90,7 @@ def test_tx_builder(chain_context):
8290 tx_body = tx_builder .build (change_address = sender_address )
8391
8492 expected = {
85- 0 : CBORTag (258 , [[b"11111111111111111111111111111111" , 0 ]]),
93+ 0 : CBORTag (258 , frozen_list ( [[b"11111111111111111111111111111111" , 0 ]]) ),
8694 1 : [
8795 # First output
8896 [sender_address .to_primitive (), 500000 ],
@@ -126,7 +134,7 @@ def test_tx_builder_with_certain_input(chain_context):
126134 tx_body = tx_builder .build (change_address = sender_address )
127135
128136 expected = {
129- 0 : CBORTag (258 , [[b"2" * 32 , 1 ]]),
137+ 0 : CBORTag (258 , frozen_list ( [[b"2" * 32 , 1 ]]) ),
130138 1 : [
131139 # First output
132140 [sender_address .to_primitive (), 500000 ],
@@ -296,7 +304,7 @@ def test_tx_builder_with_potential_inputs(chain_context):
296304 tx_body = tx_builder .build (change_address = sender_address )
297305
298306 expect = {
299- 0 : CBORTag (258 , [[b"11111111111111111111111111111111" , 3 ]]),
307+ 0 : CBORTag (258 , frozen_list ( [[b"11111111111111111111111111111111" , 3 ]]) ),
300308 1 : [
301309 # First output
302310 [sender_address .to_primitive (), 2500000 ],
@@ -397,10 +405,12 @@ def test_tx_builder_mint_multi_asset(chain_context):
397405 expected = {
398406 0 : CBORTag (
399407 258 ,
400- [
401- [b"11111111111111111111111111111111" , 0 ],
402- [b"22222222222222222222222222222222" , 1 ],
403- ],
408+ frozen_list (
409+ [
410+ [b"11111111111111111111111111111111" , 0 ],
411+ [b"22222222222222222222222222222222" , 1 ],
412+ ]
413+ ),
404414 ),
405415 1 : [
406416 # First output
@@ -420,7 +430,7 @@ def test_tx_builder_mint_multi_asset(chain_context):
420430 3 : 123456789 ,
421431 8 : 1000 ,
422432 9 : mint ,
423- 14 : CBORTag (258 , [sender_address .payment_part .to_primitive ()]),
433+ 14 : CBORTag (258 , frozen_list ( [sender_address .payment_part .to_primitive ()]) ),
424434 }
425435
426436 assert expected == tx_body .to_primitive ()
@@ -1310,7 +1320,7 @@ def test_excluded_input(chain_context):
13101320 tx_body = tx_builder .build (change_address = sender_address )
13111321
13121322 expected = {
1313- 0 : CBORTag (258 , [[b"22222222222222222222222222222222" , 1 ]]),
1323+ 0 : CBORTag (258 , frozen_list ( [[b"22222222222222222222222222222222" , 1 ]]) ),
13141324 1 : [
13151325 # First output
13161326 [sender_address .to_primitive (), 500000 ],
@@ -1448,7 +1458,7 @@ def test_tx_builder_exact_fee_no_change(chain_context):
14481458 tx = tx_builder .build_and_sign ([SK ])
14491459
14501460 expected = {
1451- 0 : CBORTag (258 , [[b"11111111111111111111111111111111" , 3 ]]),
1461+ 0 : CBORTag (258 , frozen_list ( [[b"11111111111111111111111111111111" , 3 ]]) ),
14521462 1 : [
14531463 [sender_address .to_primitive (), 9835951 ],
14541464 ],
@@ -1484,7 +1494,7 @@ def test_tx_builder_certificates(chain_context):
14841494 tx_body = tx_builder .build (change_address = sender_address )
14851495
14861496 expected = {
1487- 0 : CBORTag (258 , [[b"11111111111111111111111111111111" , 0 ]]),
1497+ 0 : CBORTag (258 , frozen_list ( [[b"11111111111111111111111111111111" , 0 ]]) ),
14881498 1 : [
14891499 # First output
14901500 [sender_address .to_primitive (), 500000 ],
@@ -1603,7 +1613,7 @@ def test_tx_builder_stake_pool_registration(chain_context, pool_params):
16031613 tx_body = tx_builder .build (change_address = sender_address )
16041614
16051615 expected = {
1606- 0 : CBORTag (258 , [[b"22222222222222222222222222222222" , 2 ]]),
1616+ 0 : CBORTag (258 , frozen_list ( [[b"22222222222222222222222222222222" , 2 ]]) ),
16071617 1 : [
16081618 [
16091619 b"`\xf6 S(P\xe1 \xbc \xce \xe9 \xc7 *\x91 \x13 \xad \x98 \xbc \xc5 \xdb \xb3 \r *\xc9 `&$D\xf6 \xe5 \xf4 " ,
@@ -1659,7 +1669,7 @@ def test_tx_builder_withdrawal(chain_context):
16591669 tx_body = tx_builder .build (change_address = sender_address )
16601670
16611671 expected = {
1662- 0 : CBORTag (258 , [[b"11111111111111111111111111111111" , 0 ]]),
1672+ 0 : CBORTag (258 , frozen_list ( [[b"11111111111111111111111111111111" , 0 ]]) ),
16631673 1 : [
16641674 # First output
16651675 [sender_address .to_primitive (), 500000 ],
@@ -1694,7 +1704,7 @@ def test_tx_builder_no_output(chain_context):
16941704 )
16951705
16961706 expected = {
1697- 0 : CBORTag (258 , [[b"11111111111111111111111111111111" , 3 ]]),
1707+ 0 : CBORTag (258 , frozen_list ( [[b"11111111111111111111111111111111" , 3 ]]) ),
16981708 1 : [
16991709 [sender_address .to_primitive (), 9835951 ],
17001710 ],
@@ -1724,7 +1734,7 @@ def test_tx_builder_merge_change_to_output(chain_context):
17241734 )
17251735
17261736 expected = {
1727- 0 : CBORTag (258 , [[b"11111111111111111111111111111111" , 3 ]]),
1737+ 0 : CBORTag (258 , frozen_list ( [[b"11111111111111111111111111111111" , 3 ]]) ),
17281738 1 : [
17291739 [sender_address .to_primitive (), 9835951 ],
17301740 ],
@@ -1758,7 +1768,7 @@ def test_tx_builder_merge_change_to_output_2(chain_context):
17581768 )
17591769
17601770 expected = {
1761- 0 : CBORTag (258 , [[b"11111111111111111111111111111111" , 3 ]]),
1771+ 0 : CBORTag (258 , frozen_list ( [[b"11111111111111111111111111111111" , 3 ]]) ),
17621772 1 : [
17631773 [sender_address .to_primitive (), 10000 ],
17641774 [receiver_address .to_primitive (), 10000 ],
@@ -1790,7 +1800,7 @@ def test_tx_builder_merge_change_to_zero_amount_output(chain_context):
17901800 )
17911801
17921802 expected = {
1793- 0 : CBORTag (258 , [[b"11111111111111111111111111111111" , 3 ]]),
1803+ 0 : CBORTag (258 , frozen_list ( [[b"11111111111111111111111111111111" , 3 ]]) ),
17941804 1 : [
17951805 [sender_address .to_primitive (), 9835951 ],
17961806 ],
@@ -1820,7 +1830,7 @@ def test_tx_builder_merge_change_smaller_than_min_utxo(chain_context):
18201830 )
18211831
18221832 expected = {
1823- 0 : CBORTag (258 , [[b"11111111111111111111111111111111" , 3 ]]),
1833+ 0 : CBORTag (258 , frozen_list ( [[b"11111111111111111111111111111111" , 3 ]]) ),
18241834 1 : [
18251835 [sender_address .to_primitive (), 9835951 ],
18261836 ],
0 commit comments