Skip to content
This repository was archived by the owner on Feb 8, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/migration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ jobs:
fi

# Check if migrations ran successfully by verifying tables exist
PGPASSWORD=mypassword psql -h localhost -U myuser -d vultisig-plugin -c "\dt" | grep -E "(plugin_policies|time_triggers|transaction_history) | wc -l" > /dev/null
PGPASSWORD=mypassword psql -h localhost -U myuser -d vultisig-plugin -c "\dt" | grep -E "(plugin_policies|time_triggers) | wc -l" > /dev/null
if [ $? -ne 0 ]; then
echo "Migrations did not run successfully - expected tables not found"
kill $DCA_PID
Expand Down
18 changes: 0 additions & 18 deletions api/plugin.go
Original file line number Diff line number Diff line change
Expand Up @@ -302,24 +302,6 @@ func (s *Server) GetRecipeSpecification(c echo.Context) error {
return c.JSON(http.StatusOK, &recipeSpec)
}

func (s *Server) GetPluginPolicyTransactionHistory(c echo.Context) error {
policyID := c.Param("policyId")

if policyID == "" {
return c.JSON(http.StatusBadRequest, NewErrorResponse("invalid policy ID"))
}

policyHistory, err := s.policyService.GetPluginPolicyTransactionHistory(c.Request().Context(), policyID)
if err != nil {
s.logger.WithError(err).
WithField("policy_id", policyID).
Error("Failed to get plugin policy transaction history")
return c.JSON(http.StatusInternalServerError, NewErrorResponse("failed to get policy transaction history"))
}

return c.JSON(http.StatusOK, policyHistory)
}

