public void Save(SignedLedgerState state) { // ConsoleLogger.Instance.Log("Save Ledger", null); DatabaseService.SqlTransactionManager.Save(new SignedLedgerTransaction(state) { Callback = DataTransformationService.Transform }); }
private DataTransformationContext RebuildContext(DataTransformationContext context, HashSet <Address> knownAccounts) { var oldState = context.SignedLedgerState.State; var accounts = MarkNewAccounts(knownAccounts, oldState.Accounts); var state = new LedgerStateChange(accounts, oldState.MultiSignatures, oldState.HashLocks, oldState.TimeLocks, oldState.VendingMachines); var signedLedgerState = new SignedLedgerState(context.SignedLedgerState.Ledger, state); return(new DataTransformationContext(signedLedgerState)); }
// Called on run public void ProcessLedger(SignedLedgerState ledger) { var target = ledger.Ledger.Ledger.LedgerLight.Height; var context = new DataTransformationContext(ledger); foreach (var table in tableTransformationStates.Values) { Debug.Assert(table.TargetHeight + 1 == target); TransformLedgerState(context, table.TableName, target); } current = target; }
public void Transform(SignedLedgerState ledger) { queue.Enqueue(ledger); trigger.Set(); }
public DataTransformationContext(SignedLedgerState signedLedgerState) { SignedLedgerState = signedLedgerState; }