@myx-trade/sdk 0.1.32 → 0.1.34

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/dist/index.d.mts CHANGED
@@ -128,7 +128,7 @@ declare const TimeInForce: {
128
128
  };
129
129
  type TimeInForce = (typeof TimeInForce)[keyof typeof TimeInForce];
130
130
  interface Position$1 {
131
- positionId: string;
131
+ userPositionSalt: string;
132
132
  poolId: string;
133
133
  direction: Direction;
134
134
  size: string;
@@ -145,7 +145,7 @@ interface Position$1 {
145
145
  interface Order$1 {
146
146
  orderId: string;
147
147
  poolId: string;
148
- positionId?: string;
148
+ userPositionSalt?: string;
149
149
  orderType: OrderType;
150
150
  triggerType: TriggerType;
151
151
  operation: OperationType;
@@ -175,7 +175,7 @@ interface PlaceOrderParams {
175
175
  chainId: number;
176
176
  address: string;
177
177
  poolId: string;
178
- positionId: number;
178
+ userPositionSalt: number;
179
179
  orderType: OrderType;
180
180
  triggerType: TriggerType;
181
181
  direction: Direction;
@@ -196,7 +196,7 @@ interface PositionTpSlOrderParams {
196
196
  chainId: number;
197
197
  address: string;
198
198
  poolId: string;
199
- positionId: number;
199
+ userPositionSalt: number;
200
200
  executionFeeToken: string;
201
201
  tpTriggerType: TriggerType;
202
202
  slTriggerType: TriggerType;
@@ -1275,6 +1275,20 @@ declare class Utils {
1275
1275
  code: number;
1276
1276
  message: any;
1277
1277
  }>;
1278
+ getUserTradingFeeRate(assetClass: number): Promise<{
1279
+ code: number;
1280
+ data: {
1281
+ takerFeeRate: any;
1282
+ makerFeeRate: any;
1283
+ baseTakerFeeRate: any;
1284
+ baseMakerFeeRate: any;
1285
+ };
1286
+ message?: undefined;
1287
+ } | {
1288
+ code: number;
1289
+ message: any;
1290
+ data?: undefined;
1291
+ }>;
1278
1292
  getNetworkFee(quoteAddress: string): Promise<any>;
1279
1293
  getOraclePrice(poolId: string): Promise<{
1280
1294
  poolId: string;
package/dist/index.d.ts CHANGED
@@ -128,7 +128,7 @@ declare const TimeInForce: {
128
128
  };
129
129
  type TimeInForce = (typeof TimeInForce)[keyof typeof TimeInForce];
130
130
  interface Position$1 {
131
- positionId: string;
131
+ userPositionSalt: string;
132
132
  poolId: string;
133
133
  direction: Direction;
134
134
  size: string;
@@ -145,7 +145,7 @@ interface Position$1 {
145
145
  interface Order$1 {
146
146
  orderId: string;
147
147
  poolId: string;
148
- positionId?: string;
148
+ userPositionSalt?: string;
149
149
  orderType: OrderType;
150
150
  triggerType: TriggerType;
151
151
  operation: OperationType;
@@ -175,7 +175,7 @@ interface PlaceOrderParams {
175
175
  chainId: number;
176
176
  address: string;
177
177
  poolId: string;
178
- positionId: number;
178
+ userPositionSalt: number;
179
179
  orderType: OrderType;
180
180
  triggerType: TriggerType;
181
181
  direction: Direction;
@@ -196,7 +196,7 @@ interface PositionTpSlOrderParams {
196
196
  chainId: number;
197
197
  address: string;
198
198
  poolId: string;
199
- positionId: number;
199
+ userPositionSalt: number;
200
200
  executionFeeToken: string;
201
201
  tpTriggerType: TriggerType;
202
202
  slTriggerType: TriggerType;
@@ -1275,6 +1275,20 @@ declare class Utils {
1275
1275
  code: number;
1276
1276
  message: any;
1277
1277
  }>;
1278
+ getUserTradingFeeRate(assetClass: number): Promise<{
1279
+ code: number;
1280
+ data: {
1281
+ takerFeeRate: any;
1282
+ makerFeeRate: any;
1283
+ baseTakerFeeRate: any;
1284
+ baseMakerFeeRate: any;
1285
+ };
1286
+ message?: undefined;
1287
+ } | {
1288
+ code: number;
1289
+ message: any;
1290
+ data?: undefined;
1291
+ }>;
1278
1292
  getNetworkFee(quoteAddress: string): Promise<any>;
1279
1293
  getOraclePrice(poolId: string): Promise<{
1280
1294
  poolId: string;
package/dist/index.js CHANGED
@@ -1827,7 +1827,7 @@ var RotationProvider = class extends import_providers.BaseProvider {
1827
1827
  // package.json
1828
1828
  var package_default = {
1829
1829
  name: "@myx-trade/sdk",
1830
- version: "0.1.32",
1830
+ version: "0.1.34",
1831
1831
  private: false,
1832
1832
  publishConfig: {
1833
1833
  access: "public"
@@ -4926,11 +4926,6 @@ var BasePool_default = [
4926
4926
 
4927
4927
  // src/abi/Broker.json
4928
4928
  var Broker_default = [
4929
- {
4930
- type: "constructor",
4931
- payable: false,
4932
- inputs: []
4933
- },
4934
4929
  {
4935
4930
  type: "error",
4936
4931
  name: "ECDSAInvalidSignature",
@@ -4966,11 +4961,21 @@ var Broker_default = [
4966
4961
  name: "InvalidFeeRate",
4967
4962
  inputs: []
4968
4963
  },
4964
+ {
4965
+ type: "error",
4966
+ name: "InvalidFeeTier",
4967
+ inputs: []
4968
+ },
4969
4969
  {
4970
4970
  type: "error",
4971
4971
  name: "InvalidInitialization",
4972
4972
  inputs: []
4973
4973
  },
4974
+ {
4975
+ type: "error",
4976
+ name: "InvalidParameter",
4977
+ inputs: []
4978
+ },
4974
4979
  {
4975
4980
  type: "error",
4976
4981
  name: "NoRebateToClaim",
@@ -5243,6 +5248,19 @@ var Broker_default = [
5243
5248
  }
5244
5249
  ]
5245
5250
  },
5251
+ {
5252
+ type: "function",
5253
+ name: "__ERC2771ContextUpgradeable_init",
5254
+ constant: false,
5255
+ payable: false,
5256
+ inputs: [
5257
+ {
5258
+ type: "address",
5259
+ name: "trustedForwarder_"
5260
+ }
5261
+ ],
5262
+ outputs: []
5263
+ },
5246
5264
  {
5247
5265
  type: "function",
5248
5266
  name: "acceptOwnership",
@@ -5264,6 +5282,19 @@ var Broker_default = [
5264
5282
  }
5265
5283
  ]
5266
5284
  },
5285
+ {
5286
+ type: "function",
5287
+ name: "activeSpecialFeeTierList",
5288
+ constant: true,
5289
+ stateMutability: "view",
5290
+ payable: false,
5291
+ inputs: [],
5292
+ outputs: [
5293
+ {
5294
+ type: "uint256[]"
5295
+ }
5296
+ ]
5297
+ },
5267
5298
  {
5268
5299
  type: "function",
5269
5300
  name: "addressManager",
@@ -5284,7 +5315,7 @@ var Broker_default = [
5284
5315
  payable: false,
5285
5316
  inputs: [
5286
5317
  {
5287
- type: "uint256",
5318
+ type: "bytes32",
5288
5319
  name: "positionId"
5289
5320
  },
5290
5321
  {
@@ -5440,6 +5471,29 @@ var Broker_default = [
5440
5471
  }
5441
5472
  ]
5442
5473
  },
5474
+ {
5475
+ type: "function",
5476
+ name: "getSpecialFeeTier",
5477
+ constant: true,
5478
+ stateMutability: "view",
5479
+ payable: false,
5480
+ inputs: [
5481
+ {
5482
+ type: "uint8",
5483
+ name: "feeTier"
5484
+ }
5485
+ ],
5486
+ outputs: [
5487
+ {
5488
+ type: "int32",
5489
+ name: "makerFeeRate"
5490
+ },
5491
+ {
5492
+ type: "uint32",
5493
+ name: "takerFeeRate"
5494
+ }
5495
+ ]
5496
+ },
5443
5497
  {
5444
5498
  type: "function",
5445
5499
  name: "getUserFeeRate",
@@ -5531,6 +5585,24 @@ var Broker_default = [
5531
5585
  }
5532
5586
  ]
5533
5587
  },
5588
+ {
5589
+ type: "function",
5590
+ name: "isTrustedForwarder",
5591
+ constant: true,
5592
+ stateMutability: "view",
5593
+ payable: false,
5594
+ inputs: [
5595
+ {
5596
+ type: "address",
5597
+ name: "forwarder"
5598
+ }
5599
+ ],
5600
+ outputs: [
5601
+ {
5602
+ type: "bool"
5603
+ }
5604
+ ]
5605
+ },
5534
5606
  {
5535
5607
  type: "function",
5536
5608
  name: "name",
@@ -5628,8 +5700,8 @@ var Broker_default = [
5628
5700
  name: "poolId"
5629
5701
  },
5630
5702
  {
5631
- type: "uint256",
5632
- name: "positionId"
5703
+ type: "uint64",
5704
+ name: "userPositionSalt"
5633
5705
  },
5634
5706
  {
5635
5707
  type: "uint8",
@@ -5724,8 +5796,8 @@ var Broker_default = [
5724
5796
  name: "poolId"
5725
5797
  },
5726
5798
  {
5727
- type: "uint256",
5728
- name: "positionId"
5799
+ type: "uint64",
5800
+ name: "userPositionSalt"
5729
5801
  },
5730
5802
  {
5731
5803
  type: "uint8",
@@ -5827,43 +5899,91 @@ var Broker_default = [
5827
5899
  },
5828
5900
  {
5829
5901
  type: "function",
5830
- name: "setUserFeeData",
5902
+ name: "setSpecialFeeTier",
5831
5903
  constant: false,
5832
5904
  payable: false,
5833
5905
  inputs: [
5834
5906
  {
5835
- type: "address",
5836
- name: "user"
5907
+ type: "uint8",
5908
+ name: "feeTier"
5837
5909
  },
5838
5910
  {
5839
- type: "uint64",
5840
- name: "deadline"
5911
+ type: "int32",
5912
+ name: "makerFeeRate"
5841
5913
  },
5914
+ {
5915
+ type: "uint32",
5916
+ name: "takerFeeRate"
5917
+ }
5918
+ ],
5919
+ outputs: []
5920
+ },
5921
+ {
5922
+ type: "function",
5923
+ name: "setUserFeeData",
5924
+ constant: false,
5925
+ payable: false,
5926
+ inputs: [
5842
5927
  {
5843
5928
  type: "tuple",
5844
- name: "feeData",
5929
+ name: "params",
5845
5930
  components: [
5846
5931
  {
5847
- type: "uint8",
5848
- name: "tier"
5932
+ type: "address",
5933
+ name: "user"
5849
5934
  },
5850
5935
  {
5851
- type: "address",
5852
- name: "referrer"
5936
+ type: "uint64",
5937
+ name: "nonce"
5853
5938
  },
5854
5939
  {
5855
- type: "uint32",
5856
- name: "totalReferralRebatePct"
5940
+ type: "uint64",
5941
+ name: "deadline"
5857
5942
  },
5858
5943
  {
5859
- type: "uint32",
5860
- name: "referrerRebatePct"
5944
+ type: "tuple",
5945
+ name: "feeData",
5946
+ components: [
5947
+ {
5948
+ type: "uint8",
5949
+ name: "tier"
5950
+ },
5951
+ {
5952
+ type: "address",
5953
+ name: "referrer"
5954
+ },
5955
+ {
5956
+ type: "uint32",
5957
+ name: "totalReferralRebatePct"
5958
+ },
5959
+ {
5960
+ type: "uint32",
5961
+ name: "referrerRebatePct"
5962
+ }
5963
+ ]
5964
+ },
5965
+ {
5966
+ type: "bytes",
5967
+ name: "signature"
5861
5968
  }
5862
5969
  ]
5970
+ }
5971
+ ],
5972
+ outputs: []
5973
+ },
5974
+ {
5975
+ type: "function",
5976
+ name: "setUserSpecialFeeTier",
5977
+ constant: false,
5978
+ payable: false,
5979
+ inputs: [
5980
+ {
5981
+ type: "address",
5982
+ name: "user"
5863
5983
  },
5864
5984
  {
5865
- type: "bytes",
5866
- name: "signature"
5985
+ type: "uint8",
5986
+ name: "feeTier"
5867
5987
  }
5868
5988
  ],
5869
5989
  outputs: []
@@ -5894,6 +6014,19 @@ var Broker_default = [
5894
6014
  ],
5895
6015
  outputs: []
5896
6016
  },
6017
+ {
6018
+ type: "function",
6019
+ name: "trustedForwarder",
6020
+ constant: true,
6021
+ stateMutability: "view",
6022
+ payable: false,
6023
+ inputs: [],
6024
+ outputs: [
6025
+ {
6026
+ type: "address"
6027
+ }
6028
+ ]
6029
+ },
5897
6030
  {
5898
6031
  type: "function",
5899
6032
  name: "updateBaseFeeRates",
@@ -6083,7 +6216,7 @@ var Broker_default = [
6083
6216
  ]
6084
6217
  },
6085
6218
  {
6086
- type: "uint256",
6219
+ type: "bytes32",
6087
6220
  name: "positionId"
6088
6221
  },
6089
6222
  {
@@ -6128,6 +6261,25 @@ var Broker_default = [
6128
6261
  }
6129
6262
  ]
6130
6263
  },
6264
+ {
6265
+ type: "function",
6266
+ name: "userNonces",
6267
+ constant: true,
6268
+ stateMutability: "view",
6269
+ payable: false,
6270
+ inputs: [
6271
+ {
6272
+ type: "address",
6273
+ name: "user"
6274
+ }
6275
+ ],
6276
+ outputs: [
6277
+ {
6278
+ type: "uint64",
6279
+ name: "nonce"
6280
+ }
6281
+ ]
6282
+ },
6131
6283
  {
6132
6284
  type: "function",
6133
6285
  name: "userRebates",
@@ -11848,7 +12000,6 @@ var SubScription = class {
11848
12000
  */
11849
12001
  async auth(isReconnect = false) {
11850
12002
  const token = await this.getAccessToken();
11851
- this.logger.debug("new access token-->", token, "prevAccessToken-->", this.prevAccessToken, "clientAuth-->", this.clientAuth, "isReconnect-->", isReconnect);
11852
12003
  if (token === this.prevAccessToken && this.clientAuth && !isReconnect) {
11853
12004
  return Promise.resolve();
11854
12005
  }
@@ -11944,6 +12095,7 @@ var ConfigManager = class {
11944
12095
  };
11945
12096
  }
11946
12097
  auth(params) {
12098
+ this.clear();
11947
12099
  this.config = {
11948
12100
  ...this.config,
11949
12101
  ...params
@@ -12554,7 +12706,7 @@ var Order = class {
12554
12706
  console.log("createIncreaseOrder params--->", {
12555
12707
  user: params.address,
12556
12708
  poolId: params.poolId,
12557
- positionId: params.positionId,
12709
+ userPositionSalt: params.userPositionSalt,
12558
12710
  orderType: params.orderType,
12559
12711
  triggerType: params.triggerType,
12560
12712
  operation: OperationType.INCREASE,
@@ -12576,7 +12728,7 @@ var Order = class {
12576
12728
  const gasLimit = await brokerContract.placeOrder.estimateGas({
12577
12729
  user: params.address,
12578
12730
  poolId: params.poolId,
12579
- positionId: params.positionId,
12731
+ userPositionSalt: params.userPositionSalt,
12580
12732
  orderType: params.orderType,
12581
12733
  triggerType: params.triggerType,
12582
12734
  operation: OperationType.INCREASE,
@@ -12599,7 +12751,7 @@ var Order = class {
12599
12751
  {
12600
12752
  user: params.address,
12601
12753
  poolId: params.poolId,
12602
- positionId: params.positionId ?? 0,
12754
+ userPositionSalt: params.userPositionSalt,
12603
12755
  orderType: params.orderType,
12604
12756
  triggerType: params.triggerType,
12605
12757
  operation: OperationType.INCREASE,
@@ -12671,7 +12823,7 @@ var Order = class {
12671
12823
  console.log("createDecreaseOrder params--->", {
12672
12824
  user: params.address,
12673
12825
  poolId: params.poolId,
12674
- positionId: params.positionId,
12826
+ userPositionSalt: params.userPositionSalt,
12675
12827
  orderType: params.orderType,
12676
12828
  triggerType: params.triggerType,
12677
12829
  operation: OperationType.DECREASE,
@@ -12688,7 +12840,7 @@ var Order = class {
12688
12840
  const gasLimit = await brokerContract.placeOrder.estimateGas({
12689
12841
  user: params.address,
12690
12842
  poolId: params.poolId,
12691
- positionId: params.positionId,
12843
+ userPositionSalt: params.userPositionSalt,
12692
12844
  orderType: params.orderType,
12693
12845
  triggerType: params.triggerType,
12694
12846
  operation: OperationType.DECREASE,
@@ -12711,7 +12863,7 @@ var Order = class {
12711
12863
  {
12712
12864
  user: params.address,
12713
12865
  poolId: params.poolId,
12714
- positionId: params.positionId,
12866
+ userPositionSalt: params.userPositionSalt,
12715
12867
  orderType: params.orderType,
12716
12868
  triggerType: params.triggerType,
12717
12869
  operation: OperationType.DECREASE,
@@ -12786,7 +12938,7 @@ var Order = class {
12786
12938
  {
12787
12939
  user: params.address,
12788
12940
  poolId: params.poolId,
12789
- positionId: params.positionId,
12941
+ userPositionSalt: params.userPositionSalt,
12790
12942
  orderType: OrderType.STOP,
12791
12943
  triggerType: params.tpTriggerType,
12792
12944
  operation: OperationType.DECREASE,
@@ -12808,7 +12960,7 @@ var Order = class {
12808
12960
  {
12809
12961
  user: params.address,
12810
12962
  poolId: params.poolId,
12811
- positionId: params.positionId,
12963
+ userPositionSalt: params.userPositionSalt,
12812
12964
  orderType: OrderType.STOP,
12813
12965
  triggerType: params.slTriggerType,
12814
12966
  operation: OperationType.DECREASE,
@@ -12866,7 +13018,7 @@ var Order = class {
12866
13018
  const data = {
12867
13019
  user: params.address,
12868
13020
  poolId: params.poolId,
12869
- positionId: params.positionId,
13021
+ userPositionSalt: params.userPositionSalt,
12870
13022
  orderType: OrderType.STOP,
12871
13023
  triggerType: params.tpSize !== "0" ? params.tpTriggerType : params.slTriggerType,
12872
13024
  operation: OperationType.DECREASE,
@@ -16866,6 +17018,39 @@ var Utils = class {
16866
17018
  };
16867
17019
  }
16868
17020
  }
17021
+ async getUserTradingFeeRate(assetClass) {
17022
+ const config = this.configManager.getConfig();
17023
+ const brokerAddress = getContractAddressByChainId(
17024
+ config.chainId
17025
+ ).BROKER;
17026
+ const brokerContract = new import_ethers26.ethers.Contract(
17027
+ brokerAddress,
17028
+ Broker_default,
17029
+ config.signer
17030
+ );
17031
+ try {
17032
+ const userFeeRate = await brokerContract.getUserFeeRate(
17033
+ config.signer?.getAddress(),
17034
+ assetClass
17035
+ );
17036
+ return {
17037
+ code: 0,
17038
+ data: {
17039
+ takerFeeRate: userFeeRate[0].toString(),
17040
+ makerFeeRate: userFeeRate[1].toString(),
17041
+ baseTakerFeeRate: userFeeRate[2].toString(),
17042
+ baseMakerFeeRate: userFeeRate[3].toString()
17043
+ }
17044
+ };
17045
+ } catch (error) {
17046
+ this.logger.error("Error getting user trading fee rate:", error);
17047
+ return {
17048
+ code: -1,
17049
+ // @ts-ignore
17050
+ message: error?.message
17051
+ };
17052
+ }
17053
+ }
16869
17054
  async getNetworkFee(quoteAddress) {
16870
17055
  const config = this.configManager.getConfig();
16871
17056
  const orderManagerAddress = getContractAddressByChainId(
package/dist/index.mjs CHANGED
@@ -1742,7 +1742,7 @@ var RotationProvider = class extends BaseProvider {
1742
1742
  // package.json
1743
1743
  var package_default = {
1744
1744
  name: "@myx-trade/sdk",
1745
- version: "0.1.32",
1745
+ version: "0.1.34",
1746
1746
  private: false,
1747
1747
  publishConfig: {
1748
1748
  access: "public"
@@ -4841,11 +4841,6 @@ var BasePool_default = [
4841
4841
 
4842
4842
  // src/abi/Broker.json
4843
4843
  var Broker_default = [
4844
- {
4845
- type: "constructor",
4846
- payable: false,
4847
- inputs: []
4848
- },
4849
4844
  {
4850
4845
  type: "error",
4851
4846
  name: "ECDSAInvalidSignature",
@@ -4881,11 +4876,21 @@ var Broker_default = [
4881
4876
  name: "InvalidFeeRate",
4882
4877
  inputs: []
4883
4878
  },
4879
+ {
4880
+ type: "error",
4881
+ name: "InvalidFeeTier",
4882
+ inputs: []
4883
+ },
4884
4884
  {
4885
4885
  type: "error",
4886
4886
  name: "InvalidInitialization",
4887
4887
  inputs: []
4888
4888
  },
4889
+ {
4890
+ type: "error",
4891
+ name: "InvalidParameter",
4892
+ inputs: []
4893
+ },
4889
4894
  {
4890
4895
  type: "error",
4891
4896
  name: "NoRebateToClaim",
@@ -5158,6 +5163,19 @@ var Broker_default = [
5158
5163
  }
5159
5164
  ]
5160
5165
  },
5166
+ {
5167
+ type: "function",
5168
+ name: "__ERC2771ContextUpgradeable_init",
5169
+ constant: false,
5170
+ payable: false,
5171
+ inputs: [
5172
+ {
5173
+ type: "address",
5174
+ name: "trustedForwarder_"
5175
+ }
5176
+ ],
5177
+ outputs: []
5178
+ },
5161
5179
  {
5162
5180
  type: "function",
5163
5181
  name: "acceptOwnership",
@@ -5179,6 +5197,19 @@ var Broker_default = [
5179
5197
  }
5180
5198
  ]
5181
5199
  },
5200
+ {
5201
+ type: "function",
5202
+ name: "activeSpecialFeeTierList",
5203
+ constant: true,
5204
+ stateMutability: "view",
5205
+ payable: false,
5206
+ inputs: [],
5207
+ outputs: [
5208
+ {
5209
+ type: "uint256[]"
5210
+ }
5211
+ ]
5212
+ },
5182
5213
  {
5183
5214
  type: "function",
5184
5215
  name: "addressManager",
@@ -5199,7 +5230,7 @@ var Broker_default = [
5199
5230
  payable: false,
5200
5231
  inputs: [
5201
5232
  {
5202
- type: "uint256",
5233
+ type: "bytes32",
5203
5234
  name: "positionId"
5204
5235
  },
5205
5236
  {
@@ -5355,6 +5386,29 @@ var Broker_default = [
5355
5386
  }
5356
5387
  ]
5357
5388
  },
5389
+ {
5390
+ type: "function",
5391
+ name: "getSpecialFeeTier",
5392
+ constant: true,
5393
+ stateMutability: "view",
5394
+ payable: false,
5395
+ inputs: [
5396
+ {
5397
+ type: "uint8",
5398
+ name: "feeTier"
5399
+ }
5400
+ ],
5401
+ outputs: [
5402
+ {
5403
+ type: "int32",
5404
+ name: "makerFeeRate"
5405
+ },
5406
+ {
5407
+ type: "uint32",
5408
+ name: "takerFeeRate"
5409
+ }
5410
+ ]
5411
+ },
5358
5412
  {
5359
5413
  type: "function",
5360
5414
  name: "getUserFeeRate",
@@ -5446,6 +5500,24 @@ var Broker_default = [
5446
5500
  }
5447
5501
  ]
5448
5502
  },
5503
+ {
5504
+ type: "function",
5505
+ name: "isTrustedForwarder",
5506
+ constant: true,
5507
+ stateMutability: "view",
5508
+ payable: false,
5509
+ inputs: [
5510
+ {
5511
+ type: "address",
5512
+ name: "forwarder"
5513
+ }
5514
+ ],
5515
+ outputs: [
5516
+ {
5517
+ type: "bool"
5518
+ }
5519
+ ]
5520
+ },
5449
5521
  {
5450
5522
  type: "function",
5451
5523
  name: "name",
@@ -5543,8 +5615,8 @@ var Broker_default = [
5543
5615
  name: "poolId"
5544
5616
  },
5545
5617
  {
5546
- type: "uint256",
5547
- name: "positionId"
5618
+ type: "uint64",
5619
+ name: "userPositionSalt"
5548
5620
  },
5549
5621
  {
5550
5622
  type: "uint8",
@@ -5639,8 +5711,8 @@ var Broker_default = [
5639
5711
  name: "poolId"
5640
5712
  },
5641
5713
  {
5642
- type: "uint256",
5643
- name: "positionId"
5714
+ type: "uint64",
5715
+ name: "userPositionSalt"
5644
5716
  },
5645
5717
  {
5646
5718
  type: "uint8",
@@ -5742,43 +5814,91 @@ var Broker_default = [
5742
5814
  },
5743
5815
  {
5744
5816
  type: "function",
5745
- name: "setUserFeeData",
5817
+ name: "setSpecialFeeTier",
5746
5818
  constant: false,
5747
5819
  payable: false,
5748
5820
  inputs: [
5749
5821
  {
5750
- type: "address",
5751
- name: "user"
5822
+ type: "uint8",
5823
+ name: "feeTier"
5752
5824
  },
5753
5825
  {
5754
- type: "uint64",
5755
- name: "deadline"
5826
+ type: "int32",
5827
+ name: "makerFeeRate"
5756
5828
  },
5829
+ {
5830
+ type: "uint32",
5831
+ name: "takerFeeRate"
5832
+ }
5833
+ ],
5834
+ outputs: []
5835
+ },
5836
+ {
5837
+ type: "function",
5838
+ name: "setUserFeeData",
5839
+ constant: false,
5840
+ payable: false,
5841
+ inputs: [
5757
5842
  {
5758
5843
  type: "tuple",
5759
- name: "feeData",
5844
+ name: "params",
5760
5845
  components: [
5761
5846
  {
5762
- type: "uint8",
5763
- name: "tier"
5847
+ type: "address",
5848
+ name: "user"
5764
5849
  },
5765
5850
  {
5766
- type: "address",
5767
- name: "referrer"
5851
+ type: "uint64",
5852
+ name: "nonce"
5768
5853
  },
5769
5854
  {
5770
- type: "uint32",
5771
- name: "totalReferralRebatePct"
5855
+ type: "uint64",
5856
+ name: "deadline"
5772
5857
  },
5773
5858
  {
5774
- type: "uint32",
5775
- name: "referrerRebatePct"
5859
+ type: "tuple",
5860
+ name: "feeData",
5861
+ components: [
5862
+ {
5863
+ type: "uint8",
5864
+ name: "tier"
5865
+ },
5866
+ {
5867
+ type: "address",
5868
+ name: "referrer"
5869
+ },
5870
+ {
5871
+ type: "uint32",
5872
+ name: "totalReferralRebatePct"
5873
+ },
5874
+ {
5875
+ type: "uint32",
5876
+ name: "referrerRebatePct"
5877
+ }
5878
+ ]
5879
+ },
5880
+ {
5881
+ type: "bytes",
5882
+ name: "signature"
5776
5883
  }
5777
5884
  ]
5885
+ }
5886
+ ],
5887
+ outputs: []
5888
+ },
5889
+ {
5890
+ type: "function",
5891
+ name: "setUserSpecialFeeTier",
5892
+ constant: false,
5893
+ payable: false,
5894
+ inputs: [
5895
+ {
5896
+ type: "address",
5897
+ name: "user"
5778
5898
  },
5779
5899
  {
5780
- type: "bytes",
5781
- name: "signature"
5900
+ type: "uint8",
5901
+ name: "feeTier"
5782
5902
  }
5783
5903
  ],
5784
5904
  outputs: []
@@ -5809,6 +5929,19 @@ var Broker_default = [
5809
5929
  ],
5810
5930
  outputs: []
5811
5931
  },
5932
+ {
5933
+ type: "function",
5934
+ name: "trustedForwarder",
5935
+ constant: true,
5936
+ stateMutability: "view",
5937
+ payable: false,
5938
+ inputs: [],
5939
+ outputs: [
5940
+ {
5941
+ type: "address"
5942
+ }
5943
+ ]
5944
+ },
5812
5945
  {
5813
5946
  type: "function",
5814
5947
  name: "updateBaseFeeRates",
@@ -5998,7 +6131,7 @@ var Broker_default = [
5998
6131
  ]
5999
6132
  },
6000
6133
  {
6001
- type: "uint256",
6134
+ type: "bytes32",
6002
6135
  name: "positionId"
6003
6136
  },
6004
6137
  {
@@ -6043,6 +6176,25 @@ var Broker_default = [
6043
6176
  }
6044
6177
  ]
6045
6178
  },
6179
+ {
6180
+ type: "function",
6181
+ name: "userNonces",
6182
+ constant: true,
6183
+ stateMutability: "view",
6184
+ payable: false,
6185
+ inputs: [
6186
+ {
6187
+ type: "address",
6188
+ name: "user"
6189
+ }
6190
+ ],
6191
+ outputs: [
6192
+ {
6193
+ type: "uint64",
6194
+ name: "nonce"
6195
+ }
6196
+ ]
6197
+ },
6046
6198
  {
6047
6199
  type: "function",
6048
6200
  name: "userRebates",
@@ -11763,7 +11915,6 @@ var SubScription = class {
11763
11915
  */
11764
11916
  async auth(isReconnect = false) {
11765
11917
  const token = await this.getAccessToken();
11766
- this.logger.debug("new access token-->", token, "prevAccessToken-->", this.prevAccessToken, "clientAuth-->", this.clientAuth, "isReconnect-->", isReconnect);
11767
11918
  if (token === this.prevAccessToken && this.clientAuth && !isReconnect) {
11768
11919
  return Promise.resolve();
11769
11920
  }
@@ -11859,6 +12010,7 @@ var ConfigManager = class {
11859
12010
  };
11860
12011
  }
11861
12012
  auth(params) {
12013
+ this.clear();
11862
12014
  this.config = {
11863
12015
  ...this.config,
11864
12016
  ...params
@@ -12469,7 +12621,7 @@ var Order = class {
12469
12621
  console.log("createIncreaseOrder params--->", {
12470
12622
  user: params.address,
12471
12623
  poolId: params.poolId,
12472
- positionId: params.positionId,
12624
+ userPositionSalt: params.userPositionSalt,
12473
12625
  orderType: params.orderType,
12474
12626
  triggerType: params.triggerType,
12475
12627
  operation: OperationType.INCREASE,
@@ -12491,7 +12643,7 @@ var Order = class {
12491
12643
  const gasLimit = await brokerContract.placeOrder.estimateGas({
12492
12644
  user: params.address,
12493
12645
  poolId: params.poolId,
12494
- positionId: params.positionId,
12646
+ userPositionSalt: params.userPositionSalt,
12495
12647
  orderType: params.orderType,
12496
12648
  triggerType: params.triggerType,
12497
12649
  operation: OperationType.INCREASE,
@@ -12514,7 +12666,7 @@ var Order = class {
12514
12666
  {
12515
12667
  user: params.address,
12516
12668
  poolId: params.poolId,
12517
- positionId: params.positionId ?? 0,
12669
+ userPositionSalt: params.userPositionSalt,
12518
12670
  orderType: params.orderType,
12519
12671
  triggerType: params.triggerType,
12520
12672
  operation: OperationType.INCREASE,
@@ -12586,7 +12738,7 @@ var Order = class {
12586
12738
  console.log("createDecreaseOrder params--->", {
12587
12739
  user: params.address,
12588
12740
  poolId: params.poolId,
12589
- positionId: params.positionId,
12741
+ userPositionSalt: params.userPositionSalt,
12590
12742
  orderType: params.orderType,
12591
12743
  triggerType: params.triggerType,
12592
12744
  operation: OperationType.DECREASE,
@@ -12603,7 +12755,7 @@ var Order = class {
12603
12755
  const gasLimit = await brokerContract.placeOrder.estimateGas({
12604
12756
  user: params.address,
12605
12757
  poolId: params.poolId,
12606
- positionId: params.positionId,
12758
+ userPositionSalt: params.userPositionSalt,
12607
12759
  orderType: params.orderType,
12608
12760
  triggerType: params.triggerType,
12609
12761
  operation: OperationType.DECREASE,
@@ -12626,7 +12778,7 @@ var Order = class {
12626
12778
  {
12627
12779
  user: params.address,
12628
12780
  poolId: params.poolId,
12629
- positionId: params.positionId,
12781
+ userPositionSalt: params.userPositionSalt,
12630
12782
  orderType: params.orderType,
12631
12783
  triggerType: params.triggerType,
12632
12784
  operation: OperationType.DECREASE,
@@ -12701,7 +12853,7 @@ var Order = class {
12701
12853
  {
12702
12854
  user: params.address,
12703
12855
  poolId: params.poolId,
12704
- positionId: params.positionId,
12856
+ userPositionSalt: params.userPositionSalt,
12705
12857
  orderType: OrderType.STOP,
12706
12858
  triggerType: params.tpTriggerType,
12707
12859
  operation: OperationType.DECREASE,
@@ -12723,7 +12875,7 @@ var Order = class {
12723
12875
  {
12724
12876
  user: params.address,
12725
12877
  poolId: params.poolId,
12726
- positionId: params.positionId,
12878
+ userPositionSalt: params.userPositionSalt,
12727
12879
  orderType: OrderType.STOP,
12728
12880
  triggerType: params.slTriggerType,
12729
12881
  operation: OperationType.DECREASE,
@@ -12781,7 +12933,7 @@ var Order = class {
12781
12933
  const data = {
12782
12934
  user: params.address,
12783
12935
  poolId: params.poolId,
12784
- positionId: params.positionId,
12936
+ userPositionSalt: params.userPositionSalt,
12785
12937
  orderType: OrderType.STOP,
12786
12938
  triggerType: params.tpSize !== "0" ? params.tpTriggerType : params.slTriggerType,
12787
12939
  operation: OperationType.DECREASE,
@@ -16781,6 +16933,39 @@ var Utils = class {
16781
16933
  };
16782
16934
  }
16783
16935
  }
16936
+ async getUserTradingFeeRate(assetClass) {
16937
+ const config = this.configManager.getConfig();
16938
+ const brokerAddress = getContractAddressByChainId(
16939
+ config.chainId
16940
+ ).BROKER;
16941
+ const brokerContract = new ethers7.Contract(
16942
+ brokerAddress,
16943
+ Broker_default,
16944
+ config.signer
16945
+ );
16946
+ try {
16947
+ const userFeeRate = await brokerContract.getUserFeeRate(
16948
+ config.signer?.getAddress(),
16949
+ assetClass
16950
+ );
16951
+ return {
16952
+ code: 0,
16953
+ data: {
16954
+ takerFeeRate: userFeeRate[0].toString(),
16955
+ makerFeeRate: userFeeRate[1].toString(),
16956
+ baseTakerFeeRate: userFeeRate[2].toString(),
16957
+ baseMakerFeeRate: userFeeRate[3].toString()
16958
+ }
16959
+ };
16960
+ } catch (error) {
16961
+ this.logger.error("Error getting user trading fee rate:", error);
16962
+ return {
16963
+ code: -1,
16964
+ // @ts-ignore
16965
+ message: error?.message
16966
+ };
16967
+ }
16968
+ }
16784
16969
  async getNetworkFee(quoteAddress) {
16785
16970
  const config = this.configManager.getConfig();
16786
16971
  const orderManagerAddress = getContractAddressByChainId(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myx-trade/sdk",
3
- "version": "0.1.32",
3
+ "version": "0.1.34",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"