From c83156ecd68213f78a6c81e701a660fae31e86ac Mon Sep 17 00:00:00 2001 From: Raghav Sood Date: Tue, 10 Jun 2025 18:16:44 +0800 Subject: [PATCH 1/6] deps: bump verifier --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 748a9b0..cf5bf36 100644 --- a/go.mod +++ b/go.mod @@ -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-20250606100120-0ee16a73412d - github.com/vultisig/verifier v0.0.0-20250606113146-bec42406cb9e + github.com/vultisig/verifier v0.0.0-20250610101120-51d757bfc8d8 github.com/vultisig/vultiserver v0.0.0-20250515110921-82d56d3d9cc9 ) diff --git a/go.sum b/go.sum index 8535275..ee5257b 100644 --- a/go.sum +++ b/go.sum @@ -746,8 +746,8 @@ github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74 h1:goqwk4n github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74/go.mod h1:nOykk4nOy1L3yXtLSlYvVsgizBnCQ3tR2N5uwGPdvaM= github.com/vultisig/recipes v0.0.0-20250606100120-0ee16a73412d h1:BVc4OL0BNY/cCmptU3EeqAoxcX8vS13Pr13gWpd5Xi0= github.com/vultisig/recipes v0.0.0-20250606100120-0ee16a73412d/go.mod h1:JT1FTsiJ8tY5W065vSsrxvrCSl1amp5o6SsBc1VVcCQ= -github.com/vultisig/verifier v0.0.0-20250606113146-bec42406cb9e h1:mFWLP/v+xuHJyPBtN/QUPlLRJvIvGplVCIXNEoo4Liw= -github.com/vultisig/verifier v0.0.0-20250606113146-bec42406cb9e/go.mod h1:YpvZN2mbn6Z/34FDfnMS/TdE+B5Y8jghu5FvqOfRmB0= +github.com/vultisig/verifier v0.0.0-20250610101120-51d757bfc8d8 h1:RQ3+t01EYKfNQ9lGYqZctBgTW2NZO0vX3CPpmh/Zrao= +github.com/vultisig/verifier v0.0.0-20250610101120-51d757bfc8d8/go.mod h1:YpvZN2mbn6Z/34FDfnMS/TdE+B5Y8jghu5FvqOfRmB0= 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= From 4d1fa20ebd6c5906258011e172126efdf2fa1fec Mon Sep 17 00:00:00 2001 From: Raghav Sood Date: Tue, 10 Jun 2025 19:45:02 +0800 Subject: [PATCH 2/6] plugin: apply txindexer and fee updates --- api/plugin.go | 6 +++--- plugin/dca/dca.go | 5 ++++- plugin/payroll/transaction.go | 2 +- plugin/plugin.go | 20 -------------------- 4 files changed, 8 insertions(+), 25 deletions(-) delete mode 100644 plugin/plugin.go diff --git a/api/plugin.go b/api/plugin.go index fb78bbd..0cdb470 100644 --- a/api/plugin.go +++ b/api/plugin.go @@ -50,7 +50,7 @@ func (s *Server) SignPluginMessages(c echo.Context) error { } // Get policy from database - policy, err := s.db.GetPluginPolicy(c.Request().Context(), req.PolicyID) + policy, err := s.db.GetPluginPolicy(c.Request().Context(), req.PolicyID.String()) if err != nil { return fmt.Errorf("failed to get policy from database: %w", err) } @@ -196,7 +196,7 @@ func (s *Server) CreatePluginPolicy(c echo.Context) error { // We re-init plugin as verification server doesn't have plugin defined - if err := s.plugin.ValidatePluginPolicy(policy); err != nil { + if err := s.plugin.ValidatePluginPolicy(policy.ToPluginPolicyCreateUpdate()); err != nil { s.logger.WithError(err).Error("Failed to validate plugin policy") return c.JSON(http.StatusBadRequest, NewErrorResponse("failed to validate policy")) } @@ -225,7 +225,7 @@ func (s *Server) UpdatePluginPolicyById(c echo.Context) error { return fmt.Errorf("fail to parse request, err: %w", err) } - if err := s.plugin.ValidatePluginPolicy(policy); err != nil { + if err := s.plugin.ValidatePluginPolicy(policy.ToPluginPolicyCreateUpdate()); err != nil { s.logger.WithError(err). WithField("plugin_id", policy.PluginID). WithField("policy_id", policy.ID). diff --git a/plugin/dca/dca.go b/plugin/dca/dca.go index 54cd8fd..a192477 100644 --- a/plugin/dca/dca.go +++ b/plugin/dca/dca.go @@ -96,6 +96,7 @@ func (p *DCAPlugin) SigningComplete( signRequest vtypes.PluginKeysignRequest, policy vtypes.PluginPolicyCreateUpdate, ) error { + var dcaPolicy DCAPolicy // TODO: convert recipe to DCAPolicy @@ -273,10 +274,12 @@ func validateInterval(intervalStr string, frequency string) error { func (p *DCAPlugin) ProposeTransactions(policy vtypes.PluginPolicyCreateUpdate) ([]vtypes.PluginKeysignRequest, error) { p.logger.Info("DCA: PROPOSE TRANSACTIONS") + policy := policyCU.ToPluginPolicy() + var txs []vtypes.PluginKeysignRequest // validate policy - err := p.ValidatePluginPolicy(policy) + err := p.ValidatePluginPolicy(policyCU) if err != nil { return txs, fmt.Errorf("fail to validate plugin policy: %w", err) } diff --git a/plugin/payroll/transaction.go b/plugin/payroll/transaction.go index 615063d..10fac64 100644 --- a/plugin/payroll/transaction.go +++ b/plugin/payroll/transaction.go @@ -54,7 +54,7 @@ func (p *PayrollPlugin) HandleSchedulerTrigger(ctx context.Context, t *asynq.Tas } func (p *PayrollPlugin) ProposeTransactions(policy vtypes.PluginPolicyCreateUpdate) ([]vtypes.PluginKeysignRequest, error) { var txs []vtypes.PluginKeysignRequest - err := p.ValidatePluginPolicy(policy) + err := p.ValidatePluginPolicy(policyCU) if err != nil { return txs, fmt.Errorf("failed to validate plugin policy: %v", err) } diff --git a/plugin/plugin.go b/plugin/plugin.go deleted file mode 100644 index a2b6cae..0000000 --- a/plugin/plugin.go +++ /dev/null @@ -1,20 +0,0 @@ -package plugin - -import ( - "context" - "embed" - - "github.com/vultisig/mobile-tss-lib/tss" - "github.com/vultisig/plugin/internal/types" - rtypes "github.com/vultisig/recipes/types" - vtypes "github.com/vultisig/verifier/types" -) - -type Plugin interface { - FrontendSchema() embed.FS - GetRecipeSpecification() rtypes.RecipeSchema - ValidatePluginPolicy(policyDoc vtypes.PluginPolicy) error - ProposeTransactions(policy vtypes.PluginPolicy) ([]types.PluginKeysignRequest, error) - ValidateProposedTransactions(policy vtypes.PluginPolicy, txs []types.PluginKeysignRequest) error - SigningComplete(ctx context.Context, signature tss.KeysignResponse, signRequest types.PluginKeysignRequest, policy vtypes.PluginPolicy) error -} From d1bfc8bf4d2d750a54dbcf7c52c251b3f6014819 Mon Sep 17 00:00:00 2001 From: Raghav Sood Date: Tue, 10 Jun 2025 19:53:38 +0800 Subject: [PATCH 3/6] plugin: fix upstream type usage --- api/plugin.go | 6 +++--- plugin/dca/dca.go | 4 +--- plugin/payroll/transaction.go | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/api/plugin.go b/api/plugin.go index 0cdb470..fb78bbd 100644 --- a/api/plugin.go +++ b/api/plugin.go @@ -50,7 +50,7 @@ func (s *Server) SignPluginMessages(c echo.Context) error { } // Get policy from database - policy, err := s.db.GetPluginPolicy(c.Request().Context(), req.PolicyID.String()) + policy, err := s.db.GetPluginPolicy(c.Request().Context(), req.PolicyID) if err != nil { return fmt.Errorf("failed to get policy from database: %w", err) } @@ -196,7 +196,7 @@ func (s *Server) CreatePluginPolicy(c echo.Context) error { // We re-init plugin as verification server doesn't have plugin defined - if err := s.plugin.ValidatePluginPolicy(policy.ToPluginPolicyCreateUpdate()); err != nil { + if err := s.plugin.ValidatePluginPolicy(policy); err != nil { s.logger.WithError(err).Error("Failed to validate plugin policy") return c.JSON(http.StatusBadRequest, NewErrorResponse("failed to validate policy")) } @@ -225,7 +225,7 @@ func (s *Server) UpdatePluginPolicyById(c echo.Context) error { return fmt.Errorf("fail to parse request, err: %w", err) } - if err := s.plugin.ValidatePluginPolicy(policy.ToPluginPolicyCreateUpdate()); err != nil { + if err := s.plugin.ValidatePluginPolicy(policy); err != nil { s.logger.WithError(err). WithField("plugin_id", policy.PluginID). WithField("policy_id", policy.ID). diff --git a/plugin/dca/dca.go b/plugin/dca/dca.go index a192477..8fc76a1 100644 --- a/plugin/dca/dca.go +++ b/plugin/dca/dca.go @@ -274,12 +274,10 @@ func validateInterval(intervalStr string, frequency string) error { func (p *DCAPlugin) ProposeTransactions(policy vtypes.PluginPolicyCreateUpdate) ([]vtypes.PluginKeysignRequest, error) { p.logger.Info("DCA: PROPOSE TRANSACTIONS") - policy := policyCU.ToPluginPolicy() - var txs []vtypes.PluginKeysignRequest // validate policy - err := p.ValidatePluginPolicy(policyCU) + err := p.ValidatePluginPolicy(policy) if err != nil { return txs, fmt.Errorf("fail to validate plugin policy: %w", err) } diff --git a/plugin/payroll/transaction.go b/plugin/payroll/transaction.go index 10fac64..615063d 100644 --- a/plugin/payroll/transaction.go +++ b/plugin/payroll/transaction.go @@ -54,7 +54,7 @@ func (p *PayrollPlugin) HandleSchedulerTrigger(ctx context.Context, t *asynq.Tas } func (p *PayrollPlugin) ProposeTransactions(policy vtypes.PluginPolicyCreateUpdate) ([]vtypes.PluginKeysignRequest, error) { var txs []vtypes.PluginKeysignRequest - err := p.ValidatePluginPolicy(policyCU) + err := p.ValidatePluginPolicy(policy) if err != nil { return txs, fmt.Errorf("failed to validate plugin policy: %v", err) } From 7636061e6698d4a0330b0802af70084d06890b9f Mon Sep 17 00:00:00 2001 From: Raghav Sood Date: Tue, 10 Jun 2025 19:56:12 +0800 Subject: [PATCH 4/6] deps: bump verifier --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index cf5bf36..508425e 100644 --- a/go.mod +++ b/go.mod @@ -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-20250606100120-0ee16a73412d - github.com/vultisig/verifier v0.0.0-20250610101120-51d757bfc8d8 + github.com/vultisig/verifier v0.0.0-20250610111811-04bc93ed0186 github.com/vultisig/vultiserver v0.0.0-20250515110921-82d56d3d9cc9 ) diff --git a/go.sum b/go.sum index ee5257b..54a36b8 100644 --- a/go.sum +++ b/go.sum @@ -748,6 +748,8 @@ github.com/vultisig/recipes v0.0.0-20250606100120-0ee16a73412d h1:BVc4OL0BNY/cCm github.com/vultisig/recipes v0.0.0-20250606100120-0ee16a73412d/go.mod h1:JT1FTsiJ8tY5W065vSsrxvrCSl1amp5o6SsBc1VVcCQ= github.com/vultisig/verifier v0.0.0-20250610101120-51d757bfc8d8 h1:RQ3+t01EYKfNQ9lGYqZctBgTW2NZO0vX3CPpmh/Zrao= github.com/vultisig/verifier v0.0.0-20250610101120-51d757bfc8d8/go.mod h1:YpvZN2mbn6Z/34FDfnMS/TdE+B5Y8jghu5FvqOfRmB0= +github.com/vultisig/verifier v0.0.0-20250610111811-04bc93ed0186 h1:jXy5CFUFQBW01WZlWmyFrtOQHGUg9bKl883ioLIfNwI= +github.com/vultisig/verifier v0.0.0-20250610111811-04bc93ed0186/go.mod h1:YpvZN2mbn6Z/34FDfnMS/TdE+B5Y8jghu5FvqOfRmB0= 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= From 79b4cb2ab82664a936c2d51755a0a4ddd109398e Mon Sep 17 00:00:00 2001 From: Raghav Sood Date: Tue, 10 Jun 2025 19:56:56 +0800 Subject: [PATCH 5/6] dca: remove newline --- plugin/dca/dca.go | 1 - 1 file changed, 1 deletion(-) diff --git a/plugin/dca/dca.go b/plugin/dca/dca.go index 8fc76a1..54cd8fd 100644 --- a/plugin/dca/dca.go +++ b/plugin/dca/dca.go @@ -96,7 +96,6 @@ func (p *DCAPlugin) SigningComplete( signRequest vtypes.PluginKeysignRequest, policy vtypes.PluginPolicyCreateUpdate, ) error { - var dcaPolicy DCAPolicy // TODO: convert recipe to DCAPolicy From e6a5dafa7060837540f1c9d263f0caa1a0677422 Mon Sep 17 00:00:00 2001 From: Raghav Sood Date: Tue, 10 Jun 2025 20:20:13 +0800 Subject: [PATCH 6/6] deps: bump verifier --- go.mod | 2 +- go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 508425e..719913a 100644 --- a/go.mod +++ b/go.mod @@ -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-20250606100120-0ee16a73412d - github.com/vultisig/verifier v0.0.0-20250610111811-04bc93ed0186 + github.com/vultisig/verifier v0.0.0-20250610121912-6a1629a06b29 github.com/vultisig/vultiserver v0.0.0-20250515110921-82d56d3d9cc9 ) diff --git a/go.sum b/go.sum index 54a36b8..9868490 100644 --- a/go.sum +++ b/go.sum @@ -746,10 +746,8 @@ github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74 h1:goqwk4n github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74/go.mod h1:nOykk4nOy1L3yXtLSlYvVsgizBnCQ3tR2N5uwGPdvaM= github.com/vultisig/recipes v0.0.0-20250606100120-0ee16a73412d h1:BVc4OL0BNY/cCmptU3EeqAoxcX8vS13Pr13gWpd5Xi0= github.com/vultisig/recipes v0.0.0-20250606100120-0ee16a73412d/go.mod h1:JT1FTsiJ8tY5W065vSsrxvrCSl1amp5o6SsBc1VVcCQ= -github.com/vultisig/verifier v0.0.0-20250610101120-51d757bfc8d8 h1:RQ3+t01EYKfNQ9lGYqZctBgTW2NZO0vX3CPpmh/Zrao= -github.com/vultisig/verifier v0.0.0-20250610101120-51d757bfc8d8/go.mod h1:YpvZN2mbn6Z/34FDfnMS/TdE+B5Y8jghu5FvqOfRmB0= -github.com/vultisig/verifier v0.0.0-20250610111811-04bc93ed0186 h1:jXy5CFUFQBW01WZlWmyFrtOQHGUg9bKl883ioLIfNwI= -github.com/vultisig/verifier v0.0.0-20250610111811-04bc93ed0186/go.mod h1:YpvZN2mbn6Z/34FDfnMS/TdE+B5Y8jghu5FvqOfRmB0= +github.com/vultisig/verifier v0.0.0-20250610121912-6a1629a06b29 h1:FSGm3xrw/9i1e2CgtVibtK+kamMskw2KND6KPtcvtQA= +github.com/vultisig/verifier v0.0.0-20250610121912-6a1629a06b29/go.mod h1:YpvZN2mbn6Z/34FDfnMS/TdE+B5Y8jghu5FvqOfRmB0= 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=