@@ -147,7 +147,7 @@ data_item_signature_data(RawItem, signed) ->
147147 true = enforce_valid_tx (RawItem ),
148148 ? event ({data_item_signature_data , hb_util :human_id (RawItem # tx .unsigned_id )}),
149149 NormItem = normalize_data (RawItem , true ),
150- ? event (debug_test , {data_item_signature_data , {explicit , NormItem }}),
150+ ? event ({data_item_signature_data , {explicit , NormItem }}),
151151 ar_deep_hash :hash ([
152152 utf8_encoded (" dataitem" ),
153153 utf8_encoded (" 1" ),
@@ -480,14 +480,14 @@ to_serialized_pair(Item, JustData) when is_binary(Item) ->
480480 to_serialized_pair (
481481 # tx { tags = [{<<" ao-type" >>, <<" binary" >>}], data = Item }, JustData );
482482to_serialized_pair (Item , JustData ) ->
483- ? event (debug_test , {to_serialized_pair , Item }),
483+ ? event ({to_serialized_pair , Item }),
484484 % TODO: This is a hack to get the ID of the item. We need to do this because we may not
485485 % have the ID in 'item' if it is just a map/list. We need to make this more efficient.
486486 Serialized = serialize (Item , JustData ),
487487 Deserialized = deserialize (Serialized ),
488488 UnsignedID = id (Deserialized , unsigned ),
489489 SignedID = id (Deserialized , signed ),
490- ? event (debug_test , {serialized_pair ,
490+ ? event ({serialized_pair ,
491491 {unsigned_id , UnsignedID }, {signed_id , SignedID }, {size , byte_size (Serialized )}}),
492492 {UnsignedID , SignedID , Serialized }.
493493
@@ -1079,22 +1079,23 @@ arbundles_item_roundtrip_test() ->
10791079 Serialized = serialize (Item ),
10801080 ? assertEqual (Bin , Serialized ).
10811081
1082- % % @doc Similar test as arbundles_item_roundtrip_test *but* we can't do
1083- % % a full roundtrip since HyperBEAM explicitly serializes lists as maps
1084- % % so the full roundtrip will not match.
1085- arbundles_list_bundle_deserialize_test () ->
1082+ arbundles_list_bundle_roundtrip_test () ->
1083+ W = ar_wallet :new (),
10861084 {ok , Bin } = file :read_file (<<" test/arbundles.js/ans104-list-bundle.bundle" >>),
1087- TX = # tx {
1085+ TX = sign_item ( # tx {
10881086 format = ans104 ,
10891087 data = Bin ,
10901088 data_size = byte_size (Bin ),
10911089 tags = ? BUNDLE_TAGS
1092- },
1093- ? event (debug_test , {serialized , {explicit , TX }}),
1094- DeserializedJS = deserialize (TX ),
1095- ? event (debug_test , {deserialized , {explicit , DeserializedJS }}),
1096- ? assertEqual (3 , length (DeserializedJS # tx .data )),
1097- [Item1 , Item2 , Item3 ] = DeserializedJS # tx .data ,
1090+ }, W ),
1091+ ? event (debug_test , {tx , {explicit , TX }}),
1092+ ? assert (verify_item (TX )),
1093+
1094+ Deserialized = deserialize (TX ),
1095+ ? event (debug_test , {deserialized , Deserialized }),
1096+ ? assertEqual (3 , maps :size (Deserialized # tx .data )),
1097+ #{<<" 1" >> := Item1 , <<" 2" >> := Item2 , <<" 3" >> := Item3 } =
1098+ Deserialized # tx .data ,
10981099 ? assertEqual (<<" first" >>, Item1 # tx .data ),
10991100 ? assertEqual ([{<<" Type" >>, <<" list" >>}, {<<" Index" >>, <<" 0" >>}], Item1 # tx .tags ),
11001101 ? assertEqual (
@@ -1117,21 +1118,11 @@ arbundles_list_bundle_deserialize_test() ->
11171118 ? assert (verify_item (Item2 )),
11181119 ? assert (verify_item (Item3 )),
11191120
1120- % Normalizing the bundle will convert it to a serialized HyperBEAM bundle
1121- % (i.e. map instead of list)
1122- Normalized = normalize (DeserializedJS ),
1123- ? event (debug_test , {normalized , {explicit , Normalized }}),
1124- ? assertEqual ([
1125- {<<" bundle-format" >>, <<" binary" >>},
1126- {<<" bundle-version" >>, <<" 2.0.0" >>},
1127- {<<" bundle-map" >>, hb_util :encode (id (Normalized # tx .manifest , unsigned ))}
1128- ], Normalized # tx .tags ),
1129- % Deserialize again so we can verify the data itme
1130- DeserializedHB = deserialize (Normalized ),
1131- ? event (debug_test , {deserialized_hb , DeserializedHB }),
1132- ? assertEqual (
1133- #{ <<" 1" >> => Item1 , <<" 2" >> => Item2 , <<" 3" >> => Item3 },
1134- DeserializedHB # tx .data ).
1121+ Normalized = normalize (Deserialized , true ),
1122+ ? event (debug_test , {normalized , Normalized }),
1123+ ? assert (verify_item (Normalized )),
1124+ ? assertEqual (Bin , Normalized # tx .data ),
1125+ ok .
11351126
11361127arbundles_single_list_bundle_roundtrip_test () ->
11371128 W = ar_wallet :new (),
@@ -1143,37 +1134,25 @@ arbundles_single_list_bundle_roundtrip_test() ->
11431134 data_size = byte_size (Bin ),
11441135 tags = ? BUNDLE_TAGS
11451136 }, W ),
1137+ ? event (debug_test , {tx , {explicit , TX }}),
11461138 ? assert (verify_item (TX )),
1147- ? event (debug_test , {serialized , {explicit , TX }}),
1148- Deserialized = deserialize (TX ),
11491139
1140+ Deserialized = deserialize (TX ),
1141+ ? event (debug_test , {deserialized , Deserialized }),
11501142 ? assertEqual (1 , maps :size (Deserialized # tx .data )),
11511143 #{<<" 1" >> := Item } = Deserialized # tx .data ,
1144+ ? event (debug_test , {item , Item }),
1145+ ? assertEqual (
1146+ <<" IchWLlJKLaCqKd4KW6BcDKe560XpfgFuPHXjjK8tfgA" >>,
1147+ hb_util :encode (Item # tx .id )),
11521148 ? assertEqual (<<" only" >>, Item # tx .data ),
11531149 ? assertEqual ([{<<" Type" >>, <<" list" >>}, {<<" Index" >>, <<" 1" >>}], Item # tx .tags ),
11541150 ? assert (verify_item (Item )),
11551151
1156- ? event (debug_test , {deserialized , Deserialized }),
1157- Reserialized = normalize (Deserialized , true ),
1158- ? event (debug_test , {reserialized , Reserialized }),
1159-
1160- ? event (debug_test , {original_data , {explicit , TX # tx .data }}),
1161- ? event (debug_test , {reserialized_data , {explicit , Reserialized # tx .data }}),
1162- ? assert (verify_item (Reserialized )),
1163-
1164- % % Normalizing the bundle will convert it to a serialized HyperBEAM bundle
1165- % % (i.e. map instead of list)
1166- % Normalized = normalize(DeserializedJS),
1167- % ?event(debug_test, {normalized, {explicit, Normalized}}),
1168- % ?assertEqual([
1169- % {<<"bundle-format">>, <<"binary">>},
1170- % {<<"bundle-version">>, <<"2.0.0">>},
1171- % {<<"bundle-map">>, hb_util:encode(id(Normalized#tx.manifest, unsigned))}
1172- % ], Normalized#tx.tags),
1173- % % Deserialize again so we can verify the data itme
1174- % DeserializedHB = deserialize(Normalized),
1175- % ?event(debug_test, {deserialized_hb, DeserializedHB}),
1176- % ?assertEqual(#{ <<"1">> => Item }, DeserializedHB#tx.data),
1152+ Normalized = normalize (Deserialized , true ),
1153+ ? event (debug_test , {normalized , Normalized }),
1154+ ? assert (verify_item (Normalized )),
1155+ ? assertEqual (Bin , Normalized # tx .data ),
11771156 ok .
11781157
11791158% % @doc This test generates and writes a map bundle to a file so that we can
0 commit comments