@dydxprotocol/v4-client-js 2.6.0 → 2.8.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 (93) hide show
  1. package/CHANGELOG.md +2 -4
  2. package/__tests__/helpers/constants.ts +31 -0
  3. package/build/cjs/__tests__/helpers/constants.js +30 -2
  4. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.js +74 -2
  5. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.lcd.js +7 -1
  6. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.rpc.Query.js +10 -1
  7. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.js +63 -2
  8. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.lcd.js +7 -1
  9. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.rpc.Query.js +10 -1
  10. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order.js +176 -4
  11. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.js +11 -3
  12. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.js +320 -4
  13. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/clob.js +124 -4
  14. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.js +73 -2
  15. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.js +7 -1
  16. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.js +10 -1
  17. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/revshare.js +46 -2
  18. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.js +72 -2
  19. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.rpc.msg.js +7 -1
  20. package/build/cjs/src/clients/modules/composer.js +5 -2
  21. package/build/cjs/src/clients/modules/local-wallet.js +12 -1
  22. package/build/cjs/src/clients/modules/post.js +6 -6
  23. package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  24. package/build/esm/__tests__/helpers/constants.d.ts +3 -0
  25. package/build/esm/__tests__/helpers/constants.d.ts.map +1 -1
  26. package/build/esm/__tests__/helpers/constants.js +29 -1
  27. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.d.ts +38 -0
  28. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.d.ts.map +1 -1
  29. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.js +73 -1
  30. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.lcd.d.ts +2 -1
  31. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.lcd.d.ts.map +1 -1
  32. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.lcd.js +7 -1
  33. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.rpc.Query.d.ts +5 -1
  34. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.rpc.Query.d.ts.map +1 -1
  35. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.rpc.Query.js +11 -2
  36. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.d.ts +25 -1
  37. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.d.ts.map +1 -1
  38. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.js +63 -2
  39. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.lcd.d.ts +2 -1
  40. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.lcd.d.ts.map +1 -1
  41. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.lcd.js +7 -1
  42. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.rpc.Query.d.ts +5 -1
  43. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.rpc.Query.d.ts.map +1 -1
  44. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.rpc.Query.js +11 -2
  45. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts +91 -0
  46. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts.map +1 -1
  47. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order.d.ts +110 -8
  48. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order.d.ts.map +1 -1
  49. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order.js +175 -3
  50. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.d.ts +7 -0
  51. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.d.ts.map +1 -1
  52. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.js +11 -3
  53. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.d.ts +190 -0
  54. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.d.ts.map +1 -1
  55. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.js +319 -3
  56. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/clob.d.ts +78 -8
  57. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/clob.d.ts.map +1 -1
  58. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/clob.js +123 -3
  59. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/perpetual.d.ts +1 -1
  60. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.d.ts +27 -1
  61. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.d.ts.map +1 -1
  62. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.js +73 -2
  63. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.d.ts +2 -1
  64. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.d.ts.map +1 -1
  65. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.js +7 -1
  66. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.d.ts +5 -1
  67. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.d.ts.map +1 -1
  68. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.js +11 -2
  69. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/revshare.d.ts +17 -0
  70. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/revshare.d.ts.map +1 -1
  71. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/revshare.js +45 -1
  72. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.d.ts +28 -1
  73. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.d.ts.map +1 -1
  74. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.js +72 -2
  75. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.rpc.msg.d.ts +4 -1
  76. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.rpc.msg.d.ts.map +1 -1
  77. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.rpc.msg.js +8 -2
  78. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts +3 -0
  79. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts.map +1 -1
  80. package/build/esm/src/clients/modules/composer.d.ts +2 -2
  81. package/build/esm/src/clients/modules/composer.d.ts.map +1 -1
  82. package/build/esm/src/clients/modules/composer.js +5 -2
  83. package/build/esm/src/clients/modules/local-wallet.d.ts +2 -0
  84. package/build/esm/src/clients/modules/local-wallet.d.ts.map +1 -1
  85. package/build/esm/src/clients/modules/local-wallet.js +13 -2
  86. package/build/esm/src/clients/modules/post.d.ts +3 -3
  87. package/build/esm/src/clients/modules/post.d.ts.map +1 -1
  88. package/build/esm/src/clients/modules/post.js +6 -6
  89. package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
  90. package/package.json +2 -2
  91. package/src/clients/modules/composer.ts +7 -1
  92. package/src/clients/modules/local-wallet.ts +14 -0
  93. package/src/clients/modules/post.ts +17 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dydxprotocol/v4-client-js",
3
- "version": "2.6.0",
3
+ "version": "2.8.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": "8.0.0",
55
+ "@dydxprotocol/v4-proto": "9.0.0",
56
56
  "@osmonauts/lcd": "^0.6.0",
57
57
  "@scure/bip32": "^1.1.5",
58
58
  "@scure/bip39": "^1.1.1",
@@ -57,7 +57,7 @@ import {
57
57
  TYPE_URL_MSG_REMOVE_AUTHENTICATOR,
58
58
  AuthenticatorType,
59
59
  } from '../constants';
