Files
sendico/api/chain/gateway/internal/keymanager/keymanager.go
Stephan D 62a6631b9a
All checks were successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful
service backend
2025-11-07 18:35:26 +01:00

24 lines
797 B
Go

package keymanager
import (
"context"
"math/big"
"github.com/ethereum/go-ethereum/core/types"
)
// ManagedWalletKey captures information returned after provisioning a managed wallet key.
type ManagedWalletKey struct {
KeyID string
Address string
PublicKey string
}
// Manager defines the contract for managing managed wallet keys.
type Manager interface {
// CreateManagedWalletKey provisions a new managed wallet key for the provided wallet reference and network.
CreateManagedWalletKey(ctx context.Context, walletRef string, network string) (*ManagedWalletKey, error)
// SignTransaction signs the provided transaction using the identified key material.
SignTransaction(ctx context.Context, keyID string, tx *types.Transaction, chainID *big.Int) (*types.Transaction, error)
}