@@ -1573,6 +1573,17 @@ let ledger_of_accounts accounts =
15731573 ; add_genesis_winner = Some false
15741574 }
15751575
1576+ let ledger_of_hashes ~root_hash ~s3_data_hash () =
1577+ Ledger.
1578+ { base = Hash
1579+ ; num_accounts = None
1580+ ; balances = []
1581+ ; hash = Some root_hash
1582+ ; s3_data_hash = Some s3_data_hash
1583+ ; name = None
1584+ ; add_genesis_winner = Some false
1585+ }
1586+
15761587let make_fork_config ~staged_ledger ~global_slot_since_genesis ~state_hash
15771588 ~blockchain_length ~staking_ledger ~staking_epoch_seed ~next_epoch_ledger
15781589 ~next_epoch_seed =
@@ -1649,3 +1660,40 @@ let slot_tx_end, slot_chain_end =
16491660 t.daemon >> = get_runtime >> | Mina_numbers.Global_slot_since_hard_fork. of_int
16501661 in
16511662 (f (fun d -> d.slot_tx_end), f (fun d -> d.slot_chain_end))
1663+
1664+ let fork_config_of_ledgers ~genesis_state_timestamp ~genesis_ledger_config
1665+ ~global_slot_since_genesis ~state_hash ~blockchain_length
1666+ ~staking_ledger_config ~staking_epoch_seed ~next_epoch_ledger_config
1667+ ~next_epoch_seed =
1668+ let genesis =
1669+ Genesis.
1670+ { genesis_state_timestamp = Some genesis_state_timestamp
1671+ ; k = None
1672+ ; delta = None
1673+ ; slots_per_epoch = None
1674+ ; slots_per_sub_window = None
1675+ ; grace_period_slots = None
1676+ }
1677+ in
1678+ let global_slot_since_genesis =
1679+ Mina_numbers.Global_slot_since_genesis. to_int global_slot_since_genesis
1680+ in
1681+ let blockchain_length = Unsigned.UInt32. to_int blockchain_length in
1682+ let fork =
1683+ Fork_config.
1684+ { state_hash = Mina_base.State_hash. to_base58_check state_hash
1685+ ; blockchain_length
1686+ ; global_slot_since_genesis
1687+ }
1688+ in
1689+ let epoch_data =
1690+ let open Epoch_data in
1691+ let open Data in
1692+ { staking = { ledger = staking_ledger_config; seed = staking_epoch_seed }
1693+ ; next =
1694+ Option. map next_epoch_ledger_config ~f: (fun config ->
1695+ { ledger = config; seed = next_epoch_seed } )
1696+ }
1697+ in
1698+ make ~genesis ~epoch_data ~ledger: genesis_ledger_config
1699+ ~proof: (Proof_keys. make ~fork () ) ()
0 commit comments