From d21570d4cc62551542696c3822b0766ef44c2e0c Mon Sep 17 00:00:00 2001 From: Paul Berg Date: Sat, 29 Sep 2018 17:16:34 +0300 Subject: [PATCH] Added ecRecover method in the clef api --- signer/core/api.go | 7 ++----- signer/core/auditlog.go | 6 +++--- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/signer/core/api.go b/signer/core/api.go index 29c763e20a..0e24445c0c 100644 --- a/signer/core/api.go +++ b/signer/core/api.go @@ -50,11 +50,9 @@ type ExternalAPI interface { // SignTransaction request to sign the specified transaction SignTransaction(ctx context.Context, args SendTxArgs, methodSelector *string) (*ethapi.SignTransactionResult, error) // SignData - request to sign the given data (plus prefix) - SignData(ctx context.Context, contentType string, addr common.MixedcaseAddress, data interface{}) (hexutil.Bytes, error) - // SignTypedData - request to sign the given structured data (plus prefix) - SignTypedData(ctx context.Context, addr common.MixedcaseAddress, data TypedData) (hexutil.Bytes, error) + SignData(ctx context.Context, contentType string, addr common.MixedcaseAddress, data hexutil.Bytes) (hexutil.Bytes, error) // EcRecover - recover public key from given message and signature - EcRecover(ctx context.Context, data hexutil.Bytes, sig hexutil.Bytes) (common.Address, error) + EcRecover(ctx context.Context, contentType string, data hexutil.Bytes, sig hexutil.Bytes) (common.Address, error) // Export - request to export an account Export(ctx context.Context, addr common.Address) (json.RawMessage, error) // Import - request to import an account @@ -697,7 +695,6 @@ func SignDataPlain(data []byte) ([]byte, string) { // Determines the content type and then recovers the address associated with the given sig func (api *SignerAPI) EcRecover(ctx context.Context, contentType string, data, sig hexutil.Bytes) (common.Address, error) { - fmt.Println("Effing Muffins") mediaType, _, err := mime.ParseMediaType(contentType) if err != nil { return common.Address{}, err diff --git a/signer/core/auditlog.go b/signer/core/auditlog.go index 578e5ddcb5..0762415f54 100644 --- a/signer/core/auditlog.go +++ b/signer/core/auditlog.go @@ -78,10 +78,10 @@ func (l *AuditLogger) SignTypedData(ctx context.Context, addr common.MixedcaseAd return b, e } -func (l *AuditLogger) EcRecover(ctx context.Context, data hexutil.Bytes, sig hexutil.Bytes) (common.Address, error) { +func (l *AuditLogger) EcRecover(ctx context.Context, contentType string, data hexutil.Bytes, sig hexutil.Bytes) (common.Address, error) { l.log.Info("EcRecover", "type", "request", "metadata", MetadataFromContext(ctx).String(), - "data", common.Bytes2Hex(data), "sig", common.Bytes2Hex(sig)) - b, e := l.api.EcRecover(ctx, data, sig) + "data", common.Bytes2Hex(data), "sig", common.Bytes2Hex(sig), "content-type", contentType) + b, e := l.api.EcRecover(ctx, contentType, data, sig) l.log.Info("EcRecover", "type", "response", "address", b.String(), "error", e) return b, e }