Skip to content

Commit e63b32f

Browse files
committed
Populate change to Consensus > Genesis_epoch_ledger across the codebase
1 parent a1001fa commit e63b32f

File tree

23 files changed

+61
-63
lines changed

23 files changed

+61
-63
lines changed

src/app/cli/src/cli_entrypoint/mina_cli_entrypoint.ml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,8 +1144,7 @@ let setup_daemon logger ~itn_features ~default_snark_worker_fee =
11441144
let consensus_local_state =
11451145
Consensus.Data.Local_state.create
11461146
~context:(module Context)
1147-
~genesis_ledger:
1148-
(Precomputed_values.genesis_ledger precomputed_values)
1147+
~genesis_ledger:precomputed_values.genesis_ledger
11491148
~genesis_epoch_data:precomputed_values.genesis_epoch_data
11501149
~epoch_ledger_location
11511150
( Option.map block_production_keypair ~f:(fun keypair ->

src/app/cli/src/init/mina_run.ml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,8 @@ let setup_local_server ?(client_trustlist = []) ?rest_server_port
306306
| Ok ledger -> (
307307
match ledger with
308308
| Genesis_epoch_ledger l ->
309-
let%map accts = Mina_ledger.Ledger.to_list l in
309+
let l_inner = Lazy.force @@ Genesis_ledger.Packed.t l in
310+
let%map accts = Mina_ledger.Ledger.to_list l_inner in
310311
Ok accts
311312
| Ledger_root l ->
312313
let casted = Mina_ledger.Ledger.Root.as_unmasked l in

src/app/cli/src/init/test_ledger_application.ml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,8 @@ let mk_tx ~transfer_parties_get_actions_events ~event_elements ~action_elements
8585
let generate_protocol_state_stub ~consensus_constants ~constraint_constants
8686
ledger =
8787
let open Staged_ledger_diff in
88-
Protocol_state.negative_one
89-
~genesis_ledger:(lazy ledger)
90-
~genesis_epoch_data:None ~constraint_constants ~consensus_constants
91-
~genesis_body_reference
88+
Protocol_state.negative_one ~genesis_ledger:ledger ~genesis_epoch_data:None
89+
~constraint_constants ~consensus_constants ~genesis_body_reference
9290

9391
let apply_txs ~transfer_parties_get_actions_events ~action_elements
9492
~event_elements ~constraint_constants ~first_partition_slots ~no_new_stack
@@ -186,9 +184,16 @@ let test ~privkey_path ~ledger_path ?prev_block_path ~first_partition_slots
186184
O1trace.thread "mina"
187185
@@ fun () ->
188186
let%bind keypair = read_privkey privkey_path in
187+
188+
let module Test_genesis_ledger = Genesis_ledger.Make (struct
189+
include Test_genesis_ledger
190+
191+
let directory = `Path ledger_path
192+
193+
let depth = constraint_constants.ledger_depth
194+
end) in
189195
let init_ledger =
190-
Ledger.create ~directory_name:ledger_path
191-
~depth:constraint_constants.ledger_depth ()
196+
Lazy.force @@ Genesis_ledger.Packed.t (module Test_genesis_ledger)
192197
in
193198
let prev_protocol_state =
194199
let%map.Option prev_block_path = prev_block_path in
@@ -207,7 +212,7 @@ let test ~privkey_path ~ledger_path ?prev_block_path ~first_partition_slots
207212
match prev_protocol_state with
208213
| None ->
209214
generate_protocol_state_stub ~consensus_constants ~constraint_constants
210-
init_ledger
215+
(module Test_genesis_ledger)
211216
| Some p ->
212217
p
213218
in

src/app/zkapp_test_transaction/lib/commands.ml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ let gen_proof ?(zkapp_account = None) (zkapp_command : Zkapp_command.t)
109109
let open Staged_ledger_diff in
110110
(*not using Precomputed_values.for_unit_test because of dependency cycle*)
111111
Mina_state.Genesis_protocol_state.t
112-
~genesis_ledger:Genesis_ledger.(Packed.t for_unit_tests)
112+
~genesis_ledger:Genesis_ledger.for_unit_tests
113113
~genesis_epoch_data:Consensus.Genesis_epoch_data.for_unit_tests
114114
~constraint_constants ~consensus_constants ~genesis_body_reference
115115
in
@@ -171,7 +171,7 @@ let generate_zkapp_txn (keypair : Signature_lib.Keypair.t) (ledger : Ledger.t)
171171
let compile_time_genesis =
172172
(*not using Precomputed_values.for_unit_test because of dependency cycle*)
173173
Mina_state.Genesis_protocol_state.t
174-
~genesis_ledger:Genesis_ledger.(Packed.t for_unit_tests)
174+
~genesis_ledger:Genesis_ledger.for_unit_tests
175175
~genesis_epoch_data:Consensus.Genesis_epoch_data.for_unit_tests
176176
~constraint_constants ~consensus_constants ~genesis_body_reference
177177
in

src/lib/fake_network/fake_network.ml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,11 +230,10 @@ module Generator = struct
230230
Filename.temp_dir_name ^/ "epoch_ledger"
231231
^ (Uuid_unix.create () |> Uuid.to_string)
232232
in
233-
let genesis_ledger = Precomputed_values.genesis_ledger precomputed_values in
234233
let consensus_local_state =
235234
Consensus.Data.Local_state.create Public_key.Compressed.Set.empty
236235
~context:(module Context)
237-
~genesis_ledger
236+
~genesis_ledger:precomputed_values.genesis_ledger
238237
~genesis_epoch_data:precomputed_values.genesis_epoch_data
239238
~epoch_ledger_location
240239
~genesis_state_hash:
@@ -273,11 +272,10 @@ module Generator = struct
273272
Filename.temp_dir_name ^/ "epoch_ledger"
274273
^ (Uuid_unix.create () |> Uuid.to_string)
275274
in
276-
let genesis_ledger = Precomputed_values.genesis_ledger precomputed_values in
277275
let consensus_local_state =
278276
Consensus.Data.Local_state.create Public_key.Compressed.Set.empty
279277
~context:(module Context)
280-
~genesis_ledger
278+
~genesis_ledger:precomputed_values.genesis_ledger
281279
~genesis_epoch_data:precomputed_values.genesis_epoch_data
282280
~epoch_ledger_location
283281
~genesis_state_hash:

src/lib/genesis_ledger_helper/genesis_ledger_helper.ml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -604,8 +604,7 @@ module Epoch_data = struct
604604
in
605605
[%log trace] "Loaded staking epoch ledger from $ledger_file"
606606
~metadata:[ ("ledger_file", `String ledger_file) ] ;
607-
( { Consensus.Genesis_epoch_data.Data.ledger =
608-
Genesis_ledger.Packed.t staking_ledger
607+
( { Consensus.Genesis_epoch_data.Data.ledger = staking_ledger
609608
; seed = Epoch_seed.of_base58_check_exn config.staking.seed
610609
}
611610
, { config.staking with ledger = config' } )
@@ -622,8 +621,7 @@ module Epoch_data = struct
622621
[%log trace] "Loaded next epoch ledger from $ledger_file"
623622
~metadata:[ ("ledger_file", `String ledger_file) ] ;
624623
( Some
625-
{ Consensus.Genesis_epoch_data.Data.ledger =
626-
Genesis_ledger.Packed.t next_ledger
624+
{ Consensus.Genesis_epoch_data.Data.ledger = next_ledger
627625
; seed = Epoch_seed.of_base58_check_exn seed
628626
}
629627
, Some { Runtime_config.Epoch_data.Data.ledger = config''; seed }
@@ -707,8 +705,7 @@ module Genesis_proof = struct
707705
in
708706
let open Staged_ledger_diff in
709707
let protocol_state_with_hashes =
710-
Mina_state.Genesis_protocol_state.t
711-
~genesis_ledger:(Genesis_ledger.Packed.t ledger)
708+
Mina_state.Genesis_protocol_state.t ~genesis_ledger:ledger
712709
~genesis_epoch_data ~constraint_constants ~consensus_constants
713710
~genesis_body_reference
714711
in

src/lib/mina_graphql/mina_graphql.ml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2096,10 +2096,8 @@ module Queries = struct
20962096
; hash = { State_hash.State_hashes.state_hash = hash; _ }
20972097
} =
20982098
let open Staged_ledger_diff in
2099-
Genesis_protocol_state.t
2100-
~genesis_ledger:(Genesis_ledger.Packed.t genesis_ledger)
2101-
~genesis_epoch_data ~constraint_constants ~consensus_constants
2102-
~genesis_body_reference
2099+
Genesis_protocol_state.t ~genesis_ledger ~genesis_epoch_data
2100+
~constraint_constants ~consensus_constants ~genesis_body_reference
21032101
in
21042102
let winner = fst Consensus_state_hooks.genesis_winner in
21052103
{ With_hash.data =
@@ -2601,7 +2599,8 @@ module Queries = struct
26012599
let cast_ledger = function
26022600
| Consensus.Data.Local_state.Snapshot.Ledger_snapshot.Genesis_epoch_ledger
26032601
l ->
2604-
Ledger.Any_ledger.cast (module Ledger) l
2602+
let l_inner = Lazy.force @@ Genesis_ledger.Packed.t l in
2603+
Ledger.Any_ledger.cast (module Ledger) l_inner
26052604
| Consensus.Data.Local_state.Snapshot.Ledger_snapshot.Ledger_root l ->
26062605
Ledger.Root.as_unmasked l
26072606
in

src/lib/mina_graphql/types.ml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1494,11 +1494,14 @@ module AccountObj = struct
14941494
let account_id = account_id account in
14951495
match%bind Mina_lib.staking_ledger mina with
14961496
| Genesis_epoch_ledger staking_ledger -> (
1497+
let staking_ledger_inner =
1498+
Lazy.force @@ Genesis_ledger.Packed.t staking_ledger
1499+
in
14971500
match
14981501
let open Option.Let_syntax in
14991502
account_id
1500-
|> Ledger.location_of_account staking_ledger
1501-
>>= Ledger.get staking_ledger
1503+
|> Ledger.location_of_account staking_ledger_inner
1504+
>>= Ledger.get staking_ledger_inner
15021505
with
15031506
| Some account ->
15041507
let%bind delegate_key = account.delegate in

src/lib/mina_lib/tests/tests.ml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,7 @@ let%test_module "Epoch ledger sync tests" =
128128
~compile_config:Mina_compile_config.For_unit_tests.t
129129
~max_subtree_depth:None ~default_subtree_depth:None ()
130130
end in
131-
let genesis_ledger =
132-
lazy
133-
(Mina_ledger.Ledger.create
134-
~directory_name:(make_dirname "genesis_ledger")
135-
~depth:precomputed_values.constraint_constants.ledger_depth () )
136-
in
131+
let genesis_ledger = Genesis_ledger.for_unit_tests in
137132
let genesis_epoch_data : Consensus.Genesis_epoch_data.t = None in
138133
let genesis_state_hash = Quickcheck.random_value Ledger_hash.gen in
139134
let consensus_local_state =
@@ -147,7 +142,7 @@ let%test_module "Epoch ledger sync tests" =
147142
let module Context = struct
148143
include Context
149144

150-
let genesis_ledger = genesis_ledger
145+
let genesis_ledger = Genesis_ledger.Packed.t genesis_ledger
151146

152147
let consensus_local_state = consensus_local_state
153148

@@ -568,7 +563,7 @@ let%test_module "Epoch ledger sync tests" =
568563
| Error _ ->
569564
failwith "Could not add account" ) ;
570565
Consensus.Data.Local_state.Snapshot.Ledger_snapshot.Genesis_epoch_ledger
571-
ledger
566+
Genesis_ledger.for_unit_tests
572567

573568
let make_db_ledger (module Context : CONTEXT) (accounts : Account.t list) =
574569
let root_ledger = make_empty_root_ledger (module Context) in

src/lib/mina_state/genesis_protocol_state.ml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ open Core_kernel
22

33
let t ~genesis_ledger ~genesis_epoch_data ~constraint_constants
44
~consensus_constants ~genesis_body_reference =
5+
let genesis_ledger_forced =
6+
Lazy.force @@ Genesis_ledger.Packed.t genesis_ledger
7+
in
58
let genesis_ledger_hash =
6-
Mina_ledger.Ledger.merkle_root (Lazy.force genesis_ledger)
9+
Mina_ledger.Ledger.merkle_root genesis_ledger_forced
710
in
811
let protocol_constants =
912
Consensus.Constants.to_protocol_constants consensus_constants

0 commit comments

Comments
 (0)