diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 10a8d781eb..1812ad3c9e 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -1,4 +1,5 @@ project_name: node +dist: ./.cache/goreleaser env: - GO111MODULE=on - CGO_ENABLED=1 diff --git a/client/broadcaster/broadcast.go b/client/broadcaster/broadcast.go deleted file mode 100644 index 4f731b4c65..0000000000 --- a/client/broadcaster/broadcast.go +++ /dev/null @@ -1,212 +0,0 @@ -package broadcaster - -import ( - "bufio" - "context" - "encoding/hex" - "fmt" - "os" - "strings" - "time" - - "github.com/spf13/pflag" - - sdkclient "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/cosmos/cosmos-sdk/client/input" - "github.com/cosmos/cosmos-sdk/client/tx" - sdk "github.com/cosmos/cosmos-sdk/types" - authtx "github.com/cosmos/cosmos-sdk/x/auth/tx" - - ttypes "github.com/tendermint/tendermint/types" -) - -const ( - BroadcastBlockRetryTimeout = 300 * time.Second - broadcastBlockRetryPeriod = time.Second - - // sadface. - - // Only way to detect the timeout error. - // https://github.com/tendermint/tendermint/blob/46e06c97320bc61c4d98d3018f59d47ec69863c9/rpc/core/mempool.go#L124 - timeoutErrorMessage = "timed out waiting for tx to be included in a block" - - // Only way to check for tx not found error. - // https://github.com/tendermint/tendermint/blob/46e06c97320bc61c4d98d3018f59d47ec69863c9/rpc/core/tx.go#L31-L33 - notFoundErrorMessageSuffix = ") not found" -) - -func BroadcastTX(ctx context.Context, cctx sdkclient.Context, flags *pflag.FlagSet, msgs ...sdk.Msg) error { - // rewrite of https://github.com/cosmos/cosmos-sdk/blob/ca98fda6eae597b1e7d468f96d030b6d905748d7/client/tx/tx.go#L29 - // to add continuing retries if broadcast-mode=block fails with a timeout. - - txf := tx.NewFactoryCLI(cctx, flags) - - txf, err := PrepareFactory(cctx, txf) - if err != nil { - return err - } - - txf, err = AdjustGas(cctx, txf, msgs...) - if err != nil { - return err - } - if cctx.Simulate { - return nil - } - - txb, err := tx.BuildUnsignedTx(txf, msgs...) - if err != nil { - return err - } - - if cctx.GenerateOnly { - json, err := cctx.TxConfig.TxJSONEncoder()(txb.GetTx()) - if err != nil { - return err - } - return cctx.PrintString(fmt.Sprintf("%s\n", json)) - } - - ok, err := confirmTx(cctx, txb) - if !ok || err != nil { - return err - } - - txb.SetFeeGranter(cctx.GetFeeGranterAddress()) - err = tx.Sign(txf, cctx.GetFromName(), txb, true) - if err != nil { - return err - } - - txBytes, err := cctx.TxConfig.TxEncoder()(txb.GetTx()) - if err != nil { - return err - } - - // fmt.Printf("tx: %s\n", string(txBytes)) - - res, err := doBroadcast(ctx, cctx, BroadcastBlockRetryTimeout, txBytes) - if err != nil { - return err - } - - return cctx.PrintProto(res) - -} - -// PrepareFactory has been copied from cosmos-sdk to make it public. -// Source: https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-rc2/client/tx/tx.go#L311 -func PrepareFactory(clientCtx sdkclient.Context, txf tx.Factory) (tx.Factory, error) { - from := clientCtx.GetFromAddress() - - if err := txf.AccountRetriever().EnsureExists(clientCtx, from); err != nil { - return txf, err - } - - initNum, initSeq := txf.AccountNumber(), txf.Sequence() - if initNum == 0 || initSeq == 0 { - num, seq, err := txf.AccountRetriever().GetAccountNumberSequence(clientCtx, from) - if err != nil { - return txf, err - } - - if initNum == 0 { - txf = txf.WithAccountNumber(num) - } - - if initSeq == 0 { - txf = txf.WithSequence(seq) - } - } - - return txf, nil -} - -func doBroadcast(ctx context.Context, cctx sdkclient.Context, timeout time.Duration, txb ttypes.Tx) (*sdk.TxResponse, error) { - switch cctx.BroadcastMode { - case flags.BroadcastSync: - return cctx.BroadcastTxSync(txb) - case flags.BroadcastAsync: - return cctx.BroadcastTxAsync(txb) - } - - hash := hex.EncodeToString(txb.Hash()) - - // broadcast-mode=block - // submit with mode commit/block - cres, err := cctx.BroadcastTxCommit(txb) - if err == nil { - // good job - return cres, nil - } else if !strings.HasSuffix(err.Error(), timeoutErrorMessage) { - return cres, err - } - - // timeout error, continue on to retry - - // loop - lctx, cancel := context.WithTimeout(ctx, timeout) - defer cancel() - - for lctx.Err() == nil { - - // wait up to one second - select { - case <-lctx.Done(): - return cres, err - case <-time.After(broadcastBlockRetryPeriod): - } - - // check transaction - // https://github.com/cosmos/cosmos-sdk/pull/8734 - res, err := authtx.QueryTx(cctx, hash) - if err == nil { - return res, nil - } - - // if it's not a "not found" error, return - if !strings.HasSuffix(err.Error(), notFoundErrorMessageSuffix) { - return res, err - } - } - - return cres, lctx.Err() -} - -func confirmTx(ctx sdkclient.Context, txb sdkclient.TxBuilder) (bool, error) { - if ctx.SkipConfirm { - return true, nil - } - - out, err := ctx.TxConfig.TxJSONEncoder()(txb.GetTx()) - if err != nil { - return false, err - } - - _, _ = fmt.Fprintf(os.Stderr, "%s\n\n", out) - - buf := bufio.NewReader(os.Stdin) - ok, err := input.GetConfirmation("confirm transaction before signing and broadcasting", buf, os.Stderr) - - if err != nil || !ok { - _, _ = fmt.Fprintf(os.Stderr, "%s\n", "cancelled transaction") - return false, err - } - - return true, nil -} - -func AdjustGas(ctx sdkclient.Context, txf tx.Factory, msgs ...sdk.Msg) (tx.Factory, error) { - if !ctx.Simulate && !txf.SimulateAndExecute() { - return txf, nil - } - _, adjusted, err := tx.CalculateGas(ctx, txf, msgs...) - if err != nil { - return txf, err - } - - txf = txf.WithGas(adjusted) - - return txf, nil -} diff --git a/client/broadcaster/client.go b/client/broadcaster/client.go deleted file mode 100644 index cded814743..0000000000 --- a/client/broadcaster/client.go +++ /dev/null @@ -1,78 +0,0 @@ -package broadcaster - -import ( - "context" - "errors" - "fmt" - - sdkclient "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/tx" - "github.com/cosmos/cosmos-sdk/crypto/keyring" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -var ( - // ErrBroadcastTx is used when a broadcast fails due to tendermint errors - ErrBroadcastTx = errors.New("broadcast tx error") -) - -//go:generate mockery --name Client --output ./mocks -type Client interface { - Broadcast(ctx context.Context, msgs ...sdk.Msg) error -} - -type simpleClient struct { - cctx sdkclient.Context - txf tx.Factory - info keyring.Info -} - -func NewClient(cctx sdkclient.Context, txf tx.Factory, info keyring.Info) Client { - return &simpleClient{ - cctx: cctx, - txf: txf, - info: info, - } -} - -func (c *simpleClient) Broadcast(_ context.Context, msgs ...sdk.Msg) error { - txf, err := PrepareFactory(c.cctx, c.txf) - if err != nil { - return err - } - - response, err := c.doBroadcast(c.cctx, txf, c.info.GetName(), msgs...) - if err != nil { - return err - } - - if response.Code != 0 { - return fmt.Errorf("%w: response code %d - (%#v)", ErrBroadcastTx, response.Code, response) - } - return nil -} - -func (c *simpleClient) doBroadcast(cctx sdkclient.Context, txf tx.Factory, keyName string, msgs ...sdk.Msg) (*sdk.TxResponse, error) { - txn, err := tx.BuildUnsignedTx(txf, msgs...) - if err != nil { - return nil, err - } - - txn.SetFeeGranter(cctx.GetFeeGranterAddress()) - err = tx.Sign(txf, keyName, txn, true) - if err != nil { - return nil, err - } - - bytes, err := cctx.TxConfig.TxEncoder()(txn.GetTx()) - if err != nil { - return nil, err - } - - response, err := cctx.BroadcastTxSync(bytes) - if err != nil { - return nil, err - } - - return response, nil -} diff --git a/client/broadcaster/mocks/client.go b/client/broadcaster/mocks/client.go deleted file mode 100644 index 69f9f5925c..0000000000 --- a/client/broadcaster/mocks/client.go +++ /dev/null @@ -1,95 +0,0 @@ -// Code generated by mockery v2.24.0. DO NOT EDIT. - -package mocks - -import ( - context "context" - - types "github.com/cosmos/cosmos-sdk/types" - mock "github.com/stretchr/testify/mock" -) - -// Client is an autogenerated mock type for the Client type -type Client struct { - mock.Mock -} - -type Client_Expecter struct { - mock *mock.Mock -} - -func (_m *Client) EXPECT() *Client_Expecter { - return &Client_Expecter{mock: &_m.Mock} -} - -// Broadcast provides a mock function with given fields: ctx, msgs -func (_m *Client) Broadcast(ctx context.Context, msgs ...types.Msg) error { - _va := make([]interface{}, len(msgs)) - for _i := range msgs { - _va[_i] = msgs[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 error - if rf, ok := ret.Get(0).(func(context.Context, ...types.Msg) error); ok { - r0 = rf(ctx, msgs...) - } else { - r0 = ret.Error(0) - } - - return r0 -} - -// Client_Broadcast_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Broadcast' -type Client_Broadcast_Call struct { - *mock.Call -} - -// Broadcast is a helper method to define mock.On call -// - ctx context.Context -// - msgs ...types.Msg -func (_e *Client_Expecter) Broadcast(ctx interface{}, msgs ...interface{}) *Client_Broadcast_Call { - return &Client_Broadcast_Call{Call: _e.mock.On("Broadcast", - append([]interface{}{ctx}, msgs...)...)} -} - -func (_c *Client_Broadcast_Call) Run(run func(ctx context.Context, msgs ...types.Msg)) *Client_Broadcast_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]types.Msg, len(args)-1) - for i, a := range args[1:] { - if a != nil { - variadicArgs[i] = a.(types.Msg) - } - } - run(args[0].(context.Context), variadicArgs...) - }) - return _c -} - -func (_c *Client_Broadcast_Call) Return(_a0 error) *Client_Broadcast_Call { - _c.Call.Return(_a0) - return _c -} - -func (_c *Client_Broadcast_Call) RunAndReturn(run func(context.Context, ...types.Msg) error) *Client_Broadcast_Call { - _c.Call.Return(run) - return _c -} - -type mockConstructorTestingTNewClient interface { - mock.TestingT - Cleanup(func()) -} - -// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewClient(t mockConstructorTestingTNewClient) *Client { - mock := &Client{} - mock.Mock.Test(t) - - t.Cleanup(func() { mock.AssertExpectations(t) }) - - return mock -} diff --git a/client/client.go b/client/client.go index b96a98ed14..cb76be38b4 100644 --- a/client/client.go +++ b/client/client.go @@ -3,274 +3,67 @@ package client import ( "context" "errors" + "fmt" + "reflect" - sdkclient "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/tx" - "github.com/cosmos/cosmos-sdk/crypto/keyring" - "github.com/tendermint/tendermint/libs/log" - "google.golang.org/grpc" - - tmrpc "github.com/tendermint/tendermint/rpc/core/types" - - atypes "github.com/akash-network/akash-api/go/node/audit/v1beta3" + "github.com/spf13/pflag" - ctypes "github.com/akash-network/akash-api/go/node/cert/v1beta3" - - dtypes "github.com/akash-network/akash-api/go/node/deployment/v1beta3" - mtypes "github.com/akash-network/akash-api/go/node/market/v1beta4" + sdkclient "github.com/cosmos/cosmos-sdk/client" - ptypes "github.com/akash-network/akash-api/go/node/provider/v1beta3" + cmtrpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" - "github.com/akash-network/node/client/broadcaster" - amodule "github.com/akash-network/node/x/audit" - cmodule "github.com/akash-network/node/x/cert" - dmodule "github.com/akash-network/node/x/deployment" - mmodule "github.com/akash-network/node/x/market" - pmodule "github.com/akash-network/node/x/provider" + aclient "github.com/akash-network/akash-api/go/node/client" + "github.com/akash-network/akash-api/go/node/client/v1beta2" ) var ( - // ErrClientNotFound is a new error with message "Client not found" - ErrClientNotFound = errors.New("Client not found") - ErrNodeNotSynced = errors.New("rpc node is not catching up") + ErrInvalidClient = errors.New("invalid client") ) -// QueryClient interface includes query clients of deployment, market and provider modules -// -//go:generate mockery --name QueryClient --output ./mocks -type QueryClient interface { - dtypes.QueryClient - mtypes.QueryClient - ptypes.QueryClient - atypes.QueryClient - ctypes.QueryClient -} - -// Client interface pre-defined with query and tx interfaces -// -//go:generate mockery --name Client --output ./mocks -type Client interface { - Query() QueryClient - Tx() broadcaster.Client - NodeSyncInfo(context.Context) (*tmrpc.SyncInfo, error) -} - -// NewClient creates new client instance to interface with tendermint. -func NewClient( - log log.Logger, - cctx sdkclient.Context, - txf tx.Factory, - info keyring.Info, - qclient QueryClient, -) Client { - return NewClientWithBroadcaster( - log, - cctx, - txf, - info, - qclient, - broadcaster.NewClient(cctx, txf, info), - ) -} - -func NewClientWithBroadcaster( - log log.Logger, - cctx sdkclient.Context, - txf tx.Factory, - info keyring.Info, - qclient QueryClient, - bclient broadcaster.Client, -) Client { - return &client{ - cctx: cctx, - txf: txf, - info: info, - qclient: qclient, - bclient: bclient, - log: log.With("cmp", "client/client"), - } -} - -type client struct { - cctx sdkclient.Context - txf tx.Factory - info keyring.Info - qclient QueryClient - bclient broadcaster.Client - log log.Logger -} - -func (c *client) Tx() broadcaster.Client { - return c.bclient -} +func DiscoverQueryClient(ctx context.Context, cctx sdkclient.Context) (v1beta2.QueryClient, error) { + var cl v1beta2.QueryClient + err := aclient.DiscoverQueryClient(ctx, cctx, func(i interface{}) error { + var valid bool -func (c *client) Query() QueryClient { - return c.qclient -} + if cl, valid = i.(v1beta2.QueryClient); !valid { + return fmt.Errorf("%w: expected %s, actual %s", ErrInvalidClient, reflect.TypeOf(cl), reflect.TypeOf(i)) + } -func (c *client) NodeSyncInfo(ctx context.Context) (*tmrpc.SyncInfo, error) { - node, err := c.cctx.GetNode() - if err != nil { - return nil, err - } + return nil + }) - status, err := node.Status(ctx) if err != nil { return nil, err } - info := status.SyncInfo - - return &info, nil -} - -type qclient struct { - dclient dtypes.QueryClient - mclient mtypes.QueryClient - pclient ptypes.QueryClient - aclient atypes.QueryClient - cclient ctypes.QueryClient -} - -// NewQueryClient creates new query client instance -func NewQueryClient( - dclient dtypes.QueryClient, - mclient mtypes.QueryClient, - pclient ptypes.QueryClient, - aclient atypes.QueryClient, - cclient ctypes.QueryClient, -) QueryClient { - return &qclient{ - dclient: dclient, - mclient: mclient, - pclient: pclient, - aclient: aclient, - cclient: cclient, - } -} - -func NewQueryClientFromCtx(cctx sdkclient.Context) QueryClient { - return NewQueryClient( - dmodule.AppModuleBasic{}.GetQueryClient(cctx), - mmodule.AppModuleBasic{}.GetQueryClient(cctx), - pmodule.AppModuleBasic{}.GetQueryClient(cctx), - amodule.AppModuleBasic{}.GetQueryClient(cctx), - cmodule.AppModuleBasic{}.GetQueryClient(cctx), - ) -} - -func (c *qclient) Deployments(ctx context.Context, in *dtypes.QueryDeploymentsRequest, opts ...grpc.CallOption) (*dtypes.QueryDeploymentsResponse, error) { - if c.dclient == nil { - return &dtypes.QueryDeploymentsResponse{}, ErrClientNotFound - } - return c.dclient.Deployments(ctx, in, opts...) -} - -func (c *qclient) Deployment(ctx context.Context, in *dtypes.QueryDeploymentRequest, opts ...grpc.CallOption) (*dtypes.QueryDeploymentResponse, error) { - if c.dclient == nil { - return &dtypes.QueryDeploymentResponse{}, ErrClientNotFound - } - return c.dclient.Deployment(ctx, in, opts...) -} - -func (c *qclient) Group(ctx context.Context, in *dtypes.QueryGroupRequest, opts ...grpc.CallOption) (*dtypes.QueryGroupResponse, error) { - if c.dclient == nil { - return &dtypes.QueryGroupResponse{}, ErrClientNotFound - } - return c.dclient.Group(ctx, in, opts...) -} - -func (c *qclient) Orders(ctx context.Context, in *mtypes.QueryOrdersRequest, opts ...grpc.CallOption) (*mtypes.QueryOrdersResponse, error) { - if c.mclient == nil { - return &mtypes.QueryOrdersResponse{}, ErrClientNotFound - } - return c.mclient.Orders(ctx, in, opts...) -} - -func (c *qclient) Order(ctx context.Context, in *mtypes.QueryOrderRequest, opts ...grpc.CallOption) (*mtypes.QueryOrderResponse, error) { - if c.mclient == nil { - return &mtypes.QueryOrderResponse{}, ErrClientNotFound - } - return c.mclient.Order(ctx, in, opts...) -} - -func (c *qclient) Bids(ctx context.Context, in *mtypes.QueryBidsRequest, opts ...grpc.CallOption) (*mtypes.QueryBidsResponse, error) { - if c.mclient == nil { - return &mtypes.QueryBidsResponse{}, ErrClientNotFound - } - return c.mclient.Bids(ctx, in, opts...) -} - -func (c *qclient) Bid(ctx context.Context, in *mtypes.QueryBidRequest, opts ...grpc.CallOption) (*mtypes.QueryBidResponse, error) { - if c.mclient == nil { - return &mtypes.QueryBidResponse{}, ErrClientNotFound - } - return c.mclient.Bid(ctx, in, opts...) -} - -func (c *qclient) Leases(ctx context.Context, in *mtypes.QueryLeasesRequest, opts ...grpc.CallOption) (*mtypes.QueryLeasesResponse, error) { - if c.mclient == nil { - return &mtypes.QueryLeasesResponse{}, ErrClientNotFound - } - return c.mclient.Leases(ctx, in, opts...) + return cl, nil } -func (c *qclient) Lease(ctx context.Context, in *mtypes.QueryLeaseRequest, opts ...grpc.CallOption) (*mtypes.QueryLeaseResponse, error) { - if c.mclient == nil { - return &mtypes.QueryLeaseResponse{}, ErrClientNotFound - } - return c.mclient.Lease(ctx, in, opts...) -} +func DiscoverClient(ctx context.Context, cctx sdkclient.Context, flags *pflag.FlagSet) (v1beta2.Client, error) { + var cl v1beta2.Client + err := aclient.DiscoverClient(ctx, cctx, flags, func(i interface{}) error { + var valid bool -func (c *qclient) Providers(ctx context.Context, in *ptypes.QueryProvidersRequest, opts ...grpc.CallOption) (*ptypes.QueryProvidersResponse, error) { - if c.pclient == nil { - return &ptypes.QueryProvidersResponse{}, ErrClientNotFound - } - return c.pclient.Providers(ctx, in, opts...) -} + if cl, valid = i.(v1beta2.Client); !valid { + return fmt.Errorf("%w: expected %s, actual %s", ErrInvalidClient, reflect.TypeOf(cl), reflect.TypeOf(i)) + } -func (c *qclient) Provider(ctx context.Context, in *ptypes.QueryProviderRequest, opts ...grpc.CallOption) (*ptypes.QueryProviderResponse, error) { - if c.pclient == nil { - return &ptypes.QueryProviderResponse{}, ErrClientNotFound - } - return c.pclient.Provider(ctx, in, opts...) -} + return nil + }) -// AllProvidersAttributes queries all providers -func (c *qclient) AllProvidersAttributes(ctx context.Context, in *atypes.QueryAllProvidersAttributesRequest, opts ...grpc.CallOption) (*atypes.QueryProvidersResponse, error) { - if c.aclient == nil { - return &atypes.QueryProvidersResponse{}, ErrClientNotFound - } - return c.aclient.AllProvidersAttributes(ctx, in, opts...) -} - -// ProviderAttributes queries all provider signed attributes -func (c *qclient) ProviderAttributes(ctx context.Context, in *atypes.QueryProviderAttributesRequest, opts ...grpc.CallOption) (*atypes.QueryProvidersResponse, error) { - if c.aclient == nil { - return &atypes.QueryProvidersResponse{}, ErrClientNotFound + if err != nil { + return nil, err } - return c.aclient.ProviderAttributes(ctx, in, opts...) -} -// ProviderAuditorAttributes queries provider signed attributes by specific validator -func (c *qclient) ProviderAuditorAttributes(ctx context.Context, in *atypes.QueryProviderAuditorRequest, opts ...grpc.CallOption) (*atypes.QueryProvidersResponse, error) { - if c.aclient == nil { - return &atypes.QueryProvidersResponse{}, ErrClientNotFound - } - return c.aclient.ProviderAuditorAttributes(ctx, in, opts...) + return cl, nil } -// AuditorAttributes queries all providers signed by this validator -func (c *qclient) AuditorAttributes(ctx context.Context, in *atypes.QueryAuditorAttributesRequest, opts ...grpc.CallOption) (*atypes.QueryProvidersResponse, error) { - if c.aclient == nil { - return &atypes.QueryProvidersResponse{}, ErrClientNotFound +func RPCAkash(_ *cmtrpctypes.Context) (*aclient.Akash, error) { + result := &aclient.Akash{ + ClientInfo: &aclient.ClientInfo{ + ApiVersion: "v1beta2", + }, } - return c.aclient.AuditorAttributes(ctx, in, opts...) -} -func (c *qclient) Certificates(ctx context.Context, in *ctypes.QueryCertificatesRequest, opts ...grpc.CallOption) (*ctypes.QueryCertificatesResponse, error) { - if c.cclient == nil { - return &ctypes.QueryCertificatesResponse{}, ErrClientNotFound - } - return c.cclient.Certificates(ctx, in, opts...) + return result, nil } diff --git a/client/mocks/client.go b/client/mocks/client.go deleted file mode 100644 index fefa1d0140..0000000000 --- a/client/mocks/client.go +++ /dev/null @@ -1,182 +0,0 @@ -// Code generated by mockery v2.24.0. DO NOT EDIT. - -package mocks - -import ( - client "github.com/akash-network/node/client" - broadcaster "github.com/akash-network/node/client/broadcaster" - - context "context" - - coretypes "github.com/tendermint/tendermint/rpc/core/types" - - mock "github.com/stretchr/testify/mock" -) - -// Client is an autogenerated mock type for the Client type -type Client struct { - mock.Mock -} - -type Client_Expecter struct { - mock *mock.Mock -} - -func (_m *Client) EXPECT() *Client_Expecter { - return &Client_Expecter{mock: &_m.Mock} -} - -// NodeSyncInfo provides a mock function with given fields: _a0 -func (_m *Client) NodeSyncInfo(_a0 context.Context) (*coretypes.SyncInfo, error) { - ret := _m.Called(_a0) - - var r0 *coretypes.SyncInfo - var r1 error - if rf, ok := ret.Get(0).(func(context.Context) (*coretypes.SyncInfo, error)); ok { - return rf(_a0) - } - if rf, ok := ret.Get(0).(func(context.Context) *coretypes.SyncInfo); ok { - r0 = rf(_a0) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*coretypes.SyncInfo) - } - } - - if rf, ok := ret.Get(1).(func(context.Context) error); ok { - r1 = rf(_a0) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// Client_NodeSyncInfo_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'NodeSyncInfo' -type Client_NodeSyncInfo_Call struct { - *mock.Call -} - -// NodeSyncInfo is a helper method to define mock.On call -// - _a0 context.Context -func (_e *Client_Expecter) NodeSyncInfo(_a0 interface{}) *Client_NodeSyncInfo_Call { - return &Client_NodeSyncInfo_Call{Call: _e.mock.On("NodeSyncInfo", _a0)} -} - -func (_c *Client_NodeSyncInfo_Call) Run(run func(_a0 context.Context)) *Client_NodeSyncInfo_Call { - _c.Call.Run(func(args mock.Arguments) { - run(args[0].(context.Context)) - }) - return _c -} - -func (_c *Client_NodeSyncInfo_Call) Return(_a0 *coretypes.SyncInfo, _a1 error) *Client_NodeSyncInfo_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *Client_NodeSyncInfo_Call) RunAndReturn(run func(context.Context) (*coretypes.SyncInfo, error)) *Client_NodeSyncInfo_Call { - _c.Call.Return(run) - return _c -} - -// Query provides a mock function with given fields: -func (_m *Client) Query() client.QueryClient { - ret := _m.Called() - - var r0 client.QueryClient - if rf, ok := ret.Get(0).(func() client.QueryClient); ok { - r0 = rf() - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(client.QueryClient) - } - } - - return r0 -} - -// Client_Query_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Query' -type Client_Query_Call struct { - *mock.Call -} - -// Query is a helper method to define mock.On call -func (_e *Client_Expecter) Query() *Client_Query_Call { - return &Client_Query_Call{Call: _e.mock.On("Query")} -} - -func (_c *Client_Query_Call) Run(run func()) *Client_Query_Call { - _c.Call.Run(func(args mock.Arguments) { - run() - }) - return _c -} - -func (_c *Client_Query_Call) Return(_a0 client.QueryClient) *Client_Query_Call { - _c.Call.Return(_a0) - return _c -} - -func (_c *Client_Query_Call) RunAndReturn(run func() client.QueryClient) *Client_Query_Call { - _c.Call.Return(run) - return _c -} - -// Tx provides a mock function with given fields: -func (_m *Client) Tx() broadcaster.Client { - ret := _m.Called() - - var r0 broadcaster.Client - if rf, ok := ret.Get(0).(func() broadcaster.Client); ok { - r0 = rf() - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(broadcaster.Client) - } - } - - return r0 -} - -// Client_Tx_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Tx' -type Client_Tx_Call struct { - *mock.Call -} - -// Tx is a helper method to define mock.On call -func (_e *Client_Expecter) Tx() *Client_Tx_Call { - return &Client_Tx_Call{Call: _e.mock.On("Tx")} -} - -func (_c *Client_Tx_Call) Run(run func()) *Client_Tx_Call { - _c.Call.Run(func(args mock.Arguments) { - run() - }) - return _c -} - -func (_c *Client_Tx_Call) Return(_a0 broadcaster.Client) *Client_Tx_Call { - _c.Call.Return(_a0) - return _c -} - -func (_c *Client_Tx_Call) RunAndReturn(run func() broadcaster.Client) *Client_Tx_Call { - _c.Call.Return(run) - return _c -} - -type mockConstructorTestingTNewClient interface { - mock.TestingT - Cleanup(func()) -} - -// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewClient(t mockConstructorTestingTNewClient) *Client { - mock := &Client{} - mock.Mock.Test(t) - - t.Cleanup(func() { mock.AssertExpectations(t) }) - - return mock -} diff --git a/client/mocks/query_client.go b/client/mocks/query_client.go deleted file mode 100644 index 2c97cf2cee..0000000000 --- a/client/mocks/query_client.go +++ /dev/null @@ -1,1169 +0,0 @@ -// Code generated by mockery v2.24.0. DO NOT EDIT. - -package mocks - -import ( - certv1beta3 "github.com/akash-network/akash-api/go/node/cert/v1beta3" - - context "context" - - deploymentv1beta3 "github.com/akash-network/akash-api/go/node/deployment/v1beta3" - - grpc "google.golang.org/grpc" - - mock "github.com/stretchr/testify/mock" - - providerv1beta3 "github.com/akash-network/akash-api/go/node/provider/v1beta3" - - v1beta3 "github.com/akash-network/akash-api/go/node/audit/v1beta3" - - v1beta4 "github.com/akash-network/akash-api/go/node/market/v1beta4" -) - -// QueryClient is an autogenerated mock type for the QueryClient type -type QueryClient struct { - mock.Mock -} - -type QueryClient_Expecter struct { - mock *mock.Mock -} - -func (_m *QueryClient) EXPECT() *QueryClient_Expecter { - return &QueryClient_Expecter{mock: &_m.Mock} -} - -// AllProvidersAttributes provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) AllProvidersAttributes(ctx context.Context, in *v1beta3.QueryAllProvidersAttributesRequest, opts ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *v1beta3.QueryProvidersResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *v1beta3.QueryAllProvidersAttributesRequest, ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *v1beta3.QueryAllProvidersAttributesRequest, ...grpc.CallOption) *v1beta3.QueryProvidersResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*v1beta3.QueryProvidersResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *v1beta3.QueryAllProvidersAttributesRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_AllProvidersAttributes_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AllProvidersAttributes' -type QueryClient_AllProvidersAttributes_Call struct { - *mock.Call -} - -// AllProvidersAttributes is a helper method to define mock.On call -// - ctx context.Context -// - in *v1beta3.QueryAllProvidersAttributesRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) AllProvidersAttributes(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_AllProvidersAttributes_Call { - return &QueryClient_AllProvidersAttributes_Call{Call: _e.mock.On("AllProvidersAttributes", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_AllProvidersAttributes_Call) Run(run func(ctx context.Context, in *v1beta3.QueryAllProvidersAttributesRequest, opts ...grpc.CallOption)) *QueryClient_AllProvidersAttributes_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*v1beta3.QueryAllProvidersAttributesRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_AllProvidersAttributes_Call) Return(_a0 *v1beta3.QueryProvidersResponse, _a1 error) *QueryClient_AllProvidersAttributes_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_AllProvidersAttributes_Call) RunAndReturn(run func(context.Context, *v1beta3.QueryAllProvidersAttributesRequest, ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error)) *QueryClient_AllProvidersAttributes_Call { - _c.Call.Return(run) - return _c -} - -// AuditorAttributes provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) AuditorAttributes(ctx context.Context, in *v1beta3.QueryAuditorAttributesRequest, opts ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *v1beta3.QueryProvidersResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *v1beta3.QueryAuditorAttributesRequest, ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *v1beta3.QueryAuditorAttributesRequest, ...grpc.CallOption) *v1beta3.QueryProvidersResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*v1beta3.QueryProvidersResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *v1beta3.QueryAuditorAttributesRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_AuditorAttributes_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AuditorAttributes' -type QueryClient_AuditorAttributes_Call struct { - *mock.Call -} - -// AuditorAttributes is a helper method to define mock.On call -// - ctx context.Context -// - in *v1beta3.QueryAuditorAttributesRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) AuditorAttributes(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_AuditorAttributes_Call { - return &QueryClient_AuditorAttributes_Call{Call: _e.mock.On("AuditorAttributes", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_AuditorAttributes_Call) Run(run func(ctx context.Context, in *v1beta3.QueryAuditorAttributesRequest, opts ...grpc.CallOption)) *QueryClient_AuditorAttributes_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*v1beta3.QueryAuditorAttributesRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_AuditorAttributes_Call) Return(_a0 *v1beta3.QueryProvidersResponse, _a1 error) *QueryClient_AuditorAttributes_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_AuditorAttributes_Call) RunAndReturn(run func(context.Context, *v1beta3.QueryAuditorAttributesRequest, ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error)) *QueryClient_AuditorAttributes_Call { - _c.Call.Return(run) - return _c -} - -// Bid provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Bid(ctx context.Context, in *v1beta4.QueryBidRequest, opts ...grpc.CallOption) (*v1beta4.QueryBidResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *v1beta4.QueryBidResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryBidRequest, ...grpc.CallOption) (*v1beta4.QueryBidResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryBidRequest, ...grpc.CallOption) *v1beta4.QueryBidResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*v1beta4.QueryBidResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *v1beta4.QueryBidRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Bid_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Bid' -type QueryClient_Bid_Call struct { - *mock.Call -} - -// Bid is a helper method to define mock.On call -// - ctx context.Context -// - in *v1beta4.QueryBidRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Bid(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Bid_Call { - return &QueryClient_Bid_Call{Call: _e.mock.On("Bid", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Bid_Call) Run(run func(ctx context.Context, in *v1beta4.QueryBidRequest, opts ...grpc.CallOption)) *QueryClient_Bid_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*v1beta4.QueryBidRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Bid_Call) Return(_a0 *v1beta4.QueryBidResponse, _a1 error) *QueryClient_Bid_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Bid_Call) RunAndReturn(run func(context.Context, *v1beta4.QueryBidRequest, ...grpc.CallOption) (*v1beta4.QueryBidResponse, error)) *QueryClient_Bid_Call { - _c.Call.Return(run) - return _c -} - -// Bids provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Bids(ctx context.Context, in *v1beta4.QueryBidsRequest, opts ...grpc.CallOption) (*v1beta4.QueryBidsResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *v1beta4.QueryBidsResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryBidsRequest, ...grpc.CallOption) (*v1beta4.QueryBidsResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryBidsRequest, ...grpc.CallOption) *v1beta4.QueryBidsResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*v1beta4.QueryBidsResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *v1beta4.QueryBidsRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Bids_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Bids' -type QueryClient_Bids_Call struct { - *mock.Call -} - -// Bids is a helper method to define mock.On call -// - ctx context.Context -// - in *v1beta4.QueryBidsRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Bids(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Bids_Call { - return &QueryClient_Bids_Call{Call: _e.mock.On("Bids", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Bids_Call) Run(run func(ctx context.Context, in *v1beta4.QueryBidsRequest, opts ...grpc.CallOption)) *QueryClient_Bids_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*v1beta4.QueryBidsRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Bids_Call) Return(_a0 *v1beta4.QueryBidsResponse, _a1 error) *QueryClient_Bids_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Bids_Call) RunAndReturn(run func(context.Context, *v1beta4.QueryBidsRequest, ...grpc.CallOption) (*v1beta4.QueryBidsResponse, error)) *QueryClient_Bids_Call { - _c.Call.Return(run) - return _c -} - -// Certificates provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Certificates(ctx context.Context, in *certv1beta3.QueryCertificatesRequest, opts ...grpc.CallOption) (*certv1beta3.QueryCertificatesResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *certv1beta3.QueryCertificatesResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *certv1beta3.QueryCertificatesRequest, ...grpc.CallOption) (*certv1beta3.QueryCertificatesResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *certv1beta3.QueryCertificatesRequest, ...grpc.CallOption) *certv1beta3.QueryCertificatesResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*certv1beta3.QueryCertificatesResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *certv1beta3.QueryCertificatesRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Certificates_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Certificates' -type QueryClient_Certificates_Call struct { - *mock.Call -} - -// Certificates is a helper method to define mock.On call -// - ctx context.Context -// - in *certv1beta3.QueryCertificatesRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Certificates(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Certificates_Call { - return &QueryClient_Certificates_Call{Call: _e.mock.On("Certificates", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Certificates_Call) Run(run func(ctx context.Context, in *certv1beta3.QueryCertificatesRequest, opts ...grpc.CallOption)) *QueryClient_Certificates_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*certv1beta3.QueryCertificatesRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Certificates_Call) Return(_a0 *certv1beta3.QueryCertificatesResponse, _a1 error) *QueryClient_Certificates_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Certificates_Call) RunAndReturn(run func(context.Context, *certv1beta3.QueryCertificatesRequest, ...grpc.CallOption) (*certv1beta3.QueryCertificatesResponse, error)) *QueryClient_Certificates_Call { - _c.Call.Return(run) - return _c -} - -// Deployment provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Deployment(ctx context.Context, in *deploymentv1beta3.QueryDeploymentRequest, opts ...grpc.CallOption) (*deploymentv1beta3.QueryDeploymentResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *deploymentv1beta3.QueryDeploymentResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *deploymentv1beta3.QueryDeploymentRequest, ...grpc.CallOption) (*deploymentv1beta3.QueryDeploymentResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *deploymentv1beta3.QueryDeploymentRequest, ...grpc.CallOption) *deploymentv1beta3.QueryDeploymentResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*deploymentv1beta3.QueryDeploymentResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *deploymentv1beta3.QueryDeploymentRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Deployment_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Deployment' -type QueryClient_Deployment_Call struct { - *mock.Call -} - -// Deployment is a helper method to define mock.On call -// - ctx context.Context -// - in *deploymentv1beta3.QueryDeploymentRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Deployment(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Deployment_Call { - return &QueryClient_Deployment_Call{Call: _e.mock.On("Deployment", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Deployment_Call) Run(run func(ctx context.Context, in *deploymentv1beta3.QueryDeploymentRequest, opts ...grpc.CallOption)) *QueryClient_Deployment_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*deploymentv1beta3.QueryDeploymentRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Deployment_Call) Return(_a0 *deploymentv1beta3.QueryDeploymentResponse, _a1 error) *QueryClient_Deployment_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Deployment_Call) RunAndReturn(run func(context.Context, *deploymentv1beta3.QueryDeploymentRequest, ...grpc.CallOption) (*deploymentv1beta3.QueryDeploymentResponse, error)) *QueryClient_Deployment_Call { - _c.Call.Return(run) - return _c -} - -// Deployments provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Deployments(ctx context.Context, in *deploymentv1beta3.QueryDeploymentsRequest, opts ...grpc.CallOption) (*deploymentv1beta3.QueryDeploymentsResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *deploymentv1beta3.QueryDeploymentsResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *deploymentv1beta3.QueryDeploymentsRequest, ...grpc.CallOption) (*deploymentv1beta3.QueryDeploymentsResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *deploymentv1beta3.QueryDeploymentsRequest, ...grpc.CallOption) *deploymentv1beta3.QueryDeploymentsResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*deploymentv1beta3.QueryDeploymentsResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *deploymentv1beta3.QueryDeploymentsRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Deployments_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Deployments' -type QueryClient_Deployments_Call struct { - *mock.Call -} - -// Deployments is a helper method to define mock.On call -// - ctx context.Context -// - in *deploymentv1beta3.QueryDeploymentsRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Deployments(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Deployments_Call { - return &QueryClient_Deployments_Call{Call: _e.mock.On("Deployments", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Deployments_Call) Run(run func(ctx context.Context, in *deploymentv1beta3.QueryDeploymentsRequest, opts ...grpc.CallOption)) *QueryClient_Deployments_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*deploymentv1beta3.QueryDeploymentsRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Deployments_Call) Return(_a0 *deploymentv1beta3.QueryDeploymentsResponse, _a1 error) *QueryClient_Deployments_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Deployments_Call) RunAndReturn(run func(context.Context, *deploymentv1beta3.QueryDeploymentsRequest, ...grpc.CallOption) (*deploymentv1beta3.QueryDeploymentsResponse, error)) *QueryClient_Deployments_Call { - _c.Call.Return(run) - return _c -} - -// Group provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Group(ctx context.Context, in *deploymentv1beta3.QueryGroupRequest, opts ...grpc.CallOption) (*deploymentv1beta3.QueryGroupResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *deploymentv1beta3.QueryGroupResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *deploymentv1beta3.QueryGroupRequest, ...grpc.CallOption) (*deploymentv1beta3.QueryGroupResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *deploymentv1beta3.QueryGroupRequest, ...grpc.CallOption) *deploymentv1beta3.QueryGroupResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*deploymentv1beta3.QueryGroupResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *deploymentv1beta3.QueryGroupRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Group_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Group' -type QueryClient_Group_Call struct { - *mock.Call -} - -// Group is a helper method to define mock.On call -// - ctx context.Context -// - in *deploymentv1beta3.QueryGroupRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Group(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Group_Call { - return &QueryClient_Group_Call{Call: _e.mock.On("Group", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Group_Call) Run(run func(ctx context.Context, in *deploymentv1beta3.QueryGroupRequest, opts ...grpc.CallOption)) *QueryClient_Group_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*deploymentv1beta3.QueryGroupRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Group_Call) Return(_a0 *deploymentv1beta3.QueryGroupResponse, _a1 error) *QueryClient_Group_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Group_Call) RunAndReturn(run func(context.Context, *deploymentv1beta3.QueryGroupRequest, ...grpc.CallOption) (*deploymentv1beta3.QueryGroupResponse, error)) *QueryClient_Group_Call { - _c.Call.Return(run) - return _c -} - -// Lease provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Lease(ctx context.Context, in *v1beta4.QueryLeaseRequest, opts ...grpc.CallOption) (*v1beta4.QueryLeaseResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *v1beta4.QueryLeaseResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryLeaseRequest, ...grpc.CallOption) (*v1beta4.QueryLeaseResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryLeaseRequest, ...grpc.CallOption) *v1beta4.QueryLeaseResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*v1beta4.QueryLeaseResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *v1beta4.QueryLeaseRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Lease_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Lease' -type QueryClient_Lease_Call struct { - *mock.Call -} - -// Lease is a helper method to define mock.On call -// - ctx context.Context -// - in *v1beta4.QueryLeaseRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Lease(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Lease_Call { - return &QueryClient_Lease_Call{Call: _e.mock.On("Lease", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Lease_Call) Run(run func(ctx context.Context, in *v1beta4.QueryLeaseRequest, opts ...grpc.CallOption)) *QueryClient_Lease_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*v1beta4.QueryLeaseRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Lease_Call) Return(_a0 *v1beta4.QueryLeaseResponse, _a1 error) *QueryClient_Lease_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Lease_Call) RunAndReturn(run func(context.Context, *v1beta4.QueryLeaseRequest, ...grpc.CallOption) (*v1beta4.QueryLeaseResponse, error)) *QueryClient_Lease_Call { - _c.Call.Return(run) - return _c -} - -// Leases provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Leases(ctx context.Context, in *v1beta4.QueryLeasesRequest, opts ...grpc.CallOption) (*v1beta4.QueryLeasesResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *v1beta4.QueryLeasesResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryLeasesRequest, ...grpc.CallOption) (*v1beta4.QueryLeasesResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryLeasesRequest, ...grpc.CallOption) *v1beta4.QueryLeasesResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*v1beta4.QueryLeasesResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *v1beta4.QueryLeasesRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Leases_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Leases' -type QueryClient_Leases_Call struct { - *mock.Call -} - -// Leases is a helper method to define mock.On call -// - ctx context.Context -// - in *v1beta4.QueryLeasesRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Leases(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Leases_Call { - return &QueryClient_Leases_Call{Call: _e.mock.On("Leases", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Leases_Call) Run(run func(ctx context.Context, in *v1beta4.QueryLeasesRequest, opts ...grpc.CallOption)) *QueryClient_Leases_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*v1beta4.QueryLeasesRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Leases_Call) Return(_a0 *v1beta4.QueryLeasesResponse, _a1 error) *QueryClient_Leases_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Leases_Call) RunAndReturn(run func(context.Context, *v1beta4.QueryLeasesRequest, ...grpc.CallOption) (*v1beta4.QueryLeasesResponse, error)) *QueryClient_Leases_Call { - _c.Call.Return(run) - return _c -} - -// Order provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Order(ctx context.Context, in *v1beta4.QueryOrderRequest, opts ...grpc.CallOption) (*v1beta4.QueryOrderResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *v1beta4.QueryOrderResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryOrderRequest, ...grpc.CallOption) (*v1beta4.QueryOrderResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryOrderRequest, ...grpc.CallOption) *v1beta4.QueryOrderResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*v1beta4.QueryOrderResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *v1beta4.QueryOrderRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Order_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Order' -type QueryClient_Order_Call struct { - *mock.Call -} - -// Order is a helper method to define mock.On call -// - ctx context.Context -// - in *v1beta4.QueryOrderRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Order(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Order_Call { - return &QueryClient_Order_Call{Call: _e.mock.On("Order", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Order_Call) Run(run func(ctx context.Context, in *v1beta4.QueryOrderRequest, opts ...grpc.CallOption)) *QueryClient_Order_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*v1beta4.QueryOrderRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Order_Call) Return(_a0 *v1beta4.QueryOrderResponse, _a1 error) *QueryClient_Order_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Order_Call) RunAndReturn(run func(context.Context, *v1beta4.QueryOrderRequest, ...grpc.CallOption) (*v1beta4.QueryOrderResponse, error)) *QueryClient_Order_Call { - _c.Call.Return(run) - return _c -} - -// Orders provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Orders(ctx context.Context, in *v1beta4.QueryOrdersRequest, opts ...grpc.CallOption) (*v1beta4.QueryOrdersResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *v1beta4.QueryOrdersResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryOrdersRequest, ...grpc.CallOption) (*v1beta4.QueryOrdersResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *v1beta4.QueryOrdersRequest, ...grpc.CallOption) *v1beta4.QueryOrdersResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*v1beta4.QueryOrdersResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *v1beta4.QueryOrdersRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Orders_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Orders' -type QueryClient_Orders_Call struct { - *mock.Call -} - -// Orders is a helper method to define mock.On call -// - ctx context.Context -// - in *v1beta4.QueryOrdersRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Orders(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Orders_Call { - return &QueryClient_Orders_Call{Call: _e.mock.On("Orders", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Orders_Call) Run(run func(ctx context.Context, in *v1beta4.QueryOrdersRequest, opts ...grpc.CallOption)) *QueryClient_Orders_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*v1beta4.QueryOrdersRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Orders_Call) Return(_a0 *v1beta4.QueryOrdersResponse, _a1 error) *QueryClient_Orders_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Orders_Call) RunAndReturn(run func(context.Context, *v1beta4.QueryOrdersRequest, ...grpc.CallOption) (*v1beta4.QueryOrdersResponse, error)) *QueryClient_Orders_Call { - _c.Call.Return(run) - return _c -} - -// Provider provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Provider(ctx context.Context, in *providerv1beta3.QueryProviderRequest, opts ...grpc.CallOption) (*providerv1beta3.QueryProviderResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *providerv1beta3.QueryProviderResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *providerv1beta3.QueryProviderRequest, ...grpc.CallOption) (*providerv1beta3.QueryProviderResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *providerv1beta3.QueryProviderRequest, ...grpc.CallOption) *providerv1beta3.QueryProviderResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*providerv1beta3.QueryProviderResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *providerv1beta3.QueryProviderRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Provider_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Provider' -type QueryClient_Provider_Call struct { - *mock.Call -} - -// Provider is a helper method to define mock.On call -// - ctx context.Context -// - in *providerv1beta3.QueryProviderRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Provider(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Provider_Call { - return &QueryClient_Provider_Call{Call: _e.mock.On("Provider", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Provider_Call) Run(run func(ctx context.Context, in *providerv1beta3.QueryProviderRequest, opts ...grpc.CallOption)) *QueryClient_Provider_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*providerv1beta3.QueryProviderRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Provider_Call) Return(_a0 *providerv1beta3.QueryProviderResponse, _a1 error) *QueryClient_Provider_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Provider_Call) RunAndReturn(run func(context.Context, *providerv1beta3.QueryProviderRequest, ...grpc.CallOption) (*providerv1beta3.QueryProviderResponse, error)) *QueryClient_Provider_Call { - _c.Call.Return(run) - return _c -} - -// ProviderAttributes provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) ProviderAttributes(ctx context.Context, in *v1beta3.QueryProviderAttributesRequest, opts ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *v1beta3.QueryProvidersResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *v1beta3.QueryProviderAttributesRequest, ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *v1beta3.QueryProviderAttributesRequest, ...grpc.CallOption) *v1beta3.QueryProvidersResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*v1beta3.QueryProvidersResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *v1beta3.QueryProviderAttributesRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_ProviderAttributes_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ProviderAttributes' -type QueryClient_ProviderAttributes_Call struct { - *mock.Call -} - -// ProviderAttributes is a helper method to define mock.On call -// - ctx context.Context -// - in *v1beta3.QueryProviderAttributesRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) ProviderAttributes(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_ProviderAttributes_Call { - return &QueryClient_ProviderAttributes_Call{Call: _e.mock.On("ProviderAttributes", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_ProviderAttributes_Call) Run(run func(ctx context.Context, in *v1beta3.QueryProviderAttributesRequest, opts ...grpc.CallOption)) *QueryClient_ProviderAttributes_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*v1beta3.QueryProviderAttributesRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_ProviderAttributes_Call) Return(_a0 *v1beta3.QueryProvidersResponse, _a1 error) *QueryClient_ProviderAttributes_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_ProviderAttributes_Call) RunAndReturn(run func(context.Context, *v1beta3.QueryProviderAttributesRequest, ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error)) *QueryClient_ProviderAttributes_Call { - _c.Call.Return(run) - return _c -} - -// ProviderAuditorAttributes provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) ProviderAuditorAttributes(ctx context.Context, in *v1beta3.QueryProviderAuditorRequest, opts ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *v1beta3.QueryProvidersResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *v1beta3.QueryProviderAuditorRequest, ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *v1beta3.QueryProviderAuditorRequest, ...grpc.CallOption) *v1beta3.QueryProvidersResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*v1beta3.QueryProvidersResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *v1beta3.QueryProviderAuditorRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_ProviderAuditorAttributes_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ProviderAuditorAttributes' -type QueryClient_ProviderAuditorAttributes_Call struct { - *mock.Call -} - -// ProviderAuditorAttributes is a helper method to define mock.On call -// - ctx context.Context -// - in *v1beta3.QueryProviderAuditorRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) ProviderAuditorAttributes(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_ProviderAuditorAttributes_Call { - return &QueryClient_ProviderAuditorAttributes_Call{Call: _e.mock.On("ProviderAuditorAttributes", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_ProviderAuditorAttributes_Call) Run(run func(ctx context.Context, in *v1beta3.QueryProviderAuditorRequest, opts ...grpc.CallOption)) *QueryClient_ProviderAuditorAttributes_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*v1beta3.QueryProviderAuditorRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_ProviderAuditorAttributes_Call) Return(_a0 *v1beta3.QueryProvidersResponse, _a1 error) *QueryClient_ProviderAuditorAttributes_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_ProviderAuditorAttributes_Call) RunAndReturn(run func(context.Context, *v1beta3.QueryProviderAuditorRequest, ...grpc.CallOption) (*v1beta3.QueryProvidersResponse, error)) *QueryClient_ProviderAuditorAttributes_Call { - _c.Call.Return(run) - return _c -} - -// Providers provides a mock function with given fields: ctx, in, opts -func (_m *QueryClient) Providers(ctx context.Context, in *providerv1beta3.QueryProvidersRequest, opts ...grpc.CallOption) (*providerv1beta3.QueryProvidersResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *providerv1beta3.QueryProvidersResponse - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *providerv1beta3.QueryProvidersRequest, ...grpc.CallOption) (*providerv1beta3.QueryProvidersResponse, error)); ok { - return rf(ctx, in, opts...) - } - if rf, ok := ret.Get(0).(func(context.Context, *providerv1beta3.QueryProvidersRequest, ...grpc.CallOption) *providerv1beta3.QueryProvidersResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*providerv1beta3.QueryProvidersResponse) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, *providerv1beta3.QueryProvidersRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryClient_Providers_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Providers' -type QueryClient_Providers_Call struct { - *mock.Call -} - -// Providers is a helper method to define mock.On call -// - ctx context.Context -// - in *providerv1beta3.QueryProvidersRequest -// - opts ...grpc.CallOption -func (_e *QueryClient_Expecter) Providers(ctx interface{}, in interface{}, opts ...interface{}) *QueryClient_Providers_Call { - return &QueryClient_Providers_Call{Call: _e.mock.On("Providers", - append([]interface{}{ctx, in}, opts...)...)} -} - -func (_c *QueryClient_Providers_Call) Run(run func(ctx context.Context, in *providerv1beta3.QueryProvidersRequest, opts ...grpc.CallOption)) *QueryClient_Providers_Call { - _c.Call.Run(func(args mock.Arguments) { - variadicArgs := make([]grpc.CallOption, len(args)-2) - for i, a := range args[2:] { - if a != nil { - variadicArgs[i] = a.(grpc.CallOption) - } - } - run(args[0].(context.Context), args[1].(*providerv1beta3.QueryProvidersRequest), variadicArgs...) - }) - return _c -} - -func (_c *QueryClient_Providers_Call) Return(_a0 *providerv1beta3.QueryProvidersResponse, _a1 error) *QueryClient_Providers_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *QueryClient_Providers_Call) RunAndReturn(run func(context.Context, *providerv1beta3.QueryProvidersRequest, ...grpc.CallOption) (*providerv1beta3.QueryProvidersResponse, error)) *QueryClient_Providers_Call { - _c.Call.Return(run) - return _c -} - -type mockConstructorTestingTNewQueryClient interface { - mock.TestingT - Cleanup(func()) -} - -// NewQueryClient creates a new instance of QueryClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewQueryClient(t mockConstructorTestingTNewQueryClient) *QueryClient { - mock := &QueryClient{} - mock.Mock.Test(t) - - t.Cleanup(func() { mock.AssertExpectations(t) }) - - return mock -} diff --git a/cmd/akash/cmd/root.go b/cmd/akash/cmd/root.go index 7e6138d944..3971f12a57 100644 --- a/cmd/akash/cmd/root.go +++ b/cmd/akash/cmd/root.go @@ -10,8 +10,15 @@ import ( "github.com/spf13/cast" "github.com/spf13/cobra" + cmtcfg "github.com/tendermint/tendermint/config" + cmtcli "github.com/tendermint/tendermint/libs/cli" + cmtlog "github.com/tendermint/tendermint/libs/log" + cmtrpc "github.com/tendermint/tendermint/rpc/core" + cmtrpcsrv "github.com/tendermint/tendermint/rpc/jsonrpc/server" + dbm "github.com/tendermint/tm-db" + "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/debug" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/keys" @@ -30,12 +37,8 @@ import ( "github.com/cosmos/cosmos-sdk/x/crisis" genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" - tmcfg "github.com/tendermint/tendermint/config" - tmcli "github.com/tendermint/tendermint/libs/cli" - "github.com/tendermint/tendermint/libs/log" - dbm "github.com/tendermint/tm-db" - "github.com/akash-network/node/app" + "github.com/akash-network/node/client" "github.com/akash-network/node/cmd/akash/cmd/testnetify" ecmd "github.com/akash-network/node/events/cmd" utilcli "github.com/akash-network/node/util/cli" @@ -55,6 +58,9 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) { PersistentPreRunE: GetPersistentPreRunE(encodingConfig, []string{"AKASH"}), } + // register akash api routes + cmtrpc.Routes["akash"] = cmtrpcsrv.NewRPCFunc(client.RPCAkash, "") + initRootCmd(rootCmd, encodingConfig) return rootCmd, encodingConfig @@ -67,7 +73,7 @@ func GetPersistentPreRunE(encodingConfig params.EncodingConfig, envPrefixes []st return err } - initClientCtx := client.Context{}. + initClientCtx := sdkclient.Context{}. WithCodec(encodingConfig.Marshaler). WithInterfaceRegistry(encodingConfig.InterfaceRegistry). WithTxConfig(encodingConfig.TxConfig). @@ -77,7 +83,11 @@ func GetPersistentPreRunE(encodingConfig params.EncodingConfig, envPrefixes []st WithBroadcastMode(flags.BroadcastBlock). WithHomeDir(app.DefaultHome) - return client.SetCmdClientContextHandler(initClientCtx, cmd) + if err := sdkclient.SetCmdClientContextHandler(initClientCtx, cmd); err != nil { + return err + } + + return nil } } @@ -85,21 +95,21 @@ func GetPersistentPreRunE(encodingConfig params.EncodingConfig, envPrefixes []st func Execute(rootCmd *cobra.Command, envPrefix string) error { // Create and set a client.Context on the command's Context. During the pre-run // of the root command, a default initialized client.Context is provided to - // seed child command execution with values such as AccountRetriver, Keyring, + // seed child command execution with values such as AccountRetriever, Keyring, // and a Tendermint RPC. This requires the use of a pointer reference when // getting and setting the client.Context. Ideally, we utilize // https://github.com/spf13/cobra/pull/1118. srvCtx := sdkserver.NewDefaultContext() ctx := context.Background() - ctx = context.WithValue(ctx, client.ClientContextKey, &client.Context{}) + ctx = context.WithValue(ctx, sdkclient.ClientContextKey, &sdkclient.Context{}) ctx = context.WithValue(ctx, sdkserver.ServerContextKey, srvCtx) rootCmd.PersistentFlags().String(flags.FlagLogLevel, zerolog.InfoLevel.String(), "The logging level (trace|debug|info|warn|error|fatal|panic)") - rootCmd.PersistentFlags().String(flags.FlagLogFormat, tmcfg.LogFormatPlain, "The logging format (json|plain)") + rootCmd.PersistentFlags().String(flags.FlagLogFormat, cmtcfg.LogFormatPlain, "The logging format (json|plain)") rootCmd.PersistentFlags().Bool(utilcli.FlagLogColor, false, "Pretty logging output. Applied only when log_format=plain") rootCmd.PersistentFlags().String(utilcli.FlagLogTimestamp, "", "Add timestamp prefix to the logs (rfc3339|rfc3339nano|kitchen)") - executor := tmcli.PrepareBaseCmd(rootCmd, envPrefix, app.DefaultHome) + executor := cmtcli.PrepareBaseCmd(rootCmd, envPrefix, app.DefaultHome) return executor.ExecuteContext(ctx) } @@ -113,15 +123,15 @@ func ExecuteWithCtx(ctx context.Context, rootCmd *cobra.Command, envPrefix strin // https://github.com/spf13/cobra/pull/1118. srvCtx := sdkserver.NewDefaultContext() - ctx = context.WithValue(ctx, client.ClientContextKey, &client.Context{}) + ctx = context.WithValue(ctx, sdkclient.ClientContextKey, &sdkclient.Context{}) ctx = context.WithValue(ctx, sdkserver.ServerContextKey, srvCtx) rootCmd.PersistentFlags().String(flags.FlagLogLevel, zerolog.InfoLevel.String(), "The logging level (trace|debug|info|warn|error|fatal|panic)") - rootCmd.PersistentFlags().String(flags.FlagLogFormat, tmcfg.LogFormatPlain, "The logging format (json|plain)") + rootCmd.PersistentFlags().String(flags.FlagLogFormat, cmtcfg.LogFormatPlain, "The logging format (json|plain)") rootCmd.PersistentFlags().Bool(utilcli.FlagLogColor, false, "Pretty logging output. Applied only when log_format=plain") rootCmd.PersistentFlags().String(utilcli.FlagLogTimestamp, "", "Add timestamp prefix to the logs (rfc3339|rfc3339nano|kitchen)") - executor := tmcli.PrepareBaseCmd(rootCmd, envPrefix, app.DefaultHome) + executor := cmtcli.PrepareBaseCmd(rootCmd, envPrefix, app.DefaultHome) return executor.ExecuteContext(ctx) } @@ -142,7 +152,7 @@ func initRootCmd(rootCmd *cobra.Command, encodingConfig params.EncodingConfig) { genutilcli.GenTxCmd(app.ModuleBasics(), encodingConfig.TxConfig, banktypes.GenesisBalancesIterator{}, app.DefaultHome), genutilcli.ValidateGenesisCmd(app.ModuleBasics()), AddGenesisAccountCmd(app.DefaultHome), - tmcli.NewCompletionCmd(rootCmd, true), + cmtcli.NewCompletionCmd(rootCmd, true), debugCmd, sdkserver.RosettaCommand(encodingConfig.InterfaceRegistry, encodingConfig.Marshaler), ) @@ -157,7 +167,7 @@ func addModuleInitFlags(startCmd *cobra.Command) { crisis.AddModuleInitFlags(startCmd) } -func newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts servertypes.AppOptions) servertypes.Application { +func newApp(logger cmtlog.Logger, db dbm.DB, traceStore io.Writer, appOpts servertypes.AppOptions) servertypes.Application { var cache sdk.MultiStorePersistentCache if cast.ToBool(appOpts.Get(sdkserver.FlagInterBlockCache)) { @@ -203,8 +213,14 @@ func newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts serverty } func createAppAndExport( - logger log.Logger, db dbm.DB, tio io.Writer, height int64, forZeroHeight bool, jailAllowedAddrs []string, appOpts servertypes.AppOptions) (servertypes.ExportedApp, error) { - + logger cmtlog.Logger, + db dbm.DB, + tio io.Writer, + height int64, + forZeroHeight bool, + jailAllowedAddrs []string, + appOpts servertypes.AppOptions, +) (servertypes.ExportedApp, error) { var akashApp *app.AkashApp if height != -1 { diff --git a/go.mod b/go.mod index 796547fb82..b9aabe16ea 100644 --- a/go.mod +++ b/go.mod @@ -3,13 +3,13 @@ module github.com/akash-network/node go 1.21 require ( - github.com/akash-network/akash-api v0.0.36 + github.com/akash-network/akash-api v0.0.38 github.com/blang/semver/v4 v4.0.0 github.com/boz/go-lifecycle v0.1.1 github.com/cosmos/cosmos-sdk v0.45.16 github.com/cosmos/ibc-go/v4 v4.4.2 github.com/gogo/protobuf v1.3.3 - github.com/google/go-github/v53 v53.2.0 + github.com/google/go-github/v56 v56.0.0 github.com/gorilla/mux v1.8.0 github.com/gorilla/websocket v1.5.0 github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 @@ -78,7 +78,6 @@ require ( github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect github.com/DataDog/zstd v1.5.0 // indirect github.com/HdrHistogram/hdrhistogram-go v1.1.2 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect github.com/Workiva/go-datastructures v1.0.53 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -86,7 +85,6 @@ require ( github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/cloudflare/circl v1.3.3 // indirect github.com/cockroachdb/errors v1.9.1 // indirect github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 // indirect @@ -112,6 +110,7 @@ require ( github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect + github.com/edwingeng/deque/v2 v2.1.1 // indirect github.com/fatih/color v1.13.0 // indirect github.com/felixge/httpsnoop v1.0.2 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect diff --git a/go.sum b/go.sum index de8334e482..ecb313291f 100644 --- a/go.sum +++ b/go.sum @@ -82,8 +82,6 @@ github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEV github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA= -github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g= github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= @@ -100,8 +98,8 @@ github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBA github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/akash-network/akash-api v0.0.36 h1:GNhsxQVNh4Dq6yFICk3E7hr+givUMo7hEZKO6S6A+Fk= -github.com/akash-network/akash-api v0.0.36/go.mod h1:8FjUf+1IYWVjwEfWOiMIMCLkq4kchLOHlcidsl0EtP0= +github.com/akash-network/akash-api v0.0.38 h1:V/QJsxrTA0ico4SsH7pPxkEimUwAbndWD5D/KHFXQTM= +github.com/akash-network/akash-api v0.0.38/go.mod h1:aeB/9lti2LegbrOm0fSRNB0iKoE8JmMD8ou9EXJ8QGY= github.com/akash-network/cometbft v0.34.27-akash h1:V1dApDOr8Ee7BJzYyQ7Z9VBtrAul4+baMeA6C49dje0= github.com/akash-network/cometbft v0.34.27-akash/go.mod h1:BcCbhKv7ieM0KEddnYXvQZR+pZykTKReJJYf7YC7qhw= github.com/akash-network/ledger-go v0.14.3 h1:LCEFkTfgGA2xFMN2CtiKvXKE7dh0QSM77PJHCpSkaAo= @@ -197,9 +195,6 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= -github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= -github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= -github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cockroachdb/apd/v3 v3.1.0 h1:MK3Ow7LH0W8zkd5GMKA1PvS9qG3bWFI95WaVNfyZJ/w= @@ -323,6 +318,8 @@ github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1 github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/edwingeng/deque/v2 v2.1.1 h1:+xjC3TnaeMPLZMi7QQf9jN2K00MZmTwruApqplbL9IY= +github.com/edwingeng/deque/v2 v2.1.1/go.mod h1:HukI8CQe9KDmZCcURPZRYVYjH79Zy2tIjTF9sN3Bgb0= github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= @@ -489,8 +486,8 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-github/v53 v53.2.0 h1:wvz3FyF53v4BK+AsnvCmeNhf8AkTaeh2SoYu/XUvTtI= -github.com/google/go-github/v53 v53.2.0/go.mod h1:XhFRObz+m/l+UCm9b7KSIC3lT3NWSXGt7mOsAWEloao= +github.com/google/go-github/v56 v56.0.0 h1:TysL7dMa/r7wsQi44BjqlwaHvwlFlqkK8CtBWCX3gb4= +github.com/google/go-github/v56 v56.0.0/go.mod h1:D8cdcX98YWJvi7TLo7zM4/h8ZTx6u6fwGEkCdisopo0= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= diff --git a/make/init.mk b/make/init.mk index 6cbe0f7d4b..f0cb10530e 100644 --- a/make/init.mk +++ b/make/init.mk @@ -24,6 +24,10 @@ ifeq (, $(GOTOOLCHAIN)) $(error "GOTOOLCHAIN is not set") endif +NULL := +SPACE := $(NULL) # +COMMA := , + BINS := $(AKASH) GO := GO111MODULE=$(GO111MODULE) go diff --git a/make/releasing.mk b/make/releasing.mk index ce5332799e..1e263b8bf0 100644 --- a/make/releasing.mk +++ b/make/releasing.mk @@ -4,37 +4,20 @@ GORELEASER_DEBUG ?= false GORELEASER_IMAGE := ghcr.io/goreleaser/goreleaser-cross:$(GOTOOLCHAIN_SEMVER) GORELEASER_RELEASE ?= false GORELEASER_MOUNT_CONFIG ?= false +GORELEASER_SKIP := $(subst $(COMMA),$(SPACE),$(GORELEASER_SKIP)) RELEASE_DOCKER_IMAGE ?= ghcr.io/akash-network/node -<<<<<<< Updated upstream -GORELEASER_SKIP_FLAGS := $(GORELEASER_SKIP) -GORELEASER_SKIP := - -null := -space := $(null) # -comma := , - -ifneq ($(GORELEASER_RELEASE),true) -||||||| Stash base ifneq ($(GORELEASER_RELEASE),true) ifeq (,$(findstring publish,$(GORELEASER_SKIP))) GORELEASER_SKIP += publish endif -======= -ifneq ($(GORELEASER_RELEASE),true) - ifeq (,$(findstring publish,$(GORELEASER_SKIP))) - GORELEASER_SKIP += publish - endif -else ->>>>>>> Stashed changes GITHUB_TOKEN= - GORELEASER_SKIP_FLAGS += publish endif -ifneq ($(GORELEASER_SKIP_FLAGS),) - GORELEASER_SKIP := --skip=$(subst $(space),$(comma),$(strip $(GORELEASER_SKIP_FLAGS))) +ifneq (,$(GORELEASER_SKIP)) + GORELEASER_SKIP := --skip=$(subst $(SPACE),$(COMMA),$(strip $(GORELEASER_SKIP))) endif ifeq ($(GORELEASER_MOUNT_CONFIG),true) @@ -95,6 +78,7 @@ docker-image: gen-changelog: $(GIT_CHGLOG) @echo "generating changelog to .cache/changelog" ./script/genchangelog.sh "$(RELEASE_TAG)" .cache/changelog.md + .PHONY: release release: gen-changelog docker run \ diff --git a/pubsub/bus.go b/pubsub/bus.go index c37d3b375c..a26748d41e 100644 --- a/pubsub/bus.go +++ b/pubsub/bus.go @@ -3,7 +3,7 @@ package pubsub import ( "errors" - lifecycle "github.com/boz/go-lifecycle" + "github.com/boz/go-lifecycle" ) // ErrNotRunning is the error with message "not running" diff --git a/testutil/cert.go b/testutil/cert.go index 60957bbddc..9a073c428a 100644 --- a/testutil/cert.go +++ b/testutil/cert.go @@ -19,7 +19,7 @@ import ( types "github.com/akash-network/akash-api/go/node/cert/v1beta3" - "github.com/akash-network/node/client/mocks" + clientmocks "github.com/akash-network/akash-api/go/node/client/v1beta2/mocks" certutils "github.com/akash-network/node/x/cert/utils" ) @@ -38,7 +38,7 @@ type certificateOption struct { domains []string nbf time.Time naf time.Time - qclient *mocks.QueryClient + qclient *clientmocks.QueryClient } type CertificateOption func(*certificateOption) @@ -61,7 +61,7 @@ func CertificateOptionNotAfter(tm time.Time) CertificateOption { } } -func CertificateOptionMocks(val *mocks.QueryClient) CertificateOption { +func CertificateOptionMocks(val *clientmocks.QueryClient) CertificateOption { return func(opt *certificateOption) { opt.qclient = val } diff --git a/testutil/network/network.go b/testutil/network/network.go index cb3987e86e..fbfd8d3af5 100644 --- a/testutil/network/network.go +++ b/testutil/network/network.go @@ -15,16 +15,19 @@ import ( "time" "github.com/stretchr/testify/require" + tmcfg "github.com/tendermint/tendermint/config" tmflags "github.com/tendermint/tendermint/libs/cli/flags" "github.com/tendermint/tendermint/libs/log" "github.com/tendermint/tendermint/node" tmclient "github.com/tendermint/tendermint/rpc/client" + cmtrpc "github.com/tendermint/tendermint/rpc/core" + cmtrpcsrv "github.com/tendermint/tendermint/rpc/jsonrpc/server" dbm "github.com/tendermint/tm-db" "google.golang.org/grpc" "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/tx" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" @@ -43,8 +46,15 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/cosmos-sdk/x/genutil" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + + "github.com/akash-network/node/client" ) +func init() { + // register akash api routes + cmtrpc.Routes["akash"] = cmtrpcsrv.NewRPCFunc(client.RPCAkash, "") +} + // package-wide network lock to only allow one test network at a time var lock = new(sync.Mutex) @@ -72,8 +82,8 @@ type Config struct { LegacyAmino *codec.LegacyAmino // TODO: Remove! InterfaceRegistry codectypes.InterfaceRegistry - TxConfig client.TxConfig - AccountRetriever client.AccountRetriever + TxConfig sdkclient.TxConfig + AccountRetriever sdkclient.AccountRetriever AppConstructor AppConstructor // the ABCI application constructor GenesisState map[string]json.RawMessage // custom genesis state to provide TimeoutCommit time.Duration // the consensus commitment timeout @@ -116,7 +126,7 @@ type Network struct { // or handler. type Validator struct { AppConfig *srvconfig.Config - ClientCtx client.Context + ClientCtx sdkclient.Context Ctx *server.Context Dir string NodeID string @@ -318,7 +328,7 @@ func New(t *testing.T, cfg Config) *Network { srvconfig.WriteConfigFile(filepath.Join(nodeDir, "config/app.toml"), appCfg) - cctx := client.Context{}. + cctx := sdkclient.Context{}. WithKeyringDir(clientDir). WithKeyring(kb). WithHomeDir(tmCfg.RootDir). @@ -327,7 +337,8 @@ func New(t *testing.T, cfg Config) *Network { WithCodec(cfg.Codec). WithLegacyAmino(cfg.LegacyAmino). WithTxConfig(cfg.TxConfig). - WithAccountRetriever(cfg.AccountRetriever) + WithAccountRetriever(cfg.AccountRetriever). + WithNodeURI(tmCfg.RPC.ListenAddress) network.Validators[i] = &Validator{ AppConfig: appCfg, diff --git a/util/cli/upgrade_info.go b/util/cli/upgrade_info.go index 5c0fdf8955..5a6f98f2ed 100644 --- a/util/cli/upgrade_info.go +++ b/util/cli/upgrade_info.go @@ -9,7 +9,7 @@ import ( "os" "strings" - "github.com/google/go-github/v53/github" + "github.com/google/go-github/v56/github" "github.com/gregjones/httpcache" "golang.org/x/oauth2" ) diff --git a/util/ctxlog/ctxlog.go b/util/ctxlog/ctxlog.go deleted file mode 100644 index 09b25062e6..0000000000 --- a/util/ctxlog/ctxlog.go +++ /dev/null @@ -1,80 +0,0 @@ -package ctxlog - -import ( - "context" - - "github.com/tendermint/tendermint/libs/log" -) - -type ctxKey string - -const ( - ctxKeyLog = "log" -) - -type options struct { - logName ctxKey -} - -type LogOption func(*options) error - -// WithLogName set custom name of the log object -func WithLogName(val string) LogOption { - return func(t *options) error { - t.logName = ctxKey(val) - return nil - } -} - -type dummyLogger struct{} - -var _ log.Logger = (*dummyLogger)(nil) - -// WithLogger add logger object to the context -// key defaults to the "log" -// use WithLogName("") to set custom key -func WithLogger(ctx context.Context, lg log.Logger, opts ...LogOption) context.Context { - opt, _ := applyOptions(opts...) - - ctx = context.WithValue(ctx, opt.logName, lg) - - return ctx -} - -// Logger get logger from the context. -// By default it uses "log" key. use WithLogName("") to set custom key -// If logger not found dummyLogger is returned -func Logger(ctx context.Context, opts ...LogOption) log.Logger { - opt, _ := applyOptions(opts...) - - var logger log.Logger - if lg, valid := ctx.Value(opt.logName).(log.Logger); valid { - logger = lg - } else { - logger = &dummyLogger{} - } - - return logger -} - -func (l *dummyLogger) Debug(_ string, _ ...interface{}) {} -func (l *dummyLogger) Info(_ string, _ ...interface{}) {} -func (l *dummyLogger) Error(_ string, _ ...interface{}) {} -func (l *dummyLogger) With(_ ...interface{}) log.Logger { - return &dummyLogger{} -} - -func applyOptions(opts ...LogOption) (options, error) { - obj := &options{} - for _, opt := range opts { - if err := opt(obj); err != nil { - return options{}, err - } - } - - if obj.logName == "" { - obj.logName = ctxKeyLog - } - - return *obj, nil -} diff --git a/util/ctxlog/ctxlog_test.go b/util/ctxlog/ctxlog_test.go deleted file mode 100644 index 4b9ae79f02..0000000000 --- a/util/ctxlog/ctxlog_test.go +++ /dev/null @@ -1 +0,0 @@ -package ctxlog diff --git a/x/audit/client/cli/query.go b/x/audit/client/cli/query.go index d2e281a12f..5edc94b650 100644 --- a/x/audit/client/cli/query.go +++ b/x/audit/client/cli/query.go @@ -3,12 +3,14 @@ package cli import ( "context" - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/spf13/cobra" types "github.com/akash-network/akash-api/go/node/audit/v1beta3" + + aclient "github.com/akash-network/node/client" ) func GetQueryCmd() *cobra.Command { @@ -16,7 +18,7 @@ func GetQueryCmd() *cobra.Command { Use: types.ModuleName, Short: "Audit query commands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( @@ -32,14 +34,19 @@ func cmdGetProviders() *cobra.Command { Use: "list", Short: "Query for all providers", RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } - pageReq, err := client.ReadPageRequest(cmd.Flags()) + pageReq, err := sdkclient.ReadPageRequest(cmd.Flags()) if err != nil { return err } @@ -48,12 +55,12 @@ func cmdGetProviders() *cobra.Command { Pagination: pageReq, } - res, err := queryClient.AllProvidersAttributes(context.Background(), params) + res, err := qq.AllProvidersAttributes(context.Background(), params) if err != nil { return err } - return clientCtx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } @@ -69,12 +76,17 @@ func cmdGetProvider() *cobra.Command { Short: "Query provider", Args: cobra.RangeArgs(1, 2), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } owner, err := sdk.AccAddressFromBech32(args[0]) if err != nil { @@ -83,7 +95,7 @@ func cmdGetProvider() *cobra.Command { var res *types.QueryProvidersResponse if len(args) == 1 { - res, err = queryClient.ProviderAttributes(context.Background(), + res, err = qq.ProviderAttributes(context.Background(), &types.QueryProviderAttributesRequest{ Owner: owner.String(), }, @@ -94,7 +106,7 @@ func cmdGetProvider() *cobra.Command { return err } - res, err = queryClient.ProviderAuditorAttributes(context.Background(), + res, err = qq.ProviderAuditorAttributes(context.Background(), &types.QueryProviderAuditorRequest{ Auditor: auditor.String(), Owner: owner.String(), @@ -106,7 +118,7 @@ func cmdGetProvider() *cobra.Command { return err } - return clientCtx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } diff --git a/x/audit/client/cli/tx.go b/x/audit/client/cli/tx.go index f8fa6e58c2..2e8758cbf0 100644 --- a/x/audit/client/cli/tx.go +++ b/x/audit/client/cli/tx.go @@ -4,17 +4,18 @@ import ( "fmt" "sort" - "github.com/cosmos/cosmos-sdk/client" + "github.com/spf13/cobra" + + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/spf13/cobra" types "github.com/akash-network/akash-api/go/node/audit/v1beta3" ptypes "github.com/akash-network/akash-api/go/node/provider/v1beta3" akashtypes "github.com/akash-network/akash-api/go/node/types/v1beta3" atypes "github.com/akash-network/akash-api/go/node/types/v1beta3" - "github.com/akash-network/node/client/broadcaster" + aclient "github.com/akash-network/node/client" ) // GetTxCmd returns the transaction commands for audit module @@ -23,7 +24,7 @@ func GetTxCmd() *cobra.Command { Use: types.ModuleName, Short: "Audit transaction subcommands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( @@ -57,17 +58,24 @@ func cmdCreateProviderAttributes() *cobra.Command { return fmt.Errorf("attributes must be provided as pairs") } - providerAddress, err := sdk.AccAddressFromBech32(args[0]) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } - clientCtx, err := client.GetClientTxContext(cmd) + providerAddress, err := sdk.AccAddressFromBech32(args[0]) if err != nil { return err } - attr, err := readAttributes(cmd, clientCtx, providerAddress.String(), args[1:]) + attr, err := readAttributes(cmd, cctx, providerAddress.String(), args[1:]) if err != nil { return err } @@ -77,7 +85,7 @@ func cmdCreateProviderAttributes() *cobra.Command { } msg := &types.MsgSignProviderAttributes{ - Auditor: clientCtx.GetFromAddress().String(), + Auditor: cctx.GetFromAddress().String(), Owner: providerAddress.String(), Attributes: attr, } @@ -86,7 +94,12 @@ func cmdCreateProviderAttributes() *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -101,23 +114,30 @@ func cmdDeleteProviderAttributes() *cobra.Command { Short: "Delete provider attributes", Args: cobra.MinimumNArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - providerAddress, err := sdk.AccAddressFromBech32(args[0]) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) if err != nil { return err } - keys, err := readKeys(args[1:]) + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } - clientCtx, err := client.GetClientTxContext(cmd) + providerAddress, err := sdk.AccAddressFromBech32(args[0]) + if err != nil { + return err + } + + keys, err := readKeys(args[1:]) if err != nil { return err } msg := &types.MsgDeleteProviderAttributes{ - Auditor: clientCtx.GetFromAddress().String(), + Auditor: cctx.GetFromAddress().String(), Owner: providerAddress.String(), Keys: keys, } @@ -126,7 +146,12 @@ func cmdDeleteProviderAttributes() *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -147,7 +172,7 @@ func setCmdProviderFlags(cmd *cobra.Command) { // if no arguments were provided then query provider and sign all found // read from stdin uses trick to check if it's file descriptor is a pipe // which happens when some data is piped for example cat attr.yaml | akash ... -func readAttributes(cmd *cobra.Command, cctx client.Context, provider string, args []string) (akashtypes.Attributes, error) { +func readAttributes(cmd *cobra.Command, cctx sdkclient.Context, provider string, args []string) (akashtypes.Attributes, error) { var attr akashtypes.Attributes if len(args) != 0 { diff --git a/x/cert/client/cli/query.go b/x/cert/client/cli/query.go index b1a25f1706..991c52037b 100644 --- a/x/cert/client/cli/query.go +++ b/x/cert/client/cli/query.go @@ -4,12 +4,14 @@ import ( "fmt" "math/big" - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/spf13/cobra" types "github.com/akash-network/akash-api/go/node/cert/v1beta3" + + aclient "github.com/akash-network/node/client" ) const ( @@ -22,7 +24,7 @@ func GetQueryCmd() *cobra.Command { Use: types.ModuleName, Short: "Certificate query commands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( @@ -38,14 +40,19 @@ func cmdGetCertificates() *cobra.Command { Short: "Query for all certificates", SilenceUsage: true, RunE: func(cmd *cobra.Command, args []string) error { - cctx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(cctx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } - pageReq, err := client.ReadPageRequest(cmd.Flags()) + pageReq, err := sdkclient.ReadPageRequest(cmd.Flags()) if err != nil { return err } @@ -83,12 +90,12 @@ func cmdGetCertificates() *cobra.Command { params.Filter.State = value } - res, err := queryClient.Certificates(cmd.Context(), params) + res, err := qq.Certificates(cmd.Context(), params) if err != nil { return err } - return cctx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } diff --git a/x/cert/client/cli/tx.go b/x/cert/client/cli/tx.go index 9abe188ac5..7723656e6b 100644 --- a/x/cert/client/cli/tx.go +++ b/x/cert/client/cli/tx.go @@ -13,7 +13,7 @@ import ( types "github.com/akash-network/akash-api/go/node/cert/v1beta3" - "github.com/akash-network/node/client/broadcaster" + aclient "github.com/akash-network/node/client" certerrors "github.com/akash-network/node/x/cert/errors" "github.com/akash-network/node/x/cert/utils" ) @@ -96,10 +96,18 @@ func doGenerateCmd(cmd *cobra.Command, domains []string) error { func doPublishCmd(cmd *cobra.Command) error { toGenesis := viper.GetBool(flagToGenesis) + ctx := cmd.Context() + cctx, err := sdkclient.GetClientTxContext(cmd) if err != nil { return err } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) + if err != nil { + return err + } + fromAddress := cctx.GetFromAddress() kpm, err := utils.NewKeyPairManager(cctx, fromAddress) @@ -148,15 +156,22 @@ func doPublishCmd(cmd *cobra.Command) error { } - return broadcaster.BroadcastTX(cmd.Context(), cctx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) } func doRevokeCmd(cmd *cobra.Command) error { serial := viper.GetString(flagSerial) + cctx, err := sdkclient.GetClientTxContext(cmd) if err != nil { return err } + fromAddress := cctx.GetFromAddress() if len(serial) != 0 { @@ -190,9 +205,14 @@ func doRevokeCmd(cmd *cobra.Command) error { }, } - queryClient := types.NewQueryClient(cctx) + ctx := cmd.Context() + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) + if err != nil { + return err + } - res, err := queryClient.Certificates(cmd.Context(), params) + res, err := cl.Query().Certificates(cmd.Context(), params) if err != nil { return err } @@ -209,5 +229,10 @@ func doRevokeCmd(cmd *cobra.Command) error { }, } - return broadcaster.BroadcastTX(cmd.Context(), cctx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) } diff --git a/x/deployment/client/cli/cli_test.go b/x/deployment/client/cli/cli_test.go index 5707d537e0..71f46544a5 100644 --- a/x/deployment/client/cli/cli_test.go +++ b/x/deployment/client/cli/cli_test.go @@ -295,9 +295,8 @@ func (s *IntegrationTestSuite) TestFundedDeployment() { prevFunderBal := s.getAccountBalance(s.keyFunder.GetAddress()) - // Creating deployment paid by funder's account without any authorization from funder should - // fail - res, err := cli.TxCreateDeploymentExec( + // Creating deployment paid by funder's account without any authorization from funder should fail + _, err = cli.TxCreateDeploymentExec( val.ClientCtx, val.Address, deploymentPath, @@ -307,15 +306,13 @@ func (s *IntegrationTestSuite) TestFundedDeployment() { fmt.Sprintf("--dseq=%v", deploymentID.DSeq), fmt.Sprintf("--depositor-account=%s", s.keyFunder.GetAddress().String()), ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) - clitestutil.ValidateTxUnSuccessful(s.T(), val.ClientCtx, res.Bytes()) + s.Require().Error(err) // funder's balance shouldn't be deducted s.Require().Equal(prevFunderBal, s.getAccountBalance(s.keyFunder.GetAddress())) // Grant the tenant authorization to use funds from the funder's account - res, err = cli.TxGrantAuthorizationExec( + res, err := cli.TxGrantAuthorizationExec( val.ClientCtx, s.keyFunder.GetAddress(), val.Address, @@ -409,13 +406,14 @@ func (s *IntegrationTestSuite) TestFundedDeployment() { fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--gas=%d", flags.DefaultGasLimit), ) + s.Require().NoError(err) s.Require().NoError(s.network.WaitForNextBlock()) clitestutil.ValidateTxSuccessful(s.T(), val.ClientCtx, res.Bytes()) prevFunderBal = s.getAccountBalance(s.keyFunder.GetAddress()) // depositing additional funds from the funder's account should fail now - res, err = cli.TxDepositDeploymentExec( + _, err = cli.TxDepositDeploymentExec( val.ClientCtx, s.defaultDeposit, val.Address, @@ -426,9 +424,7 @@ func (s *IntegrationTestSuite) TestFundedDeployment() { fmt.Sprintf("--dseq=%v", deploymentID.DSeq), fmt.Sprintf("--depositor-account=%s", s.keyFunder.GetAddress().String()), ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) - clitestutil.ValidateTxUnSuccessful(s.T(), val.ClientCtx, res.Bytes()) + s.Require().Error(err) // funder's balance shouldn't be deducted s.Require().Equal(prevFunderBal, s.getAccountBalance(s.keyFunder.GetAddress())) diff --git a/x/deployment/client/cli/query.go b/x/deployment/client/cli/query.go index fd05eae6cc..d8f997b856 100644 --- a/x/deployment/client/cli/query.go +++ b/x/deployment/client/cli/query.go @@ -3,21 +3,22 @@ package cli import ( "context" - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/spf13/cobra" types "github.com/akash-network/akash-api/go/node/deployment/v1beta3" + + aclient "github.com/akash-network/node/client" ) // GetQueryCmd returns the query commands for the deployment module func GetQueryCmd() *cobra.Command { - cmd := &cobra.Command{ Use: types.ModuleName, Short: "Deployment query commands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( @@ -35,19 +36,24 @@ func cmdDeployments() *cobra.Command { Short: "Query for all deployments", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } dfilters, err := DepFiltersFromFlags(cmd.Flags()) if err != nil { return err } - pageReq, err := client.ReadPageRequest(cmd.Flags()) + pageReq, err := sdkclient.ReadPageRequest(cmd.Flags()) if err != nil { return err } @@ -57,12 +63,12 @@ func cmdDeployments() *cobra.Command { Pagination: pageReq, } - res, err := queryClient.Deployments(context.Background(), params) + res, err := qq.Deployments(context.Background(), params) if err != nil { return err } - return clientCtx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } @@ -79,24 +85,29 @@ func cmdDeployment() *cobra.Command { Short: "Query deployment", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } id, err := DeploymentIDFromFlags(cmd.Flags()) if err != nil { return err } - res, err := queryClient.Deployment(context.Background(), &types.QueryDeploymentRequest{ID: id}) + res, err := qq.Deployment(context.Background(), &types.QueryDeploymentRequest{ID: id}) if err != nil { return err } - return clientCtx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } @@ -112,7 +123,7 @@ func getGroupCmd() *cobra.Command { Use: "group", Short: "Deployment group query commands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( @@ -128,24 +139,29 @@ func cmdGetGroup() *cobra.Command { Short: "Query group of deployment", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } id, err := GroupIDFromFlags(cmd.Flags()) if err != nil { return err } - res, err := queryClient.Group(context.Background(), &types.QueryGroupRequest{ID: id}) + res, err := qq.Group(cmd.Context(), &types.QueryGroupRequest{ID: id}) if err != nil { return err } - return clientCtx.PrintProto(&res.Group) + return qq.ClientContext().PrintProto(&res.Group) }, } diff --git a/x/deployment/client/cli/tx.go b/x/deployment/client/cli/tx.go index 761ad84073..9cfd446475 100644 --- a/x/deployment/client/cli/tx.go +++ b/x/deployment/client/cli/tx.go @@ -10,7 +10,9 @@ import ( "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" + tmrpc "github.com/tendermint/tendermint/rpc/core/types" + + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/authz" @@ -18,7 +20,7 @@ import ( types "github.com/akash-network/akash-api/go/node/deployment/v1beta3" "github.com/akash-network/akash-api/go/node/types/constants" - "github.com/akash-network/node/client/broadcaster" + aclient "github.com/akash-network/node/client" "github.com/akash-network/node/cmd/common" "github.com/akash-network/node/sdl" cutils "github.com/akash-network/node/x/cert/utils" @@ -35,7 +37,7 @@ func GetTxCmd(key string) *cobra.Command { Use: types.ModuleName, Short: "Deployment transaction subcommands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( cmdCreate(key), @@ -54,16 +56,23 @@ func cmdCreate(key string) *cobra.Command { Short: fmt.Sprintf("Create %s", key), Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } // first lets validate certificate exists for given account - if _, err = cutils.LoadAndQueryCertificateForAccount(cmd.Context(), clientCtx, nil); err != nil { + if _, err = cutils.LoadAndQueryCertificateForAccount(ctx, cctx, nil); err != nil { if os.IsNotExist(err) { err = fmt.Errorf("no certificate file found for account %q.\n"+ - "consider creating it as certificate required to submit manifest", clientCtx.FromAddress.String()) + "consider creating it as certificate required to submit manifest", cctx.FromAddress.String()) } return err @@ -79,18 +88,25 @@ func cmdCreate(key string) *cobra.Command { return err } - warnIfGroupVolumesExceeds(clientCtx, groups) + warnIfGroupVolumesExceeds(cctx, groups) - id, err := DeploymentIDFromFlags(cmd.Flags(), WithOwner(clientCtx.FromAddress)) + id, err := DeploymentIDFromFlags(cmd.Flags(), WithOwner(cctx.FromAddress)) if err != nil { return err } // Default DSeq to the current block height if id.DSeq == 0 { - if id.DSeq, err = CurrentBlockHeight(clientCtx); err != nil { + var syncInfo *tmrpc.SyncInfo + if syncInfo, err = cl.Node().SyncInfo(ctx); err != nil { return err } + + if syncInfo.CatchingUp { + return fmt.Errorf("cannot generate DSEQ from last block height. node is catching up") + } + + id.DSeq = uint64(syncInfo.LatestBlockHeight) } version, err := sdlManifest.Version() @@ -124,7 +140,12 @@ func cmdCreate(key string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -142,12 +163,19 @@ func cmdDeposit(key string) *cobra.Command { Short: fmt.Sprintf("Deposit %s", key), Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) if err != nil { return err } - id, err := DeploymentIDFromFlags(cmd.Flags(), WithOwner(clientCtx.FromAddress)) + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) + if err != nil { + return err + } + + id, err := DeploymentIDFromFlags(cmd.Flags(), WithOwner(cctx.FromAddress)) if err != nil { return err } @@ -168,7 +196,12 @@ func cmdDeposit(key string) *cobra.Command { Depositor: depositorAcc, } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -185,19 +218,31 @@ func cmdClose(key string) *cobra.Command { Short: fmt.Sprintf("Close %s", key), Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } - id, err := DeploymentIDFromFlags(cmd.Flags(), WithOwner(clientCtx.FromAddress)) + id, err := DeploymentIDFromFlags(cmd.Flags(), WithOwner(cctx.FromAddress)) if err != nil { return err } msg := &types.MsgCloseDeployment{ID: id} - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -212,12 +257,19 @@ func cmdUpdate(key string) *cobra.Command { Short: fmt.Sprintf("update %s", key), Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) if err != nil { return err } - id, err := DeploymentIDFromFlags(cmd.Flags(), WithOwner(clientCtx.FromAddress)) + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) + if err != nil { + return err + } + + id, err := DeploymentIDFromFlags(cmd.Flags(), WithOwner(cctx.FromAddress)) if err != nil { return err } @@ -238,8 +290,7 @@ func cmdUpdate(key string) *cobra.Command { } // Query the RPC node to make sure the existing groups are identical - queryClient := types.NewQueryClient(clientCtx) - existingDeployment, err := queryClient.Deployment(cmd.Context(), &types.QueryDeploymentRequest{ + existingDeployment, err := cl.Query().Deployment(cmd.Context(), &types.QueryDeploymentRequest{ ID: id, }) if err != nil { @@ -258,14 +309,19 @@ func cmdUpdate(key string) *cobra.Command { } } - warnIfGroupVolumesExceeds(clientCtx, groups) + warnIfGroupVolumesExceeds(cctx, groups) msg := &types.MsgUpdateDeployment{ ID: id, Version: version, } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -297,7 +353,14 @@ func cmdGroupClose(_ string) *cobra.Command { Example: "akash tx deployment group-close --owner=[Account Address] --dseq=[uint64] --gseq=[uint32]", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } @@ -315,7 +378,12 @@ func cmdGroupClose(_ string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -333,7 +401,14 @@ func cmdGroupPause(_ string) *cobra.Command { Example: "akash tx deployment group pause --owner=[Account Address] --dseq=[uint64] --gseq=[uint32]", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } @@ -351,7 +426,12 @@ func cmdGroupPause(_ string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -369,7 +449,14 @@ func cmdGroupStart(_ string) *cobra.Command { Example: "akash tx deployment group pause --owner=[Account Address] --dseq=[uint64] --gseq=[uint32]", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } @@ -387,7 +474,12 @@ func cmdGroupStart(_ string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -427,7 +519,14 @@ Examples: ), Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } @@ -450,7 +549,7 @@ Examples: return err } - granter := clientCtx.GetFromAddress() + granter := cctx.GetFromAddress() authorization := types.NewDepositDeploymentAuthorization(spendLimit) msg, err := authz.NewMsgGrant(granter, grantee, authorization, time.Unix(exp, 0)) @@ -458,7 +557,12 @@ Examples: return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -481,7 +585,14 @@ Example: ), Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } @@ -491,11 +602,16 @@ Example: return err } - granter := clientCtx.GetFromAddress() + granter := cctx.GetFromAddress() msgTypeURL := types.DepositDeploymentAuthorization{}.MsgTypeURL() msg := authz.NewMsgRevoke(granter, grantee, msgTypeURL) - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), &msg) + resp, err := cl.Tx().Broadcast(ctx, &msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -505,7 +621,7 @@ Example: return cmd } -func warnIfGroupVolumesExceeds(cctx client.Context, dgroups []*types.GroupSpec) { +func warnIfGroupVolumesExceeds(cctx sdkclient.Context, dgroups []*types.GroupSpec) { for _, group := range dgroups { for _, resources := range group.GetResourceUnits() { if len(resources.Resources.Storage) > constants.DefaultMaxGroupVolumes { diff --git a/x/escrow/client/cli/query.go b/x/escrow/client/cli/query.go index e03a6505a5..915afc1c7f 100644 --- a/x/escrow/client/cli/query.go +++ b/x/escrow/client/cli/query.go @@ -1,12 +1,11 @@ package cli import ( - "context" "encoding/json" "errors" "time" - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/spf13/cobra" "gopkg.in/yaml.v3" @@ -16,6 +15,7 @@ import ( marketTypes "github.com/akash-network/akash-api/go/node/market/v1beta4" + aclient "github.com/akash-network/node/client" netutil "github.com/akash-network/node/util/network" "github.com/akash-network/node/x/deployment/client/cli" "github.com/akash-network/node/x/escrow/client/util" @@ -26,7 +26,7 @@ func GetQueryCmd() *cobra.Command { Use: types.ModuleName, Short: "Escrow query commands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( @@ -44,13 +44,17 @@ func cmdBlocksRemaining() *cobra.Command { Short: "Compute the number of blocks remaining for an ecrow account", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - marketClient := marketTypes.NewQueryClient(clientCtx) - ctx := context.Background() + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } id, err := cli.DeploymentIDFromFlags(cmd.Flags()) if err != nil { @@ -70,7 +74,7 @@ func cmdBlocksRemaining() *cobra.Command { Pagination: nil, } - leasesResponse, err := marketClient.Leases(ctx, &leaseRequest) + leasesResponse, err := qq.Leases(cmd.Context(), &leaseRequest) if err != nil { return err } @@ -80,14 +84,13 @@ func cmdBlocksRemaining() *cobra.Command { } // Fetch the balance of the escrow account - deploymentClient := deploymentTypes.NewQueryClient(clientCtx) totalLeaseAmount := leasesResponse.TotalPriceAmount() - blockchainHeight, err := cli.CurrentBlockHeight(clientCtx) + blockchainHeight, err := cli.CurrentBlockHeight(qq.ClientContext()) if err != nil { return err } - res, err := deploymentClient.Deployment(ctx, &deploymentTypes.QueryDeploymentRequest{ + res, err := qq.Deployment(cmd.Context(), &deploymentTypes.QueryDeploymentRequest{ ID: deploymentTypes.DeploymentID{Owner: id.Owner, DSeq: id.DSeq}, }) if err != nil { @@ -127,7 +130,7 @@ func cmdBlocksRemaining() *cobra.Command { return err } - return clientCtx.PrintBytes(data) + return qq.ClientContext().PrintBytes(data) }, } diff --git a/x/market/client/cli/bid.go b/x/market/client/cli/bid.go index 21d5b01b63..cd2562e282 100644 --- a/x/market/client/cli/bid.go +++ b/x/market/client/cli/bid.go @@ -1,13 +1,13 @@ package cli import ( - "context" - - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/spf13/cobra" types "github.com/akash-network/akash-api/go/node/market/v1beta4" + + aclient "github.com/akash-network/node/client" ) func cmdGetBids() *cobra.Command { @@ -15,19 +15,24 @@ func cmdGetBids() *cobra.Command { Use: "list", Short: "Query for all bids", RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } bfilters, err := BidFiltersFromFlags(cmd.Flags()) if err != nil { return err } - pageReq, err := client.ReadPageRequest(cmd.Flags()) + pageReq, err := sdkclient.ReadPageRequest(cmd.Flags()) if err != nil { return err } @@ -37,18 +42,19 @@ func cmdGetBids() *cobra.Command { Pagination: pageReq, } - res, err := queryClient.Bids(context.Background(), params) + res, err := qq.Bids(cmd.Context(), params) if err != nil { return err } - return clientCtx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } flags.AddQueryFlagsToCmd(cmd) flags.AddPaginationFlagsToCmd(cmd, "bids") AddBidFilterFlags(cmd.Flags()) + return cmd } @@ -58,24 +64,29 @@ func cmdGetBid() *cobra.Command { Short: "Query order", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } bidID, err := BidIDFromFlags(cmd.Flags()) if err != nil { return err } - res, err := queryClient.Bid(context.Background(), &types.QueryBidRequest{ID: bidID}) + res, err := qq.Bid(cmd.Context(), &types.QueryBidRequest{ID: bidID}) if err != nil { return err } - return clientCtx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } diff --git a/x/market/client/cli/lease.go b/x/market/client/cli/lease.go index 4ebca2dae7..f8267dd14f 100644 --- a/x/market/client/cli/lease.go +++ b/x/market/client/cli/lease.go @@ -1,13 +1,13 @@ package cli import ( - "context" - - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/spf13/cobra" types "github.com/akash-network/akash-api/go/node/market/v1beta4" + + aclient "github.com/akash-network/node/client" ) func cmdGetLeases() *cobra.Command { @@ -15,19 +15,24 @@ func cmdGetLeases() *cobra.Command { Use: "list", Short: "Query for all leases", RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } lfilters, err := LeaseFiltersFromFlags(cmd.Flags()) if err != nil { return err } - pageReq, err := client.ReadPageRequest(cmd.Flags()) + pageReq, err := sdkclient.ReadPageRequest(cmd.Flags()) if err != nil { return err } @@ -37,12 +42,12 @@ func cmdGetLeases() *cobra.Command { Pagination: pageReq, } - res, err := queryClient.Leases(context.Background(), params) + res, err := qq.Leases(cmd.Context(), params) if err != nil { return err } - return clientCtx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } @@ -59,24 +64,29 @@ func cmdGetLease() *cobra.Command { Short: "Query order", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } bidID, err := BidIDFromFlags(cmd.Flags()) if err != nil { return err } - res, err := queryClient.Lease(context.Background(), &types.QueryLeaseRequest{ID: types.MakeLeaseID(bidID)}) + res, err := qq.Lease(cmd.Context(), &types.QueryLeaseRequest{ID: types.MakeLeaseID(bidID)}) if err != nil { return err } - return clientCtx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } diff --git a/x/market/client/cli/order.go b/x/market/client/cli/order.go index 50ac4174e3..0fee536a27 100644 --- a/x/market/client/cli/order.go +++ b/x/market/client/cli/order.go @@ -1,13 +1,13 @@ package cli import ( - "context" - - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/spf13/cobra" types "github.com/akash-network/akash-api/go/node/market/v1beta4" + + aclient "github.com/akash-network/node/client" ) func cmdGetOrders() *cobra.Command { @@ -15,19 +15,24 @@ func cmdGetOrders() *cobra.Command { Use: "list", Short: "Query for all orders", RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } ofilters, err := OrderFiltersFromFlags(cmd.Flags()) if err != nil { return err } - pageReq, err := client.ReadPageRequest(cmd.Flags()) + pageReq, err := sdkclient.ReadPageRequest(cmd.Flags()) if err != nil { return err } @@ -37,12 +42,12 @@ func cmdGetOrders() *cobra.Command { Pagination: pageReq, } - res, err := queryClient.Orders(context.Background(), params) + res, err := qq.Orders(cmd.Context(), params) if err != nil { return err } - return clientCtx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } @@ -58,24 +63,29 @@ func cmdGetOrder() *cobra.Command { Short: "Query order", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } id, err := OrderIDFromFlags(cmd.Flags()) if err != nil { return err } - res, err := queryClient.Order(context.Background(), &types.QueryOrderRequest{ID: id}) + res, err := qq.Order(cmd.Context(), &types.QueryOrderRequest{ID: id}) if err != nil { return err } - return clientCtx.PrintProto(&res.Order) + return qq.ClientContext().PrintProto(&res.Order) }, } diff --git a/x/market/client/cli/tx.go b/x/market/client/cli/tx.go index b932f4ec68..128f6cd17c 100644 --- a/x/market/client/cli/tx.go +++ b/x/market/client/cli/tx.go @@ -3,14 +3,14 @@ package cli import ( "fmt" - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/spf13/cobra" types "github.com/akash-network/akash-api/go/node/market/v1beta4" - "github.com/akash-network/node/client/broadcaster" + aclient "github.com/akash-network/node/client" "github.com/akash-network/node/cmd/common" dcli "github.com/akash-network/node/x/deployment/client/cli" ) @@ -21,7 +21,7 @@ func GetTxCmd(key string) *cobra.Command { Use: types.ModuleName, Short: "Transaction subcommands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( cmdBid(key), @@ -35,7 +35,7 @@ func cmdBid(key string) *cobra.Command { Use: "bid", Short: "Bid subcommands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( cmdBidCreate(key), @@ -50,7 +50,14 @@ func cmdBidCreate(key string) *cobra.Command { Short: fmt.Sprintf("Create a %s bid", key), Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } @@ -65,7 +72,7 @@ func cmdBidCreate(key string) *cobra.Command { return err } - id, err := OrderIDFromFlags(cmd.Flags(), dcli.WithProvider(clientCtx.FromAddress)) + id, err := OrderIDFromFlags(cmd.Flags(), dcli.WithProvider(cctx.FromAddress)) if err != nil { return err } @@ -77,7 +84,7 @@ func cmdBidCreate(key string) *cobra.Command { msg := &types.MsgCreateBid{ Order: id, - Provider: clientCtx.GetFromAddress().String(), + Provider: cctx.GetFromAddress().String(), Price: coin, Deposit: deposit, } @@ -86,7 +93,12 @@ func cmdBidCreate(key string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -104,12 +116,19 @@ func cmdBidClose(key string) *cobra.Command { Short: fmt.Sprintf("Close a %s bid", key), Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) if err != nil { return err } - id, err := BidIDFromFlags(cmd.Flags(), dcli.WithProvider(clientCtx.FromAddress)) + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) + if err != nil { + return err + } + + id, err := BidIDFromFlags(cmd.Flags(), dcli.WithProvider(cctx.FromAddress)) if err != nil { return err } @@ -122,7 +141,12 @@ func cmdBidClose(key string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -137,7 +161,7 @@ func cmdLease(key string) *cobra.Command { Use: "lease", Short: "Lease subcommands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( cmdLeaseCreate(key), @@ -153,12 +177,19 @@ func cmdLeaseCreate(key string) *cobra.Command { Short: fmt.Sprintf("Create a %s lease", key), Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } - id, err := LeaseIDFromFlags(cmd.Flags(), dcli.WithOwner(clientCtx.FromAddress)) + id, err := LeaseIDFromFlags(cmd.Flags(), dcli.WithOwner(cctx.FromAddress)) if err != nil { return err } @@ -171,7 +202,12 @@ func cmdLeaseCreate(key string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -188,12 +224,19 @@ func cmdLeaseWithdraw(key string) *cobra.Command { Short: fmt.Sprintf("Settle and withdraw available funds from %s order escrow account", key), Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) if err != nil { return err } - id, err := LeaseIDFromFlags(cmd.Flags(), dcli.WithOwner(clientCtx.FromAddress)) + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) + if err != nil { + return err + } + + id, err := LeaseIDFromFlags(cmd.Flags(), dcli.WithOwner(cctx.FromAddress)) if err != nil { return err } @@ -206,7 +249,12 @@ func cmdLeaseWithdraw(key string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -223,12 +271,19 @@ func cmdLeaseClose(key string) *cobra.Command { Short: fmt.Sprintf("Close a %s order", key), Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) if err != nil { return err } - id, err := LeaseIDFromFlags(cmd.Flags(), dcli.WithOwner(clientCtx.FromAddress)) + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) + if err != nil { + return err + } + + id, err := LeaseIDFromFlags(cmd.Flags(), dcli.WithOwner(cctx.FromAddress)) if err != nil { return err } @@ -241,7 +296,12 @@ func cmdLeaseClose(key string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } diff --git a/x/provider/client/cli/query.go b/x/provider/client/cli/query.go index 852b5a6986..1faca8fb1f 100644 --- a/x/provider/client/cli/query.go +++ b/x/provider/client/cli/query.go @@ -1,14 +1,14 @@ package cli import ( - "context" - - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/spf13/cobra" types "github.com/akash-network/akash-api/go/node/provider/v1beta3" + + aclient "github.com/akash-network/node/client" ) // GetQueryCmd returns the transaction commands for the provider module @@ -17,7 +17,7 @@ func GetQueryCmd() *cobra.Command { Use: types.ModuleName, Short: "Provider query commands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( @@ -33,14 +33,19 @@ func cmdGetProviders() *cobra.Command { Use: "list", Short: "Query for all providers", RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } - pageReq, err := client.ReadPageRequest(cmd.Flags()) + pageReq, err := sdkclient.ReadPageRequest(cmd.Flags()) if err != nil { return err } @@ -49,12 +54,12 @@ func cmdGetProviders() *cobra.Command { Pagination: pageReq, } - res, err := queryClient.Providers(context.Background(), params) + res, err := qq.Providers(cmd.Context(), params) if err != nil { return err } - return clientCtx.PrintProto(res) + return qq.ClientContext().PrintProto(res) }, } @@ -70,24 +75,29 @@ func cmdGetProvider() *cobra.Command { Short: "Query provider", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientQueryContext(cmd) if err != nil { return err } - queryClient := types.NewQueryClient(clientCtx) + qq, err := aclient.DiscoverQueryClient(ctx, cctx) + if err != nil { + return err + } owner, err := sdk.AccAddressFromBech32(args[0]) if err != nil { return err } - res, err := queryClient.Provider(context.Background(), &types.QueryProviderRequest{Owner: owner.String()}) + res, err := qq.Provider(cmd.Context(), &types.QueryProviderRequest{Owner: owner.String()}) if err != nil { return err } - return clientCtx.PrintProto(&res.Provider) + return qq.ClientContext().PrintProto(&res.Provider) }, } diff --git a/x/provider/client/cli/tx.go b/x/provider/client/cli/tx.go index ec677e71c8..420bd671de 100644 --- a/x/provider/client/cli/tx.go +++ b/x/provider/client/cli/tx.go @@ -3,13 +3,13 @@ package cli import ( "fmt" - "github.com/cosmos/cosmos-sdk/client" + sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/spf13/cobra" types "github.com/akash-network/akash-api/go/node/provider/v1beta3" - "github.com/akash-network/node/client/broadcaster" + aclient "github.com/akash-network/node/client" "github.com/akash-network/node/x/provider/config" ) @@ -19,7 +19,7 @@ func GetTxCmd(key string) *cobra.Command { Use: types.ModuleName, Short: "Provider transaction subcommands", SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, + RunE: sdkclient.ValidateCmd, } cmd.AddCommand( cmdCreate(key), @@ -34,7 +34,14 @@ func cmdCreate(key string) *cobra.Command { Short: fmt.Sprintf("Create a %s", key), Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } @@ -47,7 +54,7 @@ func cmdCreate(key string) *cobra.Command { } msg := &types.MsgCreateProvider{ - Owner: clientCtx.GetFromAddress().String(), + Owner: cctx.GetFromAddress().String(), HostURI: cfg.Host, Info: cfg.Info, Attributes: cfg.GetAttributes(), @@ -57,7 +64,12 @@ func cmdCreate(key string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, } @@ -72,7 +84,14 @@ func cmdUpdate(key string) *cobra.Command { Short: fmt.Sprintf("Update %s", key), Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) + ctx := cmd.Context() + + cctx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + cl, err := aclient.DiscoverClient(ctx, cctx, cmd.Flags()) if err != nil { return err } @@ -83,7 +102,7 @@ func cmdUpdate(key string) *cobra.Command { } msg := &types.MsgUpdateProvider{ - Owner: clientCtx.GetFromAddress().String(), + Owner: cctx.GetFromAddress().String(), HostURI: cfg.Host, Info: cfg.Info, Attributes: cfg.GetAttributes(), @@ -93,7 +112,12 @@ func cmdUpdate(key string) *cobra.Command { return err } - return broadcaster.BroadcastTX(cmd.Context(), clientCtx, cmd.Flags(), msg) + resp, err := cl.Tx().Broadcast(ctx, msg) + if err != nil { + return err + } + + return cctx.PrintProto(resp) }, }