From 6a25cea33bfd6425fdda69d658b5d860dc25dc9c Mon Sep 17 00:00:00 2001 From: Aaron Cox Date: Tue, 4 Apr 2023 19:48:23 -0400 Subject: [PATCH] Failing test --- test/serializer.ts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/test/serializer.ts b/test/serializer.ts index cd01b8c9..fa0a6e9f 100644 --- a/test/serializer.ts +++ b/test/serializer.ts @@ -1191,4 +1191,39 @@ suite('serializer', function () { }) }, /Circular type reference/) }) + + test('serialization error', function () { + const abiData = + '{"version":"eosio::abi/1.1","types":[{"new_type_name":"transaction_id","type":"checksum256"}],"structs":[{"name":"get_status_request_v0","fields":[]},{"name":"block_position","fields":[{"name":"block_num","type":"uint32"},{"name":"block_id","type":"checksum256"}]},{"name":"get_status_result_v0","fields":[{"name":"head","type":"block_position"},{"name":"last_irreversible","type":"block_position"},{"name":"trace_begin_block","type":"uint32"},{"name":"trace_end_block","type":"uint32"},{"name":"chain_state_begin_block","type":"uint32"},{"name":"chain_state_end_block","type":"uint32"},{"name":"chain_id","type":"checksum256$"}]},{"name":"get_blocks_request_v0","fields":[{"name":"start_block_num","type":"uint32"},{"name":"end_block_num","type":"uint32"},{"name":"max_messages_in_flight","type":"uint32"},{"name":"have_positions","type":"block_position[]"},{"name":"irreversible_only","type":"bool"},{"name":"fetch_block","type":"bool"},{"name":"fetch_traces","type":"bool"},{"name":"fetch_deltas","type":"bool"}]},{"name":"get_blocks_ack_request_v0","fields":[{"name":"num_messages","type":"uint32"}]},{"name":"get_blocks_result_v0","fields":[{"name":"head","type":"block_position"},{"name":"last_irreversible","type":"block_position"},{"name":"this_block","type":"block_position?"},{"name":"prev_block","type":"block_position?"},{"name":"block","type":"bytes?"},{"name":"traces","type":"bytes?"},{"name":"deltas","type":"bytes?"}]},{"name":"row","fields":[{"name":"present","type":"bool"},{"name":"data","type":"bytes"}]},{"name":"table_delta_v0","fields":[{"name":"name","type":"string"},{"name":"rows","type":"row[]"}]},{"name":"action","fields":[{"name":"account","type":"name"},{"name":"name","type":"name"},{"name":"authorization","type":"permission_level[]"},{"name":"data","type":"bytes"}]},{"name":"account_auth_sequence","fields":[{"name":"account","type":"name"},{"name":"sequence","type":"uint64"}]},{"name":"action_receipt_v0","fields":[{"name":"receiver","type":"name"},{"name":"act_digest","type":"checksum256"},{"name":"global_sequence","type":"uint64"},{"name":"recv_sequence","type":"uint64"},{"name":"auth_sequence","type":"account_auth_sequence[]"},{"name":"code_sequence","type":"varuint32"},{"name":"abi_sequence","type":"varuint32"}]},{"name":"account_delta","fields":[{"name":"account","type":"name"},{"name":"delta","type":"int64"}]},{"name":"action_trace_v0","fields":[{"name":"action_ordinal","type":"varuint32"},{"name":"creator_action_ordinal","type":"varuint32"},{"name":"receipt","type":"action_receipt?"},{"name":"receiver","type":"name"},{"name":"act","type":"action"},{"name":"context_free","type":"bool"},{"name":"elapsed","type":"int64"},{"name":"console","type":"string"},{"name":"account_ram_deltas","type":"account_delta[]"},{"name":"except","type":"string?"},{"name":"error_code","type":"uint64?"}]},{"name":"action_trace_v1","fields":[{"name":"action_ordinal","type":"varuint32"},{"name":"creator_action_ordinal","type":"varuint32"},{"name":"receipt","type":"action_receipt?"},{"name":"receiver","type":"name"},{"name":"act","type":"action"},{"name":"context_free","type":"bool"},{"name":"elapsed","type":"int64"},{"name":"console","type":"string"},{"name":"account_ram_deltas","type":"account_delta[]"},{"name":"except","type":"string?"},{"name":"error_code","type":"uint64?"},{"name":"return_value","type":"bytes"}]},{"name":"partial_transaction_v0","fields":[{"name":"expiration","type":"time_point_sec"},{"name":"ref_block_num","type":"uint16"},{"name":"ref_block_prefix","type":"uint32"},{"name":"max_net_usage_words","type":"varuint32"},{"name":"max_cpu_usage_ms","type":"uint8"},{"name":"delay_sec","type":"varuint32"},{"name":"transaction_extensions","type":"extension[]"},{"name":"signatures","type":"signature[]"},{"name":"context_free_data","type":"bytes[]"}]},{"name":"transaction_trace_v0","fields":[{"name":"id","type":"checksum256"},{"name":"status","type":"uint8"},{"name":"cpu_usage_us","type":"uint32"},{"name":"net_usage_words","type":"varuint32"},{"name":"elapsed","type":"int64"},{"name":"net_usage","type":"uint64"},{"name":"scheduled","type":"bool"},{"name":"action_traces","type":"action_trace[]"},{"name":"account_ram_delta","type":"account_delta?"},{"name":"except","type":"string?"},{"name":"error_code","type":"uint64?"},{"name":"failed_dtrx_trace","type":"transaction_trace?"},{"name":"partial","type":"partial_transaction?"}]},{"name":"packed_transaction","fields":[{"name":"signatures","type":"signature[]"},{"name":"compression","type":"uint8"},{"name":"packed_context_free_data","type":"bytes"},{"name":"packed_trx","type":"bytes"}]},{"name":"transaction_receipt_header","fields":[{"name":"status","type":"uint8"},{"name":"cpu_usage_us","type":"uint32"},{"name":"net_usage_words","type":"varuint32"}]},{"name":"transaction_receipt","base":"transaction_receipt_header","fields":[{"name":"trx","type":"transaction_variant"}]},{"name":"extension","fields":[{"name":"type","type":"uint16"},{"name":"data","type":"bytes"}]},{"name":"block_header","fields":[{"name":"timestamp","type":"block_timestamp_type"},{"name":"producer","type":"name"},{"name":"confirmed","type":"uint16"},{"name":"previous","type":"checksum256"},{"name":"transaction_mroot","type":"checksum256"},{"name":"action_mroot","type":"checksum256"},{"name":"schedule_version","type":"uint32"},{"name":"new_producers","type":"producer_schedule?"},{"name":"header_extensions","type":"extension[]"}]},{"name":"signed_block_header","base":"block_header","fields":[{"name":"producer_signature","type":"signature"}]},{"name":"signed_block","base":"signed_block_header","fields":[{"name":"transactions","type":"transaction_receipt[]"},{"name":"block_extensions","type":"extension[]"}]},{"name":"transaction_header","fields":[{"name":"expiration","type":"time_point_sec"},{"name":"ref_block_num","type":"uint16"},{"name":"ref_block_prefix","type":"uint32"},{"name":"max_net_usage_words","type":"varuint32"},{"name":"max_cpu_usage_ms","type":"uint8"},{"name":"delay_sec","type":"varuint32"}]},{"name":"transaction","base":"transaction_header","fields":[{"name":"context_free_actions","type":"action[]"},{"name":"actions","type":"action[]"},{"name":"transaction_extensions","type":"extension[]"}]},{"name":"code_id","fields":[{"type":"uint8","name":"vm_type"},{"type":"uint8","name":"vm_version"},{"type":"checksum256","name":"code_hash"}]},{"name":"account_v0","fields":[{"type":"name","name":"name"},{"type":"block_timestamp_type","name":"creation_date"},{"type":"bytes","name":"abi"}]},{"name":"account_metadata_v0","fields":[{"type":"name","name":"name"},{"type":"bool","name":"privileged"},{"type":"time_point","name":"last_code_update"},{"type":"code_id?","name":"code"}]},{"name":"code_v0","fields":[{"type":"uint8","name":"vm_type"},{"type":"uint8","name":"vm_version"},{"type":"checksum256","name":"code_hash"},{"type":"bytes","name":"code"}]},{"name":"contract_table_v0","fields":[{"type":"name","name":"code"},{"type":"name","name":"scope"},{"type":"name","name":"table"},{"type":"name","name":"payer"}]},{"name":"contract_row_v0","fields":[{"type":"name","name":"code"},{"type":"name","name":"scope"},{"type":"name","name":"table"},{"type":"uint64","name":"primary_key"},{"type":"name","name":"payer"},{"type":"bytes","name":"value"}]},{"name":"contract_index64_v0","fields":[{"type":"name","name":"code"},{"type":"name","name":"scope"},{"type":"name","name":"table"},{"type":"uint64","name":"primary_key"},{"type":"name","name":"payer"},{"type":"uint64","name":"secondary_key"}]},{"name":"contract_index128_v0","fields":[{"type":"name","name":"code"},{"type":"name","name":"scope"},{"type":"name","name":"table"},{"type":"uint64","name":"primary_key"},{"type":"name","name":"payer"},{"type":"uint128","name":"secondary_key"}]},{"name":"contract_index256_v0","fields":[{"type":"name","name":"code"},{"type":"name","name":"scope"},{"type":"name","name":"table"},{"type":"uint64","name":"primary_key"},{"type":"name","name":"payer"},{"type":"checksum256","name":"secondary_key"}]},{"name":"contract_index_double_v0","fields":[{"type":"name","name":"code"},{"type":"name","name":"scope"},{"type":"name","name":"table"},{"type":"uint64","name":"primary_key"},{"type":"name","name":"payer"},{"type":"float64","name":"secondary_key"}]},{"name":"contract_index_long_double_v0","fields":[{"type":"name","name":"code"},{"type":"name","name":"scope"},{"type":"name","name":"table"},{"type":"uint64","name":"primary_key"},{"type":"name","name":"payer"},{"type":"float128","name":"secondary_key"}]},{"name":"producer_key","fields":[{"type":"name","name":"producer_name"},{"type":"public_key","name":"block_signing_key"}]},{"name":"producer_schedule","fields":[{"type":"uint32","name":"version"},{"type":"producer_key[]","name":"producers"}]},{"name":"block_signing_authority_v0","fields":[{"type":"uint32","name":"threshold"},{"type":"key_weight[]","name":"keys"}]},{"name":"producer_authority","fields":[{"type":"name","name":"producer_name"},{"type":"block_signing_authority","name":"authority"}]},{"name":"producer_authority_schedule","fields":[{"type":"uint32","name":"version"},{"type":"producer_authority[]","name":"producers"}]},{"name":"chain_config_v0","fields":[{"type":"uint64","name":"max_block_net_usage"},{"type":"uint32","name":"target_block_net_usage_pct"},{"type":"uint32","name":"max_transaction_net_usage"},{"type":"uint32","name":"base_per_transaction_net_usage"},{"type":"uint32","name":"net_usage_leeway"},{"type":"uint32","name":"context_free_discount_net_usage_num"},{"type":"uint32","name":"context_free_discount_net_usage_den"},{"type":"uint32","name":"max_block_cpu_usage"},{"type":"uint32","name":"target_block_cpu_usage_pct"},{"type":"uint32","name":"max_transaction_cpu_usage"},{"type":"uint32","name":"min_transaction_cpu_usage"},{"type":"uint32","name":"max_transaction_lifetime"},{"type":"uint32","name":"deferred_trx_expiration_window"},{"type":"uint32","name":"max_transaction_delay"},{"type":"uint32","name":"max_inline_action_size"},{"type":"uint16","name":"max_inline_action_depth"},{"type":"uint16","name":"max_authority_depth"}]},{"name":"chain_config_v1","fields":[{"type":"uint64","name":"max_block_net_usage"},{"type":"uint32","name":"target_block_net_usage_pct"},{"type":"uint32","name":"max_transaction_net_usage"},{"type":"uint32","name":"base_per_transaction_net_usage"},{"type":"uint32","name":"net_usage_leeway"},{"type":"uint32","name":"context_free_discount_net_usage_num"},{"type":"uint32","name":"context_free_discount_net_usage_den"},{"type":"uint32","name":"max_block_cpu_usage"},{"type":"uint32","name":"target_block_cpu_usage_pct"},{"type":"uint32","name":"max_transaction_cpu_usage"},{"type":"uint32","name":"min_transaction_cpu_usage"},{"type":"uint32","name":"max_transaction_lifetime"},{"type":"uint32","name":"deferred_trx_expiration_window"},{"type":"uint32","name":"max_transaction_delay"},{"type":"uint32","name":"max_inline_action_size"},{"type":"uint16","name":"max_inline_action_depth"},{"type":"uint16","name":"max_authority_depth"},{"type":"uint32","name":"max_action_return_value_size"}]},{"name":"wasm_config_v0","fields":[{"type":"uint32","name":"max_mutable_global_bytes"},{"type":"uint32","name":"max_table_elements"},{"type":"uint32","name":"max_section_elements"},{"type":"uint32","name":"max_linear_memory_init"},{"type":"uint32","name":"max_func_local_bytes"},{"type":"uint32","name":"max_nested_structures"},{"type":"uint32","name":"max_symbol_bytes"},{"type":"uint32","name":"max_module_bytes"},{"type":"uint32","name":"max_code_bytes"},{"type":"uint32","name":"max_pages"},{"type":"uint32","name":"max_call_depth"}]},{"name":"global_property_v0","fields":[{"type":"uint32?","name":"proposed_schedule_block_num"},{"type":"producer_schedule","name":"proposed_schedule"},{"type":"chain_config","name":"configuration"}]},{"name":"global_property_v1","fields":[{"type":"uint32?","name":"proposed_schedule_block_num"},{"type":"producer_authority_schedule","name":"proposed_schedule"},{"type":"chain_config","name":"configuration"},{"type":"checksum256","name":"chain_id"},{"type":"wasm_config$","name":"wasm_configuration"}]},{"name":"generated_transaction_v0","fields":[{"type":"name","name":"sender"},{"type":"uint128","name":"sender_id"},{"type":"name","name":"payer"},{"type":"checksum256","name":"trx_id"},{"type":"bytes","name":"packed_trx"}]},{"name":"activated_protocol_feature_v0","fields":[{"type":"checksum256","name":"feature_digest"},{"type":"uint32","name":"activation_block_num"}]},{"name":"protocol_state_v0","fields":[{"type":"activated_protocol_feature[]","name":"activated_protocol_features"}]},{"name":"key_weight","fields":[{"type":"public_key","name":"key"},{"type":"uint16","name":"weight"}]},{"name":"permission_level","fields":[{"type":"name","name":"actor"},{"type":"name","name":"permission"}]},{"name":"permission_level_weight","fields":[{"type":"permission_level","name":"permission"},{"type":"uint16","name":"weight"}]},{"name":"wait_weight","fields":[{"type":"uint32","name":"wait_sec"},{"type":"uint16","name":"weight"}]},{"name":"authority","fields":[{"type":"uint32","name":"threshold"},{"type":"key_weight[]","name":"keys"},{"type":"permission_level_weight[]","name":"accounts"},{"type":"wait_weight[]","name":"waits"}]},{"name":"permission_v0","fields":[{"type":"name","name":"owner"},{"type":"name","name":"name"},{"type":"name","name":"parent"},{"type":"time_point","name":"last_updated"},{"type":"authority","name":"auth"}]},{"name":"permission_link_v0","fields":[{"type":"name","name":"account"},{"type":"name","name":"code"},{"type":"name","name":"message_type"},{"type":"name","name":"required_permission"}]},{"name":"resource_limits_v0","fields":[{"type":"name","name":"owner"},{"type":"int64","name":"net_weight"},{"type":"int64","name":"cpu_weight"},{"type":"int64","name":"ram_bytes"}]},{"name":"usage_accumulator_v0","fields":[{"type":"uint32","name":"last_ordinal"},{"type":"uint64","name":"value_ex"},{"type":"uint64","name":"consumed"}]},{"name":"resource_usage_v0","fields":[{"type":"name","name":"owner"},{"type":"usage_accumulator","name":"net_usage"},{"type":"usage_accumulator","name":"cpu_usage"},{"type":"uint64","name":"ram_usage"}]},{"name":"resource_limits_state_v0","fields":[{"type":"usage_accumulator","name":"average_block_net_usage"},{"type":"usage_accumulator","name":"average_block_cpu_usage"},{"type":"uint64","name":"total_net_weight"},{"type":"uint64","name":"total_cpu_weight"},{"type":"uint64","name":"total_ram_bytes"},{"type":"uint64","name":"virtual_net_limit"},{"type":"uint64","name":"virtual_cpu_limit"}]},{"name":"resource_limits_ratio_v0","fields":[{"type":"uint64","name":"numerator"},{"type":"uint64","name":"denominator"}]},{"name":"elastic_limit_parameters_v0","fields":[{"type":"uint64","name":"target"},{"type":"uint64","name":"max"},{"type":"uint32","name":"periods"},{"type":"uint32","name":"max_multiplier"},{"type":"resource_limits_ratio","name":"contract_rate"},{"type":"resource_limits_ratio","name":"expand_rate"}]},{"name":"resource_limits_config_v0","fields":[{"type":"elastic_limit_parameters","name":"cpu_limit_parameters"},{"type":"elastic_limit_parameters","name":"net_limit_parameters"},{"type":"uint32","name":"account_cpu_usage_average_window"},{"type":"uint32","name":"account_net_usage_average_window"}]}],"actions":[],"tables":[{"name":"account","type":"account","key_names":["name"]},{"name":"account_metadata","type":"account_metadata","key_names":["name"]},{"name":"code","type":"code","key_names":["vm_type","vm_version","code_hash"]},{"name":"contract_table","type":"contract_table","key_names":["code","scope","table"]},{"name":"contract_row","type":"contract_row","key_names":["code","scope","table","primary_key"]},{"name":"contract_index64","type":"contract_index64","key_names":["code","scope","table","primary_key"]},{"name":"contract_index128","type":"contract_index128","key_names":["code","scope","table","primary_key"]},{"name":"contract_index256","type":"contract_index256","key_names":["code","scope","table","primary_key"]},{"name":"contract_index_double","type":"contract_index_double","key_names":["code","scope","table","primary_key"]},{"name":"contract_index_long_double","type":"contract_index_long_double","key_names":["code","scope","table","primary_key"]},{"name":"global_property","type":"global_property","key_names":[]},{"name":"generated_transaction","type":"generated_transaction","key_names":["sender","sender_id"]},{"name":"protocol_state","type":"protocol_state","key_names":[]},{"name":"permission","type":"permission","key_names":["owner","name"]},{"name":"permission_link","type":"permission_link","key_names":["account","code","message_type"]},{"name":"resource_limits","type":"resource_limits","key_names":["owner"]},{"name":"resource_usage","type":"resource_usage","key_names":["owner"]},{"name":"resource_limits_state","type":"resource_limits_state","key_names":[]},{"name":"resource_limits_config","type":"resource_limits_config","key_names":[]}],"ricardian_clauses":[],"error_messages":[],"abi_extensions":[],"variants":[{"name":"request","types":["get_status_request_v0","get_blocks_request_v0","get_blocks_ack_request_v0"]},{"name":"result","types":["get_status_result_v0","get_blocks_result_v0"]},{"name":"action_receipt","types":["action_receipt_v0"]},{"name":"action_trace","types":["action_trace_v0","action_trace_v1"]},{"name":"partial_transaction","types":["partial_transaction_v0"]},{"name":"transaction_trace","types":["transaction_trace_v0"]},{"name":"transaction_variant","types":["transaction_id","packed_transaction"]},{"name":"table_delta","types":["table_delta_v0"]},{"name":"account","types":["account_v0"]},{"name":"account_metadata","types":["account_metadata_v0"]},{"name":"code","types":["code_v0"]},{"name":"contract_table","types":["contract_table_v0"]},{"name":"contract_row","types":["contract_row_v0"]},{"name":"contract_index64","types":["contract_index64_v0"]},{"name":"contract_index128","types":["contract_index128_v0"]},{"name":"contract_index256","types":["contract_index256_v0"]},{"name":"contract_index_double","types":["contract_index_double_v0"]},{"name":"contract_index_long_double","types":["contract_index_long_double_v0"]},{"name":"chain_config","types":["chain_config_v0","chain_config_v1"]},{"name":"wasm_config","types":["wasm_config_v0"]},{"name":"global_property","types":["global_property_v0","global_property_v1"]},{"name":"generated_transaction","types":["generated_transaction_v0"]},{"name":"activated_protocol_feature","types":["activated_protocol_feature_v0"]},{"name":"protocol_state","types":["protocol_state_v0"]},{"name":"permission","types":["permission_v0"]},{"name":"permission_link","types":["permission_link_v0"]},{"name":"resource_limits","types":["resource_limits_v0"]},{"name":"usage_accumulator","types":["usage_accumulator_v0"]},{"name":"resource_usage","types":["resource_usage_v0"]},{"name":"resource_limits_state","types":["resource_limits_state_v0"]},{"name":"resource_limits_ratio","types":["resource_limits_ratio_v0"]},{"name":"elastic_limit_parameters","types":["elastic_limit_parameters_v0"]},{"name":"resource_limits_config","types":["resource_limits_config_v0"]},{"name":"block_signing_authority","types":["block_signing_authority_v0"]}]}' + const abi = JSON.parse(abiData) + const shipAbi = ABI.from(abi) + + @Struct.type('shipblock') + class ShipBlock extends Struct { + @Struct.field('uint32') declare block_num: UInt32 + @Struct.field('checksum256') declare block_id: Checksum256 + } + + @Struct.type('shiprecord') + class ShipRecord extends Struct { + @Struct.field(ShipBlock) declare head: ShipBlock + @Struct.field(ShipBlock) declare last_irreversible: ShipBlock + @Struct.field(ShipBlock) declare this_block: ShipBlock + @Struct.field(ShipBlock) declare prev_block: ShipBlock + @Struct.field('bytes') declare block: Bytes + @Struct.field('bytes') declare traces: Bytes + @Struct.field('bytes') declare deltas: Bytes + } + + const data = + '{"head":{"block_num":227932307,"block_id":"0d95f89353c048a8b660a25938d06accd8330939c003b522ea6050110b50c3ae"},"last_irreversible":{"block_num":227931971,"block_id":"0d95f7437b30e25a05433364d5056d9cc34fb57220c8f093c3f219cb22053629"},"this_block":{"block_num":174582075,"block_id":"0a67e93b6457ec683d92e4dde460f767306694d758c81bb3b8979a22133c0f19"},"prev_block":{"block_num":174582074,"block_id":"0a67e93a35786d9fc7d3d759e26e93b8a9bddc67cc6e11d309b45b635cd3aeb8"},"block":"6c8d4f5410dd37f75077315500000a67e93a35786d9fc7d3d759e26e93b8a9bddc67cc6e11d309b45b635cd3aeb804ee29f122c972fde156e44639b83b43da0a6771f86e3a8175288ece957a200f85f69412e379902e5fd2efe7b537f59897d4c5cdc5f8c20db477671033ef3865f56000000000001f6e93a23c35b8379d29e653c4ab1c52f641789a3c5da069294c5cd69f8492c8a8709b4ceebba76652dd89b5479c1f614da2125b111ff7375ff57b40423c9716e70200020100000c0101001f59011a6681fa8289230f20798a6124880fc4601b8b63dbb3f37f7da73a95eb3c2e4f56fe68c8dfacd96e7078468908bba03af4c3c0b6813951c6a4d562c0fc8b000032520a9562f2e75f082c8e00000000018092ca19ab9cb1ca000000000000bca9018092ca19ab9cb1ca00000000a8ed323200000009010000150101002026f7219f9c66df16c0ea067d3c76971b76b2770b56e2d1cb95b8c6a1f6b6ed74665702f261adf6a0245139aaf1aa9084f0d250e3f1d19b6c350e206e47f3b4f30000773f189562e6e7578b9a6600000000010000364a821036670000006167278fc601808d92208410426000000000a8ed323245808d922084104260460027012f0a9562b9544c424e51e4c2000001000000000000000000000000c84100d85f44221200c4fff4030080807c0a0f00a5d54b0200001b0c3c000000","traces":"030025891d1afb06d83cb086073851a173fdbffd04a4351e32e5fe61e0ac85b089b30064000000001a000000000000000000000000000000000101010001000000000000ea3055a26df1a804fc29fec0185490ec1961199a6bf3a7f46a1ea203c1fc1926ec400f0dc14f0d000000001ac0830a00000000010000000000ea3055ade49c0a000000001f0c0000000000ea30550000000000ea305500000000221acfa4010000000000ea305500000000a8ed3232746b8d4f5410dd37f75077315500000a67e9392939712edca3216289ac7f2dc72f60094f756b301779d861a6cea86600000000000000000000000000000000000000000000000000000000000000005b55be6a35a07284c6470e7025740117c493e55b05b74c058b687cab9c30d514f56000000000001300000000000000000000000000000000010000000000000000000000000000000000004501c07affa7af1c0ee3909f3f2eff2011d65796940c00b99af81410e1d14cf800020100000c3d060000000000006000000000000000000501010001008092ca19ab9cb1ca8f22eef855cb5303e2bacf432897fcffaef28ca69a66ead6bbede15459c104990ec14f0d000000000f00000000000000018092ca19ab9cb1ca3b0000000000000021018092ca19ab9cb1ca8092ca19ab9cb1ca000000000000bca9018092ca19ab9cb1ca00000000a8ed32320000cb05000000000000e8034c6f6f6b696e6720666f72206b65793a20633532366461616562636563616361323736386532336230306237663633623863376662633539326638626666643731336539343563393663633661363638360a4b657920666f756e6420776974682076616c75653a2031386166623637663030626330353061610a4b657920666f756e6420776974682076616c75653a203139373135323933380a4b657920666f756e6420776974682076616c75653a20018afb67f00bc050aa0a3337303431393834313339310a302e303030303030303030303030303030652b30306e6f775f6d733a31363533393334363436202d20702e6c6173745f7061796f75743a31363533393235353435203d2074696d655f73696e63655f6c6173745f7061796f75743a393130310a74696d655f73696e63655f6c6173745f7061796f75743a39313031202f20702e696e74657276616c3a31383030203d207061796d656e74735f6475653a350a35207061796f75747320746f3a20656f73696f2e72657820776974682074696d653a20313635333933343634360a4368616e6e656c696e6720746f205245580a5061796f7574206f66203530303020544c4f5320746f3a20656f73696f2e726578203530303020544c4f5320776974682074696d653a20313635333933343634360a0000000001020101000000000000ea3055292c067000ee5d369cdfbc96926d635ff5b62c81240e000b205d2396c7c468c70fc14f0d000000001bc0830a00000000018092ca19ab9cb1ca3c000000000000001f0c0000000000ea30550000000000ea3055004057d7b89db14b018092ca19ab9cb1ca00000000a8ed3232188092ca19ab9cb1ca80f0fa020000000004544c4f53000000001e000000000000000000000000010302010000a6823403ea3055005ce11fd75299542d5838a3cb828ac91a678f0343980417bdf2302dfa81129610c14f0d00000000deea160000000000018092ca19ab9cb1ca3d00000000000000040500a6823403ea305500a6823403ea3055000000572d3ccdcd018092ca19ab9cb1ca00000000a8ed3232488092ca19ab9cb1ca0000e8ea02ea305580f0fa020000000004544c4f53000000277472616e736665722066726f6d2074657374746573747465646320746f20656f73696f2e726578001600000000000000000000000001040301008092ca19ab9cb1ca005ce11fd75299542d5838a3cb828ac91a678f0343980417bdf2302dfa81129611c14f0d000000001000000000000000018092ca19ab9cb1ca3e0000000000000004058092ca19ab9cb1ca00a6823403ea3055000000572d3ccdcd018092ca19ab9cb1ca00000000a8ed3232488092ca19ab9cb1ca0000e8ea02ea305580f0fa020000000004544c4f53000000277472616e736665722066726f6d2074657374746573747465646320746f20656f73696f2e726578000b00000000000000000000000001050301000000e8ea02ea3055005ce11fd75299542d5838a3cb828ac91a678f0343980417bdf2302dfa81129612c14f0d0000000043f2000000000000018092ca19ab9cb1ca3f0000000000000004050000e8ea02ea305500a6823403ea3055000000572d3ccdcd018092ca19ab9cb1ca00000000a8ed3232488092ca19ab9cb1ca0000e8ea02ea305580f0fa020000000004544c4f53000000277472616e736665722066726f6d2074657374746573747465646320746f20656f73696f2e7265780002000000000000000000000000000000000100520a9562f2e75f082c8e0000000001001f59011a6681fa8289230f20798a6124880fc4601b8b63dbb3f37f7da73a95eb3c2e4f56fe68c8dfacd96e7078468908bba03af4c3c0b6813951c6a4d562c0fc8b000028428055d5e66d6c60f2b2a9cb33ac48ebbc1b956c5fe06aad5938861127e3ef0009010000155a00000000000000a800000000000000000101010001000000364a821036672be7f5db40f4900997699d4977ed3bc6b6a0c5abf7da58c4ad2272feccb9625813c14f0d00000000a32600000000000001808d9220841042606f7000000000000001010000364a821036670000364a821036670000006167278fc601808d92208410426000000000a8ed323245808d922084104260460027012f0a9562b9544c424e51e4c2000001000000000000000000000000c84100d85f44221200c4fff4030080807c0a0f00a5d54b0200001b0c3c0000400000000000000000000000000000000001003f189562e6e7578b9a660000000001002026f7219f9c66df16c0ea067d3c76971b76b2770b56e2d1cb95b8c6a1f6b6ed74665702f261adf6a0245139aaf1aa9084f0d250e3f1d19b6c350e206e47f3b4f300","deltas":"0400106163636f756e745f6d6574616461746100000c636f6e74726163745f726f770c015e000000364a821036670000364a82103667a0e231d95f23a5c6808d922084104260808d92208410426034808d922084104260360a9562b9544c424e51e4c2000001000001a3a114616a2600003600000008070b4d455f544553545f4c414201d917000000364a821036670000364a82103667000050f1986cb249808d922084104260808d922084104260ae17808d9220841042601776312e312e362d392d67303531303962302d64697274794600080704c000000000000000000000000000000027011c00300030003046000b0150459462b9544c424e51e4c2000001000000000000000000000080c14100205e441f1400d3fff5030080803cfc0d00f68e170200003b473b0046000c01584c9462b9544c424e51e4c2000001000000000000000000000000c24100445e441f1700ccfff0030080808d070e00368919020000434e3b0046000d0160539462b9544c424e51e4c2000001000000000000000000000080c34100605e441f1200c8fff103008080ef110e00b4491b0200004b553b0046000e01685a9462b9544c424e51e4c2000001000000000000000000000000c44100785e441f1400c5fffd030080809c1b0e0079471d020000535c3b0046000f0170619462b9544c424e51e4c2000001000000000000000000000080c34100845e441f1b00c7ffef0300808002250e00548c1e0200005b633b004600100178689462b9544c424e51e4c2000001000000000000000000000080c24100905e441f1a00cafff103008080df300e00b57d20020000636a3b0046001101806f9462b9544c424e51e4c2000001000000000000000000000000c04100a05e441f1700d6ffec03008080253b0e00c256220200006b713b004600120188769462b9544c424e51e4c2000001000000000000000000000000c54100b05e441f1200cbfff703008080ea450e00be4d2402000073783b0046001301907d9462b9544c424e51e4c2000001000000000000000000000000c24100b45e441f1500c7fff4030080809a4e0e003c01260200007b7f3b004600140198849462b9544c424e51e4c2000001000000000000000000000000c24100c05e441f1300c4fff903008080f3570e004e852702000083863b0046001501a08b9462b9544c424e51e4c2000001000000000000000000000000c44100c45e441f0f00d0fffc0300808041600e007f3d290200008b8d3b0046001601a8929462b9544c424e51e4c2000001000000000000000000000000be4100d05e44201800c8fff103008080266a0e00923e2b02000093943b0046001701af999462b9544c424e51e4c2000001000000000000000000000080bd4100dc5e44201500ccfff403008080d6720e00dcf82c0200009b9b3b0046001801b7a09462b9544c424e51e4c2000001000000000000000000000000be4100ec5e44201100c3fff403008080cd7b0e000d3c2f020000a3a23b0046001901bfa79462b9544c424e51e4c2000001000000000000000000000080bf4100045f44201100d1fff90300808033850e00390731020000aba93b0046001a01c7ae9462b9544c424e51e4c2000001000000000000000000000000c04100145f44201600d9ffed03008080fc8e0e00c53b33020000b3b03b0046001b01cfb59462b9544c424e51e4c2000001000000000000000000000000bf41001c5f44202300c5fff70300808000980e007b0235020000bbb73b0046001c01d7bc9462b9544c424e51e4c2000001000000000000000000000080c941002c5f44200c00d1ffeb0300808018a10e00fcf836020000c3be3b0046001d01dfc39462b9544c424e51e4c2000001000000000000000000000000c741003c5f44201300cdfff30300808039ac0e00676338020000cbc53b0046001e01e7ca9462b9544c424e51e4c2000001000000000000000000000080c541004c5f44201600c0fff303008080fdb40e008c643a020000d3cc3b0046001f01efd19462b9544c424e51e4c2000001000000000000000000000000c441005c5f44211b00d3ffed03008080d7bd0e007a733c020000dbd33b0046002001f7d89462b9544c424e51e4c2000001000000000000000000000080c24100685f44211600d1fff403008080a4c60e00d3523e020000e3da3b0046002101ffdf9462b9544c424e51e4c2000001000000000000000000000080c141007c5f44221500cafff2030080805ed00e00762940020000ebe13b004600220107e79462b9544c424e51e4c2000001000000000000000000000000ce41009c5f44221400c8fff103008080cad90e006e0542020000f3e83b00460023010fee9462b9544c424e51e4c2000001000000000000000000000000cd4100a85f44221d00d5fff50300808019e40e00ea6b44020000fbef3b004600240117f59462b9544c424e51e4c2000001000000000000000000000080ca4100bc5f44221a00c8fff20300808085ed0e00203d4602000003f73b00460025011ffc9462b9544c424e51e4c2000001000000000000000000000000c84100d85f44221c00d0fff103008080ebf60e00f73f480200000bfe3b004600260127039562b9544c424e51e4c2000001000000000000000000000080c74100e05f44221a00c6fff40300808044000f00d9f84902000013053c00460027012f0a9562b9544c424e51e4c2000001000000000000000000000000c84100d85f44221200c4fff4030080807c0a0f00a5d54b0200001b0c3c004600f800b8bf9362b9544c424e51e4c2000001000000000000000000000000c34100b85c441f1800cbffeb03008080d9420d0041d1f2010000a3c13a004600f900c0c69362b9544c424e51e4c2000001000000000000000000000000c24100c45c441f1500d7fff003008080fe4c0d00d486f4010000abc83a004600fa00c8cd9362b9544c424e51e4c2000001000000000000000000000080c34100c85c441f1300c1fff20300808060550d00d324f7010000b3cf3a004600fb00d0d49362b9544c424e51e4c2000001000000000000000000000000c34100d05c441e1c00c9ffef030080803b600d00d3b5f8010000bbd63a004600fc00d8db9362b9544c424e51e4c2000001000000000000000000000080c34100d45c441e1b00c9fff2030080809d680d00689ffa010000c3dd3a004600fd00e0e29362b9544c424e51e4c2000001000000000000000000000000c44100ec5c441e1700c8fff4030080802e740d0049b0fc010000cbe43a004600fe00e8e99362b9544c424e51e4c2000001000000000000000000000000c34100f45c441e1300d1fff8030080807e7d0d00cc63fe010000d3eb3a004600ff00f0f09362b9544c424e51e4c2000001000000000000000000000000c24100fc5c441e1700cfffef0300808059880d00539d00020000dbf23a0046000001f8f79362b9544c424e51e4c2000001000000000000000000000000c34100005d441e1e00c7ffee0300808063910d00c95202020000e3f93a004600010100ff9362b9544c424e51e4c2000001000000000000000000000080c24100085d441e1400d2fff303008080689c0d00692504020000eb003b004600020108069462b9544c424e51e4c2000001000000000000000000000000c24100185d441e1500c9fff8030080801ea50d00be9506020000f3073b0046000301100d9462b9544c424e51e4c2000001000000000000000000000000c14100285d441e1d00cafff8030080806daf0d00497108020000fb0e3b004600040118149462b9544c424e51e4c2000001000000000000000000000000c241003c5d441e2300cdfff10300808007b80d00d3c50a02000003163b0046000501201b9462b9544c424e51e4c2000001000000000000000000000000c34100585d441e0f00c5fffb0300808002c20d00c6fd0b0200000b1d3b004600060128229462b9544c424e51e4c2000001000000000000000000000000c341006c5d441e0d00ccfff40300808064ca0d00d3740e02000013243b004600070130299462b9544c424e51e4c2000001000000000000000000000000c241008c5d441f0d00cafff703008080cbd50d004359100200001b2b3b004600080138309462b9544c424e51e4c2000001000000000000000000000000c24100a45d441f1200c5fff503008080d5de0d0093531202000023323b004600090140379462b9544c424e51e4c2000001000000000000000000000000c14100d05d441f1700ccfff00300808044e80d008921140200002b393b0046000a01483e9462b9544c424e51e4c2000001000000000000000000000080c14100005e441f0e00c6fffc030080804af20d004f2c1602000033403b000160000000364a821036670000364a8210366700808ac7649c4dc6808d922084104260808d92208410426036808d922084104260a3a11461360a95626a2600000f02010000000a000000000000000600000042020000020302000000000009070000013a0000a6823403ea30550000e8ea02ea3055000000384f4d1132544c4f53000000000000e8ea02ea305510afeb4f425600000004544c4f53000000013a0000a6823403ea30558092ca19ab9cb1ca000000384f4d1132544c4f53000000008092ca19ab9cb1ca10c8d632010000000004544c4f53000000019301000000000000ea30550000000000ea305500000020525abbba00000000000000000000000000ea30556900000000000000000004544c4f53000000ef29b9415600000004544c4f530000007cc5c6cf0100000004544c4f53000000ef29b9415600000004544c4f53000000f8678c2fc9d800000452455800000000000000000000000004544c4f530000002c00000000000000014a008092ca19ab9cb1ca8092ca19ab9cb1ca00000000674dbda90000e8ea02ea30558092ca19ab9cb1ca200000e8ea02ea3055e8030000000000000807000000000000360a956200000000013a000000000000ea30550000000000ea3055000000406573bda9000000406573bda90000000000ea305510f50600000000000000c39dd000000000014a000000000000ea30550000000000ea30550000c093ba6c32bd0000c093ba6c32bd0000000000ea30552060a2d25f4db53155100c7277999635c508000000160000003b175054bbc54e5401b402000000000000ea30550000000000ea305570b3922aeaa41ac270b3922aeaa41ac20000000000ea3055890210dd37f750773155000000001510dd37f75077315508000000c0d54598469555cb0c000000508f71693a4ca3ca0c000000806954791a87afaa0c000000000090265d95b1340c00000080d3cdd81c88683c0c000000500fa651651f9d490c000000000000994ee8413d0c000000a02a4598469555cb0c00000000000020397a403d0c00000010f0a42ed25cfd450c000000a0129dc8244ca3ca0c000000406f85f1603a9d810c00000050cf55df6555ab490c000000a0aece51234ca3ca0c0000008021a2f160aaa2410c00000010b29a19ab4cdd610c000000100c7277999635c50c000000108c3be61a4ca3ca0000000000118d67bb6cd445000000008063f68c46aaa2ca0000000001e801000000000000ea30550000000000ea3055000000004473686400000000447368640000000000ea3055bd010000100000000000e8030000c02709000c000000f40100001400000064000000400d0300f4010000f049020064000000100e00005802000080533b000010000004000600c01f24e1070000004615c125020000008e0bb56201000000318d4f54a1854f54a04a03983ee0050000000000000000000000000000000000980c0000bacbbbac1e000000a0fc0f6b709005001500a903fcae110b7e42248db45302e9670aec8a4f5400000000400048e54e5400000000000000000000000000018502000000000000ea30550000000000ea30550000c057219de8ad10dd37f75077315510dd37f750773155da0110dd37f7507731554230ef054e09344200031446e209d483df5b0cfd7869a5ce0cd8e195919b7e2f080c4d6802a63259d12d01001168747470733a2f2f656f7372696f2e696f1c000000719c2c0000000000ac200000a04a03983ee005004c00010000006950726f6475636572206163636f756e74207761732064656163746976617465642062656361757365206974207265616368656420746865206d6178696d756d206d697373656420626c6f636b7320696e207468697320726f746174696f6e2074696d656672616d652e0000000002000000c95f3f50000e7265736f757263655f757361676503013b00808d922084104260006c8d4f5433b5000000000000a900000000000000006c8d4f541d1d0300000000000a010000000000002a49000000000000013b008092ca19ab9cb1ca006c8d4f5446572100000000006300000000000000006c8d4f5444d10900000000000301000000000000a1c5050000000000013b000000000000ea3055006c8d4f5400000000000000000000000000000000006c8d4f540106f40500000000c800000000000000ce625b010000000000157265736f757263655f6c696d6974735f737461746501015300003be9670a6d99a300000000001101000000000000003be9670a6652c60b000000003003000000000000e10cd5a2500000007224f666520000008683e237020000000000803e0000000000c2eb0b00000000"}' + + const resultElement = ShipRecord.from(JSON.parse(data)) + + const traces = Serializer.decode({ + type: 'transaction_trace[]', + data: resultElement.traces.array as Uint8Array, + abi: shipAbi, + }) as any[] + }) })