@dydxprotocol/v4-client-js 1.0.29 → 1.0.30

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.
Files changed (70) hide show
  1. package/__native__/__ios__/v4-native-client.js +1524 -118
  2. package/build/examples/gov_add_new_market.js +3 -1
  3. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.d.ts +158 -158
  4. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.js +126 -126
  5. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts +789 -584
  6. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.js +170 -155
  7. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/block_rate_limit_config.d.ts +8 -0
  8. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/block_rate_limit_config.js +11 -3
  9. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.d.ts +49 -0
  10. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.js +93 -2
  11. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.d.ts +5 -1
  12. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.js +10 -1
  13. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.d.ts +81 -0
  14. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.js +153 -2
  15. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.rpc.msg.d.ts +4 -1
  16. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.rpc.msg.js +7 -1
  17. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.d.ts +7 -3
  18. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.js +16 -8
  19. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/perpetual.d.ts +16 -0
  20. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/perpetual.js +51 -0
  21. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/perpetual.d.ts +31 -0
  22. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/perpetual.js +82 -7
  23. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts +2 -0
  24. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.js +2 -1
  25. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.tx.d.ts +1 -0
  26. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.tx.js +2 -1
  27. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/subaccount.d.ts +2 -2
  28. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/genesis.d.ts +13 -0
  29. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/genesis.js +54 -0
  30. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.d.ts +1 -0
  31. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.js +3 -0
  32. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.rpc.Query.d.ts +10 -0
  33. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.rpc.Query.js +17 -0
  34. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.d.ts +35 -0
  35. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.js +108 -0
  36. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.rpc.msg.d.ts +12 -0
  37. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.rpc.msg.js +41 -0
  38. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/vault.d.ts +44 -0
  39. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/vault.js +145 -0
  40. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/gogoproto/bundle.js +2 -2
  41. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.d.ts +174 -174
  42. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.js +12 -12
  43. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.d.ts +365 -365
  44. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.js +22 -22
  45. package/build/src/clients/composite-client.js +2 -2
  46. package/build/src/clients/modules/account.js +2 -2
  47. package/build/src/clients/modules/composer.d.ts +2 -1
  48. package/build/src/clients/modules/composer.js +3 -2
  49. package/build/src/clients/modules/get.d.ts +1 -1
  50. package/build/src/clients/modules/get.js +1 -1
  51. package/build/src/clients/modules/post.js +1 -1
  52. package/build/src/clients/native.d.ts +2 -0
  53. package/build/src/clients/native.js +35 -2
  54. package/build/src/clients/socket-client.d.ts +0 -3
  55. package/build/src/clients/socket-client.js +1 -15
  56. package/build/src/clients/types.d.ts +2 -0
  57. package/build/src/clients/types.js +1 -1
  58. package/examples/gov_add_new_market.ts +2 -0
  59. package/package.json +2 -2
  60. package/src/clients/composite-client.ts +1 -0
  61. package/src/clients/modules/account.ts +1 -1
  62. package/src/clients/modules/composer.ts +3 -0
  63. package/src/clients/modules/get.ts +1 -1
  64. package/src/clients/modules/post.ts +1 -1
  65. package/src/clients/native.ts +36 -0
  66. package/src/clients/socket-client.ts +0 -16
  67. package/src/clients/types.ts +3 -0
  68. package/src/codegen/helpers.ts +242 -0
  69. package/src/codegen/index.ts +6 -0
  70. package/dydxprotocol-v4-client-js-1.0.10.tgz +0 -0
@@ -7,7 +7,6 @@ exports.SocketClient = exports.CandlesResolution = exports.IncomingMessageTypes
7
7
  const ws_1 = __importDefault(require("ws"));
8
8
  var OutgoingMessageTypes;
9
9
  (function (OutgoingMessageTypes) {
10
- OutgoingMessageTypes["PING"] = "ping";
11
10
  OutgoingMessageTypes["SUBSCRIBE"] = "subscribe";
12
11
  OutgoingMessageTypes["UNSUBSCRIBE"] = "unsubscribe";
13
12
  })(OutgoingMessageTypes || (OutgoingMessageTypes = {}));
@@ -40,7 +39,6 @@ var CandlesResolution;
40
39
  })(CandlesResolution = exports.CandlesResolution || (exports.CandlesResolution = {}));
