Fix sync integration with StateDB & HistoryDB

This commit is contained in:
Eduard S
2020-09-18 12:10:39 +02:00
parent 145f37b135
commit d3f6da22ed
4 changed files with 29 additions and 16 deletions

View File

@@ -127,10 +127,11 @@ func (hdb *HistoryDB) GetLastBatchNum() (common.BatchNum, error) {
return batchNum, row.Scan(&batchNum)
}
// GetLastL1TxsNum returns the greatest ForgeL1TxsNum in the DB
func (hdb *HistoryDB) GetLastL1TxsNum() (uint32, error) {
// GetLastL1TxsNum returns the greatest ForgeL1TxsNum in the DB. If there's no
// batch in the DB (nil, nil) is returned.
func (hdb *HistoryDB) GetLastL1TxsNum() (*uint32, error) {
row := hdb.db.QueryRow("SELECT MAX(forge_l1_txs_num) FROM batch;")
var lastL1TxsNum uint32
lastL1TxsNum := new(uint32)
return lastL1TxsNum, row.Scan(&lastL1TxsNum)
}

View File

@@ -89,8 +89,12 @@ func TestBatches(t *testing.T) {
// Generate fake batches
const nBatches = 9
batches := test.GenBatches(nBatches, blocks)
// Test GetLastL1TxsNum with no batches
fetchedLastL1TxsNum, err := historyDB.GetLastL1TxsNum()
assert.NoError(t, err)
assert.Nil(t, fetchedLastL1TxsNum)
// Add batches to the DB
err := historyDB.AddBatches(batches)
err = historyDB.AddBatches(batches)
assert.NoError(t, err)
// Get batches from the DB
fetchedBatches, err := historyDB.GetBatches(0, common.BatchNum(nBatches))
@@ -103,9 +107,9 @@ func TestBatches(t *testing.T) {
assert.NoError(t, err)
assert.Equal(t, batches[len(batches)-1].BatchNum, fetchedLastBatchNum)
// Test GetLastL1TxsNum
fetchedLastL1TxsNum, err := historyDB.GetLastL1TxsNum()
fetchedLastL1TxsNum, err = historyDB.GetLastL1TxsNum()
assert.NoError(t, err)
assert.Equal(t, batches[nBatches-1].ForgeL1TxsNum, fetchedLastL1TxsNum)
assert.Equal(t, batches[nBatches-1].ForgeL1TxsNum, *fetchedLastL1TxsNum)
}
func TestBids(t *testing.T) {