Skip to content

Commit

Permalink
[chore] Cleanup and Refactor Proto (#92)
Browse files Browse the repository at this point in the history
  • Loading branch information
warittornc authored Nov 1, 2024
1 parent 19af41d commit cd747e7
Show file tree
Hide file tree
Showing 34 changed files with 1,705 additions and 2,181 deletions.
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,22 @@ given. Once the config file is set, run the following command from the root dire
docker-compose up
```

## Proto

### Pre-requisites

To generate the protobuf files, you need to have the following installed:

- [Buf](https://buf.build/docs/installation)

### Generate

To generate the protobuf files, run the following command:

```bash
buf generate
```

## Contributing

We welcome contributions from the community! Before submitting a pull request, please review
Expand Down
7 changes: 3 additions & 4 deletions bothan-api/client/go-client/client.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package client

import (
"github.com/bandprotocol/bothan/bothan-api/client/go-client/proto/price"
"github.com/bandprotocol/bothan/bothan-api/client/go-client/proto/signal"
"github.com/bandprotocol/bothan/bothan-api/client/go-client/proto/bothan/v1"
)

type Client interface {
GetInfo() (*signal.GetInfoResponse, error)
GetInfo() (*proto.GetInfoResponse, error)
UpdateRegistry(ipfsHash string, version string) error
PushMonitoringRecords(uuid, txHash string) error
GetPrices(signalIDs []string) (*price.GetPricesResponse, error)
GetPrices(signalIDs []string) (*proto.GetPricesResponse, error)
}
16 changes: 8 additions & 8 deletions bothan-api/client/go-client/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@ module github.com/bandprotocol/bothan/bothan-api/client/go-client
go 1.22.0

require (
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0
github.com/levigross/grequests v0.0.0-20231203190023-9c307ef1f48d
google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae
google.golang.org/grpc v1.63.2
google.golang.org/protobuf v1.34.1
google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38
google.golang.org/grpc v1.67.1
google.golang.org/protobuf v1.35.1
)

require (
github.com/google/go-querystring v1.1.0 // indirect
golang.org/x/net v0.21.0 // indirect
golang.org/x/sys v0.17.0 // indirect
golang.org/x/text v0.14.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect
golang.org/x/net v0.28.0 // indirect
golang.org/x/sys v0.24.0 // indirect
golang.org/x/text v0.17.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect
)
27 changes: 27 additions & 0 deletions bothan-api/client/go-client/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,47 @@ github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 h1:/c3QmbOGMGTOumP2iT/rCwB7b0QDGLKzqOmktBjT+Is=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1/go.mod h1:5SN9VR2LTsRFsrEC6FHgRbTWrTHu6tqPeKxEQv15giM=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I=
github.com/levigross/grequests v0.0.0-20231203190023-9c307ef1f48d h1:8fVmm2qScPn4JAF/YdTtqrPP3n58FgZ4GbKTNfaPuRs=
github.com/levigross/grequests v0.0.0-20231203190023-9c307ef1f48d/go.mod h1:dFu6nuJHC3u9kCDcyGrEL7LwhK2m6Mt+alyiiIjDrRY=
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE=
golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae h1:AH34z6WAGVNkllnKs5raNq3yRq93VnjBG6rpfub/jYk=
google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae/go.mod h1:FfiGhwUm6CJviekPrc0oJ+7h29e+DmWU6UtjX0ZvI7Y=
google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8=
google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo=
google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 h1:2oV8dfuIkM1Ti7DwXc0BJfnwr9csz4TDXI9EmiI+Rbw=
google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38/go.mod h1:vuAjtvlwkDKF6L1GQ0SokiRLCGFfeBUXWr/aFFkHACc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 h1:DujSIu+2tC9Ht0aPNA7jgj23Iq8Ewi5sgkQ++wdvonE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI=
google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0=
google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
24 changes: 11 additions & 13 deletions bothan-api/client/go-client/grpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ import (

"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/protobuf/types/known/emptypb"

"github.com/bandprotocol/bothan/bothan-api/client/go-client/proto/price"
"github.com/bandprotocol/bothan/bothan-api/client/go-client/proto/signal"
"github.com/bandprotocol/bothan/bothan-api/client/go-client/proto/bothan/v1"
)

var _ Client = &GrpcClient{}
Expand All @@ -27,37 +25,37 @@ func NewGrpcClient(url string, timeout time.Duration) (*GrpcClient, error) {
return &GrpcClient{connection, timeout}, nil
}

func (c *GrpcClient) GetInfo() (*signal.GetInfoResponse, error) {
client := signal.NewSignalServiceClient(c.connection)
func (c *GrpcClient) GetInfo() (*proto.GetInfoResponse, error) {
client := proto.NewBothanServiceClient(c.connection)
ctx, cancel := context.WithTimeout(context.Background(), c.timeout)
defer cancel()

return client.GetInfo(ctx, &emptypb.Empty{})
return client.GetInfo(ctx, &proto.GetInfoRequest{})
}

func (c *GrpcClient) UpdateRegistry(ipfsHash string, version string) error {
client := signal.NewSignalServiceClient(c.connection)
client := proto.NewBothanServiceClient(c.connection)
ctx, cancel := context.WithTimeout(context.Background(), c.timeout)
defer cancel()

_, err := client.UpdateRegistry(ctx, &signal.UpdateRegistryRequest{IpfsHash: ipfsHash, Version: version})
_, err := client.UpdateRegistry(ctx, &proto.UpdateRegistryRequest{IpfsHash: ipfsHash, Version: version})
return err
}

func (c *GrpcClient) PushMonitoringRecords(uuid, txHash string) error {
client := signal.NewSignalServiceClient(c.connection)
client := proto.NewBothanServiceClient(c.connection)
ctx, cancel := context.WithTimeout(context.Background(), c.timeout)
defer cancel()

_, err := client.PushMonitoringRecords(ctx, &signal.PushMonitoringRecordsRequest{Uuid: uuid, TxHash: txHash})
_, err := client.PushMonitoringRecords(ctx, &proto.PushMonitoringRecordsRequest{Uuid: uuid, TxHash: txHash})
return err
}

func (c *GrpcClient) GetPrices(signalIDs []string) (*price.GetPricesResponse, error) {
func (c *GrpcClient) GetPrices(signalIDs []string) (*proto.GetPricesResponse, error) {
// Create a client instance using the connection.
client := price.NewPriceServiceClient(c.connection)
client := proto.NewBothanServiceClient(c.connection)
ctx, cancel := context.WithTimeout(context.Background(), c.timeout)
defer cancel()

return client.GetPrices(ctx, &price.GetPricesRequest{SignalIds: signalIDs})
return client.GetPrices(ctx, &proto.GetPricesRequest{SignalIds: signalIDs})
}
Loading

0 comments on commit cd747e7

Please sign in to comment.