@@ -752,11 +752,12 @@ create_block_context_protobuf_from_block( fd_block_dump_ctx_t * dump_ctx,
752752static void
753753create_txn_context_protobuf_from_txn ( fd_exec_test_txn_context_t * txn_context_msg ,
754754 fd_runtime_t * runtime ,
755- fd_txn_out_t * txn_out ,
756- fd_exec_txn_ctx_t * txn_ctx ,
755+ fd_bank_t * bank ,
756+ fd_txn_in_t const * txn_in ,
757+ fd_txn_out_t * txn_out ,
757758 fd_spad_t * spad ) {
758- fd_txn_t const * txn_descriptor = TXN ( & txn_ctx -> txn );
759- uchar const * txn_payload = (uchar const * ) txn_ctx -> txn .payload ;
759+ fd_txn_t const * txn_descriptor = TXN ( & txn_in -> txn );
760+ uchar const * txn_payload = (uchar const * ) txn_in -> txn .payload ;
760761
761762 /* Transaction Context -> account_shared_data
762763 Contains:
@@ -772,7 +773,7 @@ create_txn_context_protobuf_from_txn( fd_exec_test_txn_context_t * txn_context_m
772773 txn_context_msg -> account_shared_data = fd_spad_alloc ( spad ,
773774 alignof(fd_exec_test_acct_state_t ),
774775 (256UL * 2UL + txn_descriptor -> addr_table_lookup_cnt + num_sysvar_entries ) * sizeof (fd_exec_test_acct_state_t ) );
775- fd_funk_txn_xid_t xid = { .ul = { fd_bank_slot_get ( txn_ctx -> bank ), txn_ctx -> bank -> idx } };
776+ fd_funk_txn_xid_t xid = { .ul = { fd_bank_slot_get ( bank ), bank -> idx } };
776777 for ( ulong i = 0 ; i < txn_out -> accounts .accounts_cnt ; ++ i ) {
777778 fd_txn_account_t txn_account [1 ];
778779 int ret = fd_txn_account_init_from_funk_readonly ( txn_account , & txn_out -> accounts .account_keys [i ], runtime -> funk , & xid );
@@ -873,17 +874,17 @@ create_txn_context_protobuf_from_txn( fd_exec_test_txn_context_t * txn_context_m
873874 alignof(pb_bytes_array_t * ),
874875 PB_BYTES_ARRAY_T_ALLOCSIZE ((FD_BLOCKHASHES_MAX ) * sizeof (pb_bytes_array_t * )) );
875876 txn_context_msg -> blockhash_queue = output_blockhash_queue ;
876- fd_blockhashes_t const * block_hash_queue = fd_bank_block_hash_queue_query ( txn_ctx -> bank );
877+ fd_blockhashes_t const * block_hash_queue = fd_bank_block_hash_queue_query ( bank );
877878 dump_blockhash_queue ( block_hash_queue , spad , output_blockhash_queue , & txn_context_msg -> blockhash_queue_count );
878879
879880 /* Transaction Context -> epoch_ctx */
880881 txn_context_msg -> has_epoch_ctx = true;
881882 txn_context_msg -> epoch_ctx .has_features = true;
882- dump_sorted_features ( fd_bank_features_query ( txn_ctx -> bank ), & txn_context_msg -> epoch_ctx .features , spad );
883+ dump_sorted_features ( fd_bank_features_query ( bank ), & txn_context_msg -> epoch_ctx .features , spad );
883884
884885 /* Transaction Context -> slot_ctx */
885886 txn_context_msg -> has_slot_ctx = true;
886- txn_context_msg -> slot_ctx .slot = fd_bank_slot_get ( txn_ctx -> bank );
887+ txn_context_msg -> slot_ctx .slot = fd_bank_slot_get ( bank );
887888}
888889
889890static void
@@ -985,6 +986,7 @@ create_instr_context_protobuf_from_instructions( fd_exec_test_instr_context_t *
985986
986987void
987988fd_dump_instr_to_protobuf ( fd_runtime_t * runtime ,
989+ fd_txn_in_t const * txn_in ,
988990 fd_txn_out_t * txn_out ,
989991 fd_exec_txn_ctx_t * txn_ctx ,
990992 fd_instr_info_t * instr ,
@@ -993,7 +995,7 @@ fd_dump_instr_to_protobuf( fd_runtime_t * runtime,
993995
994996 FD_SPAD_FRAME_BEGIN ( spad ) {
995997 // Get base58-encoded tx signature
996- const fd_ed25519_sig_t * signatures = fd_txn_get_signatures ( TXN ( & txn_ctx -> txn ), txn_ctx -> txn .payload );
998+ const fd_ed25519_sig_t * signatures = fd_txn_get_signatures ( TXN ( & txn_in -> txn ), txn_in -> txn .payload );
997999 fd_ed25519_sig_t signature ; fd_memcpy ( signature , signatures [0 ], sizeof (fd_ed25519_sig_t ) );
9981000 char encoded_signature [FD_BASE58_ENCODED_64_SZ ];
9991001 ulong out_size ;
@@ -1029,13 +1031,14 @@ fd_dump_instr_to_protobuf( fd_runtime_t * runtime,
10291031
10301032void
10311033fd_dump_txn_to_protobuf ( fd_runtime_t * runtime ,
1034+ fd_txn_in_t const * txn_in ,
10321035 fd_txn_out_t * txn_out ,
10331036 fd_exec_txn_ctx_t * txn_ctx ) {
10341037 fd_spad_t * spad = fd_spad_join ( fd_spad_new ( txn_ctx -> log .dumping_mem , 1UL <<28UL ) );
10351038
10361039 FD_SPAD_FRAME_BEGIN ( spad ) {
10371040 // Get base58-encoded tx signature
1038- const fd_ed25519_sig_t * signatures = fd_txn_get_signatures ( TXN ( & txn_ctx -> txn ), txn_ctx -> txn .payload );
1041+ const fd_ed25519_sig_t * signatures = fd_txn_get_signatures ( TXN ( & txn_in -> txn ), txn_in -> txn .payload );
10391042 fd_ed25519_sig_t signature ; fd_memcpy ( signature , signatures [0 ], sizeof (fd_ed25519_sig_t ) );
10401043 char encoded_signature [FD_BASE58_ENCODED_64_SZ ];
10411044 ulong out_size ;
@@ -1049,7 +1052,7 @@ fd_dump_txn_to_protobuf( fd_runtime_t * runtime,
10491052 }
10501053
10511054 fd_exec_test_txn_context_t txn_context_msg = FD_EXEC_TEST_TXN_CONTEXT_INIT_DEFAULT ;
1052- create_txn_context_protobuf_from_txn ( & txn_context_msg , runtime , txn_out , txn_ctx , spad );
1055+ create_txn_context_protobuf_from_txn ( & txn_context_msg , runtime , txn_ctx -> bank , txn_in , txn_out , spad );
10531056
10541057 /* Output to file */
10551058 ulong out_buf_size = 100UL <<20UL ; // 100 MB
@@ -1122,7 +1125,7 @@ fd_dump_vm_syscall_to_protobuf( fd_vm_t const * vm,
11221125FD_SPAD_FRAME_BEGIN ( spad ) {
11231126
11241127 fd_ed25519_sig_t signature ;
1125- memcpy ( signature , (uchar const * )vm -> instr_ctx -> txn_ctx -> txn .payload + TXN ( & vm -> instr_ctx -> txn_ctx -> txn )-> signature_off , sizeof (fd_ed25519_sig_t ) );
1128+ memcpy ( signature , (uchar const * )vm -> instr_ctx -> txn_in -> txn .payload + TXN ( & vm -> instr_ctx -> txn_in -> txn )-> signature_off , sizeof (fd_ed25519_sig_t ) );
11261129 char encoded_signature [FD_BASE58_ENCODED_64_SZ ];
11271130 fd_base58_encode_64 ( signature , NULL , encoded_signature );
11281131
@@ -1239,6 +1242,7 @@ FD_SPAD_FRAME_BEGIN( spad ) {
12391242
12401243void
12411244fd_dump_elf_to_protobuf ( fd_runtime_t * runtime ,
1245+ fd_txn_in_t const * txn_in ,
12421246 fd_exec_txn_ctx_t * txn_ctx ,
12431247 fd_txn_account_t * program_acc ) {
12441248fd_spad_t * spad = fd_spad_join ( fd_spad_new ( txn_ctx -> log .dumping_mem , 1UL <<28UL ) );
@@ -1257,7 +1261,7 @@ FD_SPAD_FRAME_BEGIN( spad ) {
12571261
12581262 /* Serialize the ELF to protobuf */
12591263 fd_ed25519_sig_t signature ;
1260- memcpy ( signature , (uchar const * )txn_ctx -> txn .payload + TXN ( & txn_ctx -> txn )-> signature_off , sizeof (fd_ed25519_sig_t ) );
1264+ memcpy ( signature , (uchar const * )txn_in -> txn .payload + TXN ( & txn_in -> txn )-> signature_off , sizeof (fd_ed25519_sig_t ) );
12611265 char encoded_signature [FD_BASE58_ENCODED_64_SZ ];
12621266 fd_base58_encode_64 ( signature , NULL , encoded_signature );
12631267
0 commit comments