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
4 changes: 2 additions & 2 deletions api/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion common/vault.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)

Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +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/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
Expand Down
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -761,10 +761,10 @@ 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-20250818151719-db3f03c3254c h1:oebbFeSAG8zGjCfhj5D4rhK0LtjlpTRhwQSYa4oVSCU=
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/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=
Expand Down
7 changes: 3 additions & 4 deletions plugin/fees/fees.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)

/*
Expand Down
15 changes: 7 additions & 8 deletions plugin/fees/transaction.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)

Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
}
Expand Down
4 changes: 2 additions & 2 deletions plugin/payroll/payroll.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
}
Expand Down
3 changes: 1 addition & 2 deletions plugin/payroll/policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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)
}
Expand Down
43 changes: 7 additions & 36 deletions plugin/payroll/transaction.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,16 @@ package payroll

import (
"context"
"crypto/sha256"
"encoding/base64"
"encoding/json"
"fmt"
"math/big"
"sync"
"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"
Expand All @@ -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 {
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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,
Expand All @@ -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
})
Expand Down
1 change: 0 additions & 1 deletion scripts/dev/add_balance/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)
Expand Down
3 changes: 2 additions & 1 deletion scripts/dev/create_fee_policy/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)

/*
Expand Down