@zoguxprotocol/proto 0.1.5 → 0.1.7

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.
@@ -84,6 +84,31 @@ export interface IndexerAssetPositionSDKType {
84
84
  quantums: Uint8Array;
85
85
  index: Long;
86
86
  }
87
+ /**
88
+ * IndexerSpotLockedBalance tracks locked funds for pending spot orders for a specific asset.
89
+ * This is used to ensure users have sufficient balance when placing limit orders.
90
+ */
91
+
92
+ export interface IndexerSpotLockedBalance {
93
+ /** The Id of the Asset being locked (e.g., USDC = 0, BTC = 1). */
94
+ assetId: number;
95
+ /**
96
+ * Quantums of this asset locked for pending spot orders.
97
+ * For BUY orders: quote asset (e.g., USDC) is locked.
98
+ * For SELL orders: base asset (e.g., BTC) is locked.
99
+ */
100
+
101
+ quantumsLocked: Uint8Array;
102
+ }
103
+ /**
104
+ * IndexerSpotLockedBalance tracks locked funds for pending spot orders for a specific asset.
105
+ * This is used to ensure users have sufficient balance when placing limit orders.
106
+ */
107
+
108
+ export interface IndexerSpotLockedBalanceSDKType {
109
+ asset_id: number;
110
+ quantums_locked: Uint8Array;
111
+ }
87
112
 
