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