@@ -5,20 +5,11 @@ import (
5
5
"errors"
6
6
"time"
7
7
8
- permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types"
9
-
10
8
sdkmath "cosmossdk.io/math"
11
-
12
- "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice"
13
- "google.golang.org/grpc"
14
-
15
9
wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types"
16
- exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types"
17
- chainstreamtypes "github.com/InjectiveLabs/sdk-go/chain/stream/types"
18
- tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types"
19
- "github.com/InjectiveLabs/sdk-go/client/common"
20
10
rpchttp "github.com/cometbft/cometbft/rpc/client/http"
21
11
"github.com/cosmos/cosmos-sdk/client"
12
+ "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice"
22
13
sdk "github.com/cosmos/cosmos-sdk/types"
23
14
"github.com/cosmos/cosmos-sdk/types/query"
24
15
txtypes "github.com/cosmos/cosmos-sdk/types/tx"
@@ -31,10 +22,23 @@ import (
31
22
ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types"
32
23
ibcchanneltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types"
33
24
eth "github.com/ethereum/go-ethereum/common"
25
+ "google.golang.org/grpc"
26
+
27
+ exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types"
28
+ permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types"
29
+ chainstreamtypes "github.com/InjectiveLabs/sdk-go/chain/stream/types"
30
+ tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types"
31
+ "github.com/InjectiveLabs/sdk-go/client/common"
34
32
)
35
33
34
+ var _ ChainClient = & MockChainClient {}
35
+
36
36
type MockChainClient struct {
37
- DenomsMetadataResponses []* banktypes.QueryDenomsMetadataResponse
37
+ Network common.Network
38
+ DenomsMetadataResponses []* banktypes.QueryDenomsMetadataResponse
39
+ QuerySpotMarketsResponses []* exchangetypes.QuerySpotMarketsResponse
40
+ QueryDerivativeMarketsResponses []* exchangetypes.QueryDerivativeMarketsResponse
41
+ QueryBinaryMarketsResponses []* exchangetypes.QueryBinaryMarketsResponse
38
42
}
39
43
40
44
func (c * MockChainClient ) CanSignTransactions () bool {
@@ -191,18 +195,10 @@ func (c *MockChainClient) ComputeOrderHashes(spotOrders []exchangetypes.SpotOrde
191
195
return OrderHashes {}, nil
192
196
}
193
197
194
- func (c * MockChainClient ) SpotOrder (defaultSubaccountID eth.Hash , network common.Network , d * SpotOrderData ) * exchangetypes.SpotOrder {
195
- return c .CreateSpotOrder (defaultSubaccountID , d , MarketsAssistant {})
196
- }
197
-
198
198
func (c * MockChainClient ) CreateSpotOrder (defaultSubaccountID eth.Hash , d * SpotOrderData , marketsAssistant MarketsAssistant ) * exchangetypes.SpotOrder {
199
199
return & exchangetypes.SpotOrder {}
200
200
}
201
201
202
- func (c * MockChainClient ) DerivativeOrder (defaultSubaccountID eth.Hash , network common.Network , d * DerivativeOrderData ) * exchangetypes.DerivativeOrder {
203
- return c .CreateDerivativeOrder (defaultSubaccountID , d , MarketsAssistant {})
204
- }
205
-
206
202
func (c * MockChainClient ) CreateDerivativeOrder (defaultSubaccountID eth.Hash , d * DerivativeOrderData , marketAssistant MarketsAssistant ) * exchangetypes.DerivativeOrder {
207
203
return & exchangetypes.DerivativeOrder {}
208
204
}
@@ -371,7 +367,18 @@ func (c *MockChainClient) FetchDenomDecimals(ctx context.Context, denoms []strin
371
367
}
372
368
373
369
func (c * MockChainClient ) FetchChainSpotMarkets (ctx context.Context , status string , marketIDs []string ) (* exchangetypes.QuerySpotMarketsResponse , error ) {
374
- return & exchangetypes.QuerySpotMarketsResponse {}, nil
370
+ var response * exchangetypes.QuerySpotMarketsResponse
371
+ var localError error
372
+ if len (c .QuerySpotMarketsResponses ) > 0 {
373
+ response = c .QuerySpotMarketsResponses [0 ]
374
+ c .QuerySpotMarketsResponses = c .QuerySpotMarketsResponses [1 :]
375
+ localError = nil
376
+ } else {
377
+ response = & exchangetypes.QuerySpotMarketsResponse {}
378
+ localError = errors .New ("there are no responses configured" )
379
+ }
380
+
381
+ return response , localError
375
382
}
376
383
377
384
func (c * MockChainClient ) FetchChainSpotMarket (ctx context.Context , marketId string ) (* exchangetypes.QuerySpotMarketResponse , error ) {
@@ -439,7 +446,18 @@ func (c *MockChainClient) FetchChainTraderDerivativeTransientOrders(ctx context.
439
446
}
440
447
441
448
func (c * MockChainClient ) FetchChainDerivativeMarkets (ctx context.Context , status string , marketIDs []string , withMidPriceAndTob bool ) (* exchangetypes.QueryDerivativeMarketsResponse , error ) {
442
- return & exchangetypes.QueryDerivativeMarketsResponse {}, nil
449
+ var response * exchangetypes.QueryDerivativeMarketsResponse
450
+ var localError error
451
+ if len (c .QueryDerivativeMarketsResponses ) > 0 {
452
+ response = c .QueryDerivativeMarketsResponses [0 ]
453
+ c .QueryDerivativeMarketsResponses = c .QueryDerivativeMarketsResponses [1 :]
454
+ localError = nil
455
+ } else {
456
+ response = & exchangetypes.QueryDerivativeMarketsResponse {}
457
+ localError = errors .New ("there are no responses configured" )
458
+ }
459
+
460
+ return response , localError
443
461
}
444
462
445
463
func (c * MockChainClient ) FetchChainDerivativeMarket (ctx context.Context , marketId string ) (* exchangetypes.QueryDerivativeMarketResponse , error ) {
@@ -543,7 +561,18 @@ func (c *MockChainClient) FetchMarketVolatility(ctx context.Context, marketId st
543
561
}
544
562
545
563
func (c * MockChainClient ) FetchChainBinaryOptionsMarkets (ctx context.Context , status string ) (* exchangetypes.QueryBinaryMarketsResponse , error ) {
546
- return & exchangetypes.QueryBinaryMarketsResponse {}, nil
564
+ var response * exchangetypes.QueryBinaryMarketsResponse
565
+ var localError error
566
+ if len (c .QueryBinaryMarketsResponses ) > 0 {
567
+ response = c .QueryBinaryMarketsResponses [0 ]
568
+ c .QueryBinaryMarketsResponses = c .QueryBinaryMarketsResponses [1 :]
569
+ localError = nil
570
+ } else {
571
+ response = & exchangetypes.QueryBinaryMarketsResponse {}
572
+ localError = errors .New ("there are no responses configured" )
573
+ }
574
+
575
+ return response , localError
547
576
}
548
577
549
578
func (c * MockChainClient ) FetchTraderDerivativeConditionalOrders (ctx context.Context , subaccountId , marketId string ) (* exchangetypes.QueryTraderDerivativeConditionalOrdersResponse , error ) {
@@ -741,3 +770,7 @@ func (c *MockChainClient) FetchAddressesByRole(ctx context.Context, denom, role
741
770
func (c * MockChainClient ) FetchVouchersForAddress (ctx context.Context , address string ) (* permissionstypes.QueryVouchersForAddressResponse , error ) {
742
771
return & permissionstypes.QueryVouchersForAddressResponse {}, nil
743
772
}
773
+
774
+ func (c * MockChainClient ) GetNetwork () common.Network {
775
+ return c .Network
776
+ }
0 commit comments