2 次代碼提交 f4b876e1f5 ... 56a41cd601

作者 SHA1 備註 提交日期
  komplekt_17 56a41cd601 added HTX_OTC-ORDERS 1 月之前
  komplekt_17 aa7828d5ab modified 1 月之前

+ 196 - 187
p2p_backend/src/common/index.js

@@ -22,7 +22,8 @@ import {
 	getSignature_GT,
 	getSignature_XG,
 	getSignature_CN,
-	getSignature_BM, getSignature_CM,
+	getSignature_BM,
+	getSignature_CM,
 	getToken_GX,
 	startWebSocket,
 } from '../utilities';
@@ -50,6 +51,7 @@ import {
 	TEXT_CONSTANTS,
 	TICKER_CONSTANTS as tickers,
 	HTML_XG as html_XG,
+	HTX_ORDERS as htx_orders,
 } from '../constants';
 
 // получение текущего времени + 5
@@ -243,6 +245,7 @@ export const getMerchantOrders = async (params) => {
 	};
 
 	// prefix === 'BG_API' ? console.log(params) : null;
+	if (prefix === 'HB') result = htx_orders;
 	await axios(config)
 		.then((response) => {
 			// prefix === 'AX_API' ? console.log(response.data) : null;
@@ -258,7 +261,7 @@ export const getMerchantOrders = async (params) => {
 					response.data.message === 'success' ? response.data.data : [];
 			} else if (prefix === 'KX') {
 				result = response.data.data.items ? response.data.data.items : [];
-			} else if (prefix === 'HB') {
+			} else if (prefix === '_HB') {
 				result =
 					response.data.success === false || response.data.data[0] === null
 						? []
@@ -349,17 +352,17 @@ export const getMerchantOrdersNomalized = (
 		if (params.prefix === 'BN') {
 			const externalPayMethod = orders[i].payMethods
 				? orders[i].payMethods.filter((item) => {
-					return item.id === orders[i].selectedPayId;
-				})
+						return item.id === orders[i].selectedPayId;
+				  })
 				: [];
 			const PayMethodProps =
 				externalPayMethod.length === 0
 					? { payId: '', payName: '' }
 					: getPayMethodProps(
-						params.exchangeId,
-						externalPayMethod[0].identifier,
-						arrPayTypes
-					);
+							params.exchangeId,
+							externalPayMethod[0].identifier,
+							arrPayTypes
+					  );
 			const orderStatus =
 				typeof orders[i].orderStatus === 'number'
 					? orders[i].orderStatus.toString()
@@ -661,10 +664,10 @@ export const getMerchantOrdersNomalized = (
 				externalPayMethod.length === 0
 					? { payId: '', payName: '' }
 					: getPayMethodProps(
-						params.exchangeId,
-						externalPayMethod[0].identifier,
-						arrPayTypes
-					);
+							params.exchangeId,
+							externalPayMethod[0].identifier,
+							arrPayTypes
+					  );
 			item.orderId = orders[i].orderNo;
 			item.statusProps = getStatusProps(orders[i].orderStatus.toString());
 			item.price = orders[i].price;
@@ -779,7 +782,7 @@ export const getMerchantOrdersNomalized = (
 			);
 			const statusProps =
 				orders[i].status === 'PAYED_MONEY' &&
-					orders[i].appealStatus === 'APPEALING'
+				orders[i].appealStatus === 'APPEALING'
 					? { value: 'Appealing', color: 'danger' }
 					: getStatusProps(orders[i].status);
 			item.orderId = orders[i].id;
@@ -1380,11 +1383,11 @@ export const getP2POrdersNomalized = (orders, params, arrPayTypes) => {
 				arrPayProps.length === 0
 					? [{ payName: 'Sberbank', payId: '62ab3f114399fc08ec9725b6' }]
 					: [
-						{
-							payName: arrPayProps[0].payType,
-							payId: arrPayProps[0].id,
-						},
-					];
+							{
+								payName: arrPayProps[0].payType,
+								payId: arrPayProps[0].id,
+							},
+					  ];
 			item.conterpartInfo = {
 				uid: orders[i].member,
 				uidPublic: '',
@@ -1512,15 +1515,15 @@ export const getP2POrdersNomalized = (orders, params, arrPayTypes) => {
 				allOrderCount:
 					orders[i].advertiserVo.userStatsRet.completedOrderNum !== null
 						? orders[
-							i
-						].advertiserVo.userStatsRet.completedOrderNum.toString()
+								i
+						  ].advertiserVo.userStatsRet.completedOrderNum.toString()
 						: '',
 				monthOrderCount:
 					orders[i].advertiserVo.userStatsRet
 						.completedOrderNumOfLatest30day !== null
 						? orders[
-							i
-						].advertiserVo.userStatsRet.completedOrderNumOfLatest30day.toString()
+								i
+						  ].advertiserVo.userStatsRet.completedOrderNumOfLatest30day.toString()
 						: '',
 				finishRate:
 					orders[i].advertiserVo.userStatsRet.finishRate !== null
@@ -1534,15 +1537,15 @@ export const getP2POrdersNomalized = (orders, params, arrPayTypes) => {
 					orders[i].advertiserVo.userStatsRet
 						.completedBuyOrderNumOfLatest30day !== null
 						? orders[
-							i
-						].advertiserVo.userStatsRet.completedBuyOrderNumOfLatest30day.toString()
+								i
+						  ].advertiserVo.userStatsRet.completedBuyOrderNumOfLatest30day.toString()
 						: '',
 				sellOrdersCompleted:
 					orders[i].advertiserVo.userStatsRet
 						.completedSellOrderNumOfLatest30day !== null
 						? orders[
-							i
-						].advertiserVo.userStatsRet.completedSellOrderNumOfLatest30day.toString()
+								i
+						  ].advertiserVo.userStatsRet.completedSellOrderNumOfLatest30day.toString()
 						: '',
 			};
 		} else if (params.prefix === 'MG') {
@@ -2448,8 +2451,10 @@ export const getBalance = async (params) => {
 				balance = response.data.data === null ? [] : response.data.data;
 			} else if (prefix === 'HB_API') {
 				response.data.status === 'ok'
-					? balance = response.data.data
-					: console.log(`${prefix}: ${TEXT_CONSTANTS.BALANCE_ER}\n${response.data['err-msg']}`);
+					? (balance = response.data.data)
+					: console.log(
+							`${prefix}: ${TEXT_CONSTANTS.BALANCE_ER}\n${response.data['err-msg']}`
+					  );
 			} else if (prefix === 'BZ') {
 				balance = response.data.errors ? [] : response.data;
 				balance = Array.isArray(balance) ? balance : [];
@@ -2474,12 +2479,12 @@ export const getBalance = async (params) => {
 				balance =
 					response.data.message === 'success'
 						? [
-							{
-								currency: 'USDT',
-								available: '0',
-								frozen: response.data.data.spot.usd,
-							},
-						]
+								{
+									currency: 'USDT',
+									available: '0',
+									frozen: response.data.data.spot.usd,
+								},
+						  ]
 						: [];
 			} else if (prefix === 'AX_API') {
 				balance = response.data.data;
@@ -2497,31 +2502,31 @@ export const getBalance = async (params) => {
 			} else if (prefix === 'BP') {
 				balance = response.data.user.balance
 					? [
-						{
-							code: response.data.user.balance.XMR.code,
-							value: response.data.user.balance.XMR.value,
-						},
-						{
-							code: response.data.user.balance.USDT.code,
-							value: response.data.user.balance.USDT.value,
-						},
-						{
-							code: response.data.user.balance.USDC.code,
-							value: response.data.user.balance.USDC.value,
-						},
-						{
-							code: response.data.user.balance.TON.code,
-							value: response.data.user.balance.TON.value,
-						},
-						{
-							code: response.data.user.balance.ETH.code,
-							value: response.data.user.balance.ETH.value,
-						},
-						{
-							code: response.data.user.balance.BTC.code,
-							value: response.data.user.balance.BTC.value,
-						},
-					]
+							{
+								code: response.data.user.balance.XMR.code,
+								value: response.data.user.balance.XMR.value,
+							},
+							{
+								code: response.data.user.balance.USDT.code,
+								value: response.data.user.balance.USDT.value,
+							},
+							{
+								code: response.data.user.balance.USDC.code,
+								value: response.data.user.balance.USDC.value,
+							},
+							{
+								code: response.data.user.balance.TON.code,
+								value: response.data.user.balance.TON.value,
+							},
+							{
+								code: response.data.user.balance.ETH.code,
+								value: response.data.user.balance.ETH.value,
+							},
+							{
+								code: response.data.user.balance.BTC.code,
+								value: response.data.user.balance.BTC.value,
+							},
+					  ]
 					: [];
 			} else if (prefix === 'XG_API') {
 				balance = response.data;
@@ -3805,7 +3810,8 @@ export const getResultAdvUpdate = async (config, postfix) => {
 		})
 		.catch((error) => {
 			console.log(
-				`=======// ${getTimestamps()} //=======\n${postfix}: ${TEXT_CONSTANTS.ADV_EDIT_ER
+				`=======// ${getTimestamps()} //=======\n${postfix}: ${
+					TEXT_CONSTANTS.ADV_EDIT_ER
 				}\n${error}`
 			);
 		});
@@ -4007,12 +4013,12 @@ export const getTickerPriceUSDT = (asset, fiat, arrTickers) => {
 	let price = '0.0000';
 	let nameTicker =
 		fiat === 'RUB' &&
-			(asset === 'DAI' ||
-				asset === 'HUSD' ||
-				asset === 'BUSD' ||
-				asset === 'TUSD' ||
-				asset === 'USDC' ||
-				asset === 'USDT')
+		(asset === 'DAI' ||
+			asset === 'HUSD' ||
+			asset === 'BUSD' ||
+			asset === 'TUSD' ||
+			asset === 'USDC' ||
+			asset === 'USDT')
 			? asset + fiat
 			: asset + 'USDT';
 	if (
@@ -4050,15 +4056,17 @@ export const getPriceTicker = async (exchange, ticker) => {
 
 	if (exchange === 'Huobi') {
 		reqConfig.method = CONSTANTS_HB.GET_DATA_TICKER.method;
-		reqConfig.url = `${CONSTANTS_HB.GET_DATA_TICKER.url
-			}?symbol=${ticker.toLowerCase()}`;
+		reqConfig.url = `${
+			CONSTANTS_HB.GET_DATA_TICKER.url
+		}?symbol=${ticker.toLowerCase()}`;
 	} else if (exchange === 'Mexc') {
 		reqConfig.method = CONSTANTS_MG.GET_DATA_TICKER.method;
 		reqConfig.url = `${CONSTANTS_MG.GET_DATA_TICKER.url}?symbol=${ticker}`;
 	} else if (exchange === 'Garantex') {
 		reqConfig.method = CONSTANTS_GX.GET_DATA_TICKER.method;
-		reqConfig.url = `${CONSTANTS_GX.GET_DATA_TICKER.url
-			}?market=${ticker.toLowerCase()}&limit=1`;
+		reqConfig.url = `${
+			CONSTANTS_GX.GET_DATA_TICKER.url
+		}?market=${ticker.toLowerCase()}&limit=1`;
 	} else if (exchange === 'Xeggex') {
 		const xg_ticker = ticker.replace('USDT', '_USDT');
 		reqConfig.method = CONSTANTS_XG.GET_DATA_TICKER.method;
@@ -4104,9 +4112,9 @@ export const getValuationUSDT = (coursesArray, assetName, assetVolume) => {
 	if (coursesArray.length !== 0 && assetName) {
 		const tickerName =
 			assetName === 'DAI' ||
-				assetName === 'RUB' ||
-				assetName === 'UAH' ||
-				assetName === 'HUSD'
+			assetName === 'RUB' ||
+			assetName === 'UAH' ||
+			assetName === 'HUSD'
 				? 'USDT' + assetName
 				: assetName + 'USDT';
 		for (let i = 0; i < coursesArray.length; i++) {
@@ -4334,7 +4342,7 @@ export const getPaySubAccount = (payMethodId) => {
 		payMethodId === '66853219e2cbdd2170e30356' ||
 		payMethodId === '668532a2e2cbdd2170e30358' ||
 		payMethodId === '6685332ae2cbdd2170e3035a' ||
-		payMethodId === '6685339ce2cbdd2170e3035c' ||	// Bakai
+		payMethodId === '6685339ce2cbdd2170e3035c' || // Bakai
 		payMethodId === '66853442e2cbdd2170e30360' ||
 		payMethodId === '6685349ee2cbdd2170e30362' ||
 		payMethodId === '668534f8e2cbdd2170e30364' ||
@@ -4345,7 +4353,7 @@ export const getPaySubAccount = (payMethodId) => {
 	else if (
 		payMethodId === '671b4bf400b2dc0de491a832' || // Kaspi
 		payMethodId === '671b4d1400b2dc0de491a834' || // Forte
-		payMethodId === '671b4d9600b2dc0de491a837'		// Freedom
+		payMethodId === '671b4d9600b2dc0de491a837' // Freedom
 	)
 		sub = 'KZT';
 	return sub;
@@ -4926,8 +4934,9 @@ export const getObjectRequestParams = (params) => {
 	} else if (prefix === 'p2p_GX') {
 	} else if (prefix === 'advs_GX') {
 	} else if (prefix === 'otc_BT') {
-		const query_string = `tokenId=${additionals.token
-			}&page=${1}&size=${20}`;
+		const query_string = `tokenId=${
+			additionals.token
+		}&page=${1}&size=${20}`;
 		objParams.prefix = 'BT';
 		objParams.config = {
 			// withCredentials:true,
@@ -5853,18 +5862,18 @@ export const getObjectRequestParams = (params) => {
 		const data =
 			additionals.typeRequest === 'running'
 				? {
-					facilitator: 2,
-					messageStatus: 0,
-					pageId: 0,
-					pageSize: 10,
-					type: 1,
-				}
+						facilitator: 2,
+						messageStatus: 0,
+						pageId: 0,
+						pageSize: 10,
+						type: 1,
+				  }
 				: {
-					facilitator: 2,
-					pageId: 0,
-					pageSize: 10,
-					type: 4,
-				};
+						facilitator: 2,
+						pageId: 0,
+						pageSize: 10,
+						type: 4,
+				  };
 		objParams.prefix = 'BX';
 		objParams.config = {
 			withCredentials: true,
@@ -6359,9 +6368,9 @@ export const getObjectRequestParams = (params) => {
 			},
 		};
 	} else if (prefix === 'balance_CM_API') {
-		const query_string = "";
-		const secretKey = "bb4a1a09a8b34d6fc3d70e20b3dc652050034987"
-		const user_id = "2131b9ff-f419-4601-9c03-e008f8cf8569"
+		const query_string = '';
+		const secretKey = 'bb4a1a09a8b34d6fc3d70e20b3dc652050034987';
+		const user_id = '2131b9ff-f419-4601-9c03-e008f8cf8569';
 		// const signature = getSignature_CM(query_string, apiKeys.secretKey);
 		const signature = getSignature_CM(query_string, secretKey);
 		objParams.prefix = 'CM_API';
@@ -6388,8 +6397,8 @@ export const getOrdersCompleted = (arrOrders) => {
 		arrOrders.length === 0 || arrOrders[0] === null
 			? []
 			: arrOrders.filter((item) => {
-				return item.statusProps.value === 'Completed';
-			});
+					return item.statusProps.value === 'Completed';
+			  });
 	return result.map((item) => {
 		// если GT, BG, BX, XG, CN - возвращаем детальный ордер, а не только orderId
 		return arrOrders[0].exchange === 'GT' ||
@@ -6419,10 +6428,10 @@ export const getANDinsertAllOtcOrders = async (params) => {
 	for (let i = 0; i < orders.length; i++) {
 		const orderId =
 			shortName === 'GT' ||
-				shortName === 'BG' ||
-				shortName === 'BX' ||
-				shortName === 'XG' ||
-				shortName === 'CN'
+			shortName === 'BG' ||
+			shortName === 'BX' ||
+			shortName === 'XG' ||
+			shortName === 'CN'
 				? orders[i].orderId
 				: orders[i];
 		const result = await checkOrderInDB(
@@ -6449,16 +6458,16 @@ export const getANDinsertAllOtcOrders = async (params) => {
 			// получение данных об ордере с биржи
 			const orderDetails =
 				shortName === 'GT' ||
-					shortName === 'BG' ||
-					shortName === 'BX' ||
-					shortName === 'XG' ||
-					shortName === 'CN'
+				shortName === 'BG' ||
+				shortName === 'BX' ||
+				shortName === 'XG' ||
+				shortName === 'CN'
 					? orders[i]
 					: await getOrderDetails(
-						objReqParams.config,
-						shortName,
-						typeOrder
-					);
+							objReqParams.config,
+							shortName,
+							typeOrder
+					  );
 			// если статус ордера "Completed" вставляем в БД
 			const paramsNomalized = {
 				userId,
@@ -6615,18 +6624,18 @@ export const startHandlerAllOtcOrders = async (params) => {
 					arrData.length === 0
 						? []
 						: getMerchantOrdersNomalized(
-							arrData,
-							{
-								userId,
-								exchangeId,
-								prefix:
-									shortName === 'BN' || shortName === 'CX'
-										? `${shortName}_API`
-										: shortName,
-							},
-							arrPayTypes,
-							arrOrderStatus
-						);
+								arrData,
+								{
+									userId,
+									exchangeId,
+									prefix:
+										shortName === 'BN' || shortName === 'CX'
+											? `${shortName}_API`
+											: shortName,
+								},
+								arrPayTypes,
+								arrOrderStatus
+						  );
 				// получение массива отсортированных ордеров для BN
 				const sortedOrders =
 					shortName === 'BN'
@@ -6774,8 +6783,8 @@ export const startHandlerAllSpotOrders = async (params) => {
 				} else if (shortName === 'GT') {
 					objParams.prefix = isInsertOrders
 						? // ? `history_${shortName}_API`
-						// : `active_${shortName}_API`;
-						`history_${shortName}`
+						  // : `active_${shortName}_API`;
+						  `history_${shortName}`
 						: `active_${shortName}`;
 					objParams.constants = CONSTANTS_GT;
 					const objReqParams = getObjectRequestParams(objParams);
@@ -7053,16 +7062,16 @@ export const handlerTotalBalance = async (params) => {
 				spotBalance === null
 					? []
 					: getItemBalanceNormalizedHB({
-						arrItems: spotBalance.list,
-						arrCurrencies,
-					});
+							arrItems: spotBalance.list,
+							arrCurrencies,
+					  });
 			const p2pBalanceFiltered =
 				p2pBalance === null
 					? []
 					: getItemBalanceNormalizedHB({
-						arrItems: p2pBalance.list,
-						arrCurrencies,
-					});
+							arrItems: p2pBalance.list,
+							arrCurrencies,
+					  });
 			totalBalance.spotBalance = spotBalanceFiltered;
 			totalBalance.p2pBalance = p2pBalanceFiltered;
 		}
@@ -7124,15 +7133,15 @@ export const handlerTotalBalance = async (params) => {
 			spotBalance === null
 				? []
 				: getItemBalanceNormalizedHB({
-					spotArrItems: spotBalance.list,
-					arrCurrencies,
-				});
+						spotArrItems: spotBalance.list,
+						arrCurrencies,
+				  });
 		const p2pBalanceFiltered =
 			p2pBalance === null
 				? []
 				: p2pBalance.filter((item) => {
-					return +item.total !== 0;
-				});
+						return +item.total !== 0;
+				  });
 		totalBalance.spotBalance = spotBalanceFiltered;
 		totalBalance.p2pBalance = getBalancesNormalized(
 			p2pBalanceFiltered,
@@ -7144,16 +7153,16 @@ export const handlerTotalBalance = async (params) => {
 			balance.length === 0
 				? []
 				: getBalancesNormalized(
-					balance.bizBalances.trading,
-					`${shortName}_spot`
-				);
+						balance.bizBalances.trading,
+						`${shortName}_spot`
+				  );
 		totalBalance.p2pBalance =
 			balance.length === 0
 				? []
 				: getBalancesNormalized(
-					balance.bizBalances.funding,
-					`${shortName}_otc`
-				);
+						balance.bizBalances.funding,
+						`${shortName}_otc`
+				  );
 	} else if (shortName === 'BZ') {
 	} else if (shortName === 'GX') {
 		const p2pBalance = await getBalance(getObjectRequestParams(params));
@@ -7185,8 +7194,8 @@ export const handlerTotalBalance = async (params) => {
 		);
 		const spotBalanceFiltered = spotBalance.coinList
 			? spotBalance.coinList.filter((item) => {
-				return +item.equity !== 0;
-			})
+					return +item.equity !== 0;
+			  })
 			: [];
 		const p2pBalanceFiltered = p2pBalance.filter((item) => {
 			return +item.totalBalance !== 0;
@@ -7306,24 +7315,24 @@ export const handlerTotalBalance = async (params) => {
 		const merchantAdvs =
 			arrData.length !== 0
 				? getMerchantAdvsNomalized(
-					arrData,
-					{
-						userId: params.userId,
-						exchangeId: params.additionals.exchangeId,
-						prefix: shortName,
-					},
-					arrPayTypes
-				)
-					.filter((item) => {
-						return item.tradeType === 'SELL';
-					})
-					.map((item) => {
-						return {
-							currency: item.asset,
-							available: '0',
-							frozen: item.volume,
-						};
-					})
+						arrData,
+						{
+							userId: params.userId,
+							exchangeId: params.additionals.exchangeId,
+							prefix: shortName,
+						},
+						arrPayTypes
+				  )
+						.filter((item) => {
+							return item.tradeType === 'SELL';
+						})
+						.map((item) => {
+							return {
+								currency: item.asset,
+								available: '0',
+								frozen: item.volume,
+							};
+						})
 				: [];
 
 		totalBalance.p2pBalance = getBalancesNormalized(
@@ -7404,9 +7413,9 @@ export const handlerTotalBalance = async (params) => {
 				spotBalanceFiltered.length === 0
 					? []
 					: getBalancesNormalized(
-						spotBalanceFiltered,
-						`${shortName}_spot`
-					);
+							spotBalanceFiltered,
+							`${shortName}_spot`
+					  );
 			totalBalance.p2pBalance =
 				p2pBalanceFiltered.length === 0
 					? []
@@ -7467,14 +7476,14 @@ export const handlerTotalBalance = async (params) => {
 		const merchantAdvs =
 			arrData.length !== 0
 				? getMerchantAdvsNomalized(
-					arrData,
-					{
-						userId: params.userId,
-						exchangeId: params.additionals.exchangeId,
-						prefix: shortName,
-					},
-					arrPayTypes
-				)
+						arrData,
+						{
+							userId: params.userId,
+							exchangeId: params.additionals.exchangeId,
+							prefix: shortName,
+						},
+						arrPayTypes
+				  )
 				: [];
 
 		const p2pBalanceFiltered = merchantAdvs.filter((item) => {
@@ -7696,23 +7705,23 @@ const getCurrentCourseAssetUSDT = async (arrTickers) => {
 TG_BOT
 	? console.log('=== setInterval() orders|tickers is false ===')
 	: setInterval(async () => {
-		console.log(
-			'+++++++|tickers|+++++++ ' +
-			getTimestamps() +
-			' +++++++|timer|+++++++'
-		);
-		// обновление курсов тикеров
-		getCurrentCourseAssetUSDT(tickers);
-		// Проверка новых завершенных otc-orders
-		await startHandlerAllOtcOrders({
-			userId: '6086427c72453019ec72dbb3',
-			isInsertOrders: true,
-			typeOrder: 'MERCHANT',
-		});
-		// Проверка новых завершенных spot-orders
-		await startHandlerAllSpotOrders({
-			userId: '6086427c72453019ec72dbb3',
-			isInsertOrders: true,
-			typeOrder: 'SPOT',
-		});
-	}, 60000 * 29);
+			console.log(
+				'+++++++|tickers|+++++++ ' +
+					getTimestamps() +
+					' +++++++|timer|+++++++'
+			);
+			// обновление курсов тикеров
+			getCurrentCourseAssetUSDT(tickers);
+			// Проверка новых завершенных otc-orders
+			await startHandlerAllOtcOrders({
+				userId: '6086427c72453019ec72dbb3',
+				isInsertOrders: true,
+				typeOrder: 'MERCHANT',
+			});
+			// Проверка новых завершенных spot-orders
+			await startHandlerAllSpotOrders({
+				userId: '6086427c72453019ec72dbb3',
+				isInsertOrders: true,
+				typeOrder: 'SPOT',
+			});
+	  }, 60000 * 29);

+ 867 - 1
p2p_backend/src/constants/index.js

@@ -1949,6 +1949,59 @@ export const CONSTANTS_CM = {
 	// перевод крипты spot --to--> p2p
 	TRANSFER_ASSET_FROM_SPOT: { method: '', url: '' },
 };
+// ===================== XT.com ================================
+const baseURL_XT = 'https://www.xt.com';
+export const CONSTANTS_XT = {
+	// exchange ID
+	ID: '65ede67d5304821f40c8e681',
+	// shortName exchange
+	SHORT_NAME: 'XT',
+	// базовый URL
+	BASE_URL: '',
+	// получение р2р-ордеров статкана
+	GET_P2P_ORDERS: { method: 'GET', url: '' },
+	// получение сделок мерчанта
+	GET_MERCHANT_ORDERS: {
+		method: 'POST',
+		url: `${baseURL_XT}/exchange-otc/api/web/1_0_0/getOrderList`,
+	},
+	// получение сделок мерчанта by API
+	GET_MERCHANT_ORDERS_BY_API: { method: 'GET', url: '' },
+	// получение данных о мерчант-сделке по id
+	GET_MERCHANT_ORDER_DETAILS: { method: '', url: '' },
+	// получение данных о мерчант-сделке по id by API
+	GET_MERCHANT_ORDER_DETAILS_BY_API: { method: 'GET', url: '' },
+	// получение объявлений мерчанта
+	GET_MERCHANT_ADVS: { method: '', url: '' },
+	// получение способов оплат объявлений мерчанта
+	GET_MERCHANT_ADV_PAYMENTS: { method: '', url: '' },
+	// изменение статуса объявления (-ий) мерчанта
+	CHANGE_STATUS_ADVS: { method: '', url: '' },
+	// получение редактируемого объявления мерчанта
+	GET_ADV_DETAIL: { method: '', url: '' },
+	// редактирование объявления (-ий) мерчанта
+	UPDATE_DETAILS_ADV: { method: '', url: '' },
+	// получение данных о мерчанте и его объявлениях по id
+	GET_MERCHANT_DETAILS: { method: '', url: '' },
+	// получение тикера и цены
+	GET_DATA_TICKER: { method: 'GET', url: '' },
+	// получение истории spot-ордеров
+	GET_HISTORY_SPOT_ORDERS_BY_API: { method: 'GET', url: '' },
+	// получение активных spot-ордеров
+	GET_ACTIVE_SPOT_ORDERS_BY_API: { method: 'GET', url: '' },
+	// получение баланса spot-аккаунта
+	GET_SPOT_BALANCE: { method: '', url: '' },
+	// получение баланса p2p-аккаунта
+	GET_P2P_BALANCE: { method: '', url: '' },
+	// получение баланса spot-аккаунта by API
+	GET_SPOT_BALANCE_BY_API: { method: 'GET', url: '' },
+	// получение баланса futures-аккаунта
+	GET_FUT_BALANCE: { method: '', url: '' },
+	// перевод крипты p2p --to--> spot
+	TRANSFER_ASSET_FROM_P2P: { method: '', url: '' },
+	// перевод крипты spot --to--> p2p
+	TRANSFER_ASSET_FROM_SPOT: { method: '', url: '' },
+};
 // ===================== ExampleXX ================================
 const baseURL_XX = '';
 export const CONSTANTS_XX = {
@@ -2373,7 +2426,7 @@ export const TEXT_CONSTANTS = {
 	ADV_UPDATE_ER: '/adv-update request Error!',
 	UPDATE_COOKIES: 'Update cookies!',
 };
-// ===================== HTML_XG_CONSTANTS ================================
+// ===================== HTML_XG_OTC-ORDERS ================================
 // https://www.freeformatter.com/html-formatter.html#before-output
 export const HTML_XG =
 	`<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -2915,3 +2968,816 @@ export const HTML_XG =
 	</div>
 </div>` +
 	`</body></html>`;
+// ===================== HTX_OTC-ORDERS ================================
+export const HTX_ORDERS = [
+	{
+		orderId: '166164771',
+		orderNo: '1301254248683155456',
+		counterpartUid: 500896281,
+		counterpartRealName: null,
+		counterpartNickName: 'Sumasshedshiy',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'TRX',
+		cryptoAssetSymbol: null,
+		amount: '600.00',
+		quantity: '28.368794',
+		quote: '21.15',
+		orderStatus: 3,
+		gmtCreate: 1730284789000,
+		gmtModified: 1730285465000,
+		feeList: [{ fee: '0.000000', feeName: 'TRX' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166162123',
+		orderNo: '1301243138387095552',
+		counterpartUid: 483679044,
+		counterpartRealName: null,
+		counterpartNickName: 'aloxa',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'TRX',
+		cryptoAssetSymbol: null,
+		amount: '500.00',
+		quantity: '23.651844',
+		quote: '21.14',
+		orderStatus: 3,
+		gmtCreate: 1730282140000,
+		gmtModified: 1730282270000,
+		feeList: [{ fee: '0.000000', feeName: 'TRX' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166154908',
+		orderNo: '1301213686194118656',
+		counterpartUid: 391419854,
+		counterpartRealName: null,
+		counterpartNickName: 'Basicrus',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'BTC',
+		cryptoAssetSymbol: '',
+		amount: '5000.00',
+		quantity: '0.000595',
+		quote: '8399999.88',
+		orderStatus: 3,
+		gmtCreate: 1730275118000,
+		gmtModified: 1730275425000,
+		feeList: [{ fee: '0.000000', feeName: 'BTC' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166145355',
+		orderNo: '1301160137120694272',
+		counterpartUid: 469440884,
+		counterpartRealName: null,
+		counterpartNickName: 'Niligan',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'BTC',
+		cryptoAssetSymbol: '',
+		amount: '2000.00',
+		quantity: '0.000238',
+		quote: '8399999.99',
+		orderStatus: 3,
+		gmtCreate: 1730262351000,
+		gmtModified: 1730262566000,
+		feeList: [{ fee: '0.000000', feeName: 'BTC' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166133709',
+		orderNo: '1301007537473724416',
+		counterpartUid: 481861681,
+		counterpartRealName: null,
+		counterpartNickName: '481861681',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'BTC',
+		cryptoAssetSymbol: '',
+		amount: '5000.00',
+		quantity: '0.000641',
+		quote: '7799999.88',
+		orderStatus: 3,
+		gmtCreate: 1730225969000,
+		gmtModified: 1730226208000,
+		feeList: [{ fee: '0.000000', feeName: 'BTC' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166130975',
+		orderNo: '1300987231879184384',
+		counterpartUid: 506515497,
+		counterpartRealName: null,
+		counterpartNickName: 'candyyyflippp',
+		side: 0,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'buy',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '771.57',
+		quantity: '9.000000',
+		quote: '85.73',
+		orderStatus: 3,
+		gmtCreate: 1730221127000,
+		gmtModified: 1730221481000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166097722',
+		orderNo: '1300842636578983936',
+		counterpartUid: 380640542,
+		counterpartRealName: null,
+		counterpartNickName: 'Unfed',
+		side: 0,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'buy',
+		quoteAssetName: 'USD',
+		quoteAssetSymbol: '$',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '5.00',
+		quantity: '5.102040',
+		quote: '0.98',
+		orderStatus: 3,
+		gmtCreate: 1730186653000,
+		gmtModified: 1730187148000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166082864',
+		orderNo: '1300699351306801152',
+		counterpartUid: 497185349,
+		counterpartRealName: null,
+		counterpartNickName: '497185349',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '500.00',
+		quantity: '4.500045',
+		quote: '111.11',
+		orderStatus: 3,
+		gmtCreate: 1730152491000,
+		gmtModified: 1730170579000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166081327',
+		orderNo: '1300671173859278848',
+		counterpartUid: 477063287,
+		counterpartRealName: null,
+		counterpartNickName: '477063287',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'BTC',
+		cryptoAssetSymbol: '',
+		amount: '7000.00',
+		quantity: '0.000897',
+		quote: '7799999.99',
+		orderStatus: 3,
+		gmtCreate: 1730145773000,
+		gmtModified: 1730316857000,
+		feeList: [{ fee: '0.000000', feeName: 'BTC' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166078979',
+		orderNo: '1300646730801942528',
+		counterpartUid: 391096996,
+		counterpartRealName: null,
+		counterpartNickName: '391096996',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '2300.00',
+		quantity: '20.912893',
+		quote: '109.98',
+		orderStatus: 3,
+		gmtCreate: 1730139945000,
+		gmtModified: 1730140214000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166074900',
+		orderNo: '1300616158524272640',
+		counterpartUid: 482900311,
+		counterpartRealName: null,
+		counterpartNickName: '482900311',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '800.00',
+		quantity: '7.274049',
+		quote: '109.98',
+		orderStatus: 3,
+		gmtCreate: 1730132656000,
+		gmtModified: 1730133221000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166071017',
+		orderNo: '1300595460821020672',
+		counterpartUid: 505000990,
+		counterpartRealName: null,
+		counterpartNickName: '505000990',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '2000.00',
+		quantity: '18.183471',
+		quote: '109.99',
+		orderStatus: 3,
+		gmtCreate: 1730127722000,
+		gmtModified: 1730129061000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166070586',
+		orderNo: '1300593439896297472',
+		counterpartUid: 506428958,
+		counterpartRealName: null,
+		counterpartNickName: '506428958',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '500.00',
+		quantity: '4.546281',
+		quote: '109.98',
+		orderStatus: 3,
+		gmtCreate: 1730127240000,
+		gmtModified: 1730128275000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166055493',
+		orderNo: '1300527993385967616',
+		counterpartUid: 380647394,
+		counterpartRealName: null,
+		counterpartNickName: 'vonnyzolopux',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'TRX',
+		cryptoAssetSymbol: null,
+		amount: '500.00',
+		quantity: '24.449877',
+		quote: '20.45',
+		orderStatus: 3,
+		gmtCreate: 1730111636000,
+		gmtModified: 1730111852000,
+		feeList: [{ fee: '0.000000', feeName: 'TRX' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166030685',
+		orderNo: '1300314601199042560',
+		counterpartUid: 506315057,
+		counterpartRealName: null,
+		counterpartNickName: 'FlagRF',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'BTC',
+		cryptoAssetSymbol: '',
+		amount: '3000.00',
+		quantity: '0.000384',
+		quote: '7799999.88',
+		orderStatus: 3,
+		gmtCreate: 1730060760000,
+		gmtModified: 1730069731000,
+		feeList: [{ fee: '0.000000', feeName: 'BTC' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166012411',
+		orderNo: '1300187226733912064',
+		counterpartUid: 498946781,
+		counterpartRealName: null,
+		counterpartNickName: 'knauf',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '1100.00',
+		quantity: '10.000909',
+		quote: '109.99',
+		orderStatus: 3,
+		gmtCreate: 1730030391000,
+		gmtModified: 1730030830000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '166009644',
+		orderNo: '1300172401660190720',
+		counterpartUid: 506311229,
+		counterpartRealName: null,
+		counterpartNickName: '506311229',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDD',
+		cryptoAssetSymbol: null,
+		amount: '2000.00',
+		quantity: '18.696830',
+		quote: '106.97',
+		orderStatus: 3,
+		gmtCreate: 1730026857000,
+		gmtModified: 1730028699000,
+		feeList: [{ fee: '0.000000', feeName: 'USDD' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165975090',
+		orderNo: '1299853668068691968',
+		counterpartUid: 438189855,
+		counterpartRealName: null,
+		counterpartNickName: '438189855',
+		side: 0,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'buy',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '5000.00',
+		quantity: '58.754406',
+		quote: '85.10',
+		orderStatus: 3,
+		gmtCreate: 1729950865000,
+		gmtModified: 1729951167000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165965167',
+		orderNo: '1299806839637655552',
+		counterpartUid: 488339625,
+		counterpartRealName: null,
+		counterpartNickName: '488339625',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '6500.00',
+		quantity: '59.101654',
+		quote: '109.98',
+		orderStatus: 3,
+		gmtCreate: 1729939700000,
+		gmtModified: 1729940534000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165954835',
+		orderNo: '1299755193469624320',
+		counterpartUid: 506207382,
+		counterpartRealName: null,
+		counterpartNickName: '506207382',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '3000.00',
+		quantity: '27.277686',
+		quote: '109.98',
+		orderStatus: 3,
+		gmtCreate: 1729927386000,
+		gmtModified: 1729927794000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165939536',
+		orderNo: '1299571845090619392',
+		counterpartUid: 390193959,
+		counterpartRealName: null,
+		counterpartNickName: 'MoneyBull33',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'BTC',
+		cryptoAssetSymbol: '',
+		amount: '2000.00',
+		quantity: '0.000256',
+		quote: '7799999.88',
+		orderStatus: 3,
+		gmtCreate: 1729883673000,
+		gmtModified: 1729887597000,
+		feeList: [{ fee: '0.000000', feeName: 'BTC' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165937494',
+		orderNo: '1299551956862877696',
+		counterpartUid: 390193959,
+		counterpartRealName: null,
+		counterpartNickName: 'MoneyBull33',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'BTC',
+		cryptoAssetSymbol: '',
+		amount: '2000.00',
+		quantity: '0.000256',
+		quote: '7799999.88',
+		orderStatus: 3,
+		gmtCreate: 1729878931000,
+		gmtModified: 1729880985000,
+		feeList: [{ fee: '0.000000', feeName: 'BTC' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165927879',
+		orderNo: '1299495888161972224',
+		counterpartUid: 502236145,
+		counterpartRealName: null,
+		counterpartNickName: 'Vadimmim',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'BTC',
+		cryptoAssetSymbol: '',
+		amount: '700.00',
+		quantity: '0.000089',
+		quote: '7799999.88',
+		orderStatus: 3,
+		gmtCreate: 1729865563000,
+		gmtModified: 1729866258000,
+		feeList: [{ fee: '0.000000', feeName: 'BTC' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165927838',
+		orderNo: '1299495674533437440',
+		counterpartUid: 475908802,
+		counterpartRealName: null,
+		counterpartNickName: '475908802',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'BTC',
+		cryptoAssetSymbol: '',
+		amount: '1000.00',
+		quantity: '0.000128',
+		quote: '7799999.88',
+		orderStatus: 3,
+		gmtCreate: 1729865512000,
+		gmtModified: 1729866287000,
+		feeList: [{ fee: '0.000000', feeName: 'BTC' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165924109',
+		orderNo: '1299479667303571456',
+		counterpartUid: 497824185,
+		counterpartRealName: null,
+		counterpartNickName: '497824185',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '500.00',
+		quantity: '4.546281',
+		quote: '109.98',
+		orderStatus: 3,
+		gmtCreate: 1729861696000,
+		gmtModified: 1729862345000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165916939',
+		orderNo: '1299447935170834432',
+		counterpartUid: 506130163,
+		counterpartRealName: null,
+		counterpartNickName: '506130163',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'KGS',
+		quoteAssetSymbol: 'лв',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '500.00',
+		quantity: '4.482696',
+		quote: '111.54',
+		orderStatus: 3,
+		gmtCreate: 1729854130000,
+		gmtModified: 1729854872000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165896103',
+		orderNo: '1299338357250777088',
+		counterpartUid: 498754126,
+		counterpartRealName: null,
+		counterpartNickName: '498754126',
+		side: 0,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'buy',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '2324.08',
+		quantity: '27.159985',
+		quote: '85.57',
+		orderStatus: 3,
+		gmtCreate: 1729828005000,
+		gmtModified: 1729828747000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165875175',
+		orderNo: '1299121457791045632',
+		counterpartUid: 501184420,
+		counterpartRealName: null,
+		counterpartNickName: 'adepttt',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '500.00',
+		quantity: '4.546281',
+		quote: '109.98',
+		orderStatus: 3,
+		gmtCreate: 1729776292000,
+		gmtModified: 1729776553000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165874078',
+		orderNo: '1299116540439367680',
+		counterpartUid: 506037107,
+		counterpartRealName: null,
+		counterpartNickName: '506037107',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '1001.00',
+		quantity: '9.101654',
+		quote: '109.98',
+		orderStatus: 3,
+		gmtCreate: 1729775120000,
+		gmtModified: 1729775917000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+	{
+		orderId: '165852754',
+		orderNo: '1299020664035409920',
+		counterpartUid: 501396672,
+		counterpartRealName: null,
+		counterpartNickName: '501396672',
+		side: 1,
+		tradeMode: 1,
+		runMode: 1,
+		liquidDivision: 3,
+		sideName: 'sell',
+		quoteAssetName: 'RUB',
+		quoteAssetSymbol: '₽',
+		cryptoAssetName: 'USDT',
+		cryptoAssetSymbol: '',
+		amount: '500.00',
+		quantity: '4.546281',
+		quote: '109.98',
+		orderStatus: 3,
+		gmtCreate: 1729752261000,
+		gmtModified: 1729752739000,
+		feeList: [{ fee: '0.000000', feeName: 'USDT' }],
+		cardInfo: null,
+		advId: null,
+		unread: null,
+		inNegotiation: false,
+	},
+];

+ 1 - 0
p2p_backend/src/routes/index.js

@@ -19,4 +19,5 @@ export * from './orders-router_CN';
 export * from './orders-router_BM';
 export * from './orders-router_AX';
 export * from './orders-router_CM';
+export * from './orders-router_XT';
 export * from './reports-router';

文件差異過大導致無法顯示
+ 1178 - 0
p2p_backend/src/routes/orders-router_XT.js


+ 2 - 0
p2p_backend/src/server.js

@@ -26,6 +26,7 @@ import {
 	ordersRouter_BM,
 	ordersRouter_AX,
 	ordersRouter_CM,
+	ordersRouter_XT,
 } from './routes';
 
 const app = express();
@@ -61,6 +62,7 @@ app.use(`/${API_PATH}/orders-cn`, ordersRouter_CN);
 app.use(`/${API_PATH}/orders-bm`, ordersRouter_BM);
 app.use(`/${API_PATH}/orders-ax`, ordersRouter_AX);
 app.use(`/${API_PATH}/orders-cm`, ordersRouter_CM);
+app.use(`/${API_PATH}/orders-xt`, ordersRouter_XT);
 
 // подключение mongoose к NOSQL_DB
 mongoose