Add checks to TxSelector & other:

- Upgrade go-merkletree version to include the last changes of Pebble
that fixes the cgo issues (which should fix #453), from:
c2b05f12d7
- TxSelector
	- Remove parameter batchNum for GetL2TxSelection & GetL1L2TxSelection
	- Add checks of ToBJJ & ToEthAddr when ToIdx>255
	- Avoid getting the sender account twice to get the TokenID of a l2tx
	- Add test to check that selected L2Txs are sorted by Nonce
	- Discard L2Tx that return error at ProcessL2Txs
- executed `go mod tidy`
This commit is contained in:
arnaucube
2021-01-05 15:19:31 +01:00
parent 6fa4a2e799
commit 962b9e4712
8 changed files with 208 additions and 71 deletions

View File

@@ -65,10 +65,14 @@ func TestNewStateDBIntermediateState(t *testing.T) {
assert.NoError(t, err)
assert.Equal(t, v0, v)
// Close PebbleDB before creating a new StateDB
err = sdb.db.DB().Pebble().Close()
require.NoError(t, err)
// call NewStateDB which should get the db at the last checkpoint state
// executing a Reset (discarding the last 'testkey0'&'testvalue0' data)
sdb, err = NewStateDB(dir, 128, TypeTxSelector, 0)
assert.NoError(t, err)
require.NoError(t, err)
v, err = sdb.db.DB().Get(k0)
assert.NotNil(t, err)
assert.Equal(t, db.ErrNotFound, tracerr.Unwrap(err))
@@ -107,10 +111,14 @@ func TestNewStateDBIntermediateState(t *testing.T) {
assert.NoError(t, err)
assert.Equal(t, v1, v)
// Close PebbleDB before creating a new StateDB
err = sdb.db.DB().Pebble().Close()
require.NoError(t, err)
// call NewStateDB which should get the db at the last checkpoint state
// executing a Reset (discarding the last 'testkey1'&'testvalue1' data)
sdb, err = NewStateDB(dir, 128, TypeTxSelector, 0)
assert.NoError(t, err)
require.NoError(t, err)
bn, err = sdb.db.GetCurrentBatch()
assert.NoError(t, err)