@dydxprotocol/v4-client-js 3.2.0 → 3.4.0

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 (69) hide show
  1. package/CHANGELOG.md +2 -3
  2. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/affiliates.js +1 -1
  3. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.js +11 -3
  4. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/transfer.js +62 -2
  5. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.js +28 -2
  6. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.rpc.msg.js +7 -1
  7. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.js +73 -2
  8. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.lcd.js +7 -1
  9. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.rpc.Query.js +10 -1
  10. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/stats.js +124 -15
  11. package/build/cjs/src/clients/composite-client.js +5 -5
  12. package/build/cjs/src/clients/lib/axios/types.js +1 -1
  13. package/build/cjs/src/clients/modules/rest.js +9 -1
  14. package/build/cjs/src/clients/modules/utility.js +9 -1
  15. package/build/cjs/src/clients/types.js +1 -1
  16. package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  17. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/affiliates.d.ts +6 -1
  18. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/affiliates.d.ts.map +1 -1
  19. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/affiliates.js +1 -1
  20. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.d.ts +3 -0
  21. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.d.ts.map +1 -1
  22. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.js +11 -3
  23. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts +35 -4
  24. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts.map +1 -1
  25. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts +1 -0
  26. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts.map +1 -1
  27. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/transfer.d.ts +30 -0
  28. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/transfer.d.ts.map +1 -1
  29. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/transfer.js +61 -1
  30. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.d.ts +17 -0
  31. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.d.ts.map +1 -1
  32. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.js +27 -1
  33. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.rpc.msg.d.ts +8 -2
  34. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.rpc.msg.d.ts.map +1 -1
  35. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.rpc.msg.js +9 -3
  36. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.d.ts +29 -1
  37. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.d.ts.map +1 -1
  38. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.js +73 -2
  39. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.lcd.d.ts +2 -1
  40. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.lcd.d.ts.map +1 -1
  41. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.lcd.js +7 -1
  42. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.rpc.Query.d.ts +5 -1
  43. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.rpc.Query.d.ts.map +1 -1
  44. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.rpc.Query.js +11 -2
  45. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/stats.d.ts +54 -12
  46. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/stats.d.ts.map +1 -1
  47. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/stats.js +121 -14
  48. package/build/esm/src/clients/composite-client.d.ts +5 -2
  49. package/build/esm/src/clients/composite-client.d.ts.map +1 -1
  50. package/build/esm/src/clients/composite-client.js +5 -5
  51. package/build/esm/src/clients/lib/axios/types.d.ts +5 -0
  52. package/build/esm/src/clients/lib/axios/types.d.ts.map +1 -1
  53. package/build/esm/src/clients/lib/axios/types.js +1 -1
  54. package/build/esm/src/clients/modules/rest.d.ts +1 -0
  55. package/build/esm/src/clients/modules/rest.d.ts.map +1 -1
  56. package/build/esm/src/clients/modules/rest.js +9 -1
  57. package/build/esm/src/clients/modules/utility.d.ts +6 -1
  58. package/build/esm/src/clients/modules/utility.d.ts.map +1 -1
  59. package/build/esm/src/clients/modules/utility.js +9 -1
  60. package/build/esm/src/clients/types.d.ts +2 -0
  61. package/build/esm/src/clients/types.d.ts.map +1 -1
  62. package/build/esm/src/clients/types.js +1 -1
  63. package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
  64. package/package.json +2 -2
  65. package/src/clients/composite-client.ts +16 -1
  66. package/src/clients/lib/axios/types.ts +7 -0
  67. package/src/clients/modules/rest.ts +10 -0
  68. package/src/clients/modules/utility.ts +10 -0
  69. package/src/clients/types.ts +4 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dydxprotocol/v4-client-js",
3
- "version": "3.2.0",
3
+ "version": "3.4.0",
4
4
  "description": "General client library for the new dYdX system (v4 decentralized)",
5
5
  "main": "build/cjs/src/index.js",
6
6
  "module": "build/esm/src/index.js",
@@ -52,7 +52,7 @@
52
52
  "@cosmjs/stargate": "^0.32.1",
53
53
  "@cosmjs/tendermint-rpc": "^0.32.1",
54
54
  "@cosmjs/utils": "^0.32.1",
55
- "@dydxprotocol/v4-proto": "9.4.0-rc.0",
55
+ "@dydxprotocol/v4-proto": "9.5.0",
56
56
  "@osmonauts/lcd": "^0.6.0",
57
57
  "@scure/bip32": "^1.1.5",
58
58
  "@scure/bip39": "^1.1.1",
@@ -45,7 +45,7 @@ import { UserError } from './lib/errors';
45
45
  import { generateRegistry } from './lib/registry';
46
46
  import LocalWallet from './modules/local-wallet';
47
47
  import { SubaccountInfo } from './subaccount';
48
- import { BroadcastMode, OrderBatch } from './types';
48
+ import { BroadcastMode, IBuilderCodeParameters, ITwapParameters, OrderBatch } from './types';
49
49
  import { ValidatorClient } from './validator-client';
50
50
 
51
51
  // Required for encoding and decoding queries that are of type Long.
@@ -86,6 +86,9 @@ export type PlaceOrderPayload = {
86
86
  marketInfo?: MarketInfo;
87
87
  currentHeight?: number;
88
88
  goodTilBlock?: number;
89
+ twapParameters?: ITwapParameters;
90
+ builderCodeParameters?: IBuilderCodeParameters;
91
+ orderRouterAddress?: string;
89
92
  };
90
93
 
91
94
  export type CancelRawOrderPayload = {
@@ -422,6 +425,9 @@ export class CompositeClient {
422
425
  goodTilBlock?: number,
423
426
  memo?: string,
424
427
  broadcastMode?: BroadcastMode,
428
+ twapParameters?: ITwapParameters,
429
+ builderCodeParameters?: IBuilderCodeParameters,
430
+ orderRouterAddress?: string,
425
431
  ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
426
432
  const msgs: Promise<EncodeObject[]> = new Promise((resolve) => {
427
433
  const msg = this.placeOrderMessage(
@@ -441,6 +447,9 @@ export class CompositeClient {
441
447
  marketInfo,
442
448
  currentHeight,
443
449
  goodTilBlock,
450
+ twapParameters,
451
+ builderCodeParameters,
452
+ orderRouterAddress,
444
453
  );
445
454
  msg
446
455
  .then((it) => resolve([it]))
@@ -506,6 +515,9 @@ export class CompositeClient {
506
515
  marketInfo?: MarketInfo,
507
516
  currentHeight?: number,
508
517
  goodTilBlock?: number,
518
+ twapParameters?: ITwapParameters,
519
+ builderCodeParameters?: IBuilderCodeParameters,
520
+ orderRouterAddress?: string,
509
521
  ): Promise<EncodeObject> {
510
522
  const orderFlags = calculateOrderFlags(type, timeInForce);
511
523
 
@@ -561,6 +573,9 @@ export class CompositeClient {
561
573
  clientMetadata,
562
574
  conditionalType,
563
575
  conditionalOrderTriggerSubticks,
576
+ twapParameters,
577
+ builderCodeParameters,
578
+ orderRouterAddress,
564
579
  );
565
580
  }
566
581
 
@@ -1,6 +1,13 @@
1
+ import type { AxiosResponseHeaders } from 'axios';
2
+
1
3
  export enum RequestMethod {
2
4
  POST = 'POST',
3
5
  PUT = 'PUT',
4
6
  GET = 'GET',
5
7
  DELETE = 'DELETE',
6
8
  }
9
+
10
+ export interface AxiosResponseWithGeoHeaders<Data> {
11
+ data: Data;
12
+ headers: AxiosResponseHeaders;
13
+ }
@@ -28,6 +28,16 @@ export default class RestClient {
28
28
  return response.data;
29
29
  }
30
30
 
31
+ async getWithResponseHeaders(requestPath: string, params: {} = {}): Promise<Data> {
32
+ const url = `${this.host}${generateQueryPath(requestPath, params)}`;
33
+ const response = await this.axiosInstance.get(url);
34
+
35
+ return {
36
+ data: response.data,
37
+ headers: response.headers,
38
+ };
39
+ }
40
+
31
41
  async post(
32
42
  requestPath: string,
33
43
  params: {} = {},
@@ -2,6 +2,7 @@ import type {
2
2
  ComplianceResponse,
3
3
  ComplianceV2Response,
4
4
  HeightResponse,
5
+ HeightResponseWithHeaders,
5
6
  TimeResponse,
6
7
  } from '../types';
7
8
  import RestClient from './rest';
@@ -25,6 +26,15 @@ export default class UtilityClient extends RestClient {
25
26
  return this.get(uri);
26
27
  }
27
28
 
29
+ /**
30
+ * @description Get the block height of the most recent block processed by the Indexer
31
+ * @returns {HeightResponse} block height and time
32
+ */
33
+ async getHeightWithHeaders(): Promise<HeightResponseWithHeaders> {
34
+ const uri = '/v4/height';
35
+ return this.getWithResponseHeaders(uri);
36
+ }
37
+
28
38
  /**
29
39
  * @description Screen an address to see if it is restricted
30
40
  * @param {string} address evm or dydx address
@@ -9,6 +9,8 @@ import { PerpetualMarketType } from '@dydxprotocol/v4-proto/src/codegen/dydxprot
9
9
  import BigNumber from 'bignumber.js';
10
10
  import Long from 'long';
11
11
 
12
+ import { AxiosResponseWithGeoHeaders } from './lib/axios/types';
13
+
12
14
  export type Integer = BigNumber;
13
15
 
14
16
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -119,6 +121,8 @@ export interface HeightResponse {
119
121
  time: string;
120
122
  }
121
123
 
124
+ export type HeightResponseWithHeaders = AxiosResponseWithGeoHeaders<HeightResponse>;
125
+
122
126
  export interface ComplianceResponse {
123
127
  restricted: boolean;
124
128
  reason?: string;