41
40
  class SocketClient {
42
41
  constructor(config, onOpenCallback, onCloseCallback, onMessageCallback) {
43
- this.pingInterval = 30000;
44
42
  this.lastMessageTime = Date.now();
45
43
  this.url = config.websocketEndpoint;
46
44
  this.onOpenCallback = onOpenCallback;
@@ -74,13 +72,11 @@ class SocketClient {
74
72
  if (this.onOpenCallback) {
75
73
  this.onOpenCallback();
76
74
  }
77
- this.restartPingInterval();
78
75
  }
79
76
  handleClose() {
80
77
  if (this.onCloseCallback) {
81
78
  this.onCloseCallback();
82
79
  }
83
- clearInterval(this.pingIntervalId);
84
80
  }
85
81
  handleMessage(event) {
86
82
  if (event.data === 'PING') {
@@ -92,16 +88,6 @@ class SocketClient {
92
88
  this.onMessageCallback(event);
93
89
  }
94
90
  }
95
- this.restartPingInterval();
96
- }
97
- restartPingInterval() {
98
- clearInterval(this.pingIntervalId);
99
- this.pingIntervalId = setInterval(() => {
100
- const elapsedTime = Date.now() - this.lastMessageTime;
101
- if (elapsedTime > this.pingInterval) {
102
- this.send('PING');
103
- }
104
- }, this.pingInterval);
105
91
  }
106
92
  /**
107
93
  * @description Set callback when the socket is opened.
@@ -267,4 +253,4 @@ class SocketClient {
267
253
  }
268
254
  }
269
255
  exports.SocketClient = SocketClient;
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnRzL3NvY2tldC1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNENBQTZDO0FBSTdDLElBQUssb0JBSUo7QUFKRCxXQUFLLG9CQUFvQjtJQUN2QixxQ0FBYSxDQUFBO0lBQ2IsK0NBQXVCLENBQUE7SUFDdkIsbURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUpJLG9CQUFvQixLQUFwQixvQkFBb0IsUUFJeEI7QUFFRCxJQUFLLGNBTUo7QUFORCxXQUFLLGNBQWM7SUFDakIsZ0RBQThCLENBQUE7SUFDOUIsNENBQTBCLENBQUE7SUFDMUIsc0NBQW9CLENBQUE7SUFDcEIsd0NBQXNCLENBQUE7SUFDdEIsd0NBQXNCLENBQUE7QUFDeEIsQ0FBQyxFQU5JLGNBQWMsS0FBZCxjQUFjLFFBTWxCO0FBRUQsSUFBWSxvQkFPWDtBQVBELFdBQVksb0JBQW9CO0lBQzlCLCtDQUF1QixDQUFBO0lBQ3ZCLGlEQUF5QixDQUFBO0lBQ3pCLHVDQUFlLENBQUE7SUFDZixxREFBNkIsQ0FBQTtJQUM3QixpRUFBeUMsQ0FBQTtJQUN6QyxxQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQVBXLG9CQUFvQixHQUFwQiw0QkFBb0IsS0FBcEIsNEJBQW9CLFFBTy9CO0FBRUQsSUFBWSxpQkFRWDtBQVJELFdBQVksaUJBQWlCO0lBQzNCLHdDQUFtQixDQUFBO0lBQ25CLDJDQUFzQixDQUFBO0lBQ3RCLCtDQUEwQixDQUFBO0lBQzFCLDhDQUF5QixDQUFBO0lBQ3pCLHVDQUFrQixDQUFBO0lBQ2xCLDBDQUFxQixDQUFBO0lBQ3JCLHFDQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFSVyxpQkFBaUIsR0FBakIseUJBQWlCLEtBQWpCLHlCQUFpQixRQVE1QjtBQUVELE1BQWEsWUFBWTtJQVVyQixZQUNFLE1BQXFCLEVBQ3JCLGNBQTBCLEVBQzFCLGVBQTBCLEVBQzFC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
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnRzL3NvY2tldC1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNENBQTZDO0FBSTdDLElBQUssb0JBR0o7QUFIRCxXQUFLLG9CQUFvQjtJQUN2QiwrQ0FBdUIsQ0FBQTtJQUN2QixtREFBMkIsQ0FBQTtBQUM3QixDQUFDLEVBSEksb0JBQW9CLEtBQXBCLG9CQUFvQixRQUd4QjtBQUVELElBQUssY0FNSjtBQU5ELFdBQUssY0FBYztJQUNqQixnREFBOEIsQ0FBQTtJQUM5Qiw0Q0FBMEIsQ0FBQTtJQUMxQixzQ0FBb0IsQ0FBQTtJQUNwQix3Q0FBc0IsQ0FBQTtJQUN0Qix3Q0FBc0IsQ0FBQTtBQUN4QixDQUFDLEVBTkksY0FBYyxLQUFkLGNBQWMsUUFNbEI7QUFFRCxJQUFZLG9CQU9YO0FBUEQsV0FBWSxvQkFBb0I7SUFDOUIsK0NBQXVCLENBQUE7SUFDdkIsaURBQXlCLENBQUE7SUFDekIsdUNBQWUsQ0FBQTtJQUNmLHFEQUE2QixDQUFBO0lBQzdCLGlFQUF5QyxDQUFBO0lBQ3pDLHFDQUFhLENBQUE7QUFDZixDQUFDLEVBUFcsb0JBQW9CLEdBQXBCLDRCQUFvQixLQUFwQiw0QkFBb0IsUUFPL0I7QUFFRCxJQUFZLGlCQVFYO0FBUkQsV0FBWSxpQkFBaUI7SUFDM0Isd0NBQW1CLENBQUE7SUFDbkIsMkNBQXNCLENBQUE7SUFDdEIsK0NBQTBCLENBQUE7SUFDMUIsOENBQXlCLENBQUE7SUFDekIsdUNBQWtCLENBQUE7SUFDbEIsMENBQXFCLENBQUE7SUFDckIscUNBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQVJXLGlCQUFpQixHQUFqQix5QkFBaUIsS0FBakIseUJBQWlCLFFBUTVCO0FBRUQsTUFBYSxZQUFZO0lBUXJCLFlBQ0UsTUFBcUIsRUFDckIsY0FBMEIsRUFDMUIsZUFBMEIsRUFDMUIsaUJBQStDO1FBTnpDLG9C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
@@ -1,6 +1,7 @@
1
1
  import { Coin } from '@cosmjs/proto-signing';
2
2
  import { Method } from '@cosmjs/tendermint-rpc';
3
3
  import { Order_ConditionType, Order_Side, Order_TimeInForce } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order';
4
+ import { PerpetualMarketType } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/perpetual';
4
5
  import BigNumber from 'bignumber.js';
5
6
  import Long from 'long';
6
7
  export declare type Integer = BigNumber;
@@ -85,6 +86,7 @@ export declare type GovAddNewMarketParams = {
85
86
  exchangeConfigJson: string;
86
87
  liquidityTier: number;
87
88
  atomicResolution: number;
89
+ marketType: PerpetualMarketType;
88
90
  quantumConversionExponent: number;
89
91
  stepBaseQuantums: Long;
90
92
  subticksPerTick: number;
@@ -23,4 +23,4 @@ var OrderFlags;
23
23
  OrderFlags[OrderFlags["CONDITIONAL"] = 32] = "CONDITIONAL";
24
24
  })(OrderFlags = exports.OrderFlags || (exports.OrderFlags = {}));
25
25
  __exportStar(require("./modules/proto-includes"), exports);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQTRCQSxzRUFBc0U7QUFDdEUsSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHVEQUFjLENBQUE7SUFDZCxzREFBYyxDQUFBO0lBQ2QsMERBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQUpXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBSXJCO0FBd0dELDJEQUF5QyJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQTZCQSxzRUFBc0U7QUFDdEUsSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHVEQUFjLENBQUE7SUFDZCxzREFBYyxDQUFBO0lBQ2QsMERBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQUpXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBSXJCO0FBMEdELDJEQUF5QyJ9
@@ -1,3 +1,4 @@
1
+ import { PerpetualMarketType } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/perpetual';
1
2
  import Long from 'long';
2
3
 
3
4
  import { GovAddNewMarketParams, LocalWallet, ProposalStatus } from '../src';
@@ -30,6 +31,7 @@ const MOCK_DATA: GovAddNewMarketParams = {
30
31
  // x/perpetuals
31
32
  liquidityTier: 2,
32
33
  atomicResolution: -1,
34
+ marketType: PerpetualMarketType.PERPETUAL_MARKET_TYPE_CROSS,
33
35
 
34
36
  // x/clob
35
37
  quantumConversionExponent: -9,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dydxprotocol/v4-client-js",
3
- "version": "1.0.29",
3
+ "version": "1.0.30",
4
4
  "description": "General client library for the new dYdX system (v4 decentralized)",
5
5
  "main": "build/src/index.js",
6
6
  "scripts": {
@@ -37,7 +37,7 @@
37
37
  "@cosmjs/stargate": "^0.32.1",
38
38
  "@cosmjs/tendermint-rpc": "^0.32.1",
39
39
  "@cosmjs/utils": "^0.32.1",
40
- "@dydxprotocol/v4-proto": "4.0.0-dev.0",
40
+ "@dydxprotocol/v4-proto": "5.0.0-dev.0",
41
41
  "@osmonauts/lcd": "^0.6.0",
42
42
  "@scure/bip32": "^1.1.5",
43
43
  "@scure/bip39": "^1.1.1",
@@ -1067,6 +1067,7 @@ export class CompositeClient {
1067
1067
  params.ticker,
1068
1068
  params.atomicResolution,
1069
1069
  params.liquidityTier,
1070
+ params.marketType,
1070
1071
  );
1071
1072
 
1072
1073
  // x/clob.MsgCreateClobPair
@@ -109,7 +109,7 @@ export default class AccountClient extends RestClient {
109
109
  }
110
110
 
111
111
  async getOrder(orderId: string) : Promise<Data> {
112
- const uri = `/v4/orders${orderId}`;
112
+ const uri = `/v4/orders/${orderId}`;
113
113
  return this.get(uri);
114
114
  }
115
115
 
@@ -10,6 +10,7 @@ import {
10
10
  MsgUpdateClobPair,
11
11
  } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx';
12
12
  import { MsgDelayMessage } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/delaymsg/tx';
13
+ import { PerpetualMarketType } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/perpetual';
13
14
  import { MsgCreatePerpetual } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/tx';
14
15
  import { MsgCreateOracleMarket } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/tx';
15
16
  import { MsgSend } from 'cosmjs-types/cosmos/bank/v1beta1/tx';
@@ -342,6 +343,7 @@ export class Composer {
342
343
  ticker: string,
343
344
  atomicResolution: number,
344
345
  liquidityTier: number,
346
+ marketType: PerpetualMarketType,
345
347
  ): EncodeObject {
346
348
  const msg: MsgCreatePerpetual = {
347
349
  // uses x/gov module account since creating the perpetual is a governance action.
@@ -353,6 +355,7 @@ export class Composer {
353
355
  atomicResolution,
354
356
  defaultFundingPpm: 0, // default funding should be 0 to start.
355
357
  liquidityTier,
358
+ marketType,
356
359
  },
357
360
  };
358
361
 
@@ -504,7 +504,7 @@ export class Get {
504
504
  return GovV1Module.QueryProposalsResponse.decode(data);
505
505
  }
506
506
 
507
- async GetWithdrawalAndTransferGatingStatus(
507
+ async getWithdrawalAndTransferGatingStatus(
508
508
  ): Promise<SubaccountsModule.QueryGetWithdrawalAndTransfersBlockedInfoResponse> {
509
509
  const requestData = Uint8Array.from(
510
510
  SubaccountsModule.QueryGetWithdrawalAndTransfersBlockedInfoRequest
@@ -473,8 +473,8 @@ export class Post {
473
473
  subaccount.address,
474
474
  subaccount.subaccountNumber,
475
475
  clientId,
476
- clobPairId,
477
476
  orderFlags,
477
+ clobPairId,
478
478
  goodTilBlock ?? 0,
479
479
  goodTilBlockTime ?? 0,
480
480
  );
@@ -1184,3 +1184,39 @@ export async function cctpWithdraw(squidPayload: string): Promise<String> {
1184
1184
  return wrappedError(error);
1185
1185
  }
1186
1186
  }
1187
+
1188
+ export async function getWithdrawalCapacityByDenom(
1189
+ payload: string,
1190
+ ): Promise<string> {
1191
+ try {
1192
+ const client = globalThis.client;
1193
+ if (client === undefined) {
1194
+ throw new UserError('client is not connected. Call connectClient() first');
1195
+ }
1196
+ const json = JSON.parse(payload);
1197
+ const denom = json.denom;
1198
+ if (denom === undefined) {
1199
+ throw new UserError('denom is not set');
1200
+ }
1201
+
1202
+ const response = await client.validatorClient.get.getWithdrawalCapacityByDenom(denom);
1203
+ return encodeJson(response);
1204
+ } catch (error) {
1205
+ return wrappedError(error);
1206
+ }
1207
+ }
1208
+
1209
+ export async function getWithdrawalAndTransferGatingStatus(
1210
+ ): Promise<string> {
1211
+ try {
1212
+ const client = globalThis.client;
1213
+ if (client === undefined) {
1214
+ throw new UserError('client is not connected. Call connectClient() first');
1215
+ }
1216
+
1217
+ const response = await client.validatorClient.get.getWithdrawalAndTransferGatingStatus();
1218
+ return encodeJson(response);
1219
+ } catch (error) {
1220
+ return wrappedError(error);
1221
+ }
1222
+ }
@@ -3,7 +3,6 @@ import WebSocket, { MessageEvent } from 'ws';
3
3
  import { IndexerConfig } from './constants';
4
4
 
5
5
  enum OutgoingMessageTypes {
6
- PING = 'ping',
7
6
  SUBSCRIBE = 'subscribe',
8
7
  UNSUBSCRIBE = 'unsubscribe',
9
8
  }
@@ -41,9 +40,7 @@ export class SocketClient {
41
40
  private onOpenCallback?: () => void;
42
41
  private onCloseCallback?: () => void;
43
42
  private onMessageCallback?: (event: MessageEvent) => void;
44
- private pingInterval: number = 30_000;
45
43
  private lastMessageTime: number = Date.now();
46
- private pingIntervalId?: NodeJS.Timeout;
47
44
 
48
45
  constructor(
49
46
  config: IndexerConfig,
@@ -85,14 +82,12 @@ export class SocketClient {
85
82
  if (this.onOpenCallback) {
86
83
  this.onOpenCallback();
87
84
  }
88
- this.restartPingInterval();
89
85
  }
90
86
 
91
87
  private handleClose(): void {
92
88
  if (this.onCloseCallback) {
93
89
  this.onCloseCallback();
94
90
  }
95
- clearInterval(this.pingIntervalId);
96
91
  }
97
92
 
98
93
  private handleMessage(event: MessageEvent): void {
@@ -104,17 +99,6 @@ export class SocketClient {
104
99
  this.onMessageCallback(event);
105
100
  }
106
101
  }
107
- this.restartPingInterval();
108
- }
109
-
110
- private restartPingInterval(): void {
111
- clearInterval(this.pingIntervalId);
112
- this.pingIntervalId = setInterval(() => {
113
- const elapsedTime = Date.now() - this.lastMessageTime;
114
- if (elapsedTime > this.pingInterval) {
115
- this.send('PING');
116
- }
117
- }, this.pingInterval);
118
102
  }
119
103
 
120
104
  /**
@@ -1,6 +1,7 @@
1
1
  import { Coin } from '@cosmjs/proto-signing';
2
2
  import { Method } from '@cosmjs/tendermint-rpc';
3
3
  import { Order_ConditionType, Order_Side, Order_TimeInForce } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order';
4
+ import { PerpetualMarketType } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/perpetual';
4
5
  import BigNumber from 'bignumber.js';
5
6
  import Long from 'long';
6
7
 
@@ -111,6 +112,7 @@ export type SquidIBCPayload = {
111
112
  };
112
113
 
113
114
  // ------------ x/gov: Add New Market ------------ //
115
+
114
116
  export type GovAddNewMarketParams = {
115
117
  // common
116
118
  id: number;
@@ -125,6 +127,7 @@ export type GovAddNewMarketParams = {
125
127
  // x/perpetuals
126
128
  liquidityTier: number;
127
129
  atomicResolution: number;
130
+ marketType: PerpetualMarketType;
128
131
 
129
132
  // x/clob
130
133
  quantumConversionExponent: number;
@@ -0,0 +1,242 @@
1
+ /**
2
+ * This file and any referenced files were automatically generated by @osmonauts/telescope@0.80.0
3
+ * DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain
4
+ * and run the transpile command or yarn proto command to regenerate this bundle.
5
+ */
6
+
7
+ import * as _m0 from "protobufjs/minimal";
8
+ import Long from 'long';
9
+
10
+ // @ts-ignore
11
+ if (_m0.util.Long !== Long) {
12
+ _m0.util.Long = (Long as any);
13
+
14
+ _m0.configure();
15
+ }
16
+
17
+ export { Long };
18
+
19
+ declare var self: any | undefined;
20
+ declare var window: any | undefined;
21
+ declare var global: any | undefined;
22
+ var globalThis: any = (() => {
23
+ if (typeof globalThis !== 'undefined') return globalThis;
24
+ if (typeof self !== 'undefined') return self;
25
+ if (typeof window !== 'undefined') return window;
26
+ if (typeof global !== 'undefined') return global;
27
+ throw 'Unable to locate global object';
28
+ })();
29
+
30
+ const atob: (b64: string) => string =
31
+ globalThis.atob || ((b64) => globalThis.Buffer.from(b64, 'base64').toString('binary'));
32
+
33
+ export function bytesFromBase64(b64: string): Uint8Array {
34
+ const bin = atob(b64);
35
+ const arr = new Uint8Array(bin.length);
36
+ for (let i = 0; i < bin.length; ++i) {
37
+ arr[i] = bin.charCodeAt(i);
38
+ }
39
+ return arr;
40
+ }
41
+
42
+ const btoa: (bin: string) => string =
43
+ globalThis.btoa || ((bin) => globalThis.Buffer.from(bin, 'binary').toString('base64'));
44
+
45
+ export function base64FromBytes(arr: Uint8Array): string {
46
+ const bin: string[] = [];
47
+ arr.forEach((byte) => {
48
+ bin.push(String.fromCharCode(byte));
49
+ });
50
+ return btoa(bin.join(''));
51
+ }
52
+
53
+ export interface AminoHeight {
54
+ readonly revision_number?: string;
55
+ readonly revision_height?: string;
56
+ };
57
+
58
+ export function omitDefault<T extends string | number | Long>(input: T): T | undefined {
59
+ if (typeof input === "string") {
60
+ return input === "" ? undefined : input;
61
+ }
62
+
63
+ if (typeof input === "number") {
64
+ return input === 0 ? undefined : input;
65
+ }
66
+
67
+ if (Long.isLong(input)) {
68
+ return input.isZero() ? undefined : input;
69
+ }
70
+
71
+ throw new Error(`Got unsupported type ${typeof input}`);
72
+ };
73
+
74
+ interface Duration {
75
+ /**
76
+ * Signed seconds of the span of time. Must be from -315,576,000,000
77
+ * to +315,576,000,000 inclusive. Note: these bounds are computed from:
78
+ * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
79
+ */
80
+ seconds: Long;
81
+ /**
82
+ * Signed fractions of a second at nanosecond resolution of the span
83
+ * of time. Durations less than one second are represented with a 0
84
+ * `seconds` field and a positive or negative `nanos` field. For durations
85
+ * of one second or more, a non-zero value for the `nanos` field must be
86
+ * of the same sign as the `seconds` field. Must be from -999,999,999
87
+ * to +999,999,999 inclusive.
88
+ */
89
+
90
+ nanos: number;
91
+ }
92
+
93
+ export function toDuration(duration: string): Duration {
94
+ return {
95
+ seconds: Long.fromNumber(Math.floor(parseInt(duration) / 1000000000)),
96
+ nanos: parseInt(duration) % 1000000000
97
+ };
98
+ };
99
+
100
+ export function fromDuration(duration: Duration): string {
101
+ return (parseInt(duration.seconds.toString()) * 1000000000 + duration.nanos).toString();
102
+ };
103
+
104
+ export function isSet(value: any): boolean {
105
+ return value !== null && value !== undefined;
106
+ };
107
+
108
+ export function isObject(value: any): boolean {
109
+ return typeof value === 'object' && value !== null;
110
+ };
111
+
112
+ export interface PageRequest {
113
+ key: Uint8Array;
114
+ offset: Long;
115
+ limit: Long;
116
+ countTotal: boolean;
117
+ reverse: boolean;
118
+ };
119
+
120
+ export interface PageRequestParams {
121
+ "pagination.key"?: string;
122
+ "pagination.offset"?: string;
123
+ "pagination.limit"?: string;
124
+ "pagination.count_total"?: boolean;
125
+ "pagination.reverse"?: boolean;
126
+ };
127
+
128
+ export interface Params {
129
+ params: PageRequestParams;
130
+ };
131
+
132
+ export const setPaginationParams = (options: Params, pagination?: PageRequest) => {
133
+
134
+ if (!pagination) {
135
+ return options;
136
+ }
137
+
138
+ if (typeof pagination?.countTotal !== "undefined") {
139
+ options.params['pagination.count_total'] = pagination.countTotal;
140
+ }
141
+ if (typeof pagination?.key !== "undefined") {
142
+ // String to Uint8Array
143
+ // let uint8arr = new Uint8Array(Buffer.from(data,'base64'));
144
+
145
+ // Uint8Array to String
146
+ options.params['pagination.key'] = Buffer.from(pagination.key).toString('base64');
147
+ }
148
+ if (typeof pagination?.limit !== "undefined") {
149
+ options.params["pagination.limit"] = pagination.limit.toString()
150
+ }
151
+ if (typeof pagination?.offset !== "undefined") {
152
+ options.params["pagination.offset"] = pagination.offset.toString()
153
+ }
154
+ if (typeof pagination?.reverse !== "undefined") {
155
+ options.params['pagination.reverse'] = pagination.reverse;
156
+ }
157
+
158
+ return options;
159
+ };
160
+
161
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
162
+
163
+ export type DeepPartial<T> = T extends Builtin
164
+ ? T
165
+ : T extends Long
166
+ ? string | number | Long
167
+ : T extends Array<infer U>
168
+ ? Array<DeepPartial<U>>
169
+ : T extends ReadonlyArray<infer U>
170
+ ? ReadonlyArray<DeepPartial<U>>
171
+ : T extends {}
172
+ ? { [K in keyof T]?: DeepPartial<T[K]> }
173
+ : Partial<T>;
174
+
175
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
176
+ export type Exact<P, I extends P> = P extends Builtin
177
+ ? P
178
+ : P & { [K in keyof P]: Exact<P[K], I[K]> } & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
179
+
180
+ export interface Rpc {
181
+ request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
182
+ };
183
+
184
+ interface Timestamp {
185
+ /**
186
+ * Represents seconds of UTC time since Unix epoch
187
+ * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
188
+ * 9999-12-31T23:59:59Z inclusive.
189
+ */
190
+ seconds: Long;
191
+ /**
192
+ * Non-negative fractions of a second at nanosecond resolution. Negative
193
+ * second values with fractions must still have non-negative nanos values
194
+ * that count forward in time. Must be from 0 to 999,999,999
195
+ * inclusive.
196
+ */
197
+
198
+ nanos: number;
199
+ }
200
+
201
+ export function toTimestamp(date: Date): Timestamp {
202
+ const seconds = numberToLong(date.getTime() / 1_000);
203
+ const nanos = date.getTime() % 1000 * 1000000;
204
+ return {
205
+ seconds,
206
+ nanos
207
+ };
208
+ };
209
+
210
+ export function fromTimestamp(t: Timestamp): Date {
211
+ let millis = t.seconds.toNumber() * 1000;
212
+ millis += t.nanos / 1000000;
213
+ return new Date(millis);
214
+ };
215
+
216
+ const fromJSON = (object: any): Timestamp => {
217
+ return {
218
+ seconds: isSet(object.seconds) ? Long.fromString(object.seconds) : Long.ZERO,
219
+ nanos: isSet(object.nanos) ? Number(object.nanos) : 0
220
+ };
221
+ };
222
+
223
+ const timestampFromJSON = (object: any): Timestamp => {
224
+ return {
225
+ seconds: isSet(object.seconds) ? Long.fromValue(object.seconds) : Long.ZERO,
226
+ nanos: isSet(object.nanos) ? Number(object.nanos) : 0,
227
+ };
228
+ }
229
+
230
+ export function fromJsonTimestamp(o: any): Timestamp {
231
+ if (o instanceof Date) {
232
+ return toTimestamp(o);
233
+ } else if (typeof o === "string") {
234
+ return toTimestamp(new Date(o));
235
+ } else {
236
+ return timestampFromJSON(o);
237
+ }
238
+ }
239
+
240
+ function numberToLong(number: number) {
241
+ return Long.fromNumber(number);
242
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This file and any referenced files were automatically generated by @osmonauts/telescope@0.80.0
3
+ * DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain
4
+ * and run the transpile command or yarn proto command to regenerate this bundle.
5
+ */
6
+