// we finalize the ledger and create a new immutable ledger state private void Finalize(SignedLedger signed, LedgerPostState state) { var ledgerState = state.Finalize(HasherFactory.CreateHasher(signed.GetVersion())); if (!CheckMerkleRoot(ledgerState, signed)) { throw new Exception("Merkle root is not valid"); } LiveService.PersistenceManager.Save(new SignedLedgerState(signed, state.GetLedgerStateChange())); LedgerState = ledgerState; LastLedger = signed; OnNewLedger(LastLedger); }
public LedgerStateFinal Finalize(ProtocolVersion version) { return(PostState.Finalize(HasherFactory.CreateHasher(version))); }