Skip to content

Commit

Permalink
feat: add network fee to onchain BTC processed transactions
Browse files Browse the repository at this point in the history
  • Loading branch information
lmquang committed Feb 25, 2025
1 parent 1a5e7cc commit 4da8f44
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 13 deletions.
26 changes: 15 additions & 11 deletions internal/model/onchain_btc_processed_transaction.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package model

import "time"
import (
"time"
)

type BtcProcessingStatus string

Expand All @@ -11,14 +13,16 @@ const (
)

type OnchainBtcProcessedTransaction struct {
ID int `json:"id"`
IcyTransactionHash *string `json:"icy_transaction_hash"`
BtcTransactionHash string `json:"btc_transaction_hash"`
SwapTransactionHash string `json:"swap_transaction_hash"`
BTCAddress string `json:"btc_address"`
ProcessedAt *time.Time `json:"processed_at"`
Amount string `json:"amount"`
Status BtcProcessingStatus `json:"status"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
ID int `json:"id"`
IcyTransactionHash *string `json:"icy_transaction_hash"`
BtcTransactionHash string `json:"btc_transaction_hash"`
SwapTransactionHash string `json:"swap_transaction_hash"`
BTCAddress string `json:"btc_address"`
ProcessedAt *time.Time `json:"processed_at"`
Amount string `json:"amount"`
Status BtcProcessingStatus `json:"status"`
ICYSwapTx OnchainIcySwapTransaction `json:"icy_swap_tx"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
NetworkFee string `gorm:"column:network_fee" json:"network_fee"`
}
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,8 @@ func (s *store) Find(db *gorm.DB, filter ListFilter) ([]*model.OnchainBtcProcess
query = query.Offset(filter.Offset).Limit(filter.Limit)

// Order by updated_at descending
query = query.Order("updated_at DESC")
query = query.Joins("JOIN onchain_icy_swap_transactions ON onchain_btc_processed_transactions.swap_transaction_hash = onchain_icy_swap_transactions.transaction_hash").
Order("updated_at DESC")

// Fetch transactions
if err := query.Find(&transactions).Error; err != nil {
Expand Down
2 changes: 1 addition & 1 deletion internal/telemetry/btc.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ func (t *Telemetry) ProcessPendingBtcTransactions() error {
// TODO: Implement actual sending logic based on the existing Send method
// This is a placeholder and needs to be replaced with actual implementation
t.logger.Info(fmt.Sprintf("[ProcessPendingBtcTransactions] processing pending transaction: %s",
pendingTx.IcyTransactionHash))
*pendingTx.IcyTransactionHash))

if pendingTx.BTCAddress == "" || pendingTx.Amount == "" {
err = t.store.OnchainBtcProcessedTransaction.UpdateStatus(t.db, pendingTx.ID, model.BtcProcessingStatusFailed)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-- Remove network_fee column from onchain_btc_processed_transactions
ALTER TABLE onchain_btc_processed_transactions
DROP COLUMN IF EXISTS network_fee;
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-- Add network_fee column to onchain_btc_processed_transactions
ALTER TABLE onchain_btc_processed_transactions
ADD COLUMN network_fee VARCHAR(255) DEFAULT '0';

0 comments on commit 4da8f44

Please sign in to comment.