Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
783 changes: 783 additions & 0 deletions .yarn/releases/yarn-3.2.2.cjs

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
yarnPath: .yarn/releases/yarn-3.2.2.cjs
51 changes: 51 additions & 0 deletions admin/users.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import axios from "axios";

const clientIdEnv = window.env.REACT_APP_CLIENT_ID
const clientSecretEnv = window.env.REACT_APP_CLIENT_SECRET

export const adminGetImpersonateLoginToken = (userId, clientId = clientIdEnv, clientSecret = clientSecretEnv) => {
const params = {
userId,
clientId,
clientSecret
}
return axios.post('/admin/auth/v1/user/impersonate', params)
}

export const adminGetUsersList = (page, perPage) => {
return axios.get('/admin/auth/v1/user', {
params: {
offset: perPage * (page - 1),
size: perPage
}
})
}

export const adminGetUsersListByGroup = (group , page, perPage) => {
return axios.get(`/admin/auth/v1/group/${group}/members`, {
params: {
offset: perPage * (page - 1),
size: perPage
}
})
}

export const adminGetUserInfo = (id) => {
return axios.get('/admin/auth/v1/user/' + id)
}

export const adminGetUserAttributedImages = (url) => {
return axios.get(`/storage/admin/download${url}`, {
responseType: "arraybuffer"
}
)
}

export const adminSetUserGroup = (userId, group) => {
return axios.post(`/admin/auth/v1/user/${userId}/join-kyc?kycGroup=${group}`)
}

export const adminSetUserKycStatus = (userId, status, reason = null) => {
const url = status === "kyc-accepted" ? `/admin/auth/v1/user/${userId}/kyc/accept` : status === "kyc-rejected" ? `/admin/auth/v1/user/${userId}/kyc/reject?reason=${reason}` : status === "kyc-blocked" ? `/admin/auth/v1/user/${userId}/kyc/block?reason=${reason}` : null
return axios.post(url)
}
31 changes: 31 additions & 0 deletions admin/withdraw.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import axios from "axios";

export const adminGetWithdrawsReq = (status, page, perPage) => {
const params = {
offset: perPage * (page - 1),
size: perPage,
...(status && {status})
}
return axios.get('/wallet/admin/withdraw', {params})
}
export const adminGetWithdrawReqById = (withdraw_id) => {
return axios.get("/wallet/admin/withdraw/", {
params: {
withdraw_id,
offset: 0,
size: 1
}
})
}
export const adminSetWithdrawStatus = (id, withdrawState, withdrawExp) => {
const params = new URLSearchParams();
if (withdrawState === "accept") {
params.append('fee', "0");
params.append('destTransactionRef', withdrawExp);
} else {
params.append('statusReason', withdrawExp);
}
return axios.post(`/wallet/admin/withdraw/${id}/${withdrawState}`, params, {
headers: {'Content-Type': "application/x-www-form-urlencoded"},
})
}
55 changes: 42 additions & 13 deletions api/auth.js → client/auth.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import axios from "axios";

const clientIdEnv = window.env.REACT_APP_CLIENT_ID
const clientSecretEnv = window.env.REACT_APP_CLIENT_SECRET

