From ced391ed80e7359a621772e4feeda9a49aec77c8 Mon Sep 17 00:00:00 2001 From: faheelsattar Date: Mon, 21 Oct 2024 19:55:53 +0200 Subject: [PATCH 1/2] fix erpc query --- backend/internal/data/shutter_explorer.sql.go | 26 ++++++++++++++----- .../data/sql/queries/shutter_explorer.sql | 5 ++-- backend/internal/usecase/transaction.go | 15 ++++++++--- 3 files changed, 33 insertions(+), 13 deletions(-) diff --git a/backend/internal/data/shutter_explorer.sql.go b/backend/internal/data/shutter_explorer.sql.go index fa948e5..bdf67e4 100644 --- a/backend/internal/data/shutter_explorer.sql.go +++ b/backend/internal/data/shutter_explorer.sql.go @@ -84,12 +84,11 @@ func (q *Queries) QueryExecutedTransactionStats(ctx context.Context) ([]QueryExe return items, nil } -const queryFromTransactionDetails = `-- name: QueryFromTransactionDetails :one +const queryFromTransactionDetails = `-- name: QueryFromTransactionDetails :many SELECT tx_hash as user_tx_hash, encrypted_tx_hash FROM transaction_details WHERE tx_hash = $1 OR encrypted_tx_hash = $1 ORDER BY submission_time DESC -LIMIT 1 ` type QueryFromTransactionDetailsRow struct { @@ -97,11 +96,24 @@ type QueryFromTransactionDetailsRow struct { EncryptedTxHash string } -func (q *Queries) QueryFromTransactionDetails(ctx context.Context, txHash string) (QueryFromTransactionDetailsRow, error) { - row := q.db.QueryRow(ctx, queryFromTransactionDetails, txHash) - var i QueryFromTransactionDetailsRow - err := row.Scan(&i.UserTxHash, &i.EncryptedTxHash) - return i, err +func (q *Queries) QueryFromTransactionDetails(ctx context.Context, txHash string) ([]QueryFromTransactionDetailsRow, error) { + rows, err := q.db.Query(ctx, queryFromTransactionDetails, txHash) + if err != nil { + return nil, err + } + defer rows.Close() + var items []QueryFromTransactionDetailsRow + for rows.Next() { + var i QueryFromTransactionDetailsRow + if err := rows.Scan(&i.UserTxHash, &i.EncryptedTxHash); err != nil { + return nil, err + } + items = append(items, i) + } + if err := rows.Err(); err != nil { + return nil, err + } + return items, nil } const queryGreeter = `-- name: QueryGreeter :many diff --git a/backend/internal/data/sql/queries/shutter_explorer.sql b/backend/internal/data/sql/queries/shutter_explorer.sql index 2d72c40..26d6efa 100644 --- a/backend/internal/data/sql/queries/shutter_explorer.sql +++ b/backend/internal/data/sql/queries/shutter_explorer.sql @@ -139,12 +139,11 @@ SELECT tx_hash, EXTRACT(EPOCH FROM created_at)::BIGINT AS included_timestamp FROM decrypted_tx WHERE slot = $1 AND tx_status = 'shielded inclusion'; --- name: QueryFromTransactionDetails :one +-- name: QueryFromTransactionDetails :many SELECT tx_hash as user_tx_hash, encrypted_tx_hash FROM transaction_details WHERE tx_hash = $1 OR encrypted_tx_hash = $1 -ORDER BY submission_time DESC -LIMIT 1; +ORDER BY submission_time DESC; -- name: QueryTransactionDetailsByTxHash :one WITH prioritized_tx AS ( diff --git a/backend/internal/usecase/transaction.go b/backend/internal/usecase/transaction.go index 94e767b..ba4cc15 100644 --- a/backend/internal/usecase/transaction.go +++ b/backend/internal/usecase/transaction.go @@ -3,6 +3,7 @@ package usecase import ( "context" "encoding/hex" + "fmt" "net/http" "os" "strconv" @@ -191,7 +192,15 @@ func (uc *TransactionUsecase) QueryTransactionDetailsByTxHash(ctx context.Contex return nil, &err } } else { - txHashBytes = common.HexToHash(erpcTX.EncryptedTxHash).Bytes() + if len(erpcTX) > 0 { + if txHash == erpcTX[0].EncryptedTxHash { + fmt.Println("encrypted tx enc called") + txHashBytes = common.HexToHash(erpcTX[0].EncryptedTxHash).Bytes() + } else { + fmt.Println("user tx enc called") + txHashBytes = common.HexToHash(erpcTX[0].UserTxHash).Bytes() + } + } } tse, err := uc.observerDBQuery.QueryTransactionDetailsByTxHash(ctx, txHashBytes) @@ -291,8 +300,8 @@ func (uc *TransactionUsecase) QueryTransactionDetailsByTxHash(ctx context.Contex if len(tse.UserTxHash) > 0 { userTxHash = "0x" + hex.EncodeToString(tse.UserTxHash) } else { - if erpcTxErr == nil { - userTxHash = erpcTX.UserTxHash + if len(erpcTX) > 0 { + userTxHash = erpcTX[0].UserTxHash } } From fb34c082866e13ac075681ec7159752953687dcc Mon Sep 17 00:00:00 2001 From: faheelsattar Date: Mon, 21 Oct 2024 20:53:02 +0200 Subject: [PATCH 2/2] remove logs --- backend/internal/usecase/transaction.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/backend/internal/usecase/transaction.go b/backend/internal/usecase/transaction.go index ba4cc15..12110e0 100644 --- a/backend/internal/usecase/transaction.go +++ b/backend/internal/usecase/transaction.go @@ -3,7 +3,6 @@ package usecase import ( "context" "encoding/hex" - "fmt" "net/http" "os" "strconv" @@ -194,10 +193,8 @@ func (uc *TransactionUsecase) QueryTransactionDetailsByTxHash(ctx context.Contex } else { if len(erpcTX) > 0 { if txHash == erpcTX[0].EncryptedTxHash { - fmt.Println("encrypted tx enc called") txHashBytes = common.HexToHash(erpcTX[0].EncryptedTxHash).Bytes() } else { - fmt.Println("user tx enc called") txHashBytes = common.HexToHash(erpcTX[0].UserTxHash).Bytes() } }