Documentation
¶
Overview ¶
Package commandhandler contains functions that are used to resolve commands issued to issuers and providers.
Index ¶
- func BlindSignRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
- func BlindVerifyRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
- func CredentialVerificationRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
- func DefaultResponse() *commands.Response
- func FaucetTransferRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
- func LookUpBlockCredentialsRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
- func LookUpCredentialRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
- func SignRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
- func SpendCredentialRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
- func VerificationKeyRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
- func VerifyRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
- type BlindSignRequestHandlerData
- func (handlerData *BlindSignRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
- func (handlerData *BlindSignRequestHandlerData) Command() commands.Command
- func (handlerData *BlindSignRequestHandlerData) Data() interface{}
- func (handlerData *BlindSignRequestHandlerData) Log() *logging.Logger
- type BlindVerifyRequestHandlerData
- func (handlerData *BlindVerifyRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
- func (handlerData *BlindVerifyRequestHandlerData) Command() commands.Command
- func (handlerData *BlindVerifyRequestHandlerData) Data() interface{}
- func (handlerData *BlindVerifyRequestHandlerData) Log() *logging.Logger
- type CredentialVerificationRequestHandlerData
- func (handlerData *CredentialVerificationRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
- func (handlerData *CredentialVerificationRequestHandlerData) Command() commands.Command
- func (handlerData *CredentialVerificationRequestHandlerData) Data() interface{}
- func (handlerData *CredentialVerificationRequestHandlerData) Log() *logging.Logger
- type CredentialVerifierData
- type FaucetData
- type FaucetTransferRequestHandlerData
- func (handlerData *FaucetTransferRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
- func (handlerData *FaucetTransferRequestHandlerData) Command() commands.Command
- func (handlerData *FaucetTransferRequestHandlerData) Data() interface{}
- func (handlerData *FaucetTransferRequestHandlerData) Log() *logging.Logger
- type HandlerData
- type HandlerFunc
- type HandlerRegistry
- type HandlerRegistryEntry
- type LookUpBlockCredentialsRequestHandlerData
- func (handlerData *LookUpBlockCredentialsRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
- func (handlerData *LookUpBlockCredentialsRequestHandlerData) Command() commands.Command
- func (handlerData *LookUpBlockCredentialsRequestHandlerData) Data() interface{}
- func (handlerData *LookUpBlockCredentialsRequestHandlerData) Log() *logging.Logger
- type LookUpCredentialRequestHandlerData
- func (handlerData *LookUpCredentialRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
- func (handlerData *LookUpCredentialRequestHandlerData) Command() commands.Command
- func (handlerData *LookUpCredentialRequestHandlerData) Data() interface{}
- func (handlerData *LookUpCredentialRequestHandlerData) Log() *logging.Logger
- type SignRequestHandlerData
- type SpendCredentialRequestHandlerData
- func (handlerData *SpendCredentialRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
- func (handlerData *SpendCredentialRequestHandlerData) Command() commands.Command
- func (handlerData *SpendCredentialRequestHandlerData) Data() interface{}
- func (handlerData *SpendCredentialRequestHandlerData) Log() *logging.Logger
- type SpendCredentialVerificationData
- type VerificationKeyRequestHandlerData
- func (handlerData *VerificationKeyRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
- func (handlerData *VerificationKeyRequestHandlerData) Command() commands.Command
- func (handlerData *VerificationKeyRequestHandlerData) Data() interface{}
- func (handlerData *VerificationKeyRequestHandlerData) Log() *logging.Logger
- type VerifyRequestHandlerData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BlindSignRequestHandler ¶
func BlindSignRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
func BlindVerifyRequestHandler ¶
func BlindVerifyRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
func CredentialVerificationRequestHandler ¶
func CredentialVerificationRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
TODO: This handler doesn't really fit in here...
func DefaultResponse ¶
func FaucetTransferRequestHandler ¶
func FaucetTransferRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
func LookUpBlockCredentialsRequestHandler ¶
func LookUpBlockCredentialsRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
func LookUpCredentialRequestHandler ¶
func LookUpCredentialRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
func SignRequestHandler ¶
func SignRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
func SpendCredentialRequestHandler ¶
func SpendCredentialRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
TODO: split this function into multiple functions since clearly this is a procedure taking multiple steps even division into "spend" and "deposit" would make everything way more readable
func VerificationKeyRequestHandler ¶
func VerificationKeyRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
func VerifyRequestHandler ¶
func VerifyRequestHandler(ctx context.Context, reqData HandlerData) *commands.Response
Types ¶
type BlindSignRequestHandlerData ¶
type BlindSignRequestHandlerData struct {
Cmd *commands.BlindSignRequest
Worker *coconutworker.CoconutWorker
Logger *logging.Logger
SecretKey *coconut.ThresholdSecretKey
}
func (*BlindSignRequestHandlerData) CoconutWorker ¶
func (handlerData *BlindSignRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
func (*BlindSignRequestHandlerData) Command ¶
func (handlerData *BlindSignRequestHandlerData) Command() commands.Command
func (*BlindSignRequestHandlerData) Data ¶
func (handlerData *BlindSignRequestHandlerData) Data() interface{}
func (*BlindSignRequestHandlerData) Log ¶
func (handlerData *BlindSignRequestHandlerData) Log() *logging.Logger
type BlindVerifyRequestHandlerData ¶
type BlindVerifyRequestHandlerData struct {
Cmd *commands.BlindVerifyRequest
Worker *coconutworker.CoconutWorker
Logger *logging.Logger
VerificationKey *coconut.VerificationKey
}
func (*BlindVerifyRequestHandlerData) CoconutWorker ¶
func (handlerData *BlindVerifyRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
func (*BlindVerifyRequestHandlerData) Command ¶
func (handlerData *BlindVerifyRequestHandlerData) Command() commands.Command
func (*BlindVerifyRequestHandlerData) Data ¶
func (handlerData *BlindVerifyRequestHandlerData) Data() interface{}
func (*BlindVerifyRequestHandlerData) Log ¶
func (handlerData *BlindVerifyRequestHandlerData) Log() *logging.Logger
type CredentialVerificationRequestHandlerData ¶
type CredentialVerificationRequestHandlerData struct {
Cmd *commands.CredentialVerificationRequest
Worker *coconutworker.CoconutWorker
Logger *logging.Logger
VerificationData CredentialVerifierData
}
func (*CredentialVerificationRequestHandlerData) CoconutWorker ¶
func (handlerData *CredentialVerificationRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
func (*CredentialVerificationRequestHandlerData) Command ¶
func (handlerData *CredentialVerificationRequestHandlerData) Command() commands.Command
func (*CredentialVerificationRequestHandlerData) Data ¶
func (handlerData *CredentialVerificationRequestHandlerData) Data() interface{}
func (*CredentialVerificationRequestHandlerData) Log ¶
func (handlerData *CredentialVerificationRequestHandlerData) Log() *logging.Logger
type CredentialVerifierData ¶
type CredentialVerifierData struct {
Avk *coconut.VerificationKey
PrivateKey *ecdsa.PrivateKey
NymClient *nymclient.Client // in theory it should be safe to use the same instance for multiple requests
}
type FaucetData ¶
type FaucetData struct {
PrivateKey *ecdsa.PrivateKey
EthClient *ethclient.Client
EtherAmount float64
}
type FaucetTransferRequestHandlerData ¶
type FaucetTransferRequestHandlerData struct {
Cmd *commands.FaucetTransferRequest
Worker *coconutworker.CoconutWorker
Logger *logging.Logger
FaucetData FaucetData
}
func (*FaucetTransferRequestHandlerData) CoconutWorker ¶
func (handlerData *FaucetTransferRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
func (*FaucetTransferRequestHandlerData) Command ¶
func (handlerData *FaucetTransferRequestHandlerData) Command() commands.Command
func (*FaucetTransferRequestHandlerData) Data ¶
func (handlerData *FaucetTransferRequestHandlerData) Data() interface{}
func (*FaucetTransferRequestHandlerData) Log ¶
func (handlerData *FaucetTransferRequestHandlerData) Log() *logging.Logger
type HandlerData ¶
type HandlerData interface {
Command() commands.Command
CoconutWorker() *coconutworker.CoconutWorker
Log() *logging.Logger
Data() interface{}
}
command - request to resolve logger - possibly to remove later? pointer to coconut worker - that deals with actual crypto (passes it down to workers etc) request specific piece of data - for sign it's the secret key, for verify it's the verification key, etc.
type HandlerFunc ¶
type HandlerFunc func(context.Context, HandlerData) *commands.Response
context is really useful for the most time consuming functions like blindverify it is not very useful for say "getVerificatonKey", but nevertheless, it is there for both, completion sake and future proofness
type HandlerRegistry ¶
type HandlerRegistry map[reflect.Type]HandlerRegistryEntry
TODO: perhaps if it's too expensive, replace reflect.Type with some string or even a byte?
type HandlerRegistryEntry ¶
type HandlerRegistryEntry struct {
DataFn func(cmd commands.Command) HandlerData
Fn HandlerFunc
}
type LookUpBlockCredentialsRequestHandlerData ¶
type LookUpBlockCredentialsRequestHandlerData struct {
Cmd *commands.LookUpBlockCredentialsRequest
Worker *coconutworker.CoconutWorker
Logger *logging.Logger
Store *storage.Database
}
func (*LookUpBlockCredentialsRequestHandlerData) CoconutWorker ¶
func (handlerData *LookUpBlockCredentialsRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
func (*LookUpBlockCredentialsRequestHandlerData) Command ¶
func (handlerData *LookUpBlockCredentialsRequestHandlerData) Command() commands.Command
func (*LookUpBlockCredentialsRequestHandlerData) Data ¶
func (handlerData *LookUpBlockCredentialsRequestHandlerData) Data() interface{}
func (*LookUpBlockCredentialsRequestHandlerData) Log ¶
func (handlerData *LookUpBlockCredentialsRequestHandlerData) Log() *logging.Logger
type LookUpCredentialRequestHandlerData ¶
type LookUpCredentialRequestHandlerData struct {
Cmd *commands.LookUpCredentialRequest
Worker *coconutworker.CoconutWorker
Logger *logging.Logger
Store *storage.Database
}
func (*LookUpCredentialRequestHandlerData) CoconutWorker ¶
func (handlerData *LookUpCredentialRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
func (*LookUpCredentialRequestHandlerData) Command ¶
func (handlerData *LookUpCredentialRequestHandlerData) Command() commands.Command
func (*LookUpCredentialRequestHandlerData) Data ¶
func (handlerData *LookUpCredentialRequestHandlerData) Data() interface{}
func (*LookUpCredentialRequestHandlerData) Log ¶
func (handlerData *LookUpCredentialRequestHandlerData) Log() *logging.Logger
type SignRequestHandlerData ¶
type SignRequestHandlerData struct {
Cmd *commands.SignRequest
Worker *coconutworker.CoconutWorker
Logger *logging.Logger
SecretKey *coconut.ThresholdSecretKey
}
func (*SignRequestHandlerData) CoconutWorker ¶
func (handlerData *SignRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
func (*SignRequestHandlerData) Command ¶
func (handlerData *SignRequestHandlerData) Command() commands.Command
func (*SignRequestHandlerData) Data ¶
func (handlerData *SignRequestHandlerData) Data() interface{}
func (*SignRequestHandlerData) Log ¶
func (handlerData *SignRequestHandlerData) Log() *logging.Logger
type SpendCredentialRequestHandlerData ¶
type SpendCredentialRequestHandlerData struct {
Cmd *commands.SpendCredentialRequest
Worker *coconutworker.CoconutWorker
Logger *logging.Logger
VerificationData SpendCredentialVerificationData
}
func (*SpendCredentialRequestHandlerData) CoconutWorker ¶
func (handlerData *SpendCredentialRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
func (*SpendCredentialRequestHandlerData) Command ¶
func (handlerData *SpendCredentialRequestHandlerData) Command() commands.Command
func (*SpendCredentialRequestHandlerData) Data ¶
func (handlerData *SpendCredentialRequestHandlerData) Data() interface{}
func (*SpendCredentialRequestHandlerData) Log ¶
func (handlerData *SpendCredentialRequestHandlerData) Log() *logging.Logger
type VerificationKeyRequestHandlerData ¶
type VerificationKeyRequestHandlerData struct {
Cmd *commands.VerificationKeyRequest
Worker *coconutworker.CoconutWorker
Logger *logging.Logger
VerificationKey *coconut.ThresholdVerificationKey
}
func (*VerificationKeyRequestHandlerData) CoconutWorker ¶
func (handlerData *VerificationKeyRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
func (*VerificationKeyRequestHandlerData) Command ¶
func (handlerData *VerificationKeyRequestHandlerData) Command() commands.Command
func (*VerificationKeyRequestHandlerData) Data ¶
func (handlerData *VerificationKeyRequestHandlerData) Data() interface{}
func (*VerificationKeyRequestHandlerData) Log ¶
func (handlerData *VerificationKeyRequestHandlerData) Log() *logging.Logger
type VerifyRequestHandlerData ¶
type VerifyRequestHandlerData struct {
Cmd *commands.VerifyRequest
Worker *coconutworker.CoconutWorker
Logger *logging.Logger
VerificationKey *coconut.VerificationKey
}
func (*VerifyRequestHandlerData) CoconutWorker ¶
func (handlerData *VerifyRequestHandlerData) CoconutWorker() *coconutworker.CoconutWorker
func (*VerifyRequestHandlerData) Command ¶
func (handlerData *VerifyRequestHandlerData) Command() commands.Command
func (*VerifyRequestHandlerData) Data ¶
func (handlerData *VerifyRequestHandlerData) Data() interface{}
func (*VerifyRequestHandlerData) Log ¶
func (handlerData *VerifyRequestHandlerData) Log() *logging.Logger