Skip to content

Commit 6c285d6

Browse files
committed
adjust for schema updates
1 parent ac6ef33 commit 6c285d6

File tree

15 files changed

+103
-86
lines changed

15 files changed

+103
-86
lines changed

statediff/indexer/database/dump/indexer.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -184,12 +184,6 @@ func (sdi *StateDiffIndexer) PushBlock(block *types.Block, receipts types.Receip
184184
func (sdi *StateDiffIndexer) processHeader(tx *BatchTx, header *types.Header, headerNode node.Node, reward, td *big.Int) (string, error) {
185185
tx.cacheIPLD(headerNode)
186186

187-
var baseFee *string
188-
if header.BaseFee != nil {
189-
baseFee = new(string)
190-
*baseFee = header.BaseFee.String()
191-
}
192-
193187
headerID := header.Hash().String()
194188
mod := models.HeaderModel{
195189
CID: headerNode.Cid().String(),
@@ -205,7 +199,7 @@ func (sdi *StateDiffIndexer) processHeader(tx *BatchTx, header *types.Header, he
205199
TxRoot: header.TxHash.String(),
206200
UncleRoot: header.UncleHash.String(),
207201
Timestamp: header.Time,
208-
BaseFee: baseFee,
202+
Coinbase: header.Coinbase.String(),
209203
}
210204
_, err := fmt.Fprintf(sdi.dump, "%+v\r\n", mod)
211205
return headerID, err
@@ -268,6 +262,12 @@ func (sdi *StateDiffIndexer) processReceiptsAndTxs(tx *BatchTx, args processArgs
268262
// index tx
269263
trx := args.txs[i]
270264
trxID := trx.Hash().String()
265+
266+
var val string
267+
if trx.Value() != nil {
268+
val = trx.Value().String()
269+
}
270+
271271
// derive sender for the tx that corresponds with this receipt
272272
from, err := types.Sender(signer, trx)
273273
if err != nil {
@@ -283,6 +283,7 @@ func (sdi *StateDiffIndexer) processReceiptsAndTxs(tx *BatchTx, args processArgs
283283
CID: txNode.Cid().String(),
284284
MhKey: shared.MultihashKeyFromCID(txNode.Cid()),
285285
Type: trx.Type(),
286+
Value: val,
286287
}
287288
if _, err := fmt.Fprintf(sdi.dump, "%+v\r\n", txModel); err != nil {
288289
return err

statediff/indexer/database/file/indexer.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ func (sdi *StateDiffIndexer) processHeader(header *types.Header, headerNode node
212212
TxRoot: header.TxHash.String(),
213213
UncleRoot: header.UncleHash.String(),
214214
Timestamp: header.Time,
215-
BaseFee: baseFee,
215+
Coinbase: header.Coinbase.String(),
216216
})
217217
return headerID
218218
}
@@ -269,6 +269,12 @@ func (sdi *StateDiffIndexer) processReceiptsAndTxs(args processArgs) error {
269269
// index tx
270270
trx := args.txs[i]
271271
txID := trx.Hash().String()
272+
273+
var val string
274+
if trx.Value() != nil {
275+
val = trx.Value().String()
276+
}
277+
272278
// derive sender for the tx that corresponds with this receipt
273279
from, err := types.Sender(signer, trx)
274280
if err != nil {
@@ -284,6 +290,7 @@ func (sdi *StateDiffIndexer) processReceiptsAndTxs(args processArgs) error {
284290
CID: txNode.Cid().String(),
285291
MhKey: shared.MultihashKeyFromCID(txNode.Cid()),
286292
Type: trx.Type(),
293+
Value: val,
287294
}
288295
sdi.fileWriter.upsertTransactionCID(txModel)
289296

statediff/indexer/database/file/indexer_legacy_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,16 +108,16 @@ func TestFileIndexerLegacy(t *testing.T) {
108108
setupLegacy(t)
109109
dumpData(t)
110110
defer tearDown(t)
111-
pgStr := `SELECT cid, td, reward, block_hash, base_fee
111+
pgStr := `SELECT cid, td, reward, block_hash, coinbase
112112
FROM eth.header_cids
113113
WHERE block_number = $1`
114114
// check header was properly indexed
115115
type res struct {
116116
CID string
117117
TD string
118118
Reward string
119-
BlockHash string `db:"block_hash"`
120-
BaseFee *string `db:"base_fee"`
119+
BlockHash string `db:"block_hash"`
120+
Coinbase string `db:"coinbase"`
121121
}
122122
header := new(res)
123123
err = sqlxdb.QueryRowx(pgStr, legacyData.BlockNumber.Uint64()).StructScan(header)
@@ -126,7 +126,7 @@ func TestFileIndexerLegacy(t *testing.T) {
126126
test_helpers.ExpectEqual(t, header.CID, legacyHeaderCID.String())
127127
test_helpers.ExpectEqual(t, header.TD, legacyData.MockBlock.Difficulty().String())
128128
test_helpers.ExpectEqual(t, header.Reward, "5000000000000011250")
129+
test_helpers.ExpectEqual(t, header.Coinbase, legacyData.MockBlock.Coinbase().String())
129130
require.Nil(t, legacyData.MockHeader.BaseFee)
130-
require.Nil(t, header.BaseFee)
131131
})
132132
}

statediff/indexer/database/file/indexer_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,16 +177,16 @@ func TestFileIndexer(t *testing.T) {
177177
setup(t)
178178
dumpData(t)
179179
defer tearDown(t)
180-
pgStr := `SELECT cid, td, reward, block_hash, base_fee
180+
pgStr := `SELECT cid, td, reward, block_hash, coinbase
181181
FROM eth.header_cids
182182
WHERE block_number = $1`
183183
// check header was properly indexed
184184
type res struct {
185185
CID string
186186
TD string
187187
Reward string
188-
BlockHash string `db:"block_hash"`
189-
BaseFee *string `db:"base_fee"`
188+
BlockHash string `db:"block_hash"`
189+
Coinbase string `db:"coinbase"`
190190
}
191191
header := new(res)
192192
err = sqlxdb.QueryRowx(pgStr, mocks.BlockNumber.Uint64()).StructScan(header)
@@ -197,7 +197,7 @@ func TestFileIndexer(t *testing.T) {
197197
test_helpers.ExpectEqual(t, header.CID, headerCID.String())
198198
test_helpers.ExpectEqual(t, header.TD, mocks.MockBlock.Difficulty().String())
199199
test_helpers.ExpectEqual(t, header.Reward, "2000000000000021250")
200-
test_helpers.ExpectEqual(t, *header.BaseFee, mocks.MockHeader.BaseFee.String())
200+
test_helpers.ExpectEqual(t, header.Coinbase, mocks.MockHeader.Coinbase.String())
201201
dc, err := cid.Decode(header.CID)
202202
if err != nil {
203203
t.Fatal(err)

statediff/indexer/database/file/writer.go

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -124,18 +124,14 @@ const (
124124
ipldInsert = "INSERT INTO public.blocks (key, data) VALUES ('%s', '\\x%x');\n"
125125

126126
headerInsert = "INSERT INTO eth.header_cids (block_number, block_hash, parent_hash, cid, td, node_id, reward, " +
127-
"state_root, tx_root, receipt_root, uncle_root, bloom, timestamp, mh_key, times_validated, base_fee) VALUES " +
128-
"('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '\\x%x', %d, '%s', %d, %s);\n"
129-
130-
headerInsertWithoutBaseFee = "INSERT INTO eth.header_cids (block_number, block_hash, parent_hash, cid, td, node_id, " +
131-
"reward, state_root, tx_root, receipt_root, uncle_root, bloom, timestamp, mh_key, times_validated, base_fee) VALUES " +
132-
"('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '\\x%x', %d, '%s', %d, NULL);\n"
127+
"state_root, tx_root, receipt_root, uncle_root, bloom, timestamp, mh_key, times_validated, coinbase) VALUES " +
128+
"('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '\\x%x', %d, '%s', %d, '%s');\n"
133129

134130
uncleInsert = "INSERT INTO eth.uncle_cids (block_hash, header_id, parent_hash, cid, reward, mh_key) VALUES " +
135131
"('%s', '%s', '%s', '%s', '%s', '%s');\n"
136132

137-
txInsert = "INSERT INTO eth.transaction_cids (header_id, tx_hash, cid, dst, src, index, mh_key, tx_data, tx_type) " +
138-
"VALUES ('%s', '%s', '%s', '%s', '%s', %d, '%s', '\\x%x', %d);\n"
133+
txInsert = "INSERT INTO eth.transaction_cids (header_id, tx_hash, cid, dst, src, index, mh_key, tx_data, tx_type, " +
134+
"value) VALUES ('%s', '%s', '%s', '%s', '%s', %d, '%s', '\\x%x', %d, '%s');\n"
139135

140136
alInsert = "INSERT INTO eth.access_list_elements (tx_id, index, address, storage_keys) VALUES ('%s', %d, '%s', '%s');\n"
141137

@@ -191,42 +187,40 @@ func (sqw *SQLWriter) upsertIPLDRaw(codec, mh uint64, raw []byte) (string, strin
191187
}
192188

193189
func (sqw *SQLWriter) upsertHeaderCID(header models.HeaderModel) {
194-
var stmt string
195-
if header.BaseFee == nil {
196-
stmt = fmt.Sprintf(headerInsertWithoutBaseFee, header.BlockNumber, header.BlockHash, header.ParentHash, header.CID,
197-
header.TotalDifficulty, header.NodeID, header.Reward, header.StateRoot, header.TxRoot,
198-
header.RctRoot, header.UncleRoot, header.Bloom, header.Timestamp, header.MhKey, 1)
199-
} else {
200-
stmt = fmt.Sprintf(headerInsert, header.BlockNumber, header.BlockHash, header.ParentHash, header.CID,
201-
header.TotalDifficulty, header.NodeID, header.Reward, header.StateRoot, header.TxRoot,
202-
header.RctRoot, header.UncleRoot, header.Bloom, header.Timestamp, header.MhKey, 1, *header.BaseFee)
203-
}
190+
stmt := fmt.Sprintf(headerInsert, header.BlockNumber, header.BlockHash, header.ParentHash, header.CID,
191+
header.TotalDifficulty, header.NodeID, header.Reward, header.StateRoot, header.TxRoot,
192+
header.RctRoot, header.UncleRoot, header.Bloom, header.Timestamp, header.MhKey, 1, header.Coinbase)
204193
sqw.stmts <- []byte(stmt)
205194
indexerMetrics.blocks.Inc(1)
206195
}
207196

208197
func (sqw *SQLWriter) upsertUncleCID(uncle models.UncleModel) {
209-
sqw.stmts <- []byte(fmt.Sprintf(uncleInsert, uncle.BlockHash, uncle.HeaderID, uncle.ParentHash, uncle.CID, uncle.Reward, uncle.MhKey))
198+
sqw.stmts <- []byte(fmt.Sprintf(uncleInsert, uncle.BlockHash, uncle.HeaderID, uncle.ParentHash, uncle.CID,
199+
uncle.Reward, uncle.MhKey))
210200
}
211201

212202
func (sqw *SQLWriter) upsertTransactionCID(transaction models.TxModel) {
213-
sqw.stmts <- []byte(fmt.Sprintf(txInsert, transaction.HeaderID, transaction.TxHash, transaction.CID, transaction.Dst, transaction.Src, transaction.Index, transaction.MhKey, transaction.Data, transaction.Type))
203+
sqw.stmts <- []byte(fmt.Sprintf(txInsert, transaction.HeaderID, transaction.TxHash, transaction.CID, transaction.Dst,
204+
transaction.Src, transaction.Index, transaction.MhKey, transaction.Data, transaction.Type, transaction.Value))
214205
indexerMetrics.transactions.Inc(1)
215206
}
216207

217208
func (sqw *SQLWriter) upsertAccessListElement(accessListElement models.AccessListElementModel) {
218-
sqw.stmts <- []byte(fmt.Sprintf(alInsert, accessListElement.TxID, accessListElement.Index, accessListElement.Address, formatPostgresStringArray(accessListElement.StorageKeys)))
209+
sqw.stmts <- []byte(fmt.Sprintf(alInsert, accessListElement.TxID, accessListElement.Index, accessListElement.Address,
210+
formatPostgresStringArray(accessListElement.StorageKeys)))
219211
indexerMetrics.accessListEntries.Inc(1)
220212
}
221213

222214
func (sqw *SQLWriter) upsertReceiptCID(rct *models.ReceiptModel) {
223-
sqw.stmts <- []byte(fmt.Sprintf(rctInsert, rct.TxID, rct.LeafCID, rct.Contract, rct.ContractHash, rct.LeafMhKey, rct.PostState, rct.PostStatus, rct.LogRoot))
215+
sqw.stmts <- []byte(fmt.Sprintf(rctInsert, rct.TxID, rct.LeafCID, rct.Contract, rct.ContractHash, rct.LeafMhKey,
216+
rct.PostState, rct.PostStatus, rct.LogRoot))
224217
indexerMetrics.receipts.Inc(1)
225218
}
226219

227220
func (sqw *SQLWriter) upsertLogCID(logs []*models.LogsModel) {
228221
for _, l := range logs {
229-
sqw.stmts <- []byte(fmt.Sprintf(logInsert, l.LeafCID, l.LeafMhKey, l.ReceiptID, l.Address, l.Index, l.Topic0, l.Topic1, l.Topic2, l.Topic3, l.Data))
222+
sqw.stmts <- []byte(fmt.Sprintf(logInsert, l.LeafCID, l.LeafMhKey, l.ReceiptID, l.Address, l.Index, l.Topic0,
223+
l.Topic1, l.Topic2, l.Topic3, l.Data))
230224
indexerMetrics.logs.Inc(1)
231225
}
232226
}

statediff/indexer/database/sql/indexer.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ func (sdi *StateDiffIndexer) processHeader(tx *BatchTx, header *types.Header, he
256256
TxRoot: header.TxHash.String(),
257257
UncleRoot: header.UncleHash.String(),
258258
Timestamp: header.Time,
259-
BaseFee: baseFee,
259+
Coinbase: header.Coinbase.String(),
260260
})
261261
}
262262

@@ -316,6 +316,12 @@ func (sdi *StateDiffIndexer) processReceiptsAndTxs(tx *BatchTx, args processArgs
316316
// index tx
317317
trx := args.txs[i]
318318
txID := trx.Hash().String()
319+
320+
var val string
321+
if trx.Value() != nil {
322+
val = trx.Value().String()
323+
}
324+
319325
// derive sender for the tx that corresponds with this receipt
320326
from, err := types.Sender(signer, trx)
321327
if err != nil {
@@ -331,6 +337,7 @@ func (sdi *StateDiffIndexer) processReceiptsAndTxs(tx *BatchTx, args processArgs
331337
CID: txNode.Cid().String(),
332338
MhKey: shared.MultihashKeyFromCID(txNode.Cid()),
333339
Type: trx.Type(),
340+
Value: val,
334341
}
335342
if err := sdi.dbWriter.upsertTransactionCID(tx.dbtx, txModel); err != nil {
336343
return err

statediff/indexer/database/sql/pgx_indexer_legacy_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func TestPGXIndexerLegacy(t *testing.T) {
6363
t.Run("Publish and index header IPLDs", func(t *testing.T) {
6464
setupLegacyPGX(t)
6565
defer tearDown(t)
66-
pgStr := `SELECT cid, cast(td AS TEXT), cast(reward AS TEXT), block_hash, base_fee
66+
pgStr := `SELECT cid, cast(td AS TEXT), cast(reward AS TEXT), block_hash, coinbase
6767
FROM eth.header_cids
6868
WHERE block_number = $1`
6969
// check header was properly indexed
@@ -72,18 +72,18 @@ func TestPGXIndexerLegacy(t *testing.T) {
7272
TD string
7373
Reward string
7474
BlockHash string `db:"block_hash"`
75-
BaseFee *int64 `db:"base_fee"`
75+
Coinbase string `db:"coinbase"`
7676
}
7777
header := new(res)
7878

7979
err = db.QueryRow(context.Background(), pgStr, legacyData.BlockNumber.Uint64()).Scan(
80-
&header.CID, &header.TD, &header.Reward, &header.BlockHash, &header.BaseFee)
80+
&header.CID, &header.TD, &header.Reward, &header.BlockHash, &header.Coinbase)
8181
require.NoError(t, err)
8282

8383
test_helpers.ExpectEqual(t, header.CID, legacyHeaderCID.String())
8484
test_helpers.ExpectEqual(t, header.TD, legacyData.MockBlock.Difficulty().String())
8585
test_helpers.ExpectEqual(t, header.Reward, "5000000000000011250")
86+
test_helpers.ExpectEqual(t, header.Coinbase, legacyData.MockHeader.Coinbase.String())
8687
require.Nil(t, legacyData.MockHeader.BaseFee)
87-
require.Nil(t, header.BaseFee)
8888
})
8989
}

statediff/indexer/database/sql/pgx_indexer_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,31 +150,31 @@ func TestPGXIndexer(t *testing.T) {
150150
t.Run("Publish and index header IPLDs in a single tx", func(t *testing.T) {
151151
setupPGX(t)
152152
defer tearDown(t)
153-
pgStr := `SELECT cid, cast(td AS TEXT), cast(reward AS TEXT), block_hash, cast(base_fee AS TEXT)
153+
pgStr := `SELECT cid, cast(td AS TEXT), cast(reward AS TEXT), block_hash, coinbase
154154
FROM eth.header_cids
155155
WHERE block_number = $1`
156156
// check header was properly indexed
157157
type res struct {
158158
CID string
159159
TD string
160160
Reward string
161-
BlockHash string `db:"block_hash"`
162-
BaseFee *string `db:"base_fee"`
161+
BlockHash string `db:"block_hash"`
162+
Coinbase string `db:"coinbase"`
163163
}
164164
header := new(res)
165165
err = db.QueryRow(context.Background(), pgStr, mocks.BlockNumber.Uint64()).Scan(
166166
&header.CID,
167167
&header.TD,
168168
&header.Reward,
169169
&header.BlockHash,
170-
&header.BaseFee)
170+
&header.Coinbase)
171171
if err != nil {
172172
t.Fatal(err)
173173
}
174174
test_helpers.ExpectEqual(t, header.CID, headerCID.String())
175175
test_helpers.ExpectEqual(t, header.TD, mocks.MockBlock.Difficulty().String())
176176
test_helpers.ExpectEqual(t, header.Reward, "2000000000000021250")
177-
test_helpers.ExpectEqual(t, *header.BaseFee, mocks.MockHeader.BaseFee.String())
177+
test_helpers.ExpectEqual(t, header.Coinbase, mocks.MockHeader.Coinbase.String())
178178
dc, err := cid.Decode(header.CID)
179179
if err != nil {
180180
t.Fatal(err)

statediff/indexer/database/sql/postgres/config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ func ResolveDriverType(str string) (DriverType, error) {
4949
var DefaultConfig = Config{
5050
Hostname: "localhost",
5151
Port: 5432,
52-
DatabaseName: "vulcanize_testing",
52+
DatabaseName: "vulcanize_test",
5353
Username: "postgres",
54-
Password: "password",
54+
Password: "",
5555
}
5656

5757
// Config holds params for a Postgres db

statediff/indexer/database/sql/postgres/database.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ type DB struct {
3737

3838
// InsertHeaderStm satisfies the sql.Statements interface
3939
func (db *DB) InsertHeaderStm() string {
40-
return `INSERT INTO eth.header_cids (block_number, block_hash, parent_hash, cid, td, node_id, reward, state_root, tx_root, receipt_root, uncle_root, bloom, timestamp, mh_key, times_validated, base_fee)
40+
return `INSERT INTO eth.header_cids (block_number, block_hash, parent_hash, cid, td, node_id, reward, state_root, tx_root, receipt_root, uncle_root, bloom, timestamp, mh_key, times_validated, coinbase)
4141
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)
42-
ON CONFLICT (block_hash) DO UPDATE SET (parent_hash, cid, td, node_id, reward, state_root, tx_root, receipt_root, uncle_root, bloom, timestamp, mh_key, times_validated, base_fee) = ($3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, eth.header_cids.times_validated + 1, $16)`
42+
ON CONFLICT (block_hash) DO UPDATE SET (parent_hash, cid, td, node_id, reward, state_root, tx_root, receipt_root, uncle_root, bloom, timestamp, mh_key, times_validated, coinbase) = ($3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, eth.header_cids.times_validated + 1, $16)`
4343
}
4444

4545
// InsertUncleStm satisfies the sql.Statements interface
@@ -50,7 +50,7 @@ func (db *DB) InsertUncleStm() string {
5050

5151
// InsertTxStm satisfies the sql.Statements interface
5252
func (db *DB) InsertTxStm() string {
53-
return `INSERT INTO eth.transaction_cids (header_id, tx_hash, cid, dst, src, index, mh_key, tx_data, tx_type) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
53+
return `INSERT INTO eth.transaction_cids (header_id, tx_hash, cid, dst, src, index, mh_key, tx_data, tx_type, value) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)
5454
ON CONFLICT (tx_hash) DO NOTHING`
5555
}
5656

0 commit comments

Comments
 (0)