Change basefee to int64/bigint.

This commit is contained in:
Arijit Das 2021-07-01 21:10:12 +05:30
parent f0a8824f88
commit 3eb4467799
5 changed files with 14 additions and 7 deletions

View File

@ -16,7 +16,7 @@ CREATE TABLE eth.header_cids (
bloom BYTEA NOT NULL, bloom BYTEA NOT NULL,
timestamp NUMERIC NOT NULL, timestamp NUMERIC NOT NULL,
times_validated INTEGER NOT NULL DEFAULT 1, times_validated INTEGER NOT NULL DEFAULT 1,
base_fee VARCHAR(38), base_fee BIGINT DEFAULT 0,
UNIQUE (block_number, block_hash) UNIQUE (block_number, block_hash)
); );

View File

@ -212,6 +212,12 @@ func (sdi *StateDiffIndexer) processHeader(tx *sqlx.Tx, header *types.Header, he
if err := shared.PublishIPLD(tx, headerNode); err != nil { if err := shared.PublishIPLD(tx, headerNode); err != nil {
return 0, fmt.Errorf("error publishing header IPLD: %v", err) return 0, fmt.Errorf("error publishing header IPLD: %v", err)
} }
var baseFee int64
if header.BaseFee != nil {
baseFee = header.BaseFee.Int64()
}
// index header // index header
return sdi.dbWriter.upsertHeaderCID(tx, models.HeaderModel{ return sdi.dbWriter.upsertHeaderCID(tx, models.HeaderModel{
CID: headerNode.Cid().String(), CID: headerNode.Cid().String(),
@ -227,7 +233,7 @@ func (sdi *StateDiffIndexer) processHeader(tx *sqlx.Tx, header *types.Header, he
TxRoot: header.TxHash.String(), TxRoot: header.TxHash.String(),
UncleRoot: header.UncleHash.String(), UncleRoot: header.UncleHash.String(),
Timestamp: header.Time, Timestamp: header.Time,
BaseFee: header.BaseFee.String(), BaseFee: baseFee,
}) })
} }

View File

@ -72,7 +72,7 @@ func TestPublishAndIndexerLegacy(t *testing.T) {
TD string TD string
Reward string Reward string
ID int ID int
BaseFee string `db:"base_fee"` BaseFee int64 `db:"base_fee"`
} }
header := new(res) header := new(res)
err = db.QueryRowx(pgStr, legacyData.BlockNumber.Uint64()).StructScan(header) err = db.QueryRowx(pgStr, legacyData.BlockNumber.Uint64()).StructScan(header)
@ -81,6 +81,7 @@ func TestPublishAndIndexerLegacy(t *testing.T) {
shared.ExpectEqual(t, header.CID, legacyHeaderCID.String()) shared.ExpectEqual(t, header.CID, legacyHeaderCID.String())
shared.ExpectEqual(t, header.TD, legacyData.MockBlock.Difficulty().String()) shared.ExpectEqual(t, header.TD, legacyData.MockBlock.Difficulty().String())
shared.ExpectEqual(t, header.Reward, "5000000000000011250") shared.ExpectEqual(t, header.Reward, "5000000000000011250")
shared.ExpectEqual(t, header.BaseFee, legacyData.MockHeader.BaseFee.String()) require.Nil(t, legacyData.MockHeader.BaseFee)
shared.ExpectEqual(t, header.BaseFee, int64(0))
}) })
} }

View File

@ -174,7 +174,7 @@ func TestPublishAndIndexer(t *testing.T) {
TD string TD string
Reward string Reward string
ID int ID int
BaseFee string `db:"base_fee"` BaseFee int64 `db:"base_fee"`
} }
header := new(res) header := new(res)
err = db.QueryRowx(pgStr, mocks.BlockNumber.Uint64()).StructScan(header) err = db.QueryRowx(pgStr, mocks.BlockNumber.Uint64()).StructScan(header)
@ -184,7 +184,7 @@ func TestPublishAndIndexer(t *testing.T) {
shared.ExpectEqual(t, header.CID, headerCID.String()) shared.ExpectEqual(t, header.CID, headerCID.String())
shared.ExpectEqual(t, header.TD, mocks.MockBlock.Difficulty().String()) shared.ExpectEqual(t, header.TD, mocks.MockBlock.Difficulty().String())
shared.ExpectEqual(t, header.Reward, "2000000000000021250") shared.ExpectEqual(t, header.Reward, "2000000000000021250")
shared.ExpectEqual(t, header.BaseFee, mocks.MockHeader.BaseFee.String()) shared.ExpectEqual(t, header.BaseFee, mocks.MockHeader.BaseFee.Int64())
dc, err := cid.Decode(header.CID) dc, err := cid.Decode(header.CID)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)

View File

@ -36,7 +36,7 @@ type HeaderModel struct {
Bloom []byte `db:"bloom"` Bloom []byte `db:"bloom"`
Timestamp uint64 `db:"timestamp"` Timestamp uint64 `db:"timestamp"`
TimesValidated int64 `db:"times_validated"` TimesValidated int64 `db:"times_validated"`
BaseFee string `db:"base_fee"` BaseFee int64 `db:"base_fee"`
} }
// UncleModel is the db model for eth.uncle_cids // UncleModel is the db model for eth.uncle_cids