Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(eventindexer): Track proposer/prover rewards, + generate tasks for total/per day #14690

Merged
merged 20 commits into from
Sep 14, 2023
Merged
3 changes: 2 additions & 1 deletion packages/eventindexer/.l1.env
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ RPC_URL=wss://l1ws.internal.taiko.xyz
CORS_ORIGINS=*
BLOCK_BATCH_SIZE=10
CACHE_INTERVAL_IN_SECONDS=60
LAYER=l1
LAYER=l1
GENESIS_DATE=2023-09-08
8 changes: 8 additions & 0 deletions packages/eventindexer/cmd/flags/generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,15 @@ var (
Category: generatorCategory,
EnvVars: []string{"GENESIS_DATE"},
}
Regenerate = &cli.StringFlag{
Name: "regenerate",
Usage: "True to delete all existing data and regenerate from genesis, false to not",
Required: false,
Category: generatorCategory,
EnvVars: []string{"REGENERATE"},
}
)
var GeneratorFlags = MergeFlags(CommonFlags, []cli.Flag{
GenesisDate,
Regenerate,
})
4 changes: 2 additions & 2 deletions packages/eventindexer/db/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ func OpenDBConnection(opts DBConnectionOpts) (*DB, error) {
dsn := ""
if opts.Password == "" {
dsn = fmt.Sprintf(
"%v@tcp(%v)/%v?charset=utf8mb4&parseTime=True&loc=Local",
"%v@tcp(%v)/%v?charset=utf8mb4&parseTime=True",
opts.Name,
opts.Host,
opts.Database,
)
} else {
dsn = fmt.Sprintf(
"%v:%v@tcp(%v)/%v?charset=utf8mb4&parseTime=True&loc=Local",
"%v:%v@tcp(%v)/%v?charset=utf8mb4&parseTime=True",
opts.Name,
opts.Password,
opts.Host,
Expand Down
4 changes: 4 additions & 0 deletions packages/eventindexer/event.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ type Event struct {
Address string `json:"address"`
BlockID sql.NullInt64 `json:"blockID"`
Amount decimal.NullDecimal `json:"amount"`
ProofReward decimal.NullDecimal `json:"proofReward"`
ProposerReward decimal.NullDecimal `json:"proposerReward"`
AssignedProver string `json:"assignedProver"`
To string `json:"to"`
TokenID sql.NullInt64 `json:"tokenID"`
Expand All @@ -50,6 +52,8 @@ type SaveEventOpts struct {
Address string
BlockID *int64
Amount *big.Int
ProposerReward *big.Int
ProofReward *big.Int
AssignedProver *string
To *string
TokenID *int64
Expand Down
2 changes: 2 additions & 0 deletions packages/eventindexer/generator/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ type Config struct {
DatabaseMaxConnLifetime uint64
MetricsHTTPPort uint64
GenesisDate time.Time
Regenerate bool
OpenDBFunc func() (DB, error)
}

Expand All @@ -48,6 +49,7 @@ func NewConfigFromCliContext(c *cli.Context) (*Config, error) {
DatabaseMaxConnLifetime: c.Uint64(flags.DatabaseConnMaxLifetime.Name),
MetricsHTTPPort: c.Uint64(flags.MetricsHTTPPort.Name),
GenesisDate: date,
Regenerate: c.Bool(flags.Regenerate.Name),
OpenDBFunc: func() (DB, error) {
return db.OpenDBConnection(db.DBConnectionOpts{
Name: c.String(flags.DatabaseUsername.Name),
Expand Down
2 changes: 2 additions & 0 deletions packages/eventindexer/generator/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ func TestNewConfigFromCliContext(t *testing.T) {
assert.Equal(t, "dbpass", c.DatabasePassword)
assert.Equal(t, "dbname", c.DatabaseName)
assert.Equal(t, "dbhost", c.DatabaseHost)
assert.Equal(t, true, c.Regenerate)

wantTime, _ := time.Parse("2006-01-02", "2023-07-07")
assert.Equal(t, wantTime, c.GenesisDate)
Expand All @@ -52,5 +53,6 @@ func TestNewConfigFromCliContext(t *testing.T) {
"-" + flags.DatabaseHost.Name, "dbhost",
"-" + flags.DatabaseName.Name, "dbname",
"-" + flags.GenesisDate.Name, "2023-07-07",
"-" + flags.Regenerate.Name, "true",
}))
}
Loading