Skip to content

Commit 8213314

Browse files
removing bank hash from slot bank
1 parent 413a8b3 commit 8213314

18 files changed

+48
-46
lines changed

src/app/ledger/main.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -514,17 +514,18 @@ runtime_replay( fd_ledger_args_t * ledger_args ) {
514514
}
515515
}
516516

517+
fd_hash_t * bank_hash_bm = fd_bank_mgr_bank_hash_query( ledger_args->slot_ctx->bank_mgr );
517518
err = fd_blockstore_bank_hash_query( blockstore, slot, &expected );
518519
if( FD_UNLIKELY( err) ) {
519520
FD_LOG_ERR(( "slot %lu is missing its bank hash", slot ));
520-
} else if( FD_UNLIKELY( 0 != memcmp( ledger_args->slot_ctx->slot_bank.banks_hash.hash,
521+
} else if( FD_UNLIKELY( 0 != memcmp( bank_hash_bm,
521522
expected.hash,
522523
32UL ) ) ) {
523524

524525
char expected_hash[ FD_BASE58_ENCODED_32_SZ ];
525526
fd_acct_addr_cstr( expected_hash, expected.hash );
526527
char bank_hash[ FD_BASE58_ENCODED_32_SZ ];
527-
fd_acct_addr_cstr( bank_hash, ledger_args->slot_ctx->slot_bank.banks_hash.hash );
528+
fd_acct_addr_cstr( bank_hash, bank_hash_bm->hash );
528529

529530
FD_LOG_WARNING(( "Bank hash mismatch! slot=%lu expected=%s, got=%s",
530531
slot,

src/choreo/forks/fd_forks.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,10 @@ slot_ctx_restore( ulong slot,
259259

260260
// signature_cnt, account_delta_hash, prev_banks_hash are used for the banks
261261
// hash calculation and not needed when restoring parent
262-
262+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_query( slot_ctx_out->bank_mgr );
263263
FD_LOG_NOTICE(( "recovered slot_bank for slot=%lu banks_hash=%s",
264264
slot_ctx_out->slot,
265-
FD_BASE58_ENC_32_ALLOCA( slot_ctx_out->slot_bank.banks_hash.hash ) ));
265+
FD_BASE58_ENC_32_ALLOCA( bank_hash->hash ) ));
266266

267267
/* Prepare bank for next slot */
268268
slot_ctx_out->slot = slot;

src/discof/replay/fd_replay_tile.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,7 +1138,8 @@ publish_slot_notifications( fd_replay_tile_ctx_t * ctx,
11381138
msg->slot_exec.root = fd_fseq_query( ctx->published_wmark );
11391139
msg->slot_exec.height = block_entry_block_height;
11401140
msg->slot_exec.shred_cnt = fork->slot_ctx->shred_cnt;
1141-
memcpy( &msg->slot_exec.bank_hash, &fork->slot_ctx->slot_bank.banks_hash, sizeof( fd_hash_t ) );
1141+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_query( fork->slot_ctx->bank_mgr );
1142+
memcpy( &msg->slot_exec.bank_hash, bank_hash, sizeof( fd_hash_t ) );
11421143
memcpy( &msg->slot_exec.block_hash, &ctx->blockhash, sizeof( fd_hash_t ) );
11431144
memcpy( &msg->slot_exec.identity, ctx->validator_identity_pubkey, sizeof( fd_pubkey_t ) );
11441145
msg->slot_exec.ts = tsorig;
@@ -1725,7 +1726,8 @@ exec_slice( fd_replay_tile_ctx_t * ctx,
17251726
FD_COMPILER_MFENCE();
17261727
block_info->flags = fd_uchar_clear_bit( block_info->flags, FD_BLOCK_FLAG_REPLAYING );
17271728
memcpy( &block_info->block_hash, hdr->hash, sizeof(fd_hash_t) );
1728-
memcpy( &block_info->bank_hash, &fork->slot_ctx->slot_bank.banks_hash, sizeof(fd_hash_t) );
1729+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_query( fork->slot_ctx->bank_mgr );
1730+
memcpy( &block_info->bank_hash, bank_hash, sizeof(fd_hash_t) );
17291731

17301732
fd_block_map_publish( query );
17311733
ctx->flags = EXEC_FLAG_FINISHED_SLOT;
@@ -2620,7 +2622,7 @@ after_credit( fd_replay_tile_ctx_t * ctx,
26202622
/* Bank hash comparison, and halt if there's a mismatch after replay */
26212623
/**********************************************************************/
26222624

2623-
fd_hash_t const * bank_hash = &child->slot_ctx->slot_bank.banks_hash;
2625+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_query( fork->slot_ctx->bank_mgr );
26242626
fd_bank_hash_cmp_t * bank_hash_cmp = child->slot_ctx->epoch_ctx->bank_hash_cmp;
26252627
fd_bank_hash_cmp_lock( bank_hash_cmp );
26262628
fd_bank_hash_cmp_insert( bank_hash_cmp, curr_slot, bank_hash, 1, 0 );

src/discof/restart/fd_restart_tile.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ after_frag( fd_restart_tile_ctx_t * ctx,
335335
fd_funk_txn_end_write( ctx->funk );
336336

337337
/* Copy the bank hash of HeaviestForkSlot to fd_restart_t */
338-
ctx->restart->heaviest_fork_bank_hash = slot_bank->banks_hash;
338+
// ctx->restart->heaviest_fork_bank_hash = slot_bank->banks_hash;
339339
ctx->restart->heaviest_fork_ready = 1;
340340
}
341341
}
@@ -360,6 +360,7 @@ after_credit( fd_restart_tile_ctx_t * ctx,
360360

361361
/* Decode the slot bank from funk, referencing fd_runtime_recover_banks() in fd_runtime_init.c */
362362
fd_slot_bank_t * slot_bank = NULL;
363+
(void)slot_bank;
363364
{
364365
fd_funk_rec_key_t id = fd_runtime_slot_bank_key();
365366
fd_funk_rec_query_t query[1];
@@ -443,7 +444,7 @@ after_credit( fd_restart_tile_ctx_t * ctx,
443444
/* FIXME: this has an invalid slot number. */
444445
fd_restart_init( ctx->restart,
445446
0UL,
446-
&slot_bank->banks_hash,
447+
NULL,
447448
epoch_stakes,
448449
&ctx->epoch_bank.epoch_schedule,
449450
ctx->tower_checkpt_fileno,

src/flamenco/runtime/context/fd_exec_slot_ctx.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,6 @@ fd_exec_slot_ctx_recover( fd_exec_slot_ctx_t * slot_ctx,
240240

241241
/* Copy over fields */
242242

243-
fd_memcpy(&slot_bank->banks_hash, &oldbank->hash, sizeof(oldbank->hash));
244243
fd_memcpy(&slot_ctx->slot_bank.prev_banks_hash, &oldbank->parent_hash, sizeof(oldbank->parent_hash));
245244
fd_memcpy( &epoch_bank->epoch_schedule, &oldbank->epoch_schedule, sizeof(fd_epoch_schedule_t) );
246245
epoch_bank->rent = oldbank->rent_collector.rent;
@@ -278,6 +277,11 @@ fd_exec_slot_ctx_recover( fd_exec_slot_ctx_t * slot_ctx,
278277

279278
fd_bank_mgr_block_hash_queue_save( slot_ctx->bank_mgr );
280279

280+
/* Bank Hash */
281+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_modify( slot_ctx->bank_mgr );
282+
*bank_hash = oldbank->hash;
283+
fd_bank_mgr_bank_hash_save( slot_ctx->bank_mgr );
284+
281285
/* Slot */
282286

283287
ulong * slot_ptr = fd_bank_mgr_slot_modify( slot_ctx->bank_mgr );

src/flamenco/runtime/fd_bank_mgr.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ if( FD_UNLIKELY( !bank_mgr ) ) {
148148
X(fd_sol_sysvar_last_restart_slot_t, last_restart_slot, 30UL, 8UL, 8UL ) \
149149
X(fd_rent_fresh_accounts_global_t, rent_fresh_accounts, 31UL, 50000UL, 8UL ) \
150150
X(fd_cluster_version_t, cluster_version, 32UL, 12UL, 4UL ) \
151-
X(ulong, prev_slot, 33UL, 8UL, 8UL )
151+
X(ulong, prev_slot, 33UL, 8UL, 8UL ) \
152+
X(fd_hash_t, bank_hash, 34UL, 32UL, 8UL )
152153
FD_BANK_MGR_ITER(BANK_MGR_FUNCTIONS)
153154

154155
FD_PROTOTYPES_END

src/flamenco/runtime/fd_blockstore_tool.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,7 @@ usage( void ) {
6565
fd_blockstore_t * blockstore = fd_blockstore_join( &blockstore_ljoin, shblockstore ); \
6666
fd_buf_shred_pool_reset( blockstore->shred_pool, 0 ); \
6767
FD_TEST( blockstore ); \
68-
fd_slot_bank_t slot_bank = { \
69-
.banks_hash = { .hash = {0} }, \
70-
}; \
68+
fd_slot_bank_t slot_bank = {0}; \
7169
fd_slot_bank_new( &slot_bank ); \
7270
int fd = open( "dummy.archv", O_RDWR | O_CREAT, 0666 ); \
7371
FD_TEST( fd > 0 );

src/flamenco/runtime/fd_hashes.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,9 @@ fd_hash_bank( fd_exec_slot_ctx_t * slot_ctx,
238238
fd_hash_t * hash,
239239
fd_pubkey_hash_pair_t * dirty_keys,
240240
ulong dirty_key_cnt ) {
241-
slot_ctx->slot_bank.prev_banks_hash = slot_ctx->slot_bank.banks_hash;
241+
242+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_query( slot_ctx->bank_mgr );
243+
slot_ctx->slot_bank.prev_banks_hash = *bank_hash;
242244

243245
ulong * signature_cnt_bm = fd_bank_mgr_signature_cnt_query( slot_ctx->bank_mgr );
244246
ulong signature_cnt = !!signature_cnt_bm ? *signature_cnt_bm : 0UL;
@@ -265,7 +267,7 @@ fd_hash_bank( fd_exec_slot_ctx_t * slot_ctx,
265267

266268
fd_sha256_t sha;
267269
fd_sha256_init( &sha );
268-
fd_sha256_append( &sha, (uchar const *) &slot_ctx->slot_bank.banks_hash, sizeof( fd_hash_t ) );
270+
fd_sha256_append( &sha, (uchar const *)bank_hash, sizeof( fd_hash_t ) );
269271
if( !FD_FEATURE_ACTIVE( slot_ctx->slot, slot_ctx->epoch_ctx->features, remove_accounts_delta_hash) )
270272
fd_sha256_append( &sha, (uchar const *) &slot_ctx->account_delta_hash, sizeof( fd_hash_t ) );
271273
fd_sha256_append( &sha, (uchar const *) &signature_cnt, sizeof( ulong ) );

src/flamenco/runtime/fd_runtime.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1599,8 +1599,9 @@ fd_runtime_block_execute_finalize_finish( fd_exec_slot_ctx_t * slot_
15991599
fd_accounts_hash_task_data_t * task_data,
16001600
ulong lt_hash_cnt ) {
16011601

1602+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_query( slot_ctx->bank_mgr );
16021603
int err = fd_update_hash_bank_exec_hash( slot_ctx,
1603-
&slot_ctx->slot_bank.banks_hash,
1604+
bank_hash,
16041605
capture_ctx,
16051606
task_data,
16061607
1UL,
@@ -3447,7 +3448,9 @@ fd_runtime_init_bank_from_genesis( fd_exec_slot_ctx_t * slot_ctx,
34473448
fd_memcpy( poh_bm->hash, genesis_hash->hash, FD_SHA256_HASH_SZ );
34483449
fd_bank_mgr_poh_save( slot_ctx->bank_mgr );
34493450

3450-
memset( slot_ctx->slot_bank.banks_hash.hash, 0, FD_SHA256_HASH_SZ );
3451+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_modify( slot_ctx->bank_mgr );
3452+
memset( bank_hash->hash, 0, FD_SHA256_HASH_SZ );
3453+
fd_bank_mgr_bank_hash_save( slot_ctx->bank_mgr );
34513454

34523455
fd_poh_config_t const * poh = &genesis_block->poh_config;
34533456
fd_exec_epoch_ctx_t * epoch_ctx = slot_ctx->epoch_ctx;
@@ -3783,9 +3786,10 @@ fd_runtime_process_genesis_block( fd_exec_slot_ctx_t * slot_ctx,
37833786
fd_runtime_freeze( slot_ctx, runtime_spad );
37843787

37853788
/* sort and update bank hash */
3789+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_query( slot_ctx->bank_mgr );
37863790
int result = fd_update_hash_bank_tpool( slot_ctx,
37873791
capture_ctx,
3788-
&slot_ctx->slot_bank.banks_hash,
3792+
bank_hash,
37893793
0UL,
37903794
NULL,
37913795
runtime_spad );
@@ -4464,13 +4468,12 @@ fd_runtime_block_eval_tpool( fd_exec_slot_ctx_t * slot_ctx,
44644468
block_eval_time += fd_log_wallclock();
44654469
double block_eval_time_ms = (double)block_eval_time * 1e-6;
44664470
double tps = (double) block_info.txn_cnt / ((double)block_eval_time * 1e-9);
4467-
FD_LOG_INFO(( "evaluated block successfully - slot: %lu, elapsed: %6.6f ms, signatures: %lu, txns: %lu, tps: %6.6f, bank_hash: %s, leader: %s",
4471+
FD_LOG_INFO(( "evaluated block successfully - slot: %lu, elapsed: %6.6f ms, signatures: %lu, txns: %lu, tps: %6.6f, leader: %s",
44684472
slot,
44694473
block_eval_time_ms,
44704474
block_info.signature_cnt,
44714475
block_info.txn_cnt,
44724476
tps,
4473-
FD_BASE58_ENC_32_ALLOCA( slot_ctx->slot_bank.banks_hash.hash ),
44744477
FD_BASE58_ENC_32_ALLOCA( fd_epoch_leaders_get( fd_exec_epoch_ctx_leaders( slot_ctx->epoch_ctx ), slot ) ) ));
44754478

44764479
ulong * transaction_count = fd_bank_mgr_transaction_count_modify( slot_ctx->bank_mgr );

src/flamenco/runtime/fd_runtime_init.c

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ fd_runtime_save_epoch_bank( fd_exec_slot_ctx_t * slot_ctx ) {
5050

5151
fd_funk_rec_publish( funk, prepare );
5252

53-
FD_LOG_DEBUG(( "epoch frozen, slot=%lu bank_hash=%s", slot_ctx->slot, FD_BASE58_ENC_32_ALLOCA( slot_ctx->slot_bank.banks_hash.hash ) ));
53+
FD_LOG_DEBUG(( "epoch frozen, slot=%lu", slot_ctx->slot ));
5454

5555
return FD_RUNTIME_EXECUTE_SUCCESS;
5656
}
@@ -99,9 +99,7 @@ int fd_runtime_save_slot_bank( fd_exec_slot_ctx_t * slot_ctx ) {
9999

100100
fd_funk_rec_publish( funk, prepare );
101101

102-
FD_LOG_DEBUG(( "slot frozen, slot=%lu bank_hash=%s",
103-
slot_ctx->slot,
104-
FD_BASE58_ENC_32_ALLOCA( slot_ctx->slot_bank.banks_hash.hash ) ));
102+
FD_LOG_DEBUG(( "slot frozen, slot=%lu", slot_ctx->slot ));
105103

106104
return FD_RUNTIME_EXECUTE_SUCCESS;
107105
}
@@ -192,10 +190,8 @@ fd_runtime_recover_banks( fd_exec_slot_ctx_t * slot_ctx,
192190
continue;
193191
}
194192

195-
FD_LOG_NOTICE(( "recovered slot_bank for slot=%ld banks_hash=%s lthash=%s",
196-
(long)slot_ctx->slot,
197-
FD_BASE58_ENC_32_ALLOCA( slot_ctx->slot_bank.banks_hash.hash ),
198-
FD_LTHASH_ENC_32_ALLOCA( (fd_lthash_value_t *) slot_ctx->slot_bank.lthash.lthash ) ));
193+
FD_LOG_NOTICE(( "recovered slot_bank for slot=%ld",
194+
(long)slot_ctx->slot ));
199195

200196
ulong * execution_fees = fd_bank_mgr_execution_fees_modify( slot_ctx->bank_mgr );
201197
*execution_fees = 0;

src/flamenco/runtime/sysvar/fd_sysvar_slot_hashes.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ FD_SPAD_FRAME_BEGIN( runtime_spad ) {
111111
iter = deq_fd_slot_hash_t_iter_next( hashes, iter ) ) {
112112
fd_slot_hash_t * ele = deq_fd_slot_hash_t_iter_ele( hashes, iter );
113113
if( ele->slot == slot_ctx->slot ) {
114-
memcpy( &ele->hash, &slot_ctx->slot_bank.banks_hash, sizeof(fd_hash_t) );
114+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_query( slot_ctx->bank_mgr );
115+
memcpy( &ele->hash, bank_hash, sizeof(fd_hash_t) );
115116
found = 1;
116117
}
117118
}
@@ -122,7 +123,7 @@ FD_SPAD_FRAME_BEGIN( runtime_spad ) {
122123
if( !found ) {
123124
// https://github.com/firedancer-io/solana/blob/08a1ef5d785fe58af442b791df6c4e83fe2e7c74/runtime/src/bank.rs#L2371
124125
fd_slot_hash_t slot_hash = {
125-
.hash = slot_ctx->slot_bank.banks_hash, // parent hash?
126+
.hash = *fd_bank_mgr_bank_hash_query( slot_ctx->bank_mgr ), // parent hash?
126127
.slot = prev_slot, // parent_slot
127128
};
128129
FD_LOG_DEBUG(( "fd_sysvar_slot_hash_update: slot %lu, hash %s", slot_hash.slot, FD_BASE58_ENC_32_ALLOCA( slot_hash.hash.key ) ));

src/flamenco/runtime/tests/fd_dump_pb.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,8 @@ create_block_context_protobuf_from_block( fd_exec_test_block_context_t * block_c
481481
// HACK FOR NOW: block height gets incremented in process_new_epoch, so we should dump block height + 1
482482
block_context->slot_ctx.block_height = *(fd_bank_mgr_block_height_query( bank_mgr )) + 1UL;
483483
// fd_memcpy( block_context->slot_ctx.poh, &slot_ctx->slot_bank.poh, sizeof(fd_pubkey_t) ); // TODO: dump here when process epoch happens after poh verification
484-
fd_memcpy( block_context->slot_ctx.parent_bank_hash, &slot_ctx->slot_bank.banks_hash, sizeof(fd_pubkey_t) );
484+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_query( bank_mgr );
485+
fd_memcpy( block_context->slot_ctx.parent_bank_hash, bank_hash, sizeof(fd_pubkey_t) );
485486
fd_memcpy( block_context->slot_ctx.parent_lt_hash, &slot_ctx->slot_bank.lthash.lthash, FD_LTHASH_LEN_BYTES );
486487
block_context->slot_ctx.prev_slot = *(fd_bank_mgr_prev_slot_query( bank_mgr ));
487488
block_context->slot_ctx.prev_lps = *(fd_bank_mgr_prev_lamports_per_signature_query( bank_mgr ));

src/flamenco/runtime/tests/harness/fd_block_harness.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ fd_runtime_fuzz_block_ctx_create( fd_runtime_fuzz_runner_t * runner,
8080
slot_ctx->runtime_wksp = fd_wksp_containing( slot_ctx );
8181
slot_ctx->slot = slot;
8282

83-
fd_memcpy( &slot_ctx->slot_bank.banks_hash, test_ctx->slot_ctx.parent_bank_hash, sizeof( fd_hash_t ) );
83+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_modify( slot_ctx->bank_mgr );
84+
fd_memcpy( bank_hash, test_ctx->slot_ctx.parent_bank_hash, sizeof(fd_hash_t) );
85+
fd_bank_mgr_bank_hash_save( slot_ctx->bank_mgr );
8486

8587
/* Set up slot bank */
8688
fd_slot_bank_t * slot_bank = &slot_ctx->slot_bank;
@@ -512,7 +514,8 @@ fd_runtime_fuzz_block_run( fd_runtime_fuzz_runner_t * runner,
512514
/* Capture hashes */
513515
uchar out_lt_hash[32];
514516
fd_lthash_hash( (fd_lthash_value_t const *)slot_ctx->slot_bank.lthash.lthash, out_lt_hash );
515-
fd_memcpy( effects->bank_hash, slot_ctx->slot_bank.banks_hash.hash, sizeof(fd_hash_t) );
517+
fd_hash_t * bank_hash = fd_bank_mgr_bank_hash_query( slot_ctx->bank_mgr );
518+
fd_memcpy( effects->bank_hash, bank_hash, sizeof(fd_hash_t) );
516519
fd_memcpy( effects->lt_hash, out_lt_hash, sizeof(fd_hash_t) );
517520
fd_memcpy( effects->account_delta_hash, slot_ctx->account_delta_hash.hash, sizeof(fd_hash_t) );
518521

src/flamenco/snapshot/fd_snapshot_create.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,7 @@ fd_snapshot_create_populate_bank( fd_snapshot_ctx_t * snapshot_ctx,
630630
bank->ancestors_len = 0UL;
631631
bank->ancestors = NULL;
632632

633-
bank->hash = slot_bank->banks_hash;
633+
// bank->hash = slot_bank->banks_hash;
634634
bank->parent_hash = slot_bank->prev_banks_hash;
635635
// bank->parent_slot = slot_bank->prev_slot;
636636
// bank->hard_forks = slot_bank->hard_forks;

src/flamenco/types/fd_fuzz_types.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1825,7 +1825,6 @@ void *fd_slot_bank_generate( void *mem, void **alloc_mem, fd_rng_t * rng ) {
18251825
fd_slot_bank_t *self = (fd_slot_bank_t *) mem;
18261826
*alloc_mem = (uchar *) *alloc_mem + sizeof(fd_slot_bank_t);
18271827
fd_slot_bank_new(mem);
1828-
fd_hash_generate( &self->banks_hash, alloc_mem, rng );
18291828
fd_vote_accounts_generate( &self->epoch_stakes, alloc_mem, rng );
18301829
fd_slot_lthash_generate( &self->lthash, alloc_mem, rng );
18311830
fd_hash_generate( &self->prev_banks_hash, alloc_mem, rng );

src/flamenco/types/fd_types.c

Lines changed: 0 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/flamenco/types/fd_types.h

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)