export const userRegister = (user, panelToken) => {
return axios.post('/auth/realms/opex/user-management/user', user, {
headers: {
Expand All @@ -8,14 +11,14 @@ export const userRegister = (user, panelToken) => {
})
}

export const login = (credential, agent, clientId, clientSecret) => {
export const login = (credential, agent, clientId = clientIdEnv, clientSecret = clientSecretEnv, grantType = 'password') => {
const params = new URLSearchParams();
params.append('client_id', clientId);
params.append('username', credential.username);
params.append('password', credential.password);
params.append('otp', credential.otp);
params.append('agent', agent);
params.append('grant_type', 'password');
params.append('grant_type', grantType);
params.append('client_secret', clientSecret);
return axios.post('/auth/realms/opex/protocol/openid-connect/token', params)
};
Expand All @@ -24,11 +27,20 @@ export const logout = () => {
return axios.post(`/auth/realms/opex/user-management/user/logout`)
}

export const getPanelToken = async (clientId, clientSecret) => {
export const getTokenByRefreshToken = (refreshToken, clientId = clientIdEnv, clientSecret = clientSecretEnv) => {
const params = new URLSearchParams();
params.append('client_id', clientId);
params.append('client_secret', clientSecret);
params.append('grant_type', 'refresh_token');
params.append('refresh_token', refreshToken);
return axios.post('/auth/realms/opex/protocol/openid-connect/token', params);
}

export const getPanelToken = async (clientId = clientIdEnv, clientSecret = clientSecretEnv, grantType = 'client_credentials') => {
const params = new URLSearchParams();
params.append('client_id', clientId);
params.append('client_secret', clientSecret);
params.append('grant_type', 'client_credentials');
params.append('grant_type', grantType);
return axios.post('/auth/realms/opex/protocol/openid-connect/token', params)
}

Expand All @@ -41,12 +53,16 @@ export const getCaptchaImage = () => {
})
};

export const requestForForgetPasswordEmail = (panelToken, email, captchaAnswer) => {
return axios.post(`/auth/realms/opex/user-management/user/forgot?email=${email}&captcha-answer=${captchaAnswer}`, null, {
headers: {
"Authorization": "Bearer " + panelToken
}
})
export const requestForForgetPassword = (email, captcha) => {
return axios.post(`/auth/realms/opex/user-management/user/request-forgot?email=${email}&captcha=${captcha}`, null)
}

export const forgotPassword = (key, password, passwordConfirmation) => {
const payload = {
password,
passwordConfirmation
}
return axios.put(`/auth/realms/opex/user-management/user/forgot?key=${key}`, payload)
}

export const requestForActivateOTP = () => {
Expand Down Expand Up @@ -122,15 +138,28 @@ export const parseWalletsResponse = (res) => {
};
}

export const getActiveSessions = () => {
return axios.get(`/auth/realms/opex/user-management/user/sessions`);
export const getUserAssets = (quoteAsset, calculateEvaluation = "true") => {
const params = new URLSearchParams();
params.append('quoteAsset', quoteAsset);
params.append('calculateEvaluation', calculateEvaluation);
return axios.get(`/api/v1/asset/getUserAsset?${params.toString()}`, {
data: params,
})
}
export const getUserAssetsEstimatedValue = (quoteAsset) => {
const params = new URLSearchParams();
params.append('quoteAsset', quoteAsset);
return axios.get(`/api/v1/asset/estimatedValue?${params.toString()}`, {
data: params,
})
}


export const getUserAttributes = () => {
return axios.get(`/auth/realms/opex/user-profile`);
}

export const checkUserOtpConfigs = async (username, clientId, clientSecret) => {
export const checkUserOtpConfigs = async (username, clientId = clientIdEnv, clientSecret = clientSecretEnv) => {
const {data: {access_token}} = await getPanelToken(clientId, clientSecret);
const params = new URLSearchParams();
params.append('username', username);
Expand Down
4 changes: 2 additions & 2 deletions api/deposit.js → client/deposit.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import axios from "axios";

export const getDepositAddress = (currency) => {
export const getDepositAddress = (currency, timestamp = Date.now().toString()) => {
const params = new URLSearchParams();
params.append('coin', currency.toUpperCase());
params.append('timestamp', Date.now().toString());
params.append('timestamp', timestamp);
return axios.get(`/sapi/v1/capital/deposit/address?${params.toString()}`, {
data: params,
headers: {
Expand Down
File renamed without changes.
28 changes: 22 additions & 6 deletions api/market.js → client/market.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ export const getLastPrices = () => {
return axios.get(`/api/v3/ticker/price`)
}

export const getLastTrades = (symbol) => {
export const getLastTrades = (symbol, limit = "25") => {
const params = new URLSearchParams();
params.append('symbol', symbol);
params.append('limit', "25");
params.append('limit', limit);
return axios.get(`/api/v3/trades?${params.toString()}`, {
data: params,
})
}

export const getOrderBook = (symbol) => {
export const getOrderBook = (symbol, limit = "20") => {
const params = new URLSearchParams();
params.append('symbol', symbol);
params.append('limit', "20");
params.append('limit', limit);
return axios.get(`/api/v3/depth?${params.toString()}`, {
data: params,
})
Expand All @@ -29,10 +29,10 @@ export const getOverview = (symbol, period) => {
})
}

export const getMarketStats = (interval) => {
export const getMarketStats = (interval, limit = "10") => {
const params = new URLSearchParams();
params.append('interval', interval);
params.append('limit', "10");
params.append('limit', limit);
return axios.get(`/api/v1/landing/marketStats?${params.toString()}`, {
data: params,
})
Expand All @@ -44,6 +44,13 @@ export const getExchangeInfo = (interval) => {
data: params,
})
}
export const getCurrencyInfo = (currency) => {
const params = new URLSearchParams();
if (currency) params.append('currency', currency);
return axios.get(`/api/v3/currencyInfo?${params.toString()}`, {
data: params,
})
}
export const getGlobalPrices = (usdSymbol) => {
const params = new URLSearchParams();
params.append('usdSymbol', usdSymbol);
Expand All @@ -52,6 +59,15 @@ export const getGlobalPrices = (usdSymbol) => {
})
}

export const getFeeForSymbol = (symbol, timestamp = Date.now().toString()) => {
const params = new URLSearchParams();
if (symbol) params.append('symbol', symbol);
params.append('timestamp', timestamp);
return axios.get(`/api/v1/asset/tradeFee?${params.toString()}`, {
data: params,
})
}

export const getChartData = (activePairSymbol, type, interval, limit) => {
const url = type === "Global" ? "/binance/api/v3/klines" : "/api/v3/klines";
const symbol = type === "Global" ? removeTestCoin(activePairSymbol) : activePairSymbol;
Expand Down
30 changes: 15 additions & 15 deletions api/orders.js → client/orders.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import axios from "axios";

export const createOrder = async (symbol, side, order, type = "LIMIT") => {
export const createOrder = async (symbol, side, order, type = "LIMIT", timeInForce = "GTC", timestamp = Date.now().toString()) => {
const params = new URLSearchParams();
params.append('symbol', symbol);
params.append('side', side);
params.append('type', type);
params.append('timeInForce', "GTC");
params.append('timestamp', Date.now().toString());
params.append('timeInForce', timeInForce);
params.append('timestamp', timestamp);
params.append('quantity', order.reqAmount.toString());
params.append('price', order.pricePerUnit.toString());
return axios.post(`/api/v3/order`, null, {
Expand All @@ -17,11 +17,11 @@ export const createOrder = async (symbol, side, order, type = "LIMIT") => {
})
}

export const cancelOrderByOrderID = (symbol, orderId) => {
export const cancelOrderByOrderID = (symbol, orderId, timestamp = Date.now().toString()) => {
const params = new URLSearchParams();
params.append('symbol', symbol);
params.append('orderId', orderId);
params.append('timestamp', Date.now().toString());
params.append('timestamp', timestamp);

return axios.delete(`/api/v3/order?${params.toString()}`, {
data: params,
Expand All @@ -31,11 +31,11 @@ export const cancelOrderByOrderID = (symbol, orderId) => {
})
}

export const getOpenOrder = (symbol) => {
export const getOpenOrder = (symbol, recvWindow = "1", timestamp = Date.now().toString()) => {
const params = new URLSearchParams();
params.append('symbol', symbol);
params.append('recvWindow', "1");
params.append('timestamp', Date.now().toString());
params.append('recvWindow', recvWindow);
params.append('timestamp', timestamp);

return axios.get(`/api/v3/openOrders?${params.toString()}`, {
data: params,
Expand All @@ -45,25 +45,25 @@ export const getOpenOrder = (symbol) => {
})
}

export const getOrdersHistory = (symbol) => {
export const getOrdersHistory = (symbol, recvWindow = "1", timestamp = Date.now().toString(), limit = "25") => {
const params = new URLSearchParams();
params.append('symbol', symbol);
params.append('recvWindow', "1");
params.append('timestamp', Date.now().toString());
params.append('limit', "25");
params.append('recvWindow', recvWindow);
params.append('timestamp', timestamp);
params.append('limit', limit);

return axios.get(`/api/v3/allOrders?${params.toString()}`, {
data: params,
})
}

export const getMyTrades = async (symbol) => {
export const getMyTrades = async (symbol, timestamp = Date.now().toString(), limit = "25") => {
const params = new URLSearchParams();
params.append('symbol', symbol);
params.append('startTime', "");
params.append('endTime', "");
params.append('timestamp', Date.now().toString());
params.append('limit', "25");
params.append('timestamp', timestamp);
params.append('limit', limit);

return axios.get(`/api/v3/myTrades?${params.toString()}`, {
data: params,
Expand Down
3 changes: 3 additions & 0 deletions api/sessions.js → client/sessions.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import axios from "axios";

export const getActiveSessions = () => {
return axios.get(`/auth/realms/opex/user-management/user/sessions`);
}
export const expireAllSessionsExceptCurrent = () => {
return axios.post(`/auth/realms/opex/user-management/user/sessions/logout`)
}
Expand Down
8 changes: 4 additions & 4 deletions api/txs.js → client/txs.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import axios from "axios";

export const getDepositTxs = (currency) => {
export const getDepositTxs = (currency, timestamp = Date.now().toString()) => {
const params = new URLSearchParams();
params.append('coin', currency.toUpperCase());
params.append('timestamp', Date.now().toString());
params.append('timestamp', timestamp);
return axios.get(`/sapi/v1/capital/deposit/hisrec?${params.toString()}`, {
data: params,
headers: {
Expand All @@ -12,10 +12,10 @@ export const getDepositTxs = (currency) => {
})
}

export const getWithdrawTxs = (currency) => {
export const getWithdrawTxs = (currency, timestamp = Date.now().toString()) => {
const params = new URLSearchParams();
params.append('coin', currency.toUpperCase());
params.append('timestamp', Date.now().toString());
params.append('timestamp', timestamp);
return axios.get(`/sapi/v1/capital/withdraw/history?${params.toString()}`, {
data: params,
headers: {
Expand Down
2 changes: 1 addition & 1 deletion api/wirhdraw.js → client/withdraw.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export const sendWithdrawReq = async (amount, currency, address, fee, network) =
}
}
)
}
}
Loading