Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tss] support query signature #6

Draft
wants to merge 43 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
f447207
fix getResult and add getSigning
nkitlabs May 15, 2024
22f119a
fix requester to support new oracleResult
nkitlabs May 15, 2024
b71f23d
fix example to support new oracleResult
nkitlabs May 15, 2024
9a644d6
fix SigningResult object
nkitlabs May 16, 2024
c1c60ed
add getSigningResult
nkitlabs May 16, 2024
5d91a1e
fix example
nkitlabs May 16, 2024
482d19e
fix wording
nkitlabs May 16, 2024
0f0f568
rename variables & functions
nkitlabs May 17, 2024
71e3a7a
fix example
nkitlabs May 17, 2024
a4cdd74
fix from comments
nkitlabs May 18, 2024
ef81145
remove unused param
nkitlabs May 18, 2024
bcdbad7
add logic redefine error types
nkitlabs May 18, 2024
cbeb30d
fix SendRequest
nkitlabs May 21, 2024
c8a8258
add getProof in client
nkitlabs May 22, 2024
33f7a33
add middleware to expose errOut channel
nkitlabs May 22, 2024
2ef93aa
add InsufficientExecuteGasHandler
nkitlabs May 22, 2024
bbea8c2
add new type handler and fix log
nkitlabs May 22, 2024
c5bb7e9
remove sizeCh params
nkitlabs May 22, 2024
66bb2c2
fix example
nkitlabs May 22, 2024
dacd4e5
fix types and changelog
nkitlabs May 23, 2024
700ced6
fix struct
nkitlabs May 23, 2024
fb2d675
fix type on client and fix test
nkitlabs May 27, 2024
7a4d5c9
fix go mod on example
nkitlabs May 27, 2024
b4248d1
change msg type to sdk.msg
May 27, 2024
88c5478
fix format
nkitlabs May 28, 2024
6f70e0b
add signing retry
May 28, 2024
21f6e79
add comment
May 28, 2024
85966f3
update feed type
May 28, 2024
1fc446d
fix getRequestProofByID
nkitlabs May 28, 2024
4058560
add msg
Jun 4, 2024
bfe3d5a
add event subscription
nkitlabs Jun 5, 2024
95a4b53
fix lint
nkitlabs Jun 5, 2024
e568920
add print signature msg
Jun 5, 2024
7d44d93
fix format
nkitlabs May 28, 2024
4cb031e
fix getRequestProofByID
nkitlabs May 28, 2024
f60c0c8
add event subscription
nkitlabs Jun 5, 2024
6710d89
fix lint
nkitlabs Jun 5, 2024
6b8c11a
Merge branch 'tss-support-signature' into tss-support-request-feeds-s…
nkitlabs Jun 6, 2024
0c13e34
fix lint and move helper function from client to requester
nkitlabs Jun 6, 2024
ab69a60
fix log and example
nkitlabs Jun 6, 2024
9a612c1
Merge pull request #7 from bandprotocol/tss-support-request-feeds-sig…
nkitlabs Jun 6, 2024
bd52970
add
Jun 7, 2024
3440bdc
fix example
nkitlabs Jun 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import (
type Client interface {
GetAccount(account sdk.AccAddress) (client.Account, error)
GetTx(txHash string) (*sdk.TxResponse, error)
GetResult(id uint64) (*oracletypes.Result, error)
GetSignature(id uint64) ([]byte, error)
GetResult(id uint64) (*OracleResult, error)
GetSignature(id uint64) (*SigningResult, error)
GetBlockResult(height int64) (*ctypes.ResultBlockResults, error)
QueryRequestFailureReason(id uint64) (string, error)
GetBalance(account sdk.AccAddress) (uint64, error)
Expand Down
16 changes: 8 additions & 8 deletions client/go.mod
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
module github.com/bandprotocol/go-band-sdk/client

go 1.21

toolchain go1.21.6
go 1.22.3

require (
github.com/bandprotocol/chain/v2 v2.5.5-0.20240503145406-b6ed5a969335
Expand Down Expand Up @@ -174,8 +172,7 @@ require (
go.opentelemetry.io/otel v1.22.0 // indirect
go.opentelemetry.io/otel/metric v1.22.0 // indirect
go.opentelemetry.io/otel/trace v1.22.0 // indirect
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/multierr v1.9.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
golang.org/x/net v0.23.0 // indirect
Expand All @@ -188,10 +185,10 @@ require (
google.golang.org/api v0.162.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect
google.golang.org/grpc v1.63.2 // indirect
google.golang.org/protobuf v1.34.0 // indirect
google.golang.org/protobuf v1.34.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
Expand All @@ -201,6 +198,9 @@ require (
)

replace (
// TODO: for testing on local only; remove before merging
github.com/bandprotocol/chain/v2 => ../../private-chain

github.com/bandprotocol/go-band-sdk/utils => ../utils
github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1
// cosmos-sdk v0.47.11 is incompatible with gogoproto 1.4.10
Expand Down
20 changes: 8 additions & 12 deletions client/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -247,8 +247,6 @@ github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX
github.com/aws/aws-sdk-go v1.44.203 h1:pcsP805b9acL3wUqa4JR2vg1k2wnItkDYNvfmcy6F+U=
github.com/aws/aws-sdk-go v1.44.203/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
github.com/bandprotocol/chain/v2 v2.5.5-0.20240503145406-b6ed5a969335 h1:nvczUzYXFYfgedisAjdZcDtfDXL9OZgSQRZ8VmWH804=
github.com/bandprotocol/chain/v2 v2.5.5-0.20240503145406-b6ed5a969335/go.mod h1:/1U8SLzMbg0gI6y3+Uwkqawk5juN+RssXuFOmmqGyUg=
github.com/bandprotocol/go-owasm v0.3.1 h1:L38qAEmb0KyTICHBHJaBoo6yy5+BlbOzQeQ+ioUV5Uw=
github.com/bandprotocol/go-owasm v0.3.1/go.mod h1:SAzGihlBl8eZDXA1dO2aeAZLm8J2QkNd+KvnA2Dw9Kg=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
Expand Down Expand Up @@ -1054,14 +1052,12 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU=
go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI=
go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
Expand Down Expand Up @@ -1567,10 +1563,10 @@ google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz
google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s=
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo=
google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0=
google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
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/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/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM=
Expand Down Expand Up @@ -1630,8 +1626,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.34.0 h1:Qo/qEd2RZPCf2nKuorzksSknv0d3ERwp1vFG38gSmH4=
google.golang.org/protobuf v1.34.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
Expand Down
33 changes: 33 additions & 0 deletions client/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"time"

band "github.com/bandprotocol/chain/v2/app"
bandtsstypes "github.com/bandprotocol/chain/v2/x/bandtss/types"
oracletypes "github.com/bandprotocol/chain/v2/x/oracle/types"
rpchttp "github.com/cometbft/cometbft/rpc/client/http"
libclient "github.com/cometbft/cometbft/rpc/jsonrpc/client"
Expand Down Expand Up @@ -77,6 +78,11 @@ func getRequest(clientCtx client.Context, id uint64) (*oracletypes.QueryRequestR
return queryClient.Request(context.Background(), &oracletypes.QueryRequestRequest{RequestId: id})
}

func getSigningResult(clientCtx client.Context, signingID uint64) (*bandtsstypes.QuerySigningResponse, error) {
queryClient := bandtsstypes.NewQueryClient(clientCtx)
return queryClient.Signing(context.Background(), &bandtsstypes.QuerySigningRequest{SigningId: signingID})
}
warittornc marked this conversation as resolved.
Show resolved Hide resolved

func estimateGas(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) (uint64, error) {
_, gas, err := tx.CalculateGas(clientCtx, txf, msgs...)
return gas, err
Expand All @@ -95,3 +101,30 @@ func GetRequestID(events []sdk.StringEvent) (uint64, error) {
}
return 0, fmt.Errorf("cannot find request id")
}

func convertSigningResponse(resp *bandtsstypes.QuerySigningResponse) SigningResult {
res := SigningResult{}
if resp.CurrentGroupSigningResult != nil {
info := SigningInfo{}
if resp.CurrentGroupSigningResult.EVMSignature != nil {
info.Signing = resp.CurrentGroupSigningResult.EVMSignature.Signature
}
info.PubKey = resp.CurrentGroupSigningResult.Signing.GroupPubKey
info.Status = resp.CurrentGroupSigningResult.Signing.Status

res.CurrentGroup = info
}

if resp.ReplacingGroupSigningResult != nil {
info := SigningInfo{}
if resp.ReplacingGroupSigningResult.EVMSignature != nil {
info.Signing = resp.ReplacingGroupSigningResult.EVMSignature.Signature
}
info.PubKey = resp.ReplacingGroupSigningResult.Signing.GroupPubKey
info.Status = resp.ReplacingGroupSigningResult.Signing.Status

res.ReplacingGroup = info
}

return res
}
15 changes: 8 additions & 7 deletions client/mock/client.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

53 changes: 47 additions & 6 deletions client/rpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"fmt"
"strconv"

bandtsstypes "github.com/bandprotocol/chain/v2/x/bandtss/types"
oracletypes "github.com/bandprotocol/chain/v2/x/oracle/types"
rpchttp "github.com/cometbft/cometbft/rpc/client/http"
ctypes "github.com/cometbft/cometbft/rpc/core/types"
Expand Down Expand Up @@ -93,8 +94,8 @@ func (c RPC) GetAccount(account sdk.AccAddress) (client.Account, error) {
}

// GetResult find result from multiple clients
func (c RPC) GetResult(id uint64) (*oracletypes.Result, error) {
resultCh := make(chan *oracletypes.Result, len(c.nodes))
func (c RPC) GetResult(id uint64) (*OracleResult, error) {
resultCh := make(chan *OracleResult, len(c.nodes))
failCh := make(chan struct{}, len(c.nodes))

for _, node := range c.nodes {
Expand All @@ -121,7 +122,16 @@ func (c RPC) GetResult(id uint64) (*oracletypes.Result, error) {
return
}

resultCh <- res.Result
signingID := bandtsstypes.SigningID(0)
if res.Signing != nil {
signingID = res.Signing.SigningID
}
oracleResult := OracleResult{
Result: res.Result,
SigningID: signingID,
}

resultCh <- &oracleResult
}(node)
}

Expand Down Expand Up @@ -253,9 +263,40 @@ func (c RPC) QueryRequestFailureReason(id uint64) (string, error) {
return "", fmt.Errorf("no reason found")
}

func (c RPC) GetSignature(_ uint64) ([]byte, error) {
// TODO: Implement when need TSS signature
return []byte{}, nil
func (c RPC) GetSignature(signingID uint64) (*SigningResult, error) {
resultCh := make(chan *SigningResult, len(c.nodes))
failCh := make(chan struct{}, len(c.nodes))

for _, node := range c.nodes {
go func(node *rpchttp.HTTP) {
c.logger.Debug("GetSignature", "Try to get signature from %s", node.Remote())
RogerKSI marked this conversation as resolved.
Show resolved Hide resolved

res, err := getSigningResult(c.ctx.WithClient(node), signingID)
if err != nil {
c.logger.Warning(
"GetSignature",
"Fail to get signature from %s with error %s",
RogerKSI marked this conversation as resolved.
Show resolved Hide resolved
node.Remote(), err,
)
failCh <- struct{}{}
return
}

signingResult := convertSigningResponse(res)
warittornc marked this conversation as resolved.
Show resolved Hide resolved
resultCh <- &signingResult
}(node)
}

// Return the first result that we found;
// If unable to get result from all nodes, return error.
for range c.nodes {
select {
case res := <-resultCh:
return res, nil
case <-failCh:
}
}
return nil, fmt.Errorf("failed to get result from all endpoints")
}

func (c RPC) GetBalance(_ sdk.AccAddress) (uint64, error) {
Expand Down
2 changes: 1 addition & 1 deletion client/rpc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ func TestEstimateGas(t *testing.T) {

gas, err := estimateGas(
ctx, txf, oracletypes.NewMsgRequestData(
401, cd, 16, 10, "test", sdk.NewCoins(sdk.NewInt64Coin("uband", 2000)), 10000, 42000, sdkAddr,
401, cd, 16, 10, "test", sdk.NewCoins(sdk.NewInt64Coin("uband", 2000)), 10000, 42000, sdkAddr, 0,
),
)
fmt.Println(gas)
Expand Down
26 changes: 26 additions & 0 deletions client/types.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package client

import (
bandtsstypes "github.com/bandprotocol/chain/v2/x/bandtss/types"
oracletypes "github.com/bandprotocol/chain/v2/x/oracle/types"
tsstypes "github.com/bandprotocol/chain/v2/x/tss/types"
)

// OracleResult stores necessary information for an oracle query result.
RogerKSI marked this conversation as resolved.
Show resolved Hide resolved
type OracleResult struct {
Result *oracletypes.Result
SigningID bandtsstypes.SigningID
}

// SigningResult stores necessary information for a signing request result.
RogerKSI marked this conversation as resolved.
Show resolved Hide resolved
type SigningResult struct {
CurrentGroup SigningInfo
ReplacingGroup SigningInfo
}

// SigningInfo contains signing information.
type SigningInfo struct {
Signing []byte
Status tsstypes.SigningStatus
PubKey []byte
}
13 changes: 8 additions & 5 deletions examples/go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/bandprotocol/go-band-sdk/examples

go 1.21.6
go 1.22.3

require (
github.com/bandprotocol/chain/v2 v2.5.5-0.20240503145406-b6ed5a969335
Expand Down Expand Up @@ -175,7 +175,7 @@ require (
go.opentelemetry.io/otel v1.22.0 // indirect
go.opentelemetry.io/otel/metric v1.22.0 // indirect
go.opentelemetry.io/otel/trace v1.22.0 // indirect
go.uber.org/multierr v1.10.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.22.0 // indirect
golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // indirect
golang.org/x/net v0.24.0 // indirect
Expand All @@ -188,10 +188,10 @@ require (
google.golang.org/api v0.162.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect
google.golang.org/grpc v1.63.2 // indirect
google.golang.org/protobuf v1.34.0 // indirect
google.golang.org/protobuf v1.34.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
Expand All @@ -201,6 +201,9 @@ require (
)

replace (
// TODO: for testing on local only; remove before merging
github.com/bandprotocol/chain/v2 => ../../private-chain

github.com/bandprotocol/go-band-sdk/client => ../client
github.com/bandprotocol/go-band-sdk/requester => ../requester
github.com/bandprotocol/go-band-sdk/utils => ../utils
Expand Down
Loading
Loading