All checks were successful
ci/woodpecker/push/billing_fees Pipeline was successful
ci/woodpecker/push/bff Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/chain_gateway Pipeline was successful
ci/woodpecker/push/fx_ingestor Pipeline was successful
ci/woodpecker/push/fx_oracle Pipeline was successful
ci/woodpecker/push/frontend Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful
ci/woodpecker/push/ledger Pipeline was successful
ci/woodpecker/push/notification Pipeline was successful
ci/woodpecker/push/payments_orchestrator Pipeline was successful
24 lines
797 B
Go
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)
|
|
}
|