func (fs *FactoidState) AddECBlock(blk interfaces.IEntryCreditBlock) error { transactions := blk.GetBody().GetEntries() for _, trans := range transactions { err := fs.UpdateECTransaction(trans) if err != nil { return err } } return nil }
func (db *Overlay) SavePaidForMultiFromBlock(block interfaces.IEntryCreditBlock, checkForDuplicateEntries bool) error { if block == nil { return nil } batch := []interfaces.Record{} for _, entry := range block.GetBody().GetEntries() { if entry.ECID() != entryCreditBlock.ECIDChainCommit && entry.ECID() != entryCreditBlock.ECIDEntryCommit { continue } var entryHash interfaces.IHash if entry.ECID() == entryCreditBlock.ECIDChainCommit { entryHash = entry.(*entryCreditBlock.CommitChain).EntryHash } if entry.ECID() == entryCreditBlock.ECIDEntryCommit { entryHash = entry.(*entryCreditBlock.CommitEntry).EntryHash } if checkForDuplicateEntries == true { loaded, err := db.Get(PAID_FOR, entryHash.Bytes(), primitives.NewZeroHash()) if err != nil { return err } if loaded != nil { continue } } batch = append(batch, interfaces.Record{PAID_FOR, entryHash.Bytes(), entry.Hash()}) } if len(batch) == 0 { return nil } err := db.DB.PutInBatch(batch) if err != nil { return err } return nil }