88
113
  function createBaseIndexerSubaccountId(): IndexerSubaccountId {
89
114
  return {
@@ -278,4 +303,59 @@ export const IndexerAssetPosition = {
278
303
  return message;
279
304
  }
280
305
 
306
+ };
307
+
308
+ function createBaseIndexerSpotLockedBalance(): IndexerSpotLockedBalance {
309
+ return {
310
+ assetId: 0,
311
+ quantumsLocked: new Uint8Array()
312
+ };
313
+ }
314
+
315
+ export const IndexerSpotLockedBalance = {
316
+ encode(message: IndexerSpotLockedBalance, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
317
+ if (message.assetId !== 0) {
318
+ writer.uint32(8).uint32(message.assetId);
319
+ }
320
+
321
+ if (message.quantumsLocked.length !== 0) {
322
+ writer.uint32(18).bytes(message.quantumsLocked);
323
+ }
324
+
325
+ return writer;
326
+ },
327
+
328
+ decode(input: _m0.Reader | Uint8Array, length?: number): IndexerSpotLockedBalance {
329
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
330
+ let end = length === undefined ? reader.len : reader.pos + length;
331
+ const message = createBaseIndexerSpotLockedBalance();
332
+
333
+ while (reader.pos < end) {
334
+ const tag = reader.uint32();
335
+
336
+ switch (tag >>> 3) {
337
+ case 1:
338
+ message.assetId = reader.uint32();
339
+ break;
340
+
341
+ case 2:
342
+ message.quantumsLocked = reader.bytes();
343
+ break;
344
+
345
+ default:
346
+ reader.skipType(tag & 7);
347
+ break;
348
+ }
349
+ }
350
+
351
+ return message;
352
+ },
353
+
354
+ fromPartial(object: DeepPartial<IndexerSpotLockedBalance>): IndexerSpotLockedBalance {
355
+ const message = createBaseIndexerSpotLockedBalance();
356
+ message.assetId = object.assetId ?? 0;
357
+ message.quantumsLocked = object.quantumsLocked ?? new Uint8Array();
358
+ return message;
359
+ }
360
+
281
361
  };
@@ -77,6 +77,7 @@ export const createRPCMsgClient = async ({
77
77
  sending: new (await import("./sending/tx.rpc.msg")).MsgClientImpl(rpc),
78
78
  spots: new (await import("./spots/tx.rpc.msg")).MsgClientImpl(rpc),
79
79
  stats: new (await import("./stats/tx.rpc.msg")).MsgClientImpl(rpc),
80
+ subaccounts: new (await import("./subaccounts/tx.rpc.msg")).MsgClientImpl(rpc),
80
81
  token: new (await import("./token/tx.rpc.msg")).MsgClientImpl(rpc),
81
82
  vault: new (await import("./vault/tx.rpc.msg")).MsgClientImpl(rpc),
82
83
  vest: new (await import("./vest/tx.rpc.msg")).MsgClientImpl(rpc)
@@ -25,6 +25,33 @@ export interface TransferSDKType {
25
25
  asset_id: number;
26
26
  amount: Long;
27
27
  }
28
+ /** MsgCreateTransferSpot represents a single transfer of spot assets between two subaccounts. */
29
+
30
+ export interface MsgCreateTransferSpot {
31
+ /** The sender subaccount owner's wallet address (used as signer). */
32
+ sender: string;
33
+ /** The sender subaccount ID. */
34
+
35
+ senderSubaccountId?: SubaccountId;
36
+ /** The recipient subaccount ID. */
37
+
38
+ recipientSubaccountId?: SubaccountId;
39
+ /** Id of the asset to transfer. */
40
+
41
+ assetId: number;
42
+ /** The number of quantums of asset to transfer. */
43
+
44
+ quantums: Long;
45
+ }
46
+ /** MsgCreateTransferSpot represents a single transfer of spot assets between two subaccounts. */
47
+
48
+ export interface MsgCreateTransferSpotSDKType {
49
+ sender: string;
50
+ sender_subaccount_id?: SubaccountIdSDKType;
51
+ recipient_subaccount_id?: SubaccountIdSDKType;
52
+ asset_id: number;
53
+ quantums: Long;
54
+ }
28
55
  /**
29
56
  * MsgDepositToSubaccount represents a single transfer from an `x/bank`
30
57
  * account to an `x/subaccounts` subaccount.
@@ -118,6 +145,138 @@ export interface MsgSendFromModuleToAccountSDKType {
118
145
  recipient: string;
119
146
  coin?: CoinSDKType;
120
147
  }
148
+ /**
149
+ * MsgDepositToSpot represents a single transfer from an `x/bank`
150
+ * account to an `x/subaccounts` subaccount's spot balance.
151
+ */
152
+
153
+ export interface MsgDepositToSpot {
154
+ /** The sender wallet address. */
155
+ sender: string;
156
+ /** The recipient subaccount ID. */
157
+
158
+ recipient?: SubaccountId;
159
+ /** Id of the asset to transfer. */
160
+
161
+ assetId: number;
162
+ /** The number of quantums of asset to transfer. */
163
+
164
+ quantums: Long;
165
+ }
166
+ /**
167
+ * MsgDepositToSpot represents a single transfer from an `x/bank`
168
+ * account to an `x/subaccounts` subaccount's spot balance.
169
+ */
170
+
171
+ export interface MsgDepositToSpotSDKType {
172
+ sender: string;
173
+ recipient?: SubaccountIdSDKType;
174
+ asset_id: number;
175
+ quantums: Long;
176
+ }
177
+ /**
178
+ * MsgWithdrawFromSpot represents a single transfer from an
179
+ * `x/subaccounts` subaccount's spot balance to an `x/bank` account.
180
+ */
181
+
182
+ export interface MsgWithdrawFromSpot {
183
+ /** The sender subaccount ID. */
184
+ sender?: SubaccountId;
185
+ /** The recipient wallet address. */
186
+
187
+ recipient: string;
188
+ /** Id of the asset to transfer. */
189
+
190
+ assetId: number;
191
+ /** The number of quantums of asset to transfer. */
192
+
193
+ quantums: Long;
194
+ }
195
+ /**
196
+ * MsgWithdrawFromSpot represents a single transfer from an
197
+ * `x/subaccounts` subaccount's spot balance to an `x/bank` account.
198
+ */
199
+
200
+ export interface MsgWithdrawFromSpotSDKType {
201
+ sender?: SubaccountIdSDKType;
202
+ recipient: string;
203
+ asset_id: number;
204
+ quantums: Long;
205
+ }
206
+ /**
207
+ * MsgTransferSpotToPerp represents a transfer from spot balance to
208
+ * perpetual collateral. If sender_subaccount_id and recipient_subaccount_id
209
+ * are the same, it transfers within the same subaccount. Otherwise, it
210
+ * transfers between different subaccounts.
211
+ */
212
+
213
+ export interface MsgTransferSpotToPerp {
214
+ /** The sender subaccount owner's wallet address (used as signer). */
215
+ sender: string;
216
+ /** The sender subaccount ID (spot balance source). */
217
+
218
+ senderSubaccountId?: SubaccountId;
219
+ /** The recipient subaccount ID (perpetual collateral destination). */
220
+
221
+ recipientSubaccountId?: SubaccountId;
222
+ /** Id of the asset to transfer. */
223
+
224
+ assetId: number;
225
+ /** The number of quantums of asset to transfer. */
226
+
227
+ quantums: Long;
228
+ }
229
+ /**
230
+ * MsgTransferSpotToPerp represents a transfer from spot balance to
231
+ * perpetual collateral. If sender_subaccount_id and recipient_subaccount_id
232
+ * are the same, it transfers within the same subaccount. Otherwise, it
233
+ * transfers between different subaccounts.
234
+ */
235
+
236
+ export interface MsgTransferSpotToPerpSDKType {
237
+ sender: string;
238
+ sender_subaccount_id?: SubaccountIdSDKType;
239
+ recipient_subaccount_id?: SubaccountIdSDKType;
240
+ asset_id: number;
241
+ quantums: Long;
242
+ }
243
+ /**
244
+ * MsgTransferPerpToSpot represents a transfer from perpetual collateral to
245
+ * spot balance. If sender_subaccount_id and recipient_subaccount_id
246
+ * are the same, it transfers within the same subaccount. Otherwise, it
247
+ * transfers between different subaccounts.
248
+ */
249
+
250
+ export interface MsgTransferPerpToSpot {
251
+ /** The sender subaccount owner's wallet address (used as signer). */
252
+ sender: string;
253
+ /** The sender subaccount ID (perpetual collateral source). */
254
+
255
+ senderSubaccountId?: SubaccountId;
256
+ /** The recipient subaccount ID (spot balance destination). */
257
+
258
+ recipientSubaccountId?: SubaccountId;
259
+ /** Id of the asset to transfer. */
260
+
261
+ assetId: number;
262
+ /** The number of quantums of asset to transfer. */
263
+
264
+ quantums: Long;
265
+ }
266
+ /**
267
+ * MsgTransferPerpToSpot represents a transfer from perpetual collateral to
268
+ * spot balance. If sender_subaccount_id and recipient_subaccount_id
269
+ * are the same, it transfers within the same subaccount. Otherwise, it
270
+ * transfers between different subaccounts.
271
+ */
272
+
273
+ export interface MsgTransferPerpToSpotSDKType {
274
+ sender: string;
275
+ sender_subaccount_id?: SubaccountIdSDKType;
276
+ recipient_subaccount_id?: SubaccountIdSDKType;
277
+ asset_id: number;
278
+ quantums: Long;
279
+ }
121
280
 
122
281
  function createBaseTransfer(): Transfer {
123
282
  return {
@@ -194,6 +353,91 @@ export const Transfer = {
194
353
 
195
354
  };
196
355
 
356
+ function createBaseMsgCreateTransferSpot(): MsgCreateTransferSpot {
357
+ return {
358
+ sender: "",
359
+ senderSubaccountId: undefined,
360
+ recipientSubaccountId: undefined,
361
+ assetId: 0,
362
+ quantums: Long.UZERO
363
+ };
364
+ }
365
+
366
+ export const MsgCreateTransferSpot = {
367
+ encode(message: MsgCreateTransferSpot, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
368
+ if (message.sender !== "") {
369
+ writer.uint32(10).string(message.sender);
370
+ }
371
+
372
+ if (message.senderSubaccountId !== undefined) {
373
+ SubaccountId.encode(message.senderSubaccountId, writer.uint32(18).fork()).ldelim();
374
+ }
375
+
376
+ if (message.recipientSubaccountId !== undefined) {
377
+ SubaccountId.encode(message.recipientSubaccountId, writer.uint32(26).fork()).ldelim();
378
+ }
379
+
380
+ if (message.assetId !== 0) {
381
+ writer.uint32(32).uint32(message.assetId);
382
+ }
383
+
384
+ if (!message.quantums.isZero()) {
385
+ writer.uint32(40).uint64(message.quantums);
386
+ }
387
+
388
+ return writer;
389
+ },
390
+
391
+ decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateTransferSpot {
392
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
393
+ let end = length === undefined ? reader.len : reader.pos + length;
394
+ const message = createBaseMsgCreateTransferSpot();
395
+
396
+ while (reader.pos < end) {
397
+ const tag = reader.uint32();
398
+
399
+ switch (tag >>> 3) {
400
+ case 1:
401
+ message.sender = reader.string();
402
+ break;
403
+
404
+ case 2:
405
+ message.senderSubaccountId = SubaccountId.decode(reader, reader.uint32());
406
+ break;
407
+
408
+ case 3:
409
+ message.recipientSubaccountId = SubaccountId.decode(reader, reader.uint32());
410
+ break;
411
+
412
+ case 4:
413
+ message.assetId = reader.uint32();
414
+ break;
415
+
416
+ case 5:
417
+ message.quantums = (reader.uint64() as Long);
418
+ break;
419
+
420
+ default:
421
+ reader.skipType(tag & 7);
422
+ break;
423
+ }
424
+ }
425
+
426
+ return message;
427
+ },
428
+
429
+ fromPartial(object: DeepPartial<MsgCreateTransferSpot>): MsgCreateTransferSpot {
430
+ const message = createBaseMsgCreateTransferSpot();
431
+ message.sender = object.sender ?? "";
432
+ message.senderSubaccountId = object.senderSubaccountId !== undefined && object.senderSubaccountId !== null ? SubaccountId.fromPartial(object.senderSubaccountId) : undefined;
433
+ message.recipientSubaccountId = object.recipientSubaccountId !== undefined && object.recipientSubaccountId !== null ? SubaccountId.fromPartial(object.recipientSubaccountId) : undefined;
434
+ message.assetId = object.assetId ?? 0;
435
+ message.quantums = object.quantums !== undefined && object.quantums !== null ? Long.fromValue(object.quantums) : Long.UZERO;
436
+ return message;
437
+ }
438
+
439
+ };
440
+
197
441
  function createBaseMsgDepositToSubaccount(): MsgDepositToSubaccount {
198
442
  return {
199
443
  sender: "",
@@ -417,4 +661,324 @@ export const MsgSendFromModuleToAccount = {
417
661
  return message;
418
662
  }
419
663
 
664
+ };
665
+
666
+ function createBaseMsgDepositToSpot(): MsgDepositToSpot {
667
+ return {
668
+ sender: "",
669
+ recipient: undefined,
670
+ assetId: 0,
671
+ quantums: Long.UZERO
672
+ };
673
+ }
674
+
675
+ export const MsgDepositToSpot = {
676
+ encode(message: MsgDepositToSpot, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
677
+ if (message.sender !== "") {
678
+ writer.uint32(10).string(message.sender);
679
+ }
680
+
681
+ if (message.recipient !== undefined) {
682
+ SubaccountId.encode(message.recipient, writer.uint32(18).fork()).ldelim();
683
+ }
684
+
685
+ if (message.assetId !== 0) {
686
+ writer.uint32(24).uint32(message.assetId);
687
+ }
688
+
689
+ if (!message.quantums.isZero()) {
690
+ writer.uint32(32).uint64(message.quantums);
691
+ }
692
+
693
+ return writer;
694
+ },
695
+
696
+ decode(input: _m0.Reader | Uint8Array, length?: number): MsgDepositToSpot {
697
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
698
+ let end = length === undefined ? reader.len : reader.pos + length;
699
+ const message = createBaseMsgDepositToSpot();
700
+
701
+ while (reader.pos < end) {
702
+ const tag = reader.uint32();
703
+
704
+ switch (tag >>> 3) {
705
+ case 1:
706
+ message.sender = reader.string();
707
+ break;
708
+
709
+ case 2:
710
+ message.recipient = SubaccountId.decode(reader, reader.uint32());
711
+ break;
712
+
713
+ case 3:
714
+ message.assetId = reader.uint32();
715
+ break;
716
+
717
+ case 4:
718
+ message.quantums = (reader.uint64() as Long);
719
+ break;
720
+
721
+ default:
722
+ reader.skipType(tag & 7);
723
+ break;
724
+ }
725
+ }
726
+
727
+ return message;
728
+ },
729
+
730
+ fromPartial(object: DeepPartial<MsgDepositToSpot>): MsgDepositToSpot {
731
+ const message = createBaseMsgDepositToSpot();
732
+ message.sender = object.sender ?? "";
733
+ message.recipient = object.recipient !== undefined && object.recipient !== null ? SubaccountId.fromPartial(object.recipient) : undefined;
734
+ message.assetId = object.assetId ?? 0;
735
+ message.quantums = object.quantums !== undefined && object.quantums !== null ? Long.fromValue(object.quantums) : Long.UZERO;
736
+ return message;
737
+ }
738
+
739
+ };
740
+
741
+ function createBaseMsgWithdrawFromSpot(): MsgWithdrawFromSpot {
742
+ return {
743
+ sender: undefined,
744
+ recipient: "",
745
+ assetId: 0,
746
+ quantums: Long.UZERO
747
+ };
748
+ }
749
+
750
+ export const MsgWithdrawFromSpot = {
751
+ encode(message: MsgWithdrawFromSpot, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
752
+ if (message.sender !== undefined) {
753
+ SubaccountId.encode(message.sender, writer.uint32(18).fork()).ldelim();
754
+ }
755
+
756
+ if (message.recipient !== "") {
757
+ writer.uint32(10).string(message.recipient);
758
+ }
759
+
760
+ if (message.assetId !== 0) {
761
+ writer.uint32(24).uint32(message.assetId);
762
+ }
763
+
764
+ if (!message.quantums.isZero()) {
765
+ writer.uint32(32).uint64(message.quantums);
766
+ }
767
+
768
+ return writer;
769
+ },
770
+
771
+ decode(input: _m0.Reader | Uint8Array, length?: number): MsgWithdrawFromSpot {
772
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
773
+ let end = length === undefined ? reader.len : reader.pos + length;
774
+ const message = createBaseMsgWithdrawFromSpot();
775
+
776
+ while (reader.pos < end) {
777
+ const tag = reader.uint32();
778
+
779
+ switch (tag >>> 3) {
780
+ case 2:
781
+ message.sender = SubaccountId.decode(reader, reader.uint32());
782
+ break;
783
+
784
+ case 1:
785
+ message.recipient = reader.string();
786
+ break;
787
+
788
+ case 3:
789
+ message.assetId = reader.uint32();
790
+ break;
791
+
792
+ case 4:
793
+ message.quantums = (reader.uint64() as Long);
794
+ break;
795
+
796
+ default:
797
+ reader.skipType(tag & 7);
798
+ break;
799
+ }
800
+ }
801
+
802
+ return message;
803
+ },
804
+
805
+ fromPartial(object: DeepPartial<MsgWithdrawFromSpot>): MsgWithdrawFromSpot {
806
+ const message = createBaseMsgWithdrawFromSpot();
807
+ message.sender = object.sender !== undefined && object.sender !== null ? SubaccountId.fromPartial(object.sender) : undefined;
808
+ message.recipient = object.recipient ?? "";
809
+ message.assetId = object.assetId ?? 0;
810
+ message.quantums = object.quantums !== undefined && object.quantums !== null ? Long.fromValue(object.quantums) : Long.UZERO;
811
+ return message;
812
+ }
813
+
814
+ };
815
+
816
+ function createBaseMsgTransferSpotToPerp(): MsgTransferSpotToPerp {
817
+ return {
818
+ sender: "",
819
+ senderSubaccountId: undefined,
820
+ recipientSubaccountId: undefined,
821
+ assetId: 0,
822
+ quantums: Long.UZERO
823
+ };
824
+ }
825
+
826
+ export const MsgTransferSpotToPerp = {
827
+ encode(message: MsgTransferSpotToPerp, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
828
+ if (message.sender !== "") {
829
+ writer.uint32(10).string(message.sender);
830
+ }
831
+
832
+ if (message.senderSubaccountId !== undefined) {
833
+ SubaccountId.encode(message.senderSubaccountId, writer.uint32(18).fork()).ldelim();
834
+ }
835
+
836
+ if (message.recipientSubaccountId !== undefined) {
837
+ SubaccountId.encode(message.recipientSubaccountId, writer.uint32(26).fork()).ldelim();
838
+ }
839
+
840
+ if (message.assetId !== 0) {
841
+ writer.uint32(32).uint32(message.assetId);
842
+ }
843
+
844
+ if (!message.quantums.isZero()) {
845
+ writer.uint32(40).uint64(message.quantums);
846
+ }
847
+
848
+ return writer;
849
+ },
850
+
851
+ decode(input: _m0.Reader | Uint8Array, length?: number): MsgTransferSpotToPerp {
852
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
853
+ let end = length === undefined ? reader.len : reader.pos + length;
854
+ const message = createBaseMsgTransferSpotToPerp();
855
+
856
+ while (reader.pos < end) {
857
+ const tag = reader.uint32();
858
+
859
+ switch (tag >>> 3) {
860
+ case 1:
861
+ message.sender = reader.string();
862
+ break;
863
+
864
+ case 2:
865
+ message.senderSubaccountId = SubaccountId.decode(reader, reader.uint32());
866
+ break;
867
+
868
+ case 3:
869
+ message.recipientSubaccountId = SubaccountId.decode(reader, reader.uint32());
870
+ break;
871
+
872
+ case 4:
873
+ message.assetId = reader.uint32();
874
+ break;
875
+
876
+ case 5:
877
+ message.quantums = (reader.uint64() as Long);
878
+ break;
879
+
880
+ default:
881
+ reader.skipType(tag & 7);
882
+ break;
883
+ }
884
+ }
885
+
886
+ return message;
887
+ },
888
+
889
+ fromPartial(object: DeepPartial<MsgTransferSpotToPerp>): MsgTransferSpotToPerp {
890
+ const message = createBaseMsgTransferSpotToPerp();
891
+ message.sender = object.sender ?? "";
892
+ message.senderSubaccountId = object.senderSubaccountId !== undefined && object.senderSubaccountId !== null ? SubaccountId.fromPartial(object.senderSubaccountId) : undefined;
893
+ message.recipientSubaccountId = object.recipientSubaccountId !== undefined && object.recipientSubaccountId !== null ? SubaccountId.fromPartial(object.recipientSubaccountId) : undefined;
894
+ message.assetId = object.assetId ?? 0;
895
+ message.quantums = object.quantums !== undefined && object.quantums !== null ? Long.fromValue(object.quantums) : Long.UZERO;
896
+ return message;
897
+ }
898
+
899
+ };
900
+
901
+ function createBaseMsgTransferPerpToSpot(): MsgTransferPerpToSpot {
902
+ return {
903
+ sender: "",
904
+ senderSubaccountId: undefined,
905
+ recipientSubaccountId: undefined,
906
+ assetId: 0,
907
+ quantums: Long.UZERO
908
+ };
909
+ }
910
+
911
+ export const MsgTransferPerpToSpot = {
912
+ encode(message: MsgTransferPerpToSpot, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
913
+ if (message.sender !== "") {
914
+ writer.uint32(10).string(message.sender);
915
+ }
916
+
917
+ if (message.senderSubaccountId !== undefined) {
918
+ SubaccountId.encode(message.senderSubaccountId, writer.uint32(18).fork()).ldelim();
919
+ }
920
+
921
+ if (message.recipientSubaccountId !== undefined) {
922
+ SubaccountId.encode(message.recipientSubaccountId, writer.uint32(26).fork()).ldelim();
923
+ }
924
+
925
+ if (message.assetId !== 0) {
926
+ writer.uint32(32).uint32(message.assetId);
927
+ }
928
+
929
+ if (!message.quantums.isZero()) {
930
+ writer.uint32(40).uint64(message.quantums);
931
+ }
932
+
933
+ return writer;
934
+ },
935
+
936
+ decode(input: _m0.Reader | Uint8Array, length?: number): MsgTransferPerpToSpot {
937
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
938
+ let end = length === undefined ? reader.len : reader.pos + length;
939
+ const message = createBaseMsgTransferPerpToSpot();
940
+
941
+ while (reader.pos < end) {
942
+ const tag = reader.uint32();
943
+
944
+ switch (tag >>> 3) {
945
+ case 1:
946
+ message.sender = reader.string();
947
+ break;
948
+
949
+ case 2:
950
+ message.senderSubaccountId = SubaccountId.decode(reader, reader.uint32());
951
+ break;
952
+
953
+ case 3:
954
+ message.recipientSubaccountId = SubaccountId.decode(reader, reader.uint32());
955
+ break;
956
+
957
+ case 4:
958
+ message.assetId = reader.uint32();
959
+ break;
960
+
961
+ case 5:
962
+ message.quantums = (reader.uint64() as Long);
963
+ break;
964
+
965
+ default:
966
+ reader.skipType(tag & 7);
967
+ break;
968
+ }
969
+ }
970
+
971
+ return message;
972
+ },
973
+
974
+ fromPartial(object: DeepPartial<MsgTransferPerpToSpot>): MsgTransferPerpToSpot {
975
+ const message = createBaseMsgTransferPerpToSpot();
976
+ message.sender = object.sender ?? "";
977
+ message.senderSubaccountId = object.senderSubaccountId !== undefined && object.senderSubaccountId !== null ? SubaccountId.fromPartial(object.senderSubaccountId) : undefined;
978
+ message.recipientSubaccountId = object.recipientSubaccountId !== undefined && object.recipientSubaccountId !== null ? SubaccountId.fromPartial(object.recipientSubaccountId) : undefined;
979
+ message.assetId = object.assetId ?? 0;
980
+ message.quantums = object.quantums !== undefined && object.quantums !== null ? Long.fromValue(object.quantums) : Long.UZERO;
981
+ return message;
982
+ }
983
+
420
984
  };