@zoguxprotocol/proto 0.1.9 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -297,6 +297,15 @@ export interface OrderFillState {
|
|
|
297
297
|
*/
|
|
298
298
|
|
|
299
299
|
prunableBlockHeight: number;
|
|
300
|
+
/**
|
|
301
|
+
* Base-10 string of the sum of gross quote quantums released from spot locked
|
|
302
|
+
* balance via spot BUY matches (same basis as FillAmountToQuoteQuantums per
|
|
303
|
+
* fill). Empty means tracking was never started for this order (e.g. partial
|
|
304
|
+
* fills before this field existed); residual dust unlock must not use L-S for
|
|
305
|
+
* such orders.
|
|
306
|
+
*/
|
|
307
|
+
|
|
308
|
+
spotBuyQuoteMatchedTotal: string;
|
|
300
309
|
}
|
|
301
310
|
/**
|
|
302
311
|
* OrderFillState represents the fill amount of an order according to on-chain
|
|
@@ -308,6 +317,7 @@ export interface OrderFillState {
|
|
|
308
317
|
export interface OrderFillStateSDKType {
|
|
309
318
|
fill_amount: Long;
|
|
310
319
|
prunable_block_height: number;
|
|
320
|
+
spot_buy_quote_matched_total: string;
|
|
311
321
|
}
|
|
312
322
|
/**
|
|
313
323
|
* StatefulOrderTimeSliceValue represents the type of the value of the
|
|
@@ -820,7 +830,8 @@ export const PotentiallyPrunableOrders = {
|
|
|
820
830
|
function createBaseOrderFillState(): OrderFillState {
|
|
821
831
|
return {
|
|
822
832
|
fillAmount: Long.UZERO,
|
|
823
|
-
prunableBlockHeight: 0
|
|
833
|
+
prunableBlockHeight: 0,
|
|
834
|
+
spotBuyQuoteMatchedTotal: ""
|
|
824
835
|
};
|
|
825
836
|
}
|
|
826
837
|
|
|
@@ -834,6 +845,10 @@ export const OrderFillState = {
|
|
|
834
845
|
writer.uint32(16).uint32(message.prunableBlockHeight);
|
|
835
846
|
}
|
|
836
847
|
|
|
848
|
+
if (message.spotBuyQuoteMatchedTotal !== "") {
|
|
849
|
+
writer.uint32(26).string(message.spotBuyQuoteMatchedTotal);
|
|
850
|
+
}
|
|
851
|
+
|
|
837
852
|
return writer;
|
|
838
853
|
},
|
|
839
854
|
|
|
@@ -854,6 +869,10 @@ export const OrderFillState = {
|
|
|
854
869
|
message.prunableBlockHeight = reader.uint32();
|
|
855
870
|
break;
|
|
856
871
|
|
|
872
|
+
case 3:
|
|
873
|
+
message.spotBuyQuoteMatchedTotal = reader.string();
|
|
874
|
+
break;
|
|
875
|
+
|
|
857
876
|
default:
|
|
858
877
|
reader.skipType(tag & 7);
|
|
859
878
|
break;
|
|
@@ -867,6 +886,7 @@ export const OrderFillState = {
|
|
|
867
886
|
const message = createBaseOrderFillState();
|
|
868
887
|
message.fillAmount = object.fillAmount !== undefined && object.fillAmount !== null ? Long.fromValue(object.fillAmount) : Long.UZERO;
|
|
869
888
|
message.prunableBlockHeight = object.prunableBlockHeight ?? 0;
|
|
889
|
+
message.spotBuyQuoteMatchedTotal = object.spotBuyQuoteMatchedTotal ?? "";
|
|
870
890
|
return message;
|
|
871
891
|
}
|
|
872
892
|
|
|
@@ -11,6 +11,17 @@ export interface PerpetualFeeParams {
|
|
|
11
11
|
export interface PerpetualFeeParamsSDKType {
|
|
12
12
|
tiers: PerpetualFeeTierSDKType[];
|
|
13
13
|
}
|
|
14
|
+
/** SpotFeeParams defines the parameters for spot fees. */
|
|
15
|
+
|
|
16
|
+
export interface SpotFeeParams {
|
|
17
|
+
/** Sorted fee tiers (lowest requirements first). */
|
|
18
|
+
tiers: SpotFeeTier[];
|
|
19
|
+
}
|
|
20
|
+
/** SpotFeeParams defines the parameters for spot fees. */
|
|
21
|
+
|
|
22
|
+
export interface SpotFeeParamsSDKType {
|
|
23
|
+
tiers: SpotFeeTierSDKType[];
|
|
24
|
+
}
|
|
14
25
|
/** A fee tier for perpetuals */
|
|
15
26
|
|
|
16
27
|
export interface PerpetualFeeTier {
|
|
@@ -42,6 +53,37 @@ export interface PerpetualFeeTierSDKType {
|
|
|
42
53
|
maker_fee_ppm: number;
|
|
43
54
|
taker_fee_ppm: number;
|
|
44
55
|
}
|
|
56
|
+
/** A fee tier for spot trading. */
|
|
57
|
+
|
|
58
|
+
export interface SpotFeeTier {
|
|
59
|
+
/** Human-readable name of the tier, e.g. "Gold". */
|
|
60
|
+
name: string;
|
|
61
|
+
/** The trader's absolute volume requirement in quote quantums. */
|
|
62
|
+
|
|
63
|
+
absoluteVolumeRequirement: Long;
|
|
64
|
+
/** The total volume share requirement. */
|
|
65
|
+
|
|
66
|
+
totalVolumeShareRequirementPpm: number;
|
|
67
|
+
/** The maker volume share requirement. */
|
|
68
|
+
|
|
69
|
+
makerVolumeShareRequirementPpm: number;
|
|
70
|
+
/** The maker fee once this tier is reached. */
|
|
71
|
+
|
|
72
|
+
makerFeePpm: number;
|
|
73
|
+
/** The taker fee once this tier is reached. */
|
|
74
|
+
|
|
75
|
+
takerFeePpm: number;
|
|
76
|
+
}
|
|
77
|
+
/** A fee tier for spot trading. */
|
|
78
|
+
|
|
79
|
+
export interface SpotFeeTierSDKType {
|
|
80
|
+
name: string;
|
|
81
|
+
absolute_volume_requirement: Long;
|
|
82
|
+
total_volume_share_requirement_ppm: number;
|
|
83
|
+
maker_volume_share_requirement_ppm: number;
|
|
84
|
+
maker_fee_ppm: number;
|
|
85
|
+
taker_fee_ppm: number;
|
|
86
|
+
}
|
|
45
87
|
|
|
46
88
|
function createBasePerpetualFeeParams(): PerpetualFeeParams {
|
|
47
89
|
return {
|
|
@@ -88,6 +130,51 @@ export const PerpetualFeeParams = {
|
|
|
88
130
|
|
|
89
131
|
};
|
|
90
132
|
|
|
133
|
+
function createBaseSpotFeeParams(): SpotFeeParams {
|
|
134
|
+
return {
|
|
135
|
+
tiers: []
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export const SpotFeeParams = {
|
|
140
|
+
encode(message: SpotFeeParams, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
141
|
+
for (const v of message.tiers) {
|
|
142
|
+
SpotFeeTier.encode(v!, writer.uint32(10).fork()).ldelim();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return writer;
|
|
146
|
+
},
|
|
147
|
+
|
|
148
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): SpotFeeParams {
|
|
149
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
150
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
151
|
+
const message = createBaseSpotFeeParams();
|
|
152
|
+
|
|
153
|
+
while (reader.pos < end) {
|
|
154
|
+
const tag = reader.uint32();
|
|
155
|
+
|
|
156
|
+
switch (tag >>> 3) {
|
|
157
|
+
case 1:
|
|
158
|
+
message.tiers.push(SpotFeeTier.decode(reader, reader.uint32()));
|
|
159
|
+
break;
|
|
160
|
+
|
|
161
|
+
default:
|
|
162
|
+
reader.skipType(tag & 7);
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return message;
|
|
168
|
+
},
|
|
169
|
+
|
|
170
|
+
fromPartial(object: DeepPartial<SpotFeeParams>): SpotFeeParams {
|
|
171
|
+
const message = createBaseSpotFeeParams();
|
|
172
|
+
message.tiers = object.tiers?.map(e => SpotFeeTier.fromPartial(e)) || [];
|
|
173
|
+
return message;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
};
|
|
177
|
+
|
|
91
178
|
function createBasePerpetualFeeTier(): PerpetualFeeTier {
|
|
92
179
|
return {
|
|
93
180
|
name: "",
|
|
@@ -181,4 +268,99 @@ export const PerpetualFeeTier = {
|
|
|
181
268
|
return message;
|
|
182
269
|
}
|
|
183
270
|
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
function createBaseSpotFeeTier(): SpotFeeTier {
|
|
274
|
+
return {
|
|
275
|
+
name: "",
|
|
276
|
+
absoluteVolumeRequirement: Long.UZERO,
|
|
277
|
+
totalVolumeShareRequirementPpm: 0,
|
|
278
|
+
makerVolumeShareRequirementPpm: 0,
|
|
279
|
+
makerFeePpm: 0,
|
|
280
|
+
takerFeePpm: 0
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
export const SpotFeeTier = {
|
|
285
|
+
encode(message: SpotFeeTier, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
286
|
+
if (message.name !== "") {
|
|
287
|
+
writer.uint32(10).string(message.name);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
if (!message.absoluteVolumeRequirement.isZero()) {
|
|
291
|
+
writer.uint32(16).uint64(message.absoluteVolumeRequirement);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
if (message.totalVolumeShareRequirementPpm !== 0) {
|
|
295
|
+
writer.uint32(24).uint32(message.totalVolumeShareRequirementPpm);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
if (message.makerVolumeShareRequirementPpm !== 0) {
|
|
299
|
+
writer.uint32(32).uint32(message.makerVolumeShareRequirementPpm);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
if (message.makerFeePpm !== 0) {
|
|
303
|
+
writer.uint32(40).sint32(message.makerFeePpm);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
if (message.takerFeePpm !== 0) {
|
|
307
|
+
writer.uint32(48).sint32(message.takerFeePpm);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
return writer;
|
|
311
|
+
},
|
|
312
|
+
|
|
313
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): SpotFeeTier {
|
|
314
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
315
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
316
|
+
const message = createBaseSpotFeeTier();
|
|
317
|
+
|
|
318
|
+
while (reader.pos < end) {
|
|
319
|
+
const tag = reader.uint32();
|
|
320
|
+
|
|
321
|
+
switch (tag >>> 3) {
|
|
322
|
+
case 1:
|
|
323
|
+
message.name = reader.string();
|
|
324
|
+
break;
|
|
325
|
+
|
|
326
|
+
case 2:
|
|
327
|
+
message.absoluteVolumeRequirement = (reader.uint64() as Long);
|
|
328
|
+
break;
|
|
329
|
+
|
|
330
|
+
case 3:
|
|
331
|
+
message.totalVolumeShareRequirementPpm = reader.uint32();
|
|
332
|
+
break;
|
|
333
|
+
|
|
334
|
+
case 4:
|
|
335
|
+
message.makerVolumeShareRequirementPpm = reader.uint32();
|
|
336
|
+
break;
|
|
337
|
+
|
|
338
|
+
case 5:
|
|
339
|
+
message.makerFeePpm = reader.sint32();
|
|
340
|
+
break;
|
|
341
|
+
|
|
342
|
+
case 6:
|
|
343
|
+
message.takerFeePpm = reader.sint32();
|
|
344
|
+
break;
|
|
345
|
+
|
|
346
|
+
default:
|
|
347
|
+
reader.skipType(tag & 7);
|
|
348
|
+
break;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
return message;
|
|
353
|
+
},
|
|
354
|
+
|
|
355
|
+
fromPartial(object: DeepPartial<SpotFeeTier>): SpotFeeTier {
|
|
356
|
+
const message = createBaseSpotFeeTier();
|
|
357
|
+
message.name = object.name ?? "";
|
|
358
|
+
message.absoluteVolumeRequirement = object.absoluteVolumeRequirement !== undefined && object.absoluteVolumeRequirement !== null ? Long.fromValue(object.absoluteVolumeRequirement) : Long.UZERO;
|
|
359
|
+
message.totalVolumeShareRequirementPpm = object.totalVolumeShareRequirementPpm ?? 0;
|
|
360
|
+
message.makerVolumeShareRequirementPpm = object.makerVolumeShareRequirementPpm ?? 0;
|
|
361
|
+
message.makerFeePpm = object.makerFeePpm ?? 0;
|
|
362
|
+
message.takerFeePpm = object.takerFeePpm ?? 0;
|
|
363
|
+
return message;
|
|
364
|
+
}
|
|
365
|
+
|
|
184
366
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LCDClient } from "@osmonauts/lcd";
|
|
2
|
-
import { QueryPerpetualFeeParamsRequest, QueryPerpetualFeeParamsResponseSDKType, QueryUserFeeTierRequest, QueryUserFeeTierResponseSDKType, QueryPerMarketFeeDiscountParamsRequest, QueryPerMarketFeeDiscountParamsResponseSDKType, QueryAllMarketFeeDiscountParamsRequest, QueryAllMarketFeeDiscountParamsResponseSDKType, QueryStakingTiersRequest, QueryStakingTiersResponseSDKType, QueryUserStakingTierRequest, QueryUserStakingTierResponseSDKType } from "./query";
|
|
2
|
+
import { QueryPerpetualFeeParamsRequest, QueryPerpetualFeeParamsResponseSDKType, QueryUserFeeTierRequest, QueryUserFeeTierResponseSDKType, QueryUserSpotFeeTierRequest, QueryUserSpotFeeTierResponseSDKType, QueryPerMarketFeeDiscountParamsRequest, QueryPerMarketFeeDiscountParamsResponseSDKType, QueryAllMarketFeeDiscountParamsRequest, QueryAllMarketFeeDiscountParamsResponseSDKType, QueryStakingTiersRequest, QueryStakingTiersResponseSDKType, QueryUserStakingTierRequest, QueryUserStakingTierResponseSDKType } from "./query";
|
|
3
3
|
export class LCDQueryClient {
|
|
4
4
|
req: LCDClient;
|
|
5
5
|
|
|
@@ -11,6 +11,7 @@ export class LCDQueryClient {
|
|
|
11
11
|
this.req = requestClient;
|
|
12
12
|
this.perpetualFeeParams = this.perpetualFeeParams.bind(this);
|
|
13
13
|
this.userFeeTier = this.userFeeTier.bind(this);
|
|
14
|
+
this.userSpotFeeTier = this.userSpotFeeTier.bind(this);
|
|
14
15
|
this.perMarketFeeDiscountParams = this.perMarketFeeDiscountParams.bind(this);
|
|
15
16
|
this.allMarketFeeDiscountParams = this.allMarketFeeDiscountParams.bind(this);
|
|
16
17
|
this.stakingTiers = this.stakingTiers.bind(this);
|
|
@@ -38,6 +39,21 @@ export class LCDQueryClient {
|
|
|
38
39
|
const endpoint = `zogux/v4/feetiers/user_fee_tier`;
|
|
39
40
|
return await this.req.get<QueryUserFeeTierResponseSDKType>(endpoint, options);
|
|
40
41
|
}
|
|
42
|
+
/* Queries a user's spot fee tier */
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
async userSpotFeeTier(params: QueryUserSpotFeeTierRequest): Promise<QueryUserSpotFeeTierResponseSDKType> {
|
|
46
|
+
const options: any = {
|
|
47
|
+
params: {}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
if (typeof params?.user !== "undefined") {
|
|
51
|
+
options.params.user = params.user;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const endpoint = `zogux/v4/feetiers/user_spot_fee_tier`;
|
|
55
|
+
return await this.req.get<QueryUserSpotFeeTierResponseSDKType>(endpoint, options);
|
|
56
|
+
}
|
|
41
57
|
/* PerMarketFeeDiscountParams queries fee discount parameters for a
|
|
42
58
|
specific market/CLOB pair. */
|
|
43
59
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Rpc } from "../../helpers";
|
|
2
2
|
import * as _m0 from "protobufjs/minimal";
|
|
3
3
|
import { QueryClient, createProtobufRpcClient } from "@cosmjs/stargate";
|
|
4
|
-
import { QueryPerpetualFeeParamsRequest, QueryPerpetualFeeParamsResponse, QueryUserFeeTierRequest, QueryUserFeeTierResponse, QueryPerMarketFeeDiscountParamsRequest, QueryPerMarketFeeDiscountParamsResponse, QueryAllMarketFeeDiscountParamsRequest, QueryAllMarketFeeDiscountParamsResponse, QueryStakingTiersRequest, QueryStakingTiersResponse, QueryUserStakingTierRequest, QueryUserStakingTierResponse } from "./query";
|
|
4
|
+
import { QueryPerpetualFeeParamsRequest, QueryPerpetualFeeParamsResponse, QueryUserFeeTierRequest, QueryUserFeeTierResponse, QueryUserSpotFeeTierRequest, QueryUserSpotFeeTierResponse, QueryPerMarketFeeDiscountParamsRequest, QueryPerMarketFeeDiscountParamsResponse, QueryAllMarketFeeDiscountParamsRequest, QueryAllMarketFeeDiscountParamsResponse, QueryStakingTiersRequest, QueryStakingTiersResponse, QueryUserStakingTierRequest, QueryUserStakingTierResponse } from "./query";
|
|
5
5
|
/** Query defines the gRPC querier service. */
|
|
6
6
|
|
|
7
7
|
export interface Query {
|
|
@@ -10,6 +10,9 @@ export interface Query {
|
|
|
10
10
|
/** Queries a user's fee tier */
|
|
11
11
|
|
|
12
12
|
userFeeTier(request: QueryUserFeeTierRequest): Promise<QueryUserFeeTierResponse>;
|
|
13
|
+
/** Queries a user's spot fee tier */
|
|
14
|
+
|
|
15
|
+
userSpotFeeTier(request: QueryUserSpotFeeTierRequest): Promise<QueryUserSpotFeeTierResponse>;
|
|
13
16
|
/**
|
|
14
17
|
* PerMarketFeeDiscountParams queries fee discount parameters for a
|
|
15
18
|
* specific market/CLOB pair.
|
|
@@ -33,6 +36,7 @@ export class QueryClientImpl implements Query {
|
|
|
33
36
|
this.rpc = rpc;
|
|
34
37
|
this.perpetualFeeParams = this.perpetualFeeParams.bind(this);
|
|
35
38
|
this.userFeeTier = this.userFeeTier.bind(this);
|
|
39
|
+
this.userSpotFeeTier = this.userSpotFeeTier.bind(this);
|
|
36
40
|
this.perMarketFeeDiscountParams = this.perMarketFeeDiscountParams.bind(this);
|
|
37
41
|
this.allMarketFeeDiscountParams = this.allMarketFeeDiscountParams.bind(this);
|
|
38
42
|
this.stakingTiers = this.stakingTiers.bind(this);
|
|
@@ -51,6 +55,12 @@ export class QueryClientImpl implements Query {
|
|
|
51
55
|
return promise.then(data => QueryUserFeeTierResponse.decode(new _m0.Reader(data)));
|
|
52
56
|
}
|
|
53
57
|
|
|
58
|
+
userSpotFeeTier(request: QueryUserSpotFeeTierRequest): Promise<QueryUserSpotFeeTierResponse> {
|
|
59
|
+
const data = QueryUserSpotFeeTierRequest.encode(request).finish();
|
|
60
|
+
const promise = this.rpc.request("zogux.feetiers.Query", "UserSpotFeeTier", data);
|
|
61
|
+
return promise.then(data => QueryUserSpotFeeTierResponse.decode(new _m0.Reader(data)));
|
|
62
|
+
}
|
|
63
|
+
|
|
54
64
|
perMarketFeeDiscountParams(request: QueryPerMarketFeeDiscountParamsRequest): Promise<QueryPerMarketFeeDiscountParamsResponse> {
|
|
55
65
|
const data = QueryPerMarketFeeDiscountParamsRequest.encode(request).finish();
|
|
56
66
|
const promise = this.rpc.request("zogux.feetiers.Query", "PerMarketFeeDiscountParams", data);
|
|
@@ -88,6 +98,10 @@ export const createRpcQueryExtension = (base: QueryClient) => {
|
|
|
88
98
|
return queryService.userFeeTier(request);
|
|
89
99
|
},
|
|
90
100
|
|
|
101
|
+
userSpotFeeTier(request: QueryUserSpotFeeTierRequest): Promise<QueryUserSpotFeeTierResponse> {
|
|
102
|
+
return queryService.userSpotFeeTier(request);
|
|
103
|
+
},
|
|
104
|
+
|
|
91
105
|
perMarketFeeDiscountParams(request: QueryPerMarketFeeDiscountParamsRequest): Promise<QueryPerMarketFeeDiscountParamsResponse> {
|
|
92
106
|
return queryService.perMarketFeeDiscountParams(request);
|
|
93
107
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PerpetualFeeParams, PerpetualFeeParamsSDKType, PerpetualFeeTier, PerpetualFeeTierSDKType } from "./params";
|
|
1
|
+
import { PerpetualFeeParams, PerpetualFeeParamsSDKType, PerpetualFeeTier, PerpetualFeeTierSDKType, SpotFeeTier, SpotFeeTierSDKType } from "./params";
|
|
2
2
|
import { PerMarketFeeDiscountParams, PerMarketFeeDiscountParamsSDKType } from "./per_market_fee_discount";
|
|
3
3
|
import { StakingTier, StakingTierSDKType } from "./staking_tier";
|
|
4
4
|
import * as _m0 from "protobufjs/minimal";
|
|
@@ -47,12 +47,49 @@ export interface QueryUserFeeTierResponse {
|
|
|
47
47
|
/** Index of the fee tier in the list queried from PerpetualFeeParams. */
|
|
48
48
|
index: number;
|
|
49
49
|
tier?: PerpetualFeeTier;
|
|
50
|
+
/**
|
|
51
|
+
* Source volume bucket used for this fee tier calculation.
|
|
52
|
+
* feetiers uses perpetual-only notional.
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
volumeSource: string;
|
|
50
56
|
}
|
|
51
57
|
/** QueryUserFeeTierResponse is a request type for the UserFeeTier RPC method. */
|
|
52
58
|
|
|
53
59
|
export interface QueryUserFeeTierResponseSDKType {
|
|
54
60
|
index: number;
|
|
55
61
|
tier?: PerpetualFeeTierSDKType;
|
|
62
|
+
volume_source: string;
|
|
63
|
+
}
|
|
64
|
+
/** QueryUserSpotFeeTierRequest is a request type for the UserSpotFeeTier RPC method. */
|
|
65
|
+
|
|
66
|
+
export interface QueryUserSpotFeeTierRequest {
|
|
67
|
+
user: string;
|
|
68
|
+
}
|
|
69
|
+
/** QueryUserSpotFeeTierRequest is a request type for the UserSpotFeeTier RPC method. */
|
|
70
|
+
|
|
71
|
+
export interface QueryUserSpotFeeTierRequestSDKType {
|
|
72
|
+
user: string;
|
|
73
|
+
}
|
|
74
|
+
/** QueryUserSpotFeeTierResponse is a response type for the UserSpotFeeTier RPC method. */
|
|
75
|
+
|
|
76
|
+
export interface QueryUserSpotFeeTierResponse {
|
|
77
|
+
/** Index of the fee tier in the list queried from SpotFeeParams. */
|
|
78
|
+
index: number;
|
|
79
|
+
tier?: SpotFeeTier;
|
|
80
|
+
/**
|
|
81
|
+
* Source volume bucket used for this fee tier calculation.
|
|
82
|
+
* feetiers uses spot-only notional.
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
volumeSource: string;
|
|
86
|
+
}
|
|
87
|
+
/** QueryUserSpotFeeTierResponse is a response type for the UserSpotFeeTier RPC method. */
|
|
88
|
+
|
|
89
|
+
export interface QueryUserSpotFeeTierResponseSDKType {
|
|
90
|
+
index: number;
|
|
91
|
+
tier?: SpotFeeTierSDKType;
|
|
92
|
+
volume_source: string;
|
|
56
93
|
}
|
|
57
94
|
/**
|
|
58
95
|
* QueryPerMarketFeeDiscountParamsRequest is the request type for the
|
|
@@ -304,7 +341,8 @@ export const QueryUserFeeTierRequest = {
|
|
|
304
341
|
function createBaseQueryUserFeeTierResponse(): QueryUserFeeTierResponse {
|
|
305
342
|
return {
|
|
306
343
|
index: 0,
|
|
307
|
-
tier: undefined
|
|
344
|
+
tier: undefined,
|
|
345
|
+
volumeSource: ""
|
|
308
346
|
};
|
|
309
347
|
}
|
|
310
348
|
|
|
@@ -318,6 +356,10 @@ export const QueryUserFeeTierResponse = {
|
|
|
318
356
|
PerpetualFeeTier.encode(message.tier, writer.uint32(18).fork()).ldelim();
|
|
319
357
|
}
|
|
320
358
|
|
|
359
|
+
if (message.volumeSource !== "") {
|
|
360
|
+
writer.uint32(26).string(message.volumeSource);
|
|
361
|
+
}
|
|
362
|
+
|
|
321
363
|
return writer;
|
|
322
364
|
},
|
|
323
365
|
|
|
@@ -338,6 +380,10 @@ export const QueryUserFeeTierResponse = {
|
|
|
338
380
|
message.tier = PerpetualFeeTier.decode(reader, reader.uint32());
|
|
339
381
|
break;
|
|
340
382
|
|
|
383
|
+
case 3:
|
|
384
|
+
message.volumeSource = reader.string();
|
|
385
|
+
break;
|
|
386
|
+
|
|
341
387
|
default:
|
|
342
388
|
reader.skipType(tag & 7);
|
|
343
389
|
break;
|
|
@@ -351,6 +397,117 @@ export const QueryUserFeeTierResponse = {
|
|
|
351
397
|
const message = createBaseQueryUserFeeTierResponse();
|
|
352
398
|
message.index = object.index ?? 0;
|
|
353
399
|
message.tier = object.tier !== undefined && object.tier !== null ? PerpetualFeeTier.fromPartial(object.tier) : undefined;
|
|
400
|
+
message.volumeSource = object.volumeSource ?? "";
|
|
401
|
+
return message;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
};
|
|
405
|
+
|
|
406
|
+
function createBaseQueryUserSpotFeeTierRequest(): QueryUserSpotFeeTierRequest {
|
|
407
|
+
return {
|
|
408
|
+
user: ""
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
export const QueryUserSpotFeeTierRequest = {
|
|
413
|
+
encode(message: QueryUserSpotFeeTierRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
414
|
+
if (message.user !== "") {
|
|
415
|
+
writer.uint32(10).string(message.user);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
return writer;
|
|
419
|
+
},
|
|
420
|
+
|
|
421
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): QueryUserSpotFeeTierRequest {
|
|
422
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
423
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
424
|
+
const message = createBaseQueryUserSpotFeeTierRequest();
|
|
425
|
+
|
|
426
|
+
while (reader.pos < end) {
|
|
427
|
+
const tag = reader.uint32();
|
|
428
|
+
|
|
429
|
+
switch (tag >>> 3) {
|
|
430
|
+
case 1:
|
|
431
|
+
message.user = reader.string();
|
|
432
|
+
break;
|
|
433
|
+
|
|
434
|
+
default:
|
|
435
|
+
reader.skipType(tag & 7);
|
|
436
|
+
break;
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
return message;
|
|
441
|
+
},
|
|
442
|
+
|
|
443
|
+
fromPartial(object: DeepPartial<QueryUserSpotFeeTierRequest>): QueryUserSpotFeeTierRequest {
|
|
444
|
+
const message = createBaseQueryUserSpotFeeTierRequest();
|
|
445
|
+
message.user = object.user ?? "";
|
|
446
|
+
return message;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
};
|
|
450
|
+
|
|
451
|
+
function createBaseQueryUserSpotFeeTierResponse(): QueryUserSpotFeeTierResponse {
|
|
452
|
+
return {
|
|
453
|
+
index: 0,
|
|
454
|
+
tier: undefined,
|
|
455
|
+
volumeSource: ""
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
export const QueryUserSpotFeeTierResponse = {
|
|
460
|
+
encode(message: QueryUserSpotFeeTierResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
461
|
+
if (message.index !== 0) {
|
|
462
|
+
writer.uint32(8).uint32(message.index);
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
if (message.tier !== undefined) {
|
|
466
|
+
SpotFeeTier.encode(message.tier, writer.uint32(18).fork()).ldelim();
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
if (message.volumeSource !== "") {
|
|
470
|
+
writer.uint32(26).string(message.volumeSource);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
return writer;
|
|
474
|
+
},
|
|
475
|
+
|
|
476
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): QueryUserSpotFeeTierResponse {
|
|
477
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
478
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
479
|
+
const message = createBaseQueryUserSpotFeeTierResponse();
|
|
480
|
+
|
|
481
|
+
while (reader.pos < end) {
|
|
482
|
+
const tag = reader.uint32();
|
|
483
|
+
|
|
484
|
+
switch (tag >>> 3) {
|
|
485
|
+
case 1:
|
|
486
|
+
message.index = reader.uint32();
|
|
487
|
+
break;
|
|
488
|
+
|
|
489
|
+
case 2:
|
|
490
|
+
message.tier = SpotFeeTier.decode(reader, reader.uint32());
|
|
491
|
+
break;
|
|
492
|
+
|
|
493
|
+
case 3:
|
|
494
|
+
message.volumeSource = reader.string();
|
|
495
|
+
break;
|
|
496
|
+
|
|
497
|
+
default:
|
|
498
|
+
reader.skipType(tag & 7);
|
|
499
|
+
break;
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
return message;
|
|
504
|
+
},
|
|
505
|
+
|
|
506
|
+
fromPartial(object: DeepPartial<QueryUserSpotFeeTierResponse>): QueryUserSpotFeeTierResponse {
|
|
507
|
+
const message = createBaseQueryUserSpotFeeTierResponse();
|
|
508
|
+
message.index = object.index ?? 0;
|
|
509
|
+
message.tier = object.tier !== undefined && object.tier !== null ? SpotFeeTier.fromPartial(object.tier) : undefined;
|
|
510
|
+
message.volumeSource = object.volumeSource ?? "";
|
|
354
511
|
return message;
|
|
355
512
|
}
|
|
356
513
|
|