Skip to content

Commit

Permalink
feat: remove loading from db
Browse files Browse the repository at this point in the history
feat: migration file to remove table
  • Loading branch information
nick-bisonai committed May 18, 2024
1 parent 0ce7ace commit f294f6d
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 37 deletions.
4 changes: 4 additions & 0 deletions delegator/migrations/000003_remove_pk_table.down.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
CREATE TABLE IF NOT EXISTS "fee_payers" (
"privateKey" VARCHAR(66) NOT NULL,
CONSTRAINT "fee_payers_privateKey_key" UNIQUE ("privateKey")
);
1 change: 1 addition & 0 deletions delegator/migrations/000003_remove_pk_table.up.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DROP TABLE IF EXISTS "fee_payers";
12 changes: 1 addition & 11 deletions delegator/tests/globals_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package tests

import (
"context"
"encoding/hex"
"fmt"
"log"
Expand All @@ -17,7 +16,6 @@ import (
"bisonai.com/orakl/delegator/sign"
"bisonai.com/orakl/delegator/utils"

"github.com/jackc/pgx/v5/pgxpool"
"github.com/joho/godotenv"
"github.com/klaytn/klaytn/blockchain/types"
"github.com/klaytn/klaytn/common"
Expand Down Expand Up @@ -77,18 +75,10 @@ func makeMockTransaction() (*types.Transaction, error) {
return nil, err
}

pgxPool, pgxError := pgxpool.New(context.Background(), os.Getenv("DATABASE_URL"))
if pgxError != nil {
return nil, pgxError
}

var feePayerPk string

if feePayerPk = os.Getenv("DELEGATOR_FEEPAYER_PK"); feePayerPk == "" {
feePayerPk, err = utils.LoadFeePayer(pgxPool)
if err != nil {
return nil, err
}
return nil, fmt.Errorf("fee payer not initialized")
}

feePayerPublicKey, err := utils.GetPublicKey(feePayerPk)
Expand Down
29 changes: 3 additions & 26 deletions delegator/utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,18 +87,13 @@ func InitFeePayerPK(ctx context.Context, pgxPool *pgxpool.Pool) error {

useGoogleSecretManager, _ := strconv.ParseBool(os.Getenv("USE_GOOGLE_SECRET_MANAGER"))
useVault, _ := strconv.ParseBool(os.Getenv("USE_VAULT"))
if useGoogleSecretManager {
feePayer, err = LoadFeePayerFromGSM(ctx)
if err != nil {
return err
}
} else if useVault {
if useVault {
feePayer, err = LoadFeePayerFromVault(ctx)
if err != nil {
return err
}
} else {
feePayer, err = LoadFeePayer(pgxPool)
} else if useGoogleSecretManager {
feePayer, err = LoadFeePayerFromGSM(ctx)
if err != nil {
return err
}
Expand Down Expand Up @@ -248,24 +243,6 @@ func QueryRowsWithoutFiberCtx[T any](postgres *pgxpool.Pool, query string, args
return results, err
}

func LoadFeePayer(postgres *pgxpool.Pool) (string, error) {
rows, err := postgres.Query(context.Background(), "SELECT * FROM fee_payers;")
if err != nil {
return "", err
}

results, err := pgx.CollectRows(rows, pgx.RowToStructByName[FeePayer])
if errors.Is(err, pgx.ErrNoRows) || len(results) == 0 {
return "", fmt.Errorf("no fee payer found")
}

if len(results) > 1 {
return "", fmt.Errorf("too many fee payers")
}

return results[0].PrivateKey, nil
}

func LoadFeePayerFromGSM(ctx context.Context) (string, error) {
/*
When you're running your application on Google Kubernetes Engine (GKE),
Expand Down

0 comments on commit f294f6d

Please sign in to comment.