-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.go
55 lines (40 loc) · 2.19 KB
/
server.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package crypto
import (
"context"
"encoding/hex"
"fmt"
"github.com/SummerCash/go-summercash/crypto"
cryptoProto "github.com/SummerCash/go-summercash/intrnl/rpc/proto/crypto"
)
// Server - RPC server
type Server struct{}
// Sha3 - crypto.Sha3 RPC handler
func (server *Server) Sha3(ctx context.Context, req *cryptoProto.GeneralRequest) (*cryptoProto.GeneralResponse, error) {
result := crypto.Sha3(req.Input) // Hash input
return &cryptoProto.GeneralResponse{Message: fmt.Sprintf("\n%s", hex.EncodeToString(result))}, nil // Return response
}
// Sha3String - crypto.Sha3String RPC handler
func (server *Server) Sha3String(ctx context.Context, req *cryptoProto.GeneralRequest) (*cryptoProto.GeneralResponse, error) {
result := crypto.Sha3String(req.Input) // Hash input
return &cryptoProto.GeneralResponse{Message: fmt.Sprintf("\n%s", result)}, nil // Return response
}
// Sha3N - crypto.Sha3n RPC handler
func (server *Server) Sha3N(ctx context.Context, req *cryptoProto.GeneralRequest) (*cryptoProto.GeneralResponse, error) {
result := crypto.Sha3n(req.Input, uint(req.N)) // Hash input
return &cryptoProto.GeneralResponse{Message: fmt.Sprintf("\n%s", hex.EncodeToString(result))}, nil // Return response
}
// Sha3NString - crypto.Sha3nString RPC handler
func (server *Server) Sha3NString(ctx context.Context, req *cryptoProto.GeneralRequest) (*cryptoProto.GeneralResponse, error) {
result := crypto.Sha3nString(req.Input, uint(req.N)) // Hash input
return &cryptoProto.GeneralResponse{Message: fmt.Sprintf("\n%s", result)}, nil // Return response
}
// Sha3D - crypto.Sha3d RPC handler
func (server *Server) Sha3D(ctx context.Context, req *cryptoProto.GeneralRequest) (*cryptoProto.GeneralResponse, error) {
result := crypto.Sha3d(req.Input) // Hash input
return &cryptoProto.GeneralResponse{Message: fmt.Sprintf("\n%s", hex.EncodeToString(result))}, nil // Return response
}
// Sha3DString - crypto.Sha3dString RPC handler
func (server *Server) Sha3DString(ctx context.Context, req *cryptoProto.GeneralRequest) (*cryptoProto.GeneralResponse, error) {
result := crypto.Sha3dString(req.Input) // Hash input
return &cryptoProto.GeneralResponse{Message: fmt.Sprintf("\n%s", result)}, nil // Return response
}