MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / InvalidateTx

Function InvalidateTx

cmd/cql-eth-exchange/tx_record.go:191–224  ·  view source on GitHub ↗

InvalidateTx invalidates eth transactions based on block number.

(db *gorp.DbMap, blkNumber uint64)

Source from the content-addressed store, hash-verified

189
190// InvalidateTx invalidates eth transactions based on block number.
191func InvalidateTx(db *gorp.DbMap, blkNumber uint64) (err error) {
192 var records []*TxRecord
193 defer func() {
194 for _, r := range records {
195 _ = AddAuditRecord(db, &AuditRecord{
196 Hash: r.Hash,
197 Op: "chain_reorganize",
198 Data: blkNumber,
199 Error: err.Error(),
200 })
201 }
202
203 if len(records) == 0 {
204 _ = AddAuditRecord(db, &AuditRecord{
205 Op: "chain_reorganize",
206 Data: blkNumber,
207 Error: err.Error(),
208 })
209 }
210 }()
211 var rawTxs []interface{}
212 rawTxs, err = db.Select(&records, `SELECT * FROM "record" WHERE "is_reverted" = 0 AND "eth_block_number" = ?`, blkNumber)
213 if err != nil {
214 return
215 }
216
217 for _, r := range records {
218 r.IsReverted = 1
219 }
220
221 _, err = db.Update(rawTxs...)
222
223 return
224}
225
226// GetToProcessTx fetches unprocessed transactions begin before confirmed block number.
227func GetToProcessTx(db *gorp.DbMap, confirmedBlkNumber uint64) (records []*TxRecord, err error) {

Callers 1

processBlockMethod · 0.85

Calls 3

AddAuditRecordFunction · 0.85
ErrorMethod · 0.80
UpdateMethod · 0.65

Tested by

no test coverage detected