Documentation ¶
Index ¶
- Variables
- func PreparePolicy(src config.TezosConfig) (map[string]*Policy, error)
- func SignRequestAuthenticatedBytes(req *SignRequest) ([]byte, error)
- type Config
- type FileWatermark
- type IgnoreWatermark
- type InMemoryWatermark
- type Policy
- type PolicyHook
- type PolicyHookReply
- type PolicyHookReplyPayload
- type PolicyHookRequest
- type PublicKey
- type SignInterceptor
- type SignInterceptorOptions
- type SignRequest
- type Signatory
- func (s *Signatory) GetPublicKey(ctx context.Context, keyHash string) (*PublicKey, error)
- func (s *Signatory) Import(ctx context.Context, importerName string, secretKey string, ...) (*PublicKey, error)
- func (s *Signatory) ListPublicKeys(ctx context.Context) ([]*PublicKey, error)
- func (s *Signatory) Ready(ctx context.Context) (bool, error)
- func (s *Signatory) Sign(ctx context.Context, req *SignRequest) (string, error)
- func (s *Signatory) Unlock(ctx context.Context) error
- type Watermark
Constants ¶
This section is empty.
Variables ¶
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 ¶
func PreparePolicy ¶
func PreparePolicy(src config.TezosConfig) (map[string]*Policy, error)
PreparePolicy prepares policy data by hashing keys etc
func SignRequestAuthenticatedBytes ¶
func SignRequestAuthenticatedBytes(req *SignRequest) ([]byte, error)
Types ¶
type Config ¶
type Config struct { Policy map[string]*Policy Vaults map[string]*config.VaultConfig Interceptor SignInterceptor Watermark Watermark Logger log.FieldLogger VaultFactory vault.Factory PolicyHook *PolicyHook }
Config represents Signatory configuration
type FileWatermark ¶
type FileWatermark struct { BaseDir string // contains filtered or unexported fields }
func (*FileWatermark) IsSafeToSign ¶
func (f *FileWatermark) IsSafeToSign(pkh string, hash []byte, msg tezos.UnsignedMessage) error
type IgnoreWatermark ¶
type IgnoreWatermark struct{}
IgnoreWatermark watermark that do not validation and return true
func (IgnoreWatermark) IsSafeToSign ¶
func (w IgnoreWatermark) IsSafeToSign(pkh string, hash []byte, msg tezos.UnsignedMessage) error
IsSafeToSign always return true
type InMemoryWatermark ¶
type InMemoryWatermark struct {
// contains filtered or unexported fields
}
InMemoryWatermark keep previous operation in memory
func (*InMemoryWatermark) IsSafeToSign ¶
func (w *InMemoryWatermark) IsSafeToSign(pkh string, hash []byte, msg tezos.UnsignedMessage) error
IsSafeToSign return true if this msgID is safe to sign
type Policy ¶
type Policy struct { AllowedRequests []string AllowedOps []string LogPayloads bool AuthorizedKeyHashes []string }
Policy contains policy data related to the key
type PolicyHook ¶
type PolicyHook struct { Address string Auth auth.AuthorizedKeysStorage }
type PolicyHookReply ¶
type PolicyHookReply struct { Payload json.RawMessage `json:"payload"` Signature string `json:"signature"` }
type PolicyHookReplyPayload ¶
type PolicyHookRequest ¶
type PublicKey ¶
type PublicKey struct { PublicKey string PublicKeyHash string VaultName string ID string Policy *Policy Active bool }
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 Req string Stat tezos.OperationsStat }
SignInterceptorOptions contains SignInterceptor arguments to avoid confusion
type SignRequest ¶
type SignRequest struct { ClientPublicKeyHash string // optional, see policy PublicKeyHash string Source net.IP // optional caller address Message []byte }
SignRequest represents a sign request which may be authenticated with the client key
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 (*Signatory) GetPublicKey ¶
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 ¶
ListPublicKeys retrieve the list of all public keys supported by the current configuration