func (s *Server) verifyPolicySignature(policy vtypes.PluginPolicy) bool {
msgBytes, err := common.PolicyToMessageHex(policy)
if err != nil {
Expand Down
46 changes: 0 additions & 46 deletions api/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import (

"github.com/vultisig/plugin/internal/scheduler"
"github.com/vultisig/plugin/internal/tasks"
"github.com/vultisig/plugin/internal/types"
vv "github.com/vultisig/plugin/internal/vultisig_validator"
"github.com/vultisig/plugin/service"
"github.com/vultisig/plugin/storage"
Expand Down Expand Up @@ -345,48 +344,3 @@ func (s *Server) ExistVault(c echo.Context) error {
}
return c.NoContent(http.StatusOK)
}

func (s *Server) CreateTransaction(c echo.Context) error {
var reqTx types.TransactionHistory
if err := c.Bind(&reqTx); err != nil {
return c.NoContent(http.StatusBadRequest)
}

existingTx, _ := s.db.GetTransactionByHash(c.Request().Context(), reqTx.TxHash)
if existingTx != nil {
if existingTx.Status != types.StatusSigningFailed &&
existingTx.Status != types.StatusRejected {
return c.NoContent(http.StatusConflict)
}

if err := s.db.UpdateTransactionStatus(c.Request().Context(), existingTx.ID, types.StatusPending, reqTx.Metadata); err != nil {
s.logger.Errorf("fail to update transaction status: %v", err)
return c.NoContent(http.StatusInternalServerError)
}
return c.NoContent(http.StatusOK)
}

if _, err := s.db.CreateTransactionHistory(c.Request().Context(), reqTx); err != nil {
s.logger.Errorf("fail to create transaction, err: %v", err)
return c.NoContent(http.StatusInternalServerError)
}
return c.NoContent(http.StatusOK)
}

func (s *Server) UpdateTransaction(c echo.Context) error {
var reqTx types.TransactionHistory
if err := c.Bind(&reqTx); err != nil {
return c.NoContent(http.StatusBadRequest)
}

existingTx, _ := s.db.GetTransactionByHash(c.Request().Context(), reqTx.TxHash)
if existingTx == nil {
return c.NoContent(http.StatusNotFound)
}

if err := s.db.UpdateTransactionStatus(c.Request().Context(), existingTx.ID, reqTx.Status, reqTx.Metadata); err != nil {
s.logger.Errorf("fail to update transaction status, err: %v", err)
return c.NoContent(http.StatusInternalServerError)
}
return c.NoContent(http.StatusOK)
}
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ require (
github.com/vultisig/commondata v0.0.0-20250430024109-a2492623ef05
github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74
github.com/vultisig/recipes v0.0.0-20250627044941-5f6e07d5d22f
github.com/vultisig/verifier v0.0.0-20250627125920-a555ee8da0cb
github.com/vultisig/verifier v0.0.0-20250701180729-848563b4ed33
github.com/vultisig/vultiserver v0.0.0-20250515110921-82d56d3d9cc9
)

Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -769,6 +769,8 @@ github.com/vultisig/verifier v0.0.0-20250626093402-fa1ecf8bd816 h1:hCTbtaqIKBsnR
github.com/vultisig/verifier v0.0.0-20250626093402-fa1ecf8bd816/go.mod h1:dLmQBnF5F0auFkGtCMHOCqkUwdTRL6fWm3H4yfHfsVU=
github.com/vultisig/verifier v0.0.0-20250627125920-a555ee8da0cb h1:x2h4ud358pS5jQ5ZEVAu6Jazc2OzDrLa1E8rtdFUEFg=
github.com/vultisig/verifier v0.0.0-20250627125920-a555ee8da0cb/go.mod h1:dLmQBnF5F0auFkGtCMHOCqkUwdTRL6fWm3H4yfHfsVU=
github.com/vultisig/verifier v0.0.0-20250701180729-848563b4ed33 h1:PUeuOyOphzJq/NhCOwMJjqm8YC2U5v55jQtg7Fuf5t4=
github.com/vultisig/verifier v0.0.0-20250701180729-848563b4ed33/go.mod h1:dLmQBnF5F0auFkGtCMHOCqkUwdTRL6fWm3H4yfHfsVU=
github.com/vultisig/vultiserver v0.0.0-20250515110921-82d56d3d9cc9 h1:pZhGN8q8+gPB1JJjVDC1hDg8qn6Tbj0XBJymgTQ8qQg=
github.com/vultisig/vultiserver v0.0.0-20250515110921-82d56d3d9cc9/go.mod h1:HwP2IgW6Mcu/gX8paFuKvfibrGE9UmPgkOFTub6dskM=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
Expand Down
40 changes: 0 additions & 40 deletions internal/types/transaction.go

This file was deleted.

8 changes: 2 additions & 6 deletions plugin/dca/dca.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import (

"github.com/vultisig/plugin/common"
"github.com/vultisig/plugin/internal/sigutil"
"github.com/vultisig/plugin/internal/types"
"github.com/vultisig/plugin/pkg/uniswap"
"github.com/vultisig/plugin/storage"
)
Expand Down Expand Up @@ -732,11 +731,8 @@ func (p *DCAPlugin) logTokenBalances(client *uniswap.Client, signerAddress *gcom
}

func (p *DCAPlugin) getCompletedSwapTransactionsCount(ctx context.Context, policyID uuid.UUID) (int64, error) {
count, err := p.db.CountTransactions(ctx, policyID, types.StatusMined, "SWAP")
if err != nil {
return 0, err
}
return count, nil
// TODO implement in scope of DCA plugin implementation
return 0, nil
}
Comment thread
webpiratt marked this conversation as resolved.

func (p *DCAPlugin) calculateSwapAmountPerOrder(totalAmount, totalOrders *big.Int, completedSwaps int64) *big.Int {
Expand Down
17 changes: 0 additions & 17 deletions service/policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (
vtypes "github.com/vultisig/verifier/types"

"github.com/vultisig/plugin/internal/scheduler"
"github.com/vultisig/plugin/internal/types"
"github.com/vultisig/plugin/storage"
)

Expand All @@ -20,7 +19,6 @@ type Policy interface {
DeletePolicy(ctx context.Context, policyID uuid.UUID, signature string) error
GetPluginPolicies(ctx context.Context, pluginID vtypes.PluginID, publicKey string) ([]vtypes.PluginPolicy, error)
GetPluginPolicy(ctx context.Context, policyID uuid.UUID) (vtypes.PluginPolicy, error)
GetPluginPolicyTransactionHistory(ctx context.Context, policyID string) ([]types.TransactionHistory, error)
}

var _ Policy = (*PolicyService)(nil)
Expand Down Expand Up @@ -142,18 +140,3 @@ func (s *PolicyService) GetPluginPolicy(ctx context.Context, policyID uuid.UUID)
}
return policy, nil
}

func (s *PolicyService) GetPluginPolicyTransactionHistory(ctx context.Context, policyID string) ([]types.TransactionHistory, error) {
// Convert string to UUID
policyUUID, err := uuid.Parse(policyID)
if err != nil {
return []types.TransactionHistory{}, fmt.Errorf("invalid policy_id: %s", policyID)
}

history, err := s.db.GetTransactionHistory(ctx, policyUUID, "SWAP", 30, 0) // take the last 30 records and skip the first 0
if err != nil {
return []types.TransactionHistory{}, fmt.Errorf("failed to get policy history: %w", err)
}

return history, nil
}
8 changes: 0 additions & 8 deletions storage/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,5 @@ type DatabaseStorage interface {
UpdateTriggerStatus(ctx context.Context, policyID uuid.UUID, status types.TimeTriggerStatus) error
GetTriggerStatus(ctx context.Context, policyID uuid.UUID) (types.TimeTriggerStatus, error)

CountTransactions(ctx context.Context, policyID uuid.UUID, status types.TransactionStatus, txType string) (int64, error)
CreateTransactionHistoryTx(ctx context.Context, dbTx pgx.Tx, tx types.TransactionHistory) (uuid.UUID, error)
UpdateTransactionStatusTx(ctx context.Context, dbTx pgx.Tx, txID uuid.UUID, status types.TransactionStatus, metadata map[string]interface{}) error
CreateTransactionHistory(ctx context.Context, tx types.TransactionHistory) (uuid.UUID, error)
UpdateTransactionStatus(ctx context.Context, txID uuid.UUID, status types.TransactionStatus, metadata map[string]interface{}) error
GetTransactionHistory(ctx context.Context, policyID uuid.UUID, transactionType string, take int, skip int) ([]types.TransactionHistory, error)
GetTransactionByHash(ctx context.Context, txHash string) (*types.TransactionHistory, error)

Pool() *pgxpool.Pool
}
Loading