60
- import { DenomConfig } from '../types';
60
+ import { DenomConfig, ITwapParameters, IBuilderCodeParameters } from '../types';
61
61
  import {
62
62
  OrderId,
63
63
  Order,
@@ -95,6 +95,9 @@ export class Composer {
95
95
  clientMetadata: number,
96
96
  conditionType: Order_ConditionType = Order_ConditionType.CONDITION_TYPE_UNSPECIFIED,
97
97
  conditionalOrderTriggerSubticks: Long = Long.fromInt(0),
98
+ twapParameters?: ITwapParameters,
99
+ builderCodeParameters?: IBuilderCodeParameters,
100
+ orderRouterAddress: string = "",
98
101
  ): EncodeObject {
99
102
  this.validateGoodTilBlockAndTime(orderFlags, goodTilBlock, goodTilBlockTime);
100
103
 
@@ -122,6 +125,9 @@ export class Composer {
122
125
  clientMetadata: clientMetadata ?? 0,
123
126
  conditionType,
124
127
  conditionalOrderTriggerSubticks,
128
+ twapParameters,
129
+ builderCodeParameters,
130
+ orderRouterAddress,
125
131
  };
126
132
  const msg: MsgPlaceOrder = {
127
133
  order,
@@ -1,7 +1,9 @@
1
1
  import { Secp256k1Pubkey, StdFee, encodeSecp256k1Pubkey } from '@cosmjs/amino';
2
+ import { fromHex } from '@cosmjs/encoding';
2
3
  import {
3
4
  AccountData,
4
5
  DirectSecp256k1HdWallet,
6
+ DirectSecp256k1Wallet,
5
7
  EncodeObject,
6
8
  OfflineSigner,
7
9
  } from '@cosmjs/proto-signing';
@@ -9,6 +11,7 @@ import { SigningStargateClient } from '@cosmjs/stargate';
9
11
  import Long from 'long';
10
12
  import protobuf from 'protobufjs';
11
13
 
14
+ import { stripHexPrefix } from '../../lib/helpers';
12
15
  import { generateRegistry } from '../lib/registry';
13
16
  import { TransactionOptions } from '../types';
14
17
  import { TransactionSigner } from './signer';
@@ -36,6 +39,12 @@ export default class LocalWallet {
36
39
  return wallet;
37
40
  }
38
41
 
42
+ static async fromPrivateKey(pkHex: string, prefix?: string): Promise<LocalWallet> {
43
+ const wallet = new LocalWallet();
44
+ await wallet.setPrivateKey(pkHex, prefix);
45
+ return wallet;
46
+ }
47
+
39
48
  async setSigner(signer: OfflineSigner): Promise<void> {
40
49
  this.offlineSigner = signer;
41
50
  const stargateClient = await SigningStargateClient.offline(signer, {
@@ -54,6 +63,11 @@ export default class LocalWallet {
54
63
  return this.setSigner(signer);
55
64
  }
56
65
 
66
+ async setPrivateKey(pkHex: string, prefix?: string): Promise<void> {
67
+ const signer = await DirectSecp256k1Wallet.fromKey(fromHex(stripHexPrefix(pkHex)), prefix);
68
+ return this.setSigner(signer);
69
+ }
70
+
57
71
  public async signTransaction(
58
72
  messages: EncodeObject[],
59
73
  transactionOptions: TransactionOptions,
@@ -21,6 +21,8 @@ import {
21
21
  IPlaceOrder,
22
22
  ICancelOrder,
23
23
  DenomConfig,
24
+ ITwapParameters,
25
+ IBuilderCodeParameters,
24
26
  } from '../types';
25
27
  import { Composer } from './composer';
26
28
  import { Get } from './get';
@@ -411,6 +413,9 @@ export class Post {
411
413
  clientMetadata: number = 0,
412
414
  conditionType: Order_ConditionType = Order_ConditionType.CONDITION_TYPE_UNSPECIFIED,
413
415
  conditionalOrderTriggerSubticks: Long = Long.fromInt(0),
416
+ twapParameters?: ITwapParameters,
417
+ builderCodeParameters?: IBuilderCodeParameters,
418
+ orderRouterAddress?: string,
414
419
  broadcastMode?: BroadcastMode,
415
420
  ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
416
421
  const msg = await this.placeOrderMsg(
@@ -429,6 +434,9 @@ export class Post {
429
434
  clientMetadata,
430
435
  conditionType,
431
436
  conditionalOrderTriggerSubticks,
437
+ twapParameters,
438
+ builderCodeParameters,
439
+ orderRouterAddress,
432
440
  );
433
441
  const account: Promise<Account> = this.account(subaccount.address, orderFlags);
434
442
  return this.send(
@@ -458,6 +466,9 @@ export class Post {
458
466
  clientMetadata: number = 0,
459
467
  conditionType: Order_ConditionType = Order_ConditionType.CONDITION_TYPE_UNSPECIFIED,
460
468
  conditionalOrderTriggerSubticks: Long = Long.fromInt(0),
469
+ twapParameters?: ITwapParameters,
470
+ builderCodeParameters?: IBuilderCodeParameters,
471
+ orderRouterAddress?: string,
461
472
  ): Promise<EncodeObject> {
462
473
  return new Promise((resolve) => {
463
474
  const msg = this.composer.composeMsgPlaceOrder(
@@ -476,6 +487,9 @@ export class Post {
476
487
  clientMetadata,
477
488
  conditionType,
478
489
  conditionalOrderTriggerSubticks,
490
+ twapParameters,
491
+ builderCodeParameters,
492
+ orderRouterAddress,
479
493
  );
480
494
  resolve(msg);
481
495
  });
@@ -501,6 +515,9 @@ export class Post {
501
515
  placeOrder.clientMetadata,
502
516
  placeOrder.conditionType ?? Order_ConditionType.CONDITION_TYPE_UNSPECIFIED,
503
517
  placeOrder.conditionalOrderTriggerSubticks ?? Long.fromInt(0),
518
+ placeOrder.twapParameters,
519
+ placeOrder.builderCodeParameters,
520
+ placeOrder.orderRouterAddress,
504
521
  broadcastMode,
505
522
  );
506
523
  }