signatory

package
v0.1.4-beta.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2020 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrVaultNotFound error return when a vault is not found
	ErrVaultNotFound = errors.Wrap(stderr.New("This key not found in any vault"), http.StatusNotFound)
	// ErrNotSafeToSign error returned when an operation is a potential duplicate
	ErrNotSafeToSign = errors.Wrap(stderr.New("Not safe to sign"), http.StatusForbidden)
)

Functions

This section is empty.

Types

type Config

type Config struct {
	Policy      config.TezosConfig
	Vaults      map[string]*config.VaultConfig
	Interceptor SignInterceptor
	Watermark   Watermark
	Logger      log.FieldLogger
}

Config represents Signatory configuration

type IgnoreWatermark

type IgnoreWatermark struct {
}

IgnoreWatermark watermark that do not validation and return true

func NewIgnoreWatermark

func NewIgnoreWatermark() *IgnoreWatermark

NewIgnoreWatermark create a new ignore watermark

func (*IgnoreWatermark) IsSafeToSign

func (w *IgnoreWatermark) IsSafeToSign(pkh string, msg tezos.UnsignedMessage) bool

IsSafeToSign always return true

type InMemoryWatermark

type InMemoryWatermark struct {
	// contains filtered or unexported fields
}

InMemoryWatermark keep previous operation in memory

func NewInMemoryWatermark

func NewInMemoryWatermark() *InMemoryWatermark

NewInMemoryWatermark create a new Memory watermark

func (*InMemoryWatermark) IsSafeToSign

func (w *InMemoryWatermark) IsSafeToSign(pkh string, msg tezos.UnsignedMessage) bool

IsSafeToSign return true if this msgID is safe to sign

type PublicKey

type PublicKey struct {
	PublicKey     string
	PublicKeyHash string
	VaultName     string
	ID            string
	Policy        *config.TezosPolicy
	Status        string
}

PublicKey contains base58 encoded public key with its hash

type SignInterceptor

type SignInterceptor func(opt *SignInterceptorOptions, sing func() error) error

SignInterceptor is an observer function for signing request

type SignInterceptorOptions

type SignInterceptorOptions struct {
	Address string
	Vault   string
	Op      string
	Kind    []string
}

SignInterceptorOptions contains SignInterceptor arguments to avoid confusion

type Signatory

type Signatory struct {
	// contains filtered or unexported fields
}

Signatory is a struct coordinate signatory action and select vault according to the key being used

func NewSignatory

func NewSignatory(ctx context.Context, c *Config) (*Signatory, error)

NewSignatory returns Signatory instance

func (*Signatory) GetPublicKey

func (s *Signatory) GetPublicKey(ctx context.Context, keyHash string) (*PublicKey, error)

GetPublicKey retrieve the public key from a vault

func (*Signatory) Import

func (s *Signatory) Import(ctx context.Context, importerName string, secretKey string, passCB tezos.PassphraseFunc, opt utils.Options) (*PublicKey, error)

Import a keyPair inside the vault

func (*Signatory) ListPublicKeys

func (s *Signatory) ListPublicKeys(ctx context.Context) ([]*PublicKey, error)

ListPublicKeys retrieve the list of all public keys supported by the current configuration

func (*Signatory) Ready

func (s *Signatory) Ready(ctx context.Context) (bool, error)

Ready returns true if all backends are ready

func (*Signatory) Sign

func (s *Signatory) Sign(ctx context.Context, keyHash string, message []byte) (string, error)

Sign ask the vault to sign a message with the private key associated to keyHash

func (*Signatory) Unlock

func (s *Signatory) Unlock(ctx context.Context) error

Unlock unlock all the vaults

type Watermark

type Watermark interface {
	IsSafeToSign(pkh string, msg tezos.UnsignedMessage) bool
}

Watermark tests level against stored high watermark

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL