@myx-trade/sdk 0.1.2 → 0.1.6

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.js CHANGED
@@ -32,43 +32,66 @@ var index_exports = {};
32
32
  __export(index_exports, {
33
33
  COMMON_LP_AMOUNT_DECIMALS: () => COMMON_LP_AMOUNT_DECIMALS,
34
34
  COMMON_PRICE_DECIMALS: () => COMMON_PRICE_DECIMALS,
35
+ ChainId: () => ChainId,
35
36
  Direction: () => Direction,
37
+ DirectionEnum: () => DirectionEnum,
36
38
  ErrorCode: () => ErrorCode2,
39
+ ExecTypeEnum: () => ExecTypeEnum,
37
40
  HttpKlineIntervalEnum: () => HttpKlineIntervalEnum,
38
41
  Market: () => Market,
42
+ MarketCapType: () => MarketCapType,
39
43
  MarketPoolState: () => MarketPoolState,
44
+ MarketType: () => MarketType,
40
45
  MyxClient: () => MyxClient,
46
+ OperationEnum: () => OperationEnum,
41
47
  OperationType: () => OperationType,
42
48
  OracleType: () => OracleType,
43
49
  OrderStatus: () => OrderStatus,
50
+ OrderStatusEnum: () => OrderStatusEnum,
44
51
  OrderType: () => OrderType,
52
+ OrderTypeEnum: () => OrderTypeEnum,
53
+ SearchSecondTypeEnum: () => SearchSecondTypeEnum,
54
+ SearchTypeEnum: () => SearchTypeEnum,
45
55
  TimeInForce: () => TimeInForce2,
46
56
  TriggerType: () => TriggerType2,
57
+ TriggerTypeEnum: () => TriggerTypeEnum,
58
+ addFavorite: () => addFavorite,
47
59
  approve: () => approve,
48
60
  base: () => base_exports,
61
+ baseUrl: () => baseUrl,
49
62
  bigintAmountSlipperCalculator: () => bigintAmountSlipperCalculator,
50
63
  bigintTradingGasPriceWithRatio: () => bigintTradingGasPriceWithRatio,
51
64
  bigintTradingGasToRatioCalculator: () => bigintTradingGasToRatioCalculator,
52
- formatUnits: () => import_ethers23.formatUnits,
65
+ formatUnits: () => import_ethers24.formatUnits,
53
66
  getAllTickers: () => getAllTickers,
54
67
  getAllowanceApproved: () => getAllowanceApproved,
55
68
  getBalanceOf: () => getBalanceOf,
69
+ getBaseDetail: () => getBaseDetail,
70
+ getFavoritesList: () => getFavoritesList,
71
+ getHistoryOrders: () => getHistoryOrders,
56
72
  getKlineData: () => getKlineData,
57
73
  getKlineLatestBar: () => getKlineLatestBar,
74
+ getMarketDetail: () => getMarketDetail,
58
75
  getOraclePrice: () => getOraclePrice,
59
76
  getOrders: () => getOrders,
60
77
  getPoolDetail: () => getPoolDetail,
61
78
  getPoolLevelConfig: () => getPoolLevelConfig,
62
79
  getPoolOpenOrders: () => getPoolOpenOrders,
63
80
  getPools: () => getPools,
81
+ getPositionHistory: () => getPositionHistory,
64
82
  getPositions: () => getPositions,
65
83
  getPriceData: () => getPriceData,
66
84
  getPricesData: () => getPricesData,
67
85
  getTickerData: () => getTickerData,
86
+ getTokenInfo: () => getTokenInfo,
87
+ getTradeFlow: () => getTradeFlow,
68
88
  market: () => market_exports,
69
- parseUnits: () => import_ethers23.parseUnits,
89
+ parseUnits: () => import_ethers24.parseUnits,
70
90
  pool: () => pool_exports,
71
- quote: () => quote_exports
91
+ quote: () => quote_exports,
92
+ removeFavorite: () => removeFavorite,
93
+ searchMarket: () => searchMarket,
94
+ searchMarketAuth: () => searchMarketAuth
72
95
  });
73
96
  module.exports = __toCommonJS(index_exports);
74
97
 
@@ -1424,6 +1447,18 @@ var LiquidityRouter_default = [
1424
1447
  ];
1425
1448
 
1426
1449
  // src/config/chain.ts
1450
+ var ChainId = /* @__PURE__ */ ((ChainId3) => {
1451
+ ChainId3[ChainId3["LINEA_SEPOLIA"] = 59141] = "LINEA_SEPOLIA";
1452
+ ChainId3[ChainId3["LINEA_MAINNET"] = 59144] = "LINEA_MAINNET";
1453
+ ChainId3[ChainId3["ARB_TESTNET"] = 421614] = "ARB_TESTNET";
1454
+ ChainId3[ChainId3["ARB_MAINNET"] = 42161] = "ARB_MAINNET";
1455
+ ChainId3[ChainId3["OPBNB_TESTNET"] = 5611] = "OPBNB_TESTNET";
1456
+ ChainId3[ChainId3["OPBNB_MAINNET"] = 204] = "OPBNB_MAINNET";
1457
+ ChainId3[ChainId3["SCROLL_MAINNET"] = 534352] = "SCROLL_MAINNET";
1458
+ ChainId3[ChainId3["BSC_TESTNET"] = 97] = "BSC_TESTNET";
1459
+ ChainId3[ChainId3["BSC_MAINNET"] = 56] = "BSC_MAINNET";
1460
+ return ChainId3;
1461
+ })(ChainId || {});
1427
1462
  var SupportedChainIds = [421614 /* ARB_TESTNET */];
1428
1463
  function isSupportedChainFn(chainId2) {
1429
1464
  return !!chainId2 && SupportedChainIds.includes(chainId2);
@@ -1791,8 +1826,12 @@ var RotationProvider = class extends import_providers.BaseProvider {
1791
1826
 
1792
1827
  // package.json
1793
1828
  var package_default = {
1794
- name: "@myx-trade/sdk-test",
1795
- version: "1.0.0",
1829
+ name: "@myx-trade/sdk",
1830
+ version: "0.1.6",
1831
+ private: false,
1832
+ publishConfig: {
1833
+ access: "public"
1834
+ },
1796
1835
  description: "MYX Trade SDK for trading operations",
1797
1836
  main: "dist/index.js",
1798
1837
  module: "dist/index.mjs",
@@ -1812,7 +1851,17 @@ var package_default = {
1812
1851
  dev: "tsup src/index.ts --format cjs,esm --dts --watch",
1813
1852
  clean: "rm -rf dist",
1814
1853
  prebuild: "npm run clean",
1815
- "gen:abi": "typechain --target ethers-v6 --out-dir ./src/abi/types './src/abi/**/*.json'"
1854
+ "gen:abi": "typechain --target ethers-v6 --out-dir ./src/abi/types './src/abi/**/*.json'",
1855
+ "version:bump": "node scripts/bump-version.js",
1856
+ "version:patch": "node scripts/bump-version.js patch",
1857
+ "version:minor": "node scripts/bump-version.js minor",
1858
+ "version:major": "node scripts/bump-version.js major",
1859
+ prepublishOnly: "npm run build",
1860
+ publish: "node scripts/publish.js patch",
1861
+ "publish:patch": "node scripts/publish.js patch",
1862
+ "publish:minor": "node scripts/publish.js minor",
1863
+ "publish:major": "node scripts/publish.js major",
1864
+ "publish:no-bump": "npm run build && npm publish --access public"
1816
1865
  },
1817
1866
  keywords: [
1818
1867
  "trading",
@@ -4885,6 +4934,11 @@ var BasePool_default = [
4885
4934
 
4886
4935
  // src/abi/Broker.json
4887
4936
  var Broker_default = [
4937
+ {
4938
+ type: "constructor",
4939
+ payable: false,
4940
+ inputs: []
4941
+ },
4888
4942
  {
4889
4943
  type: "error",
4890
4944
  name: "ECDSAInvalidSignature",
@@ -4920,11 +4974,6 @@ var Broker_default = [
4920
4974
  name: "InvalidFeeRate",
4921
4975
  inputs: []
4922
4976
  },
4923
- {
4924
- type: "error",
4925
- name: "InvalidFeeTier",
4926
- inputs: []
4927
- },
4928
4977
  {
4929
4978
  type: "error",
4930
4979
  name: "InvalidInitialization",
@@ -5223,19 +5272,6 @@ var Broker_default = [
5223
5272
  }
5224
5273
  ]
5225
5274
  },
5226
- {
5227
- type: "function",
5228
- name: "activeSpecialFeeTierList",
5229
- constant: true,
5230
- stateMutability: "view",
5231
- payable: false,
5232
- inputs: [],
5233
- outputs: [
5234
- {
5235
- type: "uint256[]"
5236
- }
5237
- ]
5238
- },
5239
5275
  {
5240
5276
  type: "function",
5241
5277
  name: "addressManager",
@@ -5412,29 +5448,6 @@ var Broker_default = [
5412
5448
  }
5413
5449
  ]
5414
5450
  },
5415
- {
5416
- type: "function",
5417
- name: "getSpecialFeeTier",
5418
- constant: true,
5419
- stateMutability: "view",
5420
- payable: false,
5421
- inputs: [
5422
- {
5423
- type: "uint8",
5424
- name: "feeTier"
5425
- }
5426
- ],
5427
- outputs: [
5428
- {
5429
- type: "int32",
5430
- name: "makerFeeRate"
5431
- },
5432
- {
5433
- type: "uint32",
5434
- name: "takerFeeRate"
5435
- }
5436
- ]
5437
- },
5438
5451
  {
5439
5452
  type: "function",
5440
5453
  name: "getUserFeeRate",
@@ -5820,27 +5833,6 @@ var Broker_default = [
5820
5833
  ],
5821
5834
  outputs: []
5822
5835
  },
5823
- {
5824
- type: "function",
5825
- name: "setSpecialFeeTier",
5826
- constant: false,
5827
- payable: false,
5828
- inputs: [
5829
- {
5830
- type: "uint8",
5831
- name: "feeTier"
5832
- },
5833
- {
5834
- type: "int32",
5835
- name: "makerFeeRate"
5836
- },
5837
- {
5838
- type: "uint32",
5839
- name: "takerFeeRate"
5840
- }
5841
- ],
5842
- outputs: []
5843
- },
5844
5836
  {
5845
5837
  type: "function",
5846
5838
  name: "setUserFeeData",
@@ -5884,23 +5876,6 @@ var Broker_default = [
5884
5876
  ],
5885
5877
  outputs: []
5886
5878
  },
5887
- {
5888
- type: "function",
5889
- name: "setUserSpecialFeeTier",
5890
- constant: false,
5891
- payable: false,
5892
- inputs: [
5893
- {
5894
- type: "address",
5895
- name: "user"
5896
- },
5897
- {
5898
- type: "uint8",
5899
- name: "feeTier"
5900
- }
5901
- ],
5902
- outputs: []
5903
- },
5904
5879
  {
5905
5880
  type: "function",
5906
5881
  name: "supportedAssetClasses",
@@ -6072,12 +6047,8 @@ var Broker_default = [
6072
6047
  name: "executionFeeToken"
6073
6048
  },
6074
6049
  {
6075
- type: "bool",
6076
- name: "useOrderCollateral"
6077
- },
6078
- {
6079
- type: "bool",
6080
- name: "useAccountBalance"
6050
+ type: "uint8",
6051
+ name: "paymentType"
6081
6052
  }
6082
6053
  ]
6083
6054
  }
@@ -6101,6 +6072,10 @@ var Broker_default = [
6101
6072
  type: "bytes32",
6102
6073
  name: "poolId"
6103
6074
  },
6075
+ {
6076
+ type: "uint8",
6077
+ name: "oracleType"
6078
+ },
6104
6079
  {
6105
6080
  type: "uint256",
6106
6081
  name: "referencePrice"
@@ -9191,6 +9166,10 @@ var DataProvider_default = [
9191
9166
  ];
9192
9167
 
9193
9168
  // src/web3/providers.ts
9169
+ var getTokenContract = async (chainId2, tokenAddress) => {
9170
+ const provider = getJSONProvider(chainId2);
9171
+ return getContract(tokenAddress, IERC20Metadata_default, provider);
9172
+ };
9194
9173
  var getERC20Contract = async (chainId2, tokenAddress) => {
9195
9174
  const provider = await getSignerProvider(chainId2);
9196
9175
  return getContract(tokenAddress, IERC20Metadata_default, provider);
@@ -9732,6 +9711,110 @@ var HttpKlineIntervalEnum = /* @__PURE__ */ ((HttpKlineIntervalEnum2) => {
9732
9711
  HttpKlineIntervalEnum2[HttpKlineIntervalEnum2["Month1"] = 40320] = "Month1";
9733
9712
  return HttpKlineIntervalEnum2;
9734
9713
  })(HttpKlineIntervalEnum || {});
9714
+ var MarketType = /* @__PURE__ */ ((MarketType2) => {
9715
+ MarketType2[MarketType2["Contract"] = 1] = "Contract";
9716
+ MarketType2[MarketType2["Cook"] = 2] = "Cook";
9717
+ MarketType2[MarketType2["Earn"] = 3] = "Earn";
9718
+ return MarketType2;
9719
+ })(MarketType || {});
9720
+ var SearchTypeEnum = /* @__PURE__ */ ((SearchTypeEnum2) => {
9721
+ SearchTypeEnum2[SearchTypeEnum2["All"] = 0] = "All";
9722
+ SearchTypeEnum2[SearchTypeEnum2["Contract"] = 1 /* Contract */] = "Contract";
9723
+ SearchTypeEnum2[SearchTypeEnum2["Cook"] = 2 /* Cook */] = "Cook";
9724
+ SearchTypeEnum2[SearchTypeEnum2["Earn"] = 3 /* Earn */] = "Earn";
9725
+ return SearchTypeEnum2;
9726
+ })(SearchTypeEnum || {});
9727
+ var MarketCapType = /* @__PURE__ */ ((MarketCapType2) => {
9728
+ MarketCapType2[MarketCapType2["BlueChips"] = 1] = "BlueChips";
9729
+ MarketCapType2[MarketCapType2["Alpha"] = 2] = "Alpha";
9730
+ return MarketCapType2;
9731
+ })(MarketCapType || {});
9732
+ var SearchSecondTypeEnum = /* @__PURE__ */ ((SearchSecondTypeEnum2) => {
9733
+ SearchSecondTypeEnum2[SearchSecondTypeEnum2["BlueChips"] = 1 /* BlueChips */] = "BlueChips";
9734
+ SearchSecondTypeEnum2[SearchSecondTypeEnum2["Alpha"] = 2 /* Alpha */] = "Alpha";
9735
+ SearchSecondTypeEnum2[SearchSecondTypeEnum2["Favorite"] = 3] = "Favorite";
9736
+ return SearchSecondTypeEnum2;
9737
+ })(SearchSecondTypeEnum || {});
9738
+
9739
+ // src/api/account/index.ts
9740
+ var OrderTypeEnum = /* @__PURE__ */ ((OrderTypeEnum2) => {
9741
+ OrderTypeEnum2[OrderTypeEnum2["Market"] = 0] = "Market";
9742
+ OrderTypeEnum2[OrderTypeEnum2["Limit"] = 1] = "Limit";
9743
+ OrderTypeEnum2[OrderTypeEnum2["Stop"] = 2] = "Stop";
9744
+ OrderTypeEnum2[OrderTypeEnum2["Conditional"] = 3] = "Conditional";
9745
+ return OrderTypeEnum2;
9746
+ })(OrderTypeEnum || {});
9747
+ var OperationEnum = /* @__PURE__ */ ((OperationEnum2) => {
9748
+ OperationEnum2[OperationEnum2["Increase"] = 0] = "Increase";
9749
+ OperationEnum2[OperationEnum2["Decrease"] = 1] = "Decrease";
9750
+ return OperationEnum2;
9751
+ })(OperationEnum || {});
9752
+ var TriggerTypeEnum = /* @__PURE__ */ ((TriggerTypeEnum2) => {
9753
+ TriggerTypeEnum2[TriggerTypeEnum2["Unknown"] = 0] = "Unknown";
9754
+ TriggerTypeEnum2[TriggerTypeEnum2["GTE"] = 1] = "GTE";
9755
+ TriggerTypeEnum2[TriggerTypeEnum2["LTE"] = 2] = "LTE";
9756
+ return TriggerTypeEnum2;
9757
+ })(TriggerTypeEnum || {});
9758
+ var DirectionEnum = /* @__PURE__ */ ((DirectionEnum2) => {
9759
+ DirectionEnum2[DirectionEnum2["Long"] = 0] = "Long";
9760
+ DirectionEnum2[DirectionEnum2["Short"] = 1] = "Short";
9761
+ return DirectionEnum2;
9762
+ })(DirectionEnum || {});
9763
+ var OrderStatusEnum = /* @__PURE__ */ ((OrderStatusEnum2) => {
9764
+ OrderStatusEnum2[OrderStatusEnum2["Cancelled"] = 1] = "Cancelled";
9765
+ OrderStatusEnum2[OrderStatusEnum2["Expired"] = 2] = "Expired";
9766
+ OrderStatusEnum2[OrderStatusEnum2["Successful"] = 9] = "Successful";
9767
+ return OrderStatusEnum2;
9768
+ })(OrderStatusEnum || {});
9769
+ var ExecTypeEnum = /* @__PURE__ */ ((ExecTypeEnum2) => {
9770
+ ExecTypeEnum2[ExecTypeEnum2["UserEntrust"] = 0] = "UserEntrust";
9771
+ ExecTypeEnum2[ExecTypeEnum2["Liquidation"] = 1] = "Liquidation";
9772
+ ExecTypeEnum2[ExecTypeEnum2["Adl"] = 2] = "Adl";
9773
+ ExecTypeEnum2[ExecTypeEnum2["AdlTrigger"] = 3] = "AdlTrigger";
9774
+ return ExecTypeEnum2;
9775
+ })(ExecTypeEnum || {});
9776
+ var getHistoryOrders = async ({
9777
+ accessToken,
9778
+ ...params
9779
+ }) => {
9780
+ return http.get(
9781
+ `${baseUrl}/openapi/gateway/scan/order/closed`,
9782
+ params,
9783
+ {
9784
+ headers: {
9785
+ myx_openapi_access_token: accessToken
9786
+ }
9787
+ }
9788
+ );
9789
+ };
9790
+ var getPositionHistory = async ({
9791
+ accessToken,
9792
+ ...params
9793
+ }) => {
9794
+ return http.get(
9795
+ `${baseUrl}/openapi/gateway/scan/position/closed`,
9796
+ params,
9797
+ {
9798
+ headers: {
9799
+ myx_openapi_access_token: accessToken
9800
+ }
9801
+ }
9802
+ );
9803
+ };
9804
+ var getTradeFlow = async ({
9805
+ accessToken,
9806
+ ...params
9807
+ }) => {
9808
+ return http.get(
9809
+ `${baseUrl}/openapi/gateway/scan/trade/flow`,
9810
+ params,
9811
+ {
9812
+ headers: {
9813
+ myx_openapi_access_token: accessToken
9814
+ }
9815
+ }
9816
+ );
9817
+ };
9735
9818
 
9736
9819
  // src/api/index.ts
9737
9820
  var baseUrl = "https://api-test.myx.cash";
@@ -9830,6 +9913,80 @@ var getAllTickers = async () => {
9830
9913
  `${baseUrl}/v2/mx-gateway/quote/candle/all_tickers`
9831
9914
  );
9832
9915
  };
9916
+ var searchMarketAuth = async ({
9917
+ accessToken,
9918
+ ...params
9919
+ }) => {
9920
+ return http.get(
9921
+ `${baseUrl}/openapi/gateway/scan/market/ac-search`,
9922
+ params,
9923
+ {
9924
+ headers: {
9925
+ myx_openapi_access_token: accessToken
9926
+ }
9927
+ }
9928
+ );
9929
+ };
9930
+ var searchMarket = async ({ ...params }) => {
9931
+ return http.get(
9932
+ `${baseUrl}/openapi/gateway/scan/market/search`,
9933
+ params
9934
+ );
9935
+ };
9936
+ var addFavorite = async ({
9937
+ accessToken,
9938
+ ...params
9939
+ }) => {
9940
+ return http.get(
9941
+ `${baseUrl}/openapi/gateway/scan/market/add-favorites`,
9942
+ params,
9943
+ {
9944
+ headers: {
9945
+ myx_openapi_access_token: accessToken
9946
+ }
9947
+ }
9948
+ );
9949
+ };
9950
+ var removeFavorite = async ({
9951
+ accessToken,
9952
+ ...params
9953
+ }) => {
9954
+ return http.get(
9955
+ `${baseUrl}/openapi/gateway/scan/market/cancel-favorites`,
9956
+ params,
9957
+ {
9958
+ headers: {
9959
+ myx_openapi_access_token: accessToken
9960
+ }
9961
+ }
9962
+ );
9963
+ };
9964
+ var getFavoritesList = async ({
9965
+ accessToken,
9966
+ ...params
9967
+ }) => {
9968
+ return http.get(
9969
+ `${baseUrl}/openapi/gateway/scan/market/favorites`,
9970
+ params,
9971
+ {
9972
+ headers: {
9973
+ myx_openapi_access_token: accessToken
9974
+ }
9975
+ }
9976
+ );
9977
+ };
9978
+ var getBaseDetail = async (params) => {
9979
+ return http.get(
9980
+ `${baseUrl}/openapi/gateway/scan/market/base-details`,
9981
+ params
9982
+ );
9983
+ };
9984
+ var getMarketDetail = async (params) => {
9985
+ return http.get(
9986
+ `${baseUrl}/openapi/gateway/scan/market/detail`,
9987
+ params
9988
+ );
9989
+ };
9833
9990
 
9834
9991
  // src/common/price.ts
9835
9992
  var import_lodash_es2 = require("lodash-es");
@@ -10720,7 +10877,10 @@ var getMarketInfo = (chainId2) => {
10720
10877
  const marketId2 = Market[chainId2].marketId;
10721
10878
  return marketId2;
10722
10879
  };
10723
- var getMarketPoolId = async ({ chainId: chainId2, baseToken }) => {
10880
+ var getMarketPoolId = async ({
10881
+ chainId: chainId2,
10882
+ baseToken
10883
+ }) => {
10724
10884
  try {
10725
10885
  const marketId2 = getMarketInfo(chainId2);
10726
10886
  if (!baseToken) {
@@ -10752,7 +10912,6 @@ var getMarketPools = async (chainId2) => {
10752
10912
  var getPoolInfo2 = async (chainId2, poolId, marketPrice = 0n) => {
10753
10913
  try {
10754
10914
  const contract = await getDataProviderContract(chainId2);
10755
- console.log("DataProvider.getPoolInfo,", poolId, marketPrice);
10756
10915
  const request = await contract.getPoolInfo(poolId, marketPrice);
10757
10916
  const info = {
10758
10917
  quotePool: {
@@ -10777,6 +10936,12 @@ var getPoolInfo2 = async (chainId2, poolId, marketPrice = 0n) => {
10777
10936
  nextFundingRate: request.fundingInfo.nextFundingRate,
10778
10937
  lastFundingFeeTracker: request.fundingInfo.lastFundingFeeTracker,
10779
10938
  nextEpochTime: request.fundingInfo.nextEpochTime
10939
+ },
10940
+ ioTracker: {
10941
+ tracker: request.oi.tracker,
10942
+ longSize: request.oi.longSize,
10943
+ shortSize: request.oi.shortSize,
10944
+ poolEntryPrice: request.oi.poolEntryPrice
10780
10945
  }
10781
10946
  };
10782
10947
  console.log(info);
@@ -10896,6 +11061,51 @@ var cancelTpSl = async (params) => {
10896
11061
  }
10897
11062
  };
10898
11063
 
11064
+ // src/common/tokenInfo.ts
11065
+ var import_ethers22 = require("ethers");
11066
+ async function checkImageExists(url) {
11067
+ try {
11068
+ const res = await fetch(url, { method: "HEAD" });
11069
+ return res.ok;
11070
+ } catch {
11071
+ return false;
11072
+ }
11073
+ }
11074
+ var getTokenInfo = async (chainId2, tokenAddress, account) => {
11075
+ try {
11076
+ const token = await getTokenContract(chainId2, tokenAddress);
11077
+ const _name = await token.name();
11078
+ console.log(_name);
11079
+ const [name, symbol, decimals, totalSupply] = await Promise.all([
11080
+ token.name(),
11081
+ token.symbol(),
11082
+ token.decimals(),
11083
+ token.totalSupply()
11084
+ ]);
11085
+ const normalized = import_ethers22.ethers.getAddress(tokenAddress);
11086
+ const iconUrl = `https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/${chainId2}/assets/${normalized}/logo.png`;
11087
+ const fallbackIcon = "";
11088
+ const icon = await checkImageExists(iconUrl) ? iconUrl : fallbackIcon;
11089
+ let balance;
11090
+ if (account) {
11091
+ const rawBalance = await token.balanceOf(account);
11092
+ balance = Number(import_ethers22.ethers.formatUnits(rawBalance, decimals));
11093
+ }
11094
+ return {
11095
+ address: tokenAddress,
11096
+ name,
11097
+ symbol,
11098
+ decimals,
11099
+ icon,
11100
+ totalSupply: Number(import_ethers22.ethers.formatUnits(totalSupply, decimals)),
11101
+ ...account ? { balance } : {}
11102
+ };
11103
+ } catch (e) {
11104
+ console.error(e);
11105
+ throw e;
11106
+ }
11107
+ };
11108
+
10899
11109
  // src/lp/market/index.ts
10900
11110
  var market_exports = {};
10901
11111
  __export(market_exports, {
@@ -10934,7 +11144,7 @@ var getOracleFee = async (chainId2, marketId2) => {
10934
11144
  };
10935
11145
 
10936
11146
  // src/lp/pool/reprime.ts
10937
- var import_ethers22 = require("ethers");
11147
+ var import_ethers23 = require("ethers");
10938
11148
  var reprime = async (chainId2, poolId) => {
10939
11149
  try {
10940
11150
  await checkParams({ chainId: chainId2 });
@@ -10948,14 +11158,14 @@ var reprime = async (chainId2, poolId) => {
10948
11158
  if (!_amount) {
10949
11159
  throw new Error("Invalid Market");
10950
11160
  }
10951
- console.log(Number((0, import_ethers22.formatUnits)(_amount, pool.quoteDecimals)));
11161
+ console.log(Number((0, import_ethers23.formatUnits)(_amount, pool.quoteDecimals)));
10952
11162
  await checkParams({
10953
11163
  tokenAddress: pool.quoteToken,
10954
11164
  contractAddress: address_default[chainId2].ORACLE_RESERVE,
10955
11165
  decimals: pool.quoteDecimals,
10956
11166
  account,
10957
11167
  chainId: chainId2,
10958
- amount: Number((0, import_ethers22.formatUnits)(_amount, pool.quoteDecimals))
11168
+ amount: Number((0, import_ethers23.formatUnits)(_amount, pool.quoteDecimals))
10959
11169
  });
10960
11170
  const chainInfo = CHAIN_INFO[chainId2];
10961
11171
  const contract = await getPoolManagerContract(chainId2);
@@ -11005,7 +11215,7 @@ var TriggerType = /* @__PURE__ */ ((TriggerType3) => {
11005
11215
  })(TriggerType || {});
11006
11216
 
11007
11217
  // src/lp/index.ts
11008
- var import_ethers23 = require("ethers");
11218
+ var import_ethers24 = require("ethers");
11009
11219
 
11010
11220
  // src/manager/subscription/websocket/socket.ts
11011
11221
  var import_mitt = __toESM(require("mitt"));
@@ -11913,6 +12123,88 @@ var Markets = class {
11913
12123
  /**
11914
12124
  * ticker end
11915
12125
  */
12126
+ /**
12127
+ * search by access token
12128
+ * (only for authenticated users)
12129
+ *
12130
+ */
12131
+ async searchMarketAuth(params) {
12132
+ const accessToken = await this.configManager.getAccessToken();
12133
+ if (!accessToken) {
12134
+ throw new MyxSDKError(
12135
+ "INVALID_ACCESS_TOKEN" /* InvalidAccessToken */,
12136
+ "Invalid access token"
12137
+ );
12138
+ }
12139
+ return (await searchMarketAuth({
12140
+ ...params,
12141
+ accessToken
12142
+ })).data;
12143
+ }
12144
+ /**
12145
+ * search by unauthenticated users
12146
+ */
12147
+ async searchMarket(params) {
12148
+ return (await searchMarket(params)).data;
12149
+ }
12150
+ /**
12151
+ * get favorites list
12152
+ * (only for authenticated users)
12153
+ */
12154
+ async getFavoritesList(params) {
12155
+ const accessToken = await this.configManager.getAccessToken();
12156
+ if (!accessToken) {
12157
+ throw new MyxSDKError(
12158
+ "INVALID_ACCESS_TOKEN" /* InvalidAccessToken */,
12159
+ "Invalid access token"
12160
+ );
12161
+ }
12162
+ return (await getFavoritesList({
12163
+ ...params,
12164
+ accessToken
12165
+ })).data;
12166
+ }
12167
+ /**
12168
+ * favorite
12169
+ */
12170
+ async addFavorite(params) {
12171
+ const accessToken = await this.configManager.getAccessToken();
12172
+ if (!accessToken) {
12173
+ throw new MyxSDKError(
12174
+ "INVALID_ACCESS_TOKEN" /* InvalidAccessToken */,
12175
+ "Invalid access token"
12176
+ );
12177
+ }
12178
+ return (await addFavorite({
12179
+ ...params,
12180
+ accessToken
12181
+ })).data;
12182
+ }
12183
+ async removeFavorite(params) {
12184
+ const accessToken = await this.configManager.getAccessToken();
12185
+ if (!accessToken) {
12186
+ throw new MyxSDKError(
12187
+ "INVALID_ACCESS_TOKEN" /* InvalidAccessToken */,
12188
+ "Invalid access token"
12189
+ );
12190
+ }
12191
+ return (await removeFavorite({
12192
+ ...params,
12193
+ accessToken
12194
+ })).data;
12195
+ }
12196
+ /**
12197
+ * base detail
12198
+ */
12199
+ async getBaseDetail(params) {
12200
+ return (await getBaseDetail(params)).data;
12201
+ }
12202
+ /**
12203
+ * get market detail
12204
+ */
12205
+ async getMarketDetail(params) {
12206
+ return (await getMarketDetail(params)).data;
12207
+ }
11916
12208
  };
11917
12209
 
11918
12210
  // src/config/address/index.ts
@@ -11926,7 +12218,7 @@ var getContractAddressByChainId = (chainId2) => {
11926
12218
  };
11927
12219
 
11928
12220
  // src/manager/position/index.ts
11929
- var import_ethers24 = require("ethers");
12221
+ var import_ethers25 = require("ethers");
11930
12222
  var Position = class {
11931
12223
  constructor(configManager, logger, utils) {
11932
12224
  this.configManager = configManager;
@@ -11956,6 +12248,20 @@ var Position = class {
11956
12248
  };
11957
12249
  }
11958
12250
  }
12251
+ async getPositionHistory(params) {
12252
+ const accessToken = await this.configManager.getAccessToken();
12253
+ if (!accessToken) {
12254
+ throw new MyxSDKError(
12255
+ "INVALID_ACCESS_TOKEN" /* InvalidAccessToken */,
12256
+ "Invalid access token"
12257
+ );
12258
+ }
12259
+ const res = await getPositionHistory({ accessToken, ...params });
12260
+ return {
12261
+ code: 0,
12262
+ data: res.data
12263
+ };
12264
+ }
11959
12265
  /**
11960
12266
  * @desc temp skip eip7702
11961
12267
  * @todo adjustCollateral 调整保证金
@@ -12097,7 +12403,7 @@ var Position = class {
12097
12403
  }
12098
12404
  const updateParams = {
12099
12405
  poolId,
12100
- referencePrice: import_ethers24.ethers.parseUnits(priceData?.price ?? "0", 30),
12406
+ referencePrice: import_ethers25.ethers.parseUnits(priceData?.price ?? "0", 30),
12101
12407
  oracleUpdateData: priceData?.vaa ?? "0",
12102
12408
  publishTime: priceData.publishTime
12103
12409
  };
@@ -12119,12 +12425,12 @@ var Position = class {
12119
12425
  if (needsApproval) {
12120
12426
  this.logger.debug("adjust collateral approve-->", {
12121
12427
  quoteToken,
12122
- amount: import_ethers24.ethers.MaxUint256.toString(),
12428
+ amount: import_ethers25.ethers.MaxUint256.toString(),
12123
12429
  spenderAddress: contractAddress.POSITION_MANAGER
12124
12430
  });
12125
12431
  const approvalResult = await this.utils.approveAuthorization({
12126
12432
  quoteAddress: quoteToken,
12127
- amount: import_ethers24.ethers.MaxUint256.toString(),
12433
+ amount: import_ethers25.ethers.MaxUint256.toString(),
12128
12434
  spenderAddress: contractAddress.POSITION_MANAGER
12129
12435
  });
12130
12436
  if (approvalResult.code !== 0) {
@@ -12240,7 +12546,9 @@ var Order = class {
12240
12546
  params.chainId,
12241
12547
  config.signer
12242
12548
  );
12243
- const networkFee = await this.utils.getNetworkFee(params.executionFeeToken);
12549
+ const networkFee = await this.utils.getNetworkFee(
12550
+ params.executionFeeToken
12551
+ );
12244
12552
  const collateralWithNetworkFee = BigInt(params.collateralAmount) + BigInt(networkFee);
12245
12553
  console.log("createIncreaseOrder params--->", {
12246
12554
  user: params.address,
@@ -12354,7 +12662,9 @@ var Order = class {
12354
12662
  params.chainId,
12355
12663
  config.signer
12356
12664
  );
12357
- const networkFee = await this.utils.getNetworkFee(params.executionFeeToken);
12665
+ const networkFee = await this.utils.getNetworkFee(
12666
+ params.executionFeeToken
12667
+ );
12358
12668
  const collateralWithNetworkFee = BigInt(params.collateralAmount) + BigInt(networkFee);
12359
12669
  console.log("createDecreaseOrder", params);
12360
12670
  console.log("createDecreaseOrder params--->", {
@@ -12465,7 +12775,9 @@ var Order = class {
12465
12775
  config.signer
12466
12776
  );
12467
12777
  try {
12468
- const networkFee = await this.utils.getNetworkFee(params.executionFeeToken);
12778
+ const networkFee = await this.utils.getNetworkFee(
12779
+ params.executionFeeToken
12780
+ );
12469
12781
  if (params.tpSize !== "0" && params.slSize !== "0") {
12470
12782
  const data2 = [
12471
12783
  {
@@ -12515,16 +12827,16 @@ var Order = class {
12515
12827
  ];
12516
12828
  console.log("createPositionTpSlOrder data--->", data2);
12517
12829
  const gasLimit2 = await brokerContract.placeOrders.estimateGas(data2);
12518
- const transaction2 = await brokerContract.placeOrders(
12519
- data2,
12520
- {
12521
- gasLimit: gasLimit2 * 120n / 100n
12522
- }
12523
- );
12830
+ const transaction2 = await brokerContract.placeOrders(data2, {
12831
+ gasLimit: gasLimit2 * 120n / 100n
12832
+ });
12524
12833
  this.logger.info("Transaction sent:", transaction2.hash);
12525
12834
  this.logger.info("Waiting for confirmation...");
12526
12835
  const receipt2 = await transaction2.wait();
12527
- this.logger.info("Transaction confirmed in block:", receipt2?.blockNumber);
12836
+ this.logger.info(
12837
+ "Transaction confirmed in block:",
12838
+ receipt2?.blockNumber
12839
+ );
12528
12840
  this.logger.info("createDecreaseOrder receipt--->", receipt2);
12529
12841
  const orderId2 = this.utils.getOrderIdFromTransaction(receipt2);
12530
12842
  const result2 = {
@@ -12572,16 +12884,16 @@ var Order = class {
12572
12884
  };
12573
12885
  console.log("createPositionTpSlOrder data--->", data);
12574
12886
  const gasLimit = await brokerContract.placeOrder.estimateGas(data);
12575
- const transaction = await brokerContract.placeOrder(
12576
- data,
12577
- {
12578
- gasLimit: gasLimit * 120n / 100n
12579
- }
12580
- );
12887
+ const transaction = await brokerContract.placeOrder(data, {
12888
+ gasLimit: gasLimit * 120n / 100n
12889
+ });
12581
12890
  this.logger.info("Transaction sent:", transaction.hash);
12582
12891
  this.logger.info("Waiting for confirmation...");
12583
12892
  const receipt = await transaction.wait();
12584
- this.logger.info("Transaction confirmed in block:", receipt?.blockNumber);
12893
+ this.logger.info(
12894
+ "Transaction confirmed in block:",
12895
+ receipt?.blockNumber
12896
+ );
12585
12897
  this.logger.info("createDecreaseOrder receipt--->", receipt);
12586
12898
  const orderId = this.utils.getOrderIdFromTransaction(receipt);
12587
12899
  const result = {
@@ -12724,10 +13036,24 @@ var Order = class {
12724
13036
  };
12725
13037
  }
12726
13038
  }
13039
+ async getOrderHistory(params) {
13040
+ const accessToken = await this.configManager.getAccessToken();
13041
+ if (!accessToken) {
13042
+ throw new MyxSDKError(
13043
+ "INVALID_ACCESS_TOKEN" /* InvalidAccessToken */,
13044
+ "Invalid access token"
13045
+ );
13046
+ }
13047
+ const res = await getHistoryOrders({ accessToken, ...params });
13048
+ return {
13049
+ code: 0,
13050
+ data: res.data
13051
+ };
13052
+ }
12727
13053
  };
12728
13054
 
12729
13055
  // src/manager/utils/index.ts
12730
- var import_ethers25 = require("ethers");
13056
+ var import_ethers26 = require("ethers");
12731
13057
 
12732
13058
  // src/abi/Emiter.json
12733
13059
  var Emiter_default = [
@@ -16409,7 +16735,7 @@ var Utils = class {
16409
16735
  if (!receipt || !receipt.logs) {
16410
16736
  return null;
16411
16737
  }
16412
- const emiterInterface = new import_ethers25.ethers.Interface(Emiter_default);
16738
+ const emiterInterface = new import_ethers26.ethers.Interface(Emiter_default);
16413
16739
  const orderPlacedEvent = Emiter_default.find(
16414
16740
  (item) => item.type === "event" && item.name === "OrderPlaced"
16415
16741
  );
@@ -16417,7 +16743,7 @@ var Utils = class {
16417
16743
  this.logger.error("OrderPlaced event not found in Emiter ABI");
16418
16744
  return null;
16419
16745
  }
16420
- const eventTopic = import_ethers25.ethers.id(
16746
+ const eventTopic = import_ethers26.ethers.id(
16421
16747
  "OrderPlaced(address,address,bytes32,uint256,uint256,uint8,uint8,uint8,uint8,uint256,uint256,uint256,uint8,bool,uint16,address,uint256,uint16)"
16422
16748
  );
16423
16749
  this.logger.info("Looking for OrderPlaced events with topic:", eventTopic);
@@ -16461,7 +16787,7 @@ var Utils = class {
16461
16787
  const config = this.configManager.getConfig();
16462
16788
  const owner = await config.signer.getAddress();
16463
16789
  const spender = spenderAddress ?? getContractAddressByChainId(config.chainId).ORDER_MANAGER;
16464
- const tokenContract = new import_ethers25.ethers.Contract(
16790
+ const tokenContract = new import_ethers26.ethers.Contract(
16465
16791
  quoteAddress,
16466
16792
  erc20Abi,
16467
16793
  config.signer
@@ -16483,8 +16809,8 @@ var Utils = class {
16483
16809
  spenderAddress
16484
16810
  );
16485
16811
  const currentAllowance = currentAllowanceRes.data;
16486
- const allowanceBigInt = import_ethers25.ethers.getBigInt(currentAllowance);
16487
- const requiredBigInt = import_ethers25.ethers.getBigInt(requiredAmount);
16812
+ const allowanceBigInt = import_ethers26.ethers.getBigInt(currentAllowance);
16813
+ const requiredBigInt = import_ethers26.ethers.getBigInt(requiredAmount);
16488
16814
  const needsApproval = allowanceBigInt < requiredBigInt;
16489
16815
  return needsApproval;
16490
16816
  } catch (error) {
@@ -16502,12 +16828,12 @@ var Utils = class {
16502
16828
  "function approve(address spender, uint256 amount) external returns (bool)"
16503
16829
  ];
16504
16830
  const config = this.configManager.getConfig();
16505
- const usdcContract = new import_ethers25.ethers.Contract(
16831
+ const usdcContract = new import_ethers26.ethers.Contract(
16506
16832
  quoteAddress,
16507
16833
  erc20Abi,
16508
16834
  config.signer
16509
16835
  );
16510
- const approveAmount = amount ?? import_ethers25.ethers.MaxUint256;
16836
+ const approveAmount = amount ?? import_ethers26.ethers.MaxUint256;
16511
16837
  const spender = spenderAddress ?? getContractAddressByChainId(config.chainId).ORDER_MANAGER;
16512
16838
  const tx = await usdcContract.approve(spender, approveAmount);
16513
16839
  await tx.wait();
@@ -16529,7 +16855,7 @@ var Utils = class {
16529
16855
  const orderManagerAddress = getContractAddressByChainId(
16530
16856
  config.chainId
16531
16857
  ).ORDER_MANAGER;
16532
- const orderManagerContract = new import_ethers25.ethers.Contract(
16858
+ const orderManagerContract = new import_ethers26.ethers.Contract(
16533
16859
  orderManagerAddress,
16534
16860
  OrderManager_default,
16535
16861
  config.signer
@@ -16609,7 +16935,7 @@ var Utils = class {
16609
16935
  };
16610
16936
 
16611
16937
  // src/manager/account/index.ts
16612
- var import_ethers26 = require("ethers");
16938
+ var import_ethers27 = require("ethers");
16613
16939
 
16614
16940
  // src/abi/Account.json
16615
16941
  var Account_default = [
@@ -17242,27 +17568,13 @@ var Account = class {
17242
17568
  this.logger = logger;
17243
17569
  this.utils = utils;
17244
17570
  }
17245
- /**
17246
- * get locked assets
17247
- */
17248
- async getUserAssets() {
17249
- const config = this.configManager.getConfig();
17250
- const contractAddress = getContractAddressByChainId(config.chainId);
17251
- const accountContract = new import_ethers26.ethers.Contract(
17252
- contractAddress.Account,
17253
- Account_default,
17254
- config.signer
17255
- );
17256
- const assets = await accountContract.getUserAssets(config.signer.getAddress());
17257
- return assets;
17258
- }
17259
17571
  /**
17260
17572
  * get tradable amount
17261
17573
  */
17262
17574
  async getTradableAmount({ poolId }) {
17263
17575
  const config = this.configManager.getConfig();
17264
17576
  const contractAddress = getContractAddressByChainId(config.chainId);
17265
- const accountContract = new import_ethers26.ethers.Contract(
17577
+ const accountContract = new import_ethers27.ethers.Contract(
17266
17578
  contractAddress.Account,
17267
17579
  Account_default,
17268
17580
  config.signer
@@ -17270,10 +17582,24 @@ var Account = class {
17270
17582
  const assets = await accountContract.getTradableAmount(config.signer.getAddress(), poolId);
17271
17583
  return assets;
17272
17584
  }
17585
+ async getTradeFlow(params) {
17586
+ const accessToken = await this.configManager.getAccessToken();
17587
+ if (!accessToken) {
17588
+ throw new MyxSDKError(
17589
+ "INVALID_ACCESS_TOKEN" /* InvalidAccessToken */,
17590
+ "Invalid access token"
17591
+ );
17592
+ }
17593
+ const res = await getTradeFlow({ accessToken, ...params });
17594
+ return {
17595
+ code: 0,
17596
+ data: res.data
17597
+ };
17598
+ }
17273
17599
  };
17274
17600
 
17275
17601
  // src/manager/index.ts
17276
- var import_ethers27 = require("ethers");
17602
+ var import_ethers28 = require("ethers");
17277
17603
  var MyxClient = class {
17278
17604
  /**
17279
17605
  * 获取配置管理器(用于访问 accessToken 相关方法)
@@ -17294,7 +17620,7 @@ var MyxClient = class {
17294
17620
  this.subscription = new SubScription(this.configManager, this.logger);
17295
17621
  const lp = MxSDK.getInstance();
17296
17622
  if (options.walletClient?.transport) {
17297
- const provider = new import_ethers27.BrowserProvider(options.walletClient?.transport);
17623
+ const provider = new import_ethers28.BrowserProvider(options.walletClient?.transport);
17298
17624
  if (provider) {
17299
17625
  lp.setProvider(provider);
17300
17626
  }
@@ -17306,20 +17632,33 @@ var MyxClient = class {
17306
17632
  0 && (module.exports = {
17307
17633
  COMMON_LP_AMOUNT_DECIMALS,
17308
17634
  COMMON_PRICE_DECIMALS,
17635
+ ChainId,
17309
17636
  Direction,
17637
+ DirectionEnum,
17310
17638
  ErrorCode,
17639
+ ExecTypeEnum,
17311
17640
  HttpKlineIntervalEnum,
17312
17641
  Market,
17642
+ MarketCapType,
17313
17643
  MarketPoolState,
17644
+ MarketType,
17314
17645
  MyxClient,
17646
+ OperationEnum,
17315
17647
  OperationType,
17316
17648
  OracleType,
17317
17649
  OrderStatus,
17650
+ OrderStatusEnum,
17318
17651
  OrderType,
17652
+ OrderTypeEnum,
17653
+ SearchSecondTypeEnum,
17654
+ SearchTypeEnum,
17319
17655
  TimeInForce,
17320
17656
  TriggerType,
17657
+ TriggerTypeEnum,
17658
+ addFavorite,
17321
17659
  approve,
17322
17660
  base,
17661
+ baseUrl,
17323
17662
  bigintAmountSlipperCalculator,
17324
17663
  bigintTradingGasPriceWithRatio,
17325
17664
  bigintTradingGasToRatioCalculator,
@@ -17327,22 +17666,32 @@ var MyxClient = class {
17327
17666
  getAllTickers,
17328
17667
  getAllowanceApproved,
17329
17668
  getBalanceOf,
17669
+ getBaseDetail,
17670
+ getFavoritesList,
17671
+ getHistoryOrders,
17330
17672
  getKlineData,
17331
17673
  getKlineLatestBar,
17674
+ getMarketDetail,
17332
17675
  getOraclePrice,
17333
17676
  getOrders,
17334
17677
  getPoolDetail,
17335
17678
  getPoolLevelConfig,
17336
17679
  getPoolOpenOrders,
17337
17680
  getPools,
17681
+ getPositionHistory,
17338
17682
  getPositions,
17339
17683
  getPriceData,
17340
17684
  getPricesData,
17341
17685
  getTickerData,
17686
+ getTokenInfo,
17687
+ getTradeFlow,
17342
17688
  market,
17343
17689
  parseUnits,
17344
17690
  pool,
17345
- quote
17691
+ quote,
17692
+ removeFavorite,
17693
+ searchMarket,
17694
+ searchMarketAuth
17346
17695
  });
17347
17696
  /**
17348
17697
  * MyxLogger