// Transaction ingests the provided transaction data into a new row in the // `history_transactions` table func (ingest *Ingestion) Transaction( id int64, tx *core.Transaction, fee *core.TransactionFee, ) error { sql := ingest.transactions.Values( id, tx.TransactionHash, tx.LedgerSequence, tx.Index, tx.SourceAddress(), tx.Sequence(), tx.Fee(), len(tx.Envelope.Tx.Operations), tx.EnvelopeXDR(), tx.ResultXDR(), tx.ResultMetaXDR(), fee.ChangesXDR(), sqx.StringArray(tx.Base64Signatures()), ingest.formatTimeBounds(tx.Envelope.Tx.TimeBounds), tx.MemoType(), tx.Memo(), time.Now().UTC(), time.Now().UTC(), ) _, err := ingest.DB.Exec(sql) if err != nil { return err } return nil }