From 0c4ee6c7ca60438cb233fdcf71bf3e0296c74f18 Mon Sep 17 00:00:00 2001 From: Shevchuk Date: Wed, 20 Aug 2025 23:44:54 +0700 Subject: [PATCH 1/4] Fix of transaction encoding to base64 --- go.mod | 5 ++-- go.sum | 18 ++++++++------- plugin/fees/transaction.go | 15 ++++++------ plugin/payroll/transaction.go | 43 ++++++----------------------------- 4 files changed, 26 insertions(+), 55 deletions(-) diff --git a/go.mod b/go.mod index a479622..63056cf 100644 --- a/go.mod +++ b/go.mod @@ -19,9 +19,8 @@ require ( github.com/vultisig/commondata v0.0.0-20250710214228-61d9ed8f7778 github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74 github.com/vultisig/recipes v0.0.0-20250818151719-db3f03c3254c - github.com/vultisig/verifier v0.0.0-20250825065505-96fc04bb8d02 - github.com/vultisig/vultiserver v0.0.0-20250825042420-c6e6ac281110 - github.com/vultisig/vultisig-go v0.0.0-20250818095937-af97443fcbbe + github.com/vultisig/verifier v0.0.0-20250820091538-a29a985cae1d + github.com/vultisig/vultiserver v0.0.0-20250715212748-4b23f9849e4b golang.org/x/sync v0.14.0 google.golang.org/protobuf v1.36.6 ) diff --git a/go.sum b/go.sum index 6f7eb42..728e25a 100644 --- a/go.sum +++ b/go.sum @@ -755,18 +755,20 @@ github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQ github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/vultisig/commondata v0.0.0-20250710214228-61d9ed8f7778 h1:XJ1hoo37JKGLmfxD4wYhXO8TJFBdUBnbxxK+zagJ4c4= github.com/vultisig/commondata v0.0.0-20250710214228-61d9ed8f7778/go.mod h1:UMc5q0Myab+BvzAe67UQrXTXwKGYNxK7bky7DJM+dl8= -github.com/vultisig/go-wrappers v0.0.0-20250716071337-34a5c0f4d6e0 h1:EdgQHZjzkY2nAhxr99zgbcs+3/8U1t6XW7ETiBEAr80= +github.com/vultisig/go-wrappers v0.0.0-20250403041248-86911e8aa33f h1:124Xlloih1FOOXv/HTdgl4syIRBa/xfKFXAecrZSPQE= +github.com/vultisig/go-wrappers v0.0.0-20250403041248-86911e8aa33f/go.mod h1:UfGCxUQW08kiwxyNBiHwXe+ePPuBmHVVS+BS51aU/Jg= github.com/vultisig/go-wrappers v0.0.0-20250716071337-34a5c0f4d6e0/go.mod h1:UfGCxUQW08kiwxyNBiHwXe+ePPuBmHVVS+BS51aU/Jg= github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74 h1:goqwk4nQ/NEVIb3OPP9SUx7/u9ZfsUIcd5fIN/e4DVU= github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74/go.mod h1:nOykk4nOy1L3yXtLSlYvVsgizBnCQ3tR2N5uwGPdvaM= -github.com/vultisig/recipes v0.0.0-20250818151719-db3f03c3254c h1:oebbFeSAG8zGjCfhj5D4rhK0LtjlpTRhwQSYa4oVSCU= +github.com/vultisig/recipes v0.0.0-20250811174115-368ae4bab6f6 h1:WY/4K26uOvPwp1fjy5zXENdNR+iJRltNGmtsn78zoSk= +github.com/vultisig/recipes v0.0.0-20250811174115-368ae4bab6f6/go.mod h1:Ot3lrUnnSw67Hep+MelclVPgNLDxJP01Ezixw/1RYRE= github.com/vultisig/recipes v0.0.0-20250818151719-db3f03c3254c/go.mod h1:f2XBQu8WO5jwTeWCGiuogg6y9y2dBdjLRqHR7z1f5es= -github.com/vultisig/verifier v0.0.0-20250825065505-96fc04bb8d02 h1:WZL9dIYIMc3mB3ar+p9CGJnqh7g/PnzWs4h1zZ0Xu7Y= -github.com/vultisig/verifier v0.0.0-20250825065505-96fc04bb8d02/go.mod h1:hNPszjdykqNCcj/pT8BRmotJ8rKKK3PXzYwj35zs+b8= -github.com/vultisig/vultiserver v0.0.0-20250825042420-c6e6ac281110 h1:7WDQ92FAdu08Byjgm3RNS8Sok49sK521PzPcbRpbzCE= -github.com/vultisig/vultiserver v0.0.0-20250825042420-c6e6ac281110/go.mod h1:HwP2IgW6Mcu/gX8paFuKvfibrGE9UmPgkOFTub6dskM= -github.com/vultisig/vultisig-go v0.0.0-20250818095937-af97443fcbbe h1:wPXoiswP3HP68g9TbI7GN8Xd8I3M/IbzOs2dypDpH6Y= -github.com/vultisig/vultisig-go v0.0.0-20250818095937-af97443fcbbe/go.mod h1:jOf+2n1Eo/XZjiUbHjTfraPMw4HAZZ0Sw9Z6+vpQrU4= +github.com/vultisig/verifier v0.0.0-20250814230939-fd9719226c8f h1:hsPcIZJ128zm2SpbON+OYsfecgcpT0l7DUMV4s9WNrY= +github.com/vultisig/verifier v0.0.0-20250814230939-fd9719226c8f/go.mod h1:mPPBi5y9pCE/FUS8ibMTsEx3uR5rvia7bt7GEl6Kvv0= +github.com/vultisig/verifier v0.0.0-20250820091538-a29a985cae1d h1:PT7uf9dKpnFVHzZdLGf4/cTbU1LS669OMaybi1T4Ft4= +github.com/vultisig/verifier v0.0.0-20250820091538-a29a985cae1d/go.mod h1:3NVvxDlbaIRSAvUF6Kq0lik7xm7UJ/u7JdHKqkrLcNI= +github.com/vultisig/vultiserver v0.0.0-20250715212748-4b23f9849e4b h1:Ed2DOWo8fA0KG6e36rzUmGpxcOQjmWTbxWyvUbI5by8= +github.com/vultisig/vultiserver v0.0.0-20250715212748-4b23f9849e4b/go.mod h1:HwP2IgW6Mcu/gX8paFuKvfibrGE9UmPgkOFTub6dskM= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= diff --git a/plugin/fees/transaction.go b/plugin/fees/transaction.go index 2603d8c..e3fb291 100644 --- a/plugin/fees/transaction.go +++ b/plugin/fees/transaction.go @@ -9,22 +9,21 @@ import ( "math/big" "strconv" + gcommon "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/hexutil" + etypes "github.com/ethereum/go-ethereum/core/types" "github.com/google/uuid" "github.com/sirupsen/logrus" "github.com/vultisig/mobile-tss-lib/tss" - "github.com/vultisig/plugin/common" "github.com/vultisig/recipes/engine" reth "github.com/vultisig/recipes/ethereum" - resolver "github.com/vultisig/recipes/resolver" - + "github.com/vultisig/recipes/resolver" rtypes "github.com/vultisig/recipes/types" vtypes "github.com/vultisig/verifier/types" "github.com/vultisig/vultisig-go/address" vgcommon "github.com/vultisig/vultisig-go/common" - gcommon "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/common/hexutil" - etypes "github.com/ethereum/go-ethereum/core/types" + "github.com/vultisig/plugin/common" "github.com/vultisig/plugin/internal/types" ) @@ -138,7 +137,7 @@ func (fp *FeePlugin) proposeTransactions(ctx context.Context, policy vtypes.Plug PolicyID: policy.ID, PluginID: policy.PluginID.String(), }, - Transaction: txHex, + Transaction: base64.StdEncoding.EncodeToString(tx), } txs = append(txs, signRequest) @@ -246,7 +245,7 @@ func (fp *FeePlugin) ValidateProposedTransactions(policy vtypes.PluginPolicy, tx } // Evaluate if the transaction is allowed by the policy - _, err = eng.Evaluate(recipe, vgcommon.Chain(keysignMessage.Chain), txBytes) + _, err = eng.Evaluate(recipe, keysignMessage.Chain, txBytes) if err != nil { return fmt.Errorf("failed to evaluate transaction: %w", err) } diff --git a/plugin/payroll/transaction.go b/plugin/payroll/transaction.go index 74375d6..361e92b 100644 --- a/plugin/payroll/transaction.go +++ b/plugin/payroll/transaction.go @@ -2,8 +2,6 @@ package payroll import ( "context" - "crypto/sha256" - "encoding/base64" "encoding/json" "fmt" "math/big" @@ -11,12 +9,9 @@ import ( "time" ecommon "github.com/ethereum/go-ethereum/common" - etypes "github.com/ethereum/go-ethereum/core/types" "github.com/hibiken/asynq" "github.com/sirupsen/logrus" "github.com/vultisig/mobile-tss-lib/tss" - "github.com/vultisig/plugin/internal/scheduler" - "github.com/vultisig/recipes/ethereum" "github.com/vultisig/recipes/sdk/evm" rtypes "github.com/vultisig/recipes/types" "github.com/vultisig/recipes/util" @@ -29,6 +24,7 @@ import ( "golang.org/x/sync/errgroup" "github.com/vultisig/plugin/common" + "github.com/vultisig/plugin/internal/scheduler" ) func (p *Plugin) HandleSchedulerTrigger(c context.Context, t *asynq.Task) error { @@ -126,10 +122,6 @@ func (p *Plugin) ProposeTransactions(policy vtypes.PluginPolicy) ([]vtypes.Plugi } chain := vgcommon.Ethereum - ethEvmID, err := chain.EvmID() - if err != nil { - return nil, fmt.Errorf("failed to get EVM ID for chain %s: %w", chain, err) - } nativeSymbol, err := chain.NativeSymbol() if err != nil { return nil, fmt.Errorf("failed to get native symbol for chain %s: %w", chain, err) @@ -177,16 +169,10 @@ func (p *Plugin) ProposeTransactions(policy vtypes.PluginPolicy) ([]vtypes.Plugi txHex := ecommon.Bytes2Hex(tx) - txData, e := ethereum.DecodeUnsignedPayload(tx) - if e != nil { - return fmt.Errorf("ethereum.DecodeUnsignedPayload: %w", e) - } - txHashToSign := etypes.LatestSignerForChainID(ethEvmID).Hash(etypes.NewTx(txData)) - txToTrack, e := p.txIndexerService.CreateTx(ctx, storage.CreateTxDto{ PluginID: policy.PluginID, PolicyID: policy.ID, - ChainID: vgcommon.Chain(chain), + ChainID: chain, TokenID: tokenID, FromPublicKey: policy.PublicKey, ToPublicKey: recipient, @@ -196,29 +182,14 @@ func (p *Plugin) ProposeTransactions(policy vtypes.PluginPolicy) ([]vtypes.Plugi return fmt.Errorf("p.txIndexerService.CreateTx: %w", e) } - msgHash := sha256.Sum256(txHashToSign.Bytes()) - - // Create signing request - signRequest := vtypes.PluginKeysignRequest{ - KeysignRequest: vtypes.KeysignRequest{ - PublicKey: policy.PublicKey, - Messages: []vtypes.KeysignMessage{ - { - TxIndexerID: txToTrack.ID.String(), - Message: base64.StdEncoding.EncodeToString(txHashToSign.Bytes()), - Chain: vgcommon.Chain(chain), - Hash: base64.StdEncoding.EncodeToString(msgHash[:]), - HashFunction: vtypes.HashFunction_SHA256, - }, - }, - PolicyID: policy.ID, - PluginID: policy.PluginID.String(), - }, - Transaction: txHex, + signRequest, e := vtypes.NewPluginKeysignRequestEvm( + policy, txToTrack.ID.String(), chain, tx) + if e != nil { + return fmt.Errorf("failed to create unsifned request: %w", e) } mu.Lock() - txs = append(txs, signRequest) + txs = append(txs, *signRequest) mu.Unlock() return nil }) From 151e06791e5fb4b111bb2598fc568305d3597485 Mon Sep 17 00:00:00 2001 From: Shevchuk Date: Wed, 20 Aug 2025 23:50:03 +0700 Subject: [PATCH 2/4] Import fix --- api/server.go | 4 ++-- common/vault.go | 2 +- go.mod | 1 + go.sum | 10 ++++------ plugin/payroll/payroll.go | 4 ++-- plugin/payroll/policy.go | 3 +-- scripts/dev/add_balance/main.go | 1 - 7 files changed, 11 insertions(+), 14 deletions(-) diff --git a/api/server.go b/api/server.go index d99fdda..03f274d 100644 --- a/api/server.go +++ b/api/server.go @@ -20,7 +20,7 @@ import ( vtypes "github.com/vultisig/verifier/types" "github.com/vultisig/verifier/vault" vgcommon "github.com/vultisig/vultisig-go/common" - vgtypes "github.com/vultisig/vultisig-go/types" + "github.com/vultisig/vultisig-go/types" "github.com/vultisig/plugin/internal/scheduler" "github.com/vultisig/plugin/service" @@ -174,7 +174,7 @@ func (s *Server) GetVault(c echo.Context) error { return c.JSON(http.StatusInternalServerError, NewErrorResponse("fail to get vault")) } - return c.JSON(http.StatusOK, vgtypes.VaultGetResponse{ + return c.JSON(http.StatusOK, types.VaultGetResponse{ Name: v.Name, PublicKeyEcdsa: v.PublicKeyEcdsa, PublicKeyEddsa: v.PublicKeyEddsa, diff --git a/common/vault.go b/common/vault.go index e37ea69..293f989 100644 --- a/common/vault.go +++ b/common/vault.go @@ -5,7 +5,7 @@ import ( v1 "github.com/vultisig/commondata/go/vultisig/vault/v1" vtypes "github.com/vultisig/verifier/types" - vault "github.com/vultisig/verifier/vault" + "github.com/vultisig/verifier/vault" vgcommon "github.com/vultisig/vultisig-go/common" ) diff --git a/go.mod b/go.mod index 63056cf..fb20072 100644 --- a/go.mod +++ b/go.mod @@ -21,6 +21,7 @@ require ( github.com/vultisig/recipes v0.0.0-20250818151719-db3f03c3254c github.com/vultisig/verifier v0.0.0-20250820091538-a29a985cae1d github.com/vultisig/vultiserver v0.0.0-20250715212748-4b23f9849e4b + github.com/vultisig/vultisig-go v0.0.0-20250818095937-af97443fcbbe golang.org/x/sync v0.14.0 google.golang.org/protobuf v1.36.6 ) diff --git a/go.sum b/go.sum index 728e25a..712592d 100644 --- a/go.sum +++ b/go.sum @@ -755,20 +755,18 @@ github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQ github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/vultisig/commondata v0.0.0-20250710214228-61d9ed8f7778 h1:XJ1hoo37JKGLmfxD4wYhXO8TJFBdUBnbxxK+zagJ4c4= github.com/vultisig/commondata v0.0.0-20250710214228-61d9ed8f7778/go.mod h1:UMc5q0Myab+BvzAe67UQrXTXwKGYNxK7bky7DJM+dl8= -github.com/vultisig/go-wrappers v0.0.0-20250403041248-86911e8aa33f h1:124Xlloih1FOOXv/HTdgl4syIRBa/xfKFXAecrZSPQE= -github.com/vultisig/go-wrappers v0.0.0-20250403041248-86911e8aa33f/go.mod h1:UfGCxUQW08kiwxyNBiHwXe+ePPuBmHVVS+BS51aU/Jg= +github.com/vultisig/go-wrappers v0.0.0-20250716071337-34a5c0f4d6e0 h1:EdgQHZjzkY2nAhxr99zgbcs+3/8U1t6XW7ETiBEAr80= github.com/vultisig/go-wrappers v0.0.0-20250716071337-34a5c0f4d6e0/go.mod h1:UfGCxUQW08kiwxyNBiHwXe+ePPuBmHVVS+BS51aU/Jg= github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74 h1:goqwk4nQ/NEVIb3OPP9SUx7/u9ZfsUIcd5fIN/e4DVU= github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74/go.mod h1:nOykk4nOy1L3yXtLSlYvVsgizBnCQ3tR2N5uwGPdvaM= -github.com/vultisig/recipes v0.0.0-20250811174115-368ae4bab6f6 h1:WY/4K26uOvPwp1fjy5zXENdNR+iJRltNGmtsn78zoSk= -github.com/vultisig/recipes v0.0.0-20250811174115-368ae4bab6f6/go.mod h1:Ot3lrUnnSw67Hep+MelclVPgNLDxJP01Ezixw/1RYRE= +github.com/vultisig/recipes v0.0.0-20250818151719-db3f03c3254c h1:oebbFeSAG8zGjCfhj5D4rhK0LtjlpTRhwQSYa4oVSCU= github.com/vultisig/recipes v0.0.0-20250818151719-db3f03c3254c/go.mod h1:f2XBQu8WO5jwTeWCGiuogg6y9y2dBdjLRqHR7z1f5es= -github.com/vultisig/verifier v0.0.0-20250814230939-fd9719226c8f h1:hsPcIZJ128zm2SpbON+OYsfecgcpT0l7DUMV4s9WNrY= -github.com/vultisig/verifier v0.0.0-20250814230939-fd9719226c8f/go.mod h1:mPPBi5y9pCE/FUS8ibMTsEx3uR5rvia7bt7GEl6Kvv0= github.com/vultisig/verifier v0.0.0-20250820091538-a29a985cae1d h1:PT7uf9dKpnFVHzZdLGf4/cTbU1LS669OMaybi1T4Ft4= github.com/vultisig/verifier v0.0.0-20250820091538-a29a985cae1d/go.mod h1:3NVvxDlbaIRSAvUF6Kq0lik7xm7UJ/u7JdHKqkrLcNI= github.com/vultisig/vultiserver v0.0.0-20250715212748-4b23f9849e4b h1:Ed2DOWo8fA0KG6e36rzUmGpxcOQjmWTbxWyvUbI5by8= github.com/vultisig/vultiserver v0.0.0-20250715212748-4b23f9849e4b/go.mod h1:HwP2IgW6Mcu/gX8paFuKvfibrGE9UmPgkOFTub6dskM= +github.com/vultisig/vultisig-go v0.0.0-20250818095937-af97443fcbbe h1:wPXoiswP3HP68g9TbI7GN8Xd8I3M/IbzOs2dypDpH6Y= +github.com/vultisig/vultisig-go v0.0.0-20250818095937-af97443fcbbe/go.mod h1:jOf+2n1Eo/XZjiUbHjTfraPMw4HAZZ0Sw9Z6+vpQrU4= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= diff --git a/plugin/payroll/payroll.go b/plugin/payroll/payroll.go index 9a2b84a..ae8565f 100644 --- a/plugin/payroll/payroll.go +++ b/plugin/payroll/payroll.go @@ -13,7 +13,7 @@ import ( "github.com/vultisig/verifier/plugin/keysign" "github.com/vultisig/verifier/plugin/tx_indexer" "github.com/vultisig/verifier/vault" - "github.com/vultisig/vultisig-go/common" + vgcommon "github.com/vultisig/vultisig-go/common" ) var _ plugin.Spec = (*Plugin)(nil) @@ -49,7 +49,7 @@ func NewPlugin( var eth *evm.SDK if ethRpc != nil { - ethEvmChainID, err := common.Ethereum.EvmID() + ethEvmChainID, err := vgcommon.Ethereum.EvmID() if err != nil { return nil, fmt.Errorf("failed to get Ethereum EVM ID: %w", err) } diff --git a/plugin/payroll/policy.go b/plugin/payroll/policy.go index d1026e5..6ef4fb2 100644 --- a/plugin/payroll/policy.go +++ b/plugin/payroll/policy.go @@ -7,7 +7,6 @@ import ( "github.com/vultisig/recipes/engine" "github.com/vultisig/verifier/plugin" vtypes "github.com/vultisig/verifier/types" - vgcommon "github.com/vultisig/vultisig-go/common" ) func (p *Plugin) ValidateProposedTransactions(policy vtypes.PluginPolicy, txs []vtypes.PluginKeysignRequest) error { @@ -30,7 +29,7 @@ func (p *Plugin) ValidateProposedTransactions(policy vtypes.PluginPolicy, txs [] return fmt.Errorf("failed to decode transaction: %w", err) } - _, err = eng.Evaluate(recipe, vgcommon.Chain(keysignMessage.Chain), txBytes) + _, err = eng.Evaluate(recipe, keysignMessage.Chain, txBytes) if err != nil { return fmt.Errorf("failed to evaluate transaction: %w", err) } diff --git a/scripts/dev/add_balance/main.go b/scripts/dev/add_balance/main.go index af54430..d9e97c9 100644 --- a/scripts/dev/add_balance/main.go +++ b/scripts/dev/add_balance/main.go @@ -15,7 +15,6 @@ import ( "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/ethclient" - "github.com/vultisig/vultisig-go/address" vgcommon "github.com/vultisig/vultisig-go/common" ) From 9fb0e80376b9ba833bef3bedff70142b9f68eba1 Mon Sep 17 00:00:00 2001 From: Shevchuk Date: Thu, 21 Aug 2025 00:15:27 +0700 Subject: [PATCH 3/4] Import fix --- plugin/fees/fees.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/plugin/fees/fees.go b/plugin/fees/fees.go index 9ae2daf..7373863 100644 --- a/plugin/fees/fees.go +++ b/plugin/fees/fees.go @@ -9,21 +9,20 @@ import ( "github.com/google/uuid" "github.com/hibiken/asynq" "github.com/sirupsen/logrus" + "github.com/vultisig/recipes/sdk/evm" + rtypes "github.com/vultisig/recipes/types" "github.com/vultisig/verifier/plugin" "github.com/vultisig/verifier/plugin/keysign" "github.com/vultisig/verifier/plugin/tx_indexer" vtypes "github.com/vultisig/verifier/types" + "github.com/vultisig/verifier/vault" vgcommon "github.com/vultisig/vultisig-go/common" "golang.org/x/sync/errgroup" "golang.org/x/sync/semaphore" - "github.com/vultisig/verifier/vault" - "github.com/vultisig/plugin/internal/types" "github.com/vultisig/plugin/internal/verifierapi" "github.com/vultisig/plugin/storage" - "github.com/vultisig/recipes/sdk/evm" - rtypes "github.com/vultisig/recipes/types" ) /* From 8ed533c2ff1c0cc56e0a44713b8a79d61d909a1c Mon Sep 17 00:00:00 2001 From: Shevchuk Date: Thu, 21 Aug 2025 00:19:13 +0700 Subject: [PATCH 4/4] Dev scripts fix --- scripts/dev/create_fee_policy/main.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/dev/create_fee_policy/main.go b/scripts/dev/create_fee_policy/main.go index 6f9e6c6..a9e4750 100644 --- a/scripts/dev/create_fee_policy/main.go +++ b/scripts/dev/create_fee_policy/main.go @@ -16,11 +16,12 @@ import ( "github.com/google/uuid" "github.com/labstack/echo/v4" vaultType "github.com/vultisig/commondata/go/vultisig/vault/v1" - "github.com/vultisig/plugin/common" rtypes "github.com/vultisig/recipes/types" vtypes "github.com/vultisig/verifier/types" vgcommon "github.com/vultisig/vultisig-go/common" "google.golang.org/protobuf/proto" + + "github.com/vultisig/plugin/common" ) /*