diff --git a/backend/cmd/eth1indexer/main.go b/backend/cmd/eth1indexer/main.go index 8c4a71f26..58fd23cea 100644 --- a/backend/cmd/eth1indexer/main.go +++ b/backend/cmd/eth1indexer/main.go @@ -10,8 +10,6 @@ import ( "io" "math/big" "net/http" - //nolint:gosec - _ "net/http/pprof" "os" "strconv" "strings" @@ -37,6 +35,9 @@ import ( _ "github.com/jackc/pgx/v5/stdlib" "github.com/shopspring/decimal" "golang.org/x/sync/errgroup" + + //nolint:gosec + _ "net/http/pprof" ) func Run() { diff --git a/backend/cmd/store/main.go b/backend/cmd/store/main.go index 279723a7e..cab24f128 100644 --- a/backend/cmd/store/main.go +++ b/backend/cmd/store/main.go @@ -2,8 +2,10 @@ package main import ( "errors" + "fmt" "net/http" "os" + "time" "github.com/gobitfly/beaconchain/pkg/commons/db2/database" "github.com/gobitfly/beaconchain/pkg/commons/log" @@ -15,6 +17,7 @@ func main() { project := args[0] instance := args[1] table := args[2] + port := args[3] bt, err := database.NewBigTable(project, instance, nil) if err != nil { @@ -23,7 +26,12 @@ func main() { remote := database.NewRemote(database.Wrap(bt, table)) go func() { log.Info("starting remote raw store on port 8087") - if err := http.ListenAndServe("0.0.0.0:8087", remote.Routes()); err != nil && !errors.Is(err, http.ErrServerClosed) { + server := &http.Server{ + Addr: fmt.Sprintf("0.0.0.0:%s", port), + ReadHeaderTimeout: 3 * time.Second, + Handler: remote.Routes(), + } + if err := server.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) { panic(err) } }() diff --git a/backend/internal/e2e/e2e_test.go b/backend/internal/e2e/e2e_test.go index c2ac7e598..a58921281 100644 --- a/backend/internal/e2e/e2e_test.go +++ b/backend/internal/e2e/e2e_test.go @@ -2,8 +2,8 @@ package e2e import ( "context" - "encoding/hex" "fmt" + "maps" "math/big" "testing" @@ -21,12 +21,16 @@ import ( func TestStoreWithBackend(t *testing.T) { btClient, admin := databasetest.NewBigTable(t) - s, err := database.NewBigTableWithClient(context.Background(), btClient, admin, data.Schema) + tables := make(map[string][]string) + maps.Copy(tables, data.Schema) + maps.Copy(tables, metadataupdates.Schema) + db, err := database.NewBigTableWithClient(context.Background(), btClient, admin, tables) if err != nil { t.Fatal(err) } - dataStore := data.NewStore(database.Wrap(s, data.Table)) - metadataStore := metadataupdates.NewStore(database.Wrap(s, metadataupdates.Table)) + + dataStore := data.NewStore(database.Wrap(db, data.Table)) + metadataStore := metadataupdates.NewStore(database.Wrap(db, metadataupdates.Table)) backend := th.NewBackend(t) usdtAddress, usdt := backend.DeployToken(t, "usdt", "usdt", backend.BankAccount.From) @@ -115,9 +119,11 @@ func TestStoreWithBackend(t *testing.T) { if err != nil { t.Fatal(err) } - for _, interaction := range interactions { + _ = interactions + // TODO add actual tests + /* for _, interaction := range interactions { t.Log(interaction.Type, interaction.ChainID, "0x"+interaction.From, "0x"+interaction.To, "0x"+hex.EncodeToString(interaction.Hash), interaction.Time) - } + }*/ }) } } diff --git a/backend/pkg/commons/db/bigtable_eth1.go b/backend/pkg/commons/db/bigtable_eth1.go index 1c13a96ad..0a901a413 100644 --- a/backend/pkg/commons/db/bigtable_eth1.go +++ b/backend/pkg/commons/db/bigtable_eth1.go @@ -26,7 +26,6 @@ import ( "golang.org/x/sync/errgroup" "google.golang.org/protobuf/types/known/timestamppb" - "github.com/coocood/freecache" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" @@ -2865,20 +2864,6 @@ func prefixSuccessor(prefix string, pos int) string { return string(ans) } -func (bigtable *Bigtable) markBalanceUpdate(address []byte, token []byte, mutations *types.BulkMutations, cache *freecache.Cache) { - balanceUpdateKey := fmt.Sprintf("%s:B:%x", bigtable.chainId, address) // format is B: for balance update as chainid:prefix:address (token id will be encoded as column name) - balanceUpdateCacheKey := []byte(fmt.Sprintf("%s:B:%x:%x", bigtable.chainId, address, token)) // format is B: for balance update as chainid:prefix:address (token id will be encoded as column name) - if _, err := cache.Get(balanceUpdateCacheKey); err != nil { - mut := gcp_bigtable.NewMutation() - mut.Set(DEFAULT_FAMILY, fmt.Sprintf("%x", token), gcp_bigtable.Timestamp(0), []byte{}) - - mutations.Keys = append(mutations.Keys, balanceUpdateKey) - mutations.Muts = append(mutations.Muts, mut) - - _ = cache.Set(balanceUpdateCacheKey, []byte{0x1}, int((utils.Day * 2).Seconds())) - } -} - var ( GASNOW_RAPID_COLUMN = "RAPI" GASNOW_FAST_COLUMN = "FAST" diff --git a/backend/pkg/commons/db2/data/option.go b/backend/pkg/commons/db2/data/option.go index e0386acb5..4df8e2fa5 100644 --- a/backend/pkg/commons/db2/data/option.go +++ b/backend/pkg/commons/db2/data/option.go @@ -14,13 +14,13 @@ type Option interface { } type options struct { - from, to *timestamp.Timestamp - method *string - chainID *string - onlySent bool - onlyReceived bool - asset *common.Address - with *common.Address + from, to *timestamp.Timestamp + method *string + // chainID *string + onlySent bool + onlyReceived bool + asset *common.Address + //with *common.Address onlyTxs bool onlyTransfers bool statsReporter func(msg string, args ...any) diff --git a/backend/pkg/commons/rpc/erigon.go b/backend/pkg/commons/rpc/erigon.go index cc872da39..d3dd44d35 100644 --- a/backend/pkg/commons/rpc/erigon.go +++ b/backend/pkg/commons/rpc/erigon.go @@ -18,7 +18,7 @@ import ( gethrpc "github.com/ethereum/go-ethereum/rpc" "golang.org/x/sync/errgroup" "google.golang.org/protobuf/types/known/timestamppb" - + "github.com/gobitfly/beaconchain/pkg/commons/contracts/oneinchoracle" "github.com/gobitfly/beaconchain/pkg/commons/erc20" "github.com/gobitfly/beaconchain/pkg/commons/log" diff --git a/backend/pkg/executionlayer/indexer_test.go b/backend/pkg/executionlayer/indexer_test.go index 3886c2bba..0cad1e319 100644 --- a/backend/pkg/executionlayer/indexer_test.go +++ b/backend/pkg/executionlayer/indexer_test.go @@ -23,7 +23,6 @@ func TestIndexer(t *testing.T) { if err != nil { t.Fatal(err) } - metadataBigtable, err := database.NewBigTableWithClient(context.Background(), btClient, btAdmin, metadataupdates.Schema) if err != nil { t.Fatal(err) @@ -138,8 +137,8 @@ func TestIndexer(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - defer dataBigtable.Clear() - defer metadataBigtable.Clear() + defer func() { _ = dataBigtable.Clear() }() + defer func() { _ = metadataBigtable.Clear() }() indexer := NewIndexer( data.NewStore(database.Wrap(dataBigtable, data.Table)), @@ -185,7 +184,6 @@ func rowsContains(rows []database.Row, keys []string) error { for _, key := range keys { found := false for _, row := range rows { - fmt.Println(row.Key) if strings.Contains(row.Key, key) { found = true break diff --git a/backend/pkg/executionlayer/transformer.go b/backend/pkg/executionlayer/transformer.go index 1eeaa7a6a..0313eb3a0 100644 --- a/backend/pkg/executionlayer/transformer.go +++ b/backend/pkg/executionlayer/transformer.go @@ -326,9 +326,7 @@ func (t *Transformer) Blob(chainID string, block *types.Eth1Block) (map[string][ } func (t *Transformer) Contract(chainID string, block *types.Eth1Block) (map[string][]database.Item, map[string][]database.Item, error) { - updateMetadata := make(map[string][]database.Item) var updates []metadataupdates.ContractUpdateWithAddress - for i, tx := range block.GetTransactions() { for j, itx := range tx.GetItx() { if itx.GetType() == "create" || itx.GetType() == "suicide" {