Multi-asset: User API
This commit is contained in:
parent
92caef2c37
commit
df69ee0f7b
44
public/fn.js
44
public/fn.js
@ -151,9 +151,9 @@ function getTransactionList() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getRate() {
|
function getRates() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
exchangeAPI('/get-rate')
|
exchangeAPI('/get-rates')
|
||||||
.then(result => responseParse(result, false)
|
.then(result => responseParse(result, false)
|
||||||
.then(result => resolve(result))
|
.then(result => resolve(result))
|
||||||
.catch(error => reject(error)))
|
.catch(error => reject(error)))
|
||||||
@ -268,7 +268,7 @@ function logout(floID, proxySecret) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function buy(quantity, max_price, floID, proxySecret) {
|
function buy(asset, quantity, max_price, floID, proxySecret) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (typeof quantity !== "number" || quantity <= 0)
|
if (typeof quantity !== "number" || quantity <= 0)
|
||||||
return reject(`Invalid quantity (${quantity})`);
|
return reject(`Invalid quantity (${quantity})`);
|
||||||
@ -276,12 +276,14 @@ function buy(quantity, max_price, floID, proxySecret) {
|
|||||||
return reject(`Invalid max_price (${max_price})`);
|
return reject(`Invalid max_price (${max_price})`);
|
||||||
let request = {
|
let request = {
|
||||||
floID: floID,
|
floID: floID,
|
||||||
|
asset: asset,
|
||||||
quantity: quantity,
|
quantity: quantity,
|
||||||
max_price: max_price,
|
max_price: max_price,
|
||||||
timestamp: Date.now()
|
timestamp: Date.now()
|
||||||
};
|
};
|
||||||
request.sign = signRequest({
|
request.sign = signRequest({
|
||||||
type: "buy_order",
|
type: "buy_order",
|
||||||
|
asset: asset,
|
||||||
quantity: quantity,
|
quantity: quantity,
|
||||||
max_price: max_price,
|
max_price: max_price,
|
||||||
timestamp: request.timestamp
|
timestamp: request.timestamp
|
||||||
@ -302,7 +304,7 @@ function buy(quantity, max_price, floID, proxySecret) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function sell(quantity, min_price, floID, proxySecret) {
|
function sell(asset, quantity, min_price, floID, proxySecret) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (typeof quantity !== "number" || quantity <= 0)
|
if (typeof quantity !== "number" || quantity <= 0)
|
||||||
return reject(`Invalid quantity (${quantity})`);
|
return reject(`Invalid quantity (${quantity})`);
|
||||||
@ -310,6 +312,7 @@ function sell(quantity, min_price, floID, proxySecret) {
|
|||||||
return reject(`Invalid min_price (${min_price})`);
|
return reject(`Invalid min_price (${min_price})`);
|
||||||
let request = {
|
let request = {
|
||||||
floID: floID,
|
floID: floID,
|
||||||
|
asset: asset,
|
||||||
quantity: quantity,
|
quantity: quantity,
|
||||||
min_price: min_price,
|
min_price: min_price,
|
||||||
timestamp: Date.now()
|
timestamp: Date.now()
|
||||||
@ -317,6 +320,7 @@ function sell(quantity, min_price, floID, proxySecret) {
|
|||||||
request.sign = signRequest({
|
request.sign = signRequest({
|
||||||
type: "sell_order",
|
type: "sell_order",
|
||||||
quantity: quantity,
|
quantity: quantity,
|
||||||
|
asset: asset,
|
||||||
min_price: min_price,
|
min_price: min_price,
|
||||||
timestamp: request.timestamp
|
timestamp: request.timestamp
|
||||||
}, proxySecret);
|
}, proxySecret);
|
||||||
@ -379,7 +383,7 @@ function depositFLO(quantity, floID, sinkID, privKey, proxySecret) {
|
|||||||
};
|
};
|
||||||
request.sign = signRequest({
|
request.sign = signRequest({
|
||||||
type: "deposit_FLO",
|
type: "deposit_FLO",
|
||||||
txid: request.txid,
|
txid: txid,
|
||||||
timestamp: request.timestamp
|
timestamp: request.timestamp
|
||||||
}, proxySecret);
|
}, proxySecret);
|
||||||
console.debug(request);
|
console.debug(request);
|
||||||
@ -407,7 +411,7 @@ function withdrawFLO(quantity, floID, proxySecret) {
|
|||||||
};
|
};
|
||||||
request.sign = signRequest({
|
request.sign = signRequest({
|
||||||
type: "withdraw_FLO",
|
type: "withdraw_FLO",
|
||||||
amount: request.amount,
|
amount: quantity,
|
||||||
timestamp: request.timestamp
|
timestamp: request.timestamp
|
||||||
}, proxySecret);
|
}, proxySecret);
|
||||||
console.debug(request);
|
console.debug(request);
|
||||||
@ -425,24 +429,24 @@ function withdrawFLO(quantity, floID, proxySecret) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function depositRupee(quantity, floID, sinkID, privKey, proxySecret) {
|
function depositToken(token, quantity, floID, sinkID, privKey, proxySecret) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (!floCrypto.verifyPrivKey(privKey, floID))
|
if (!floCrypto.verifyPrivKey(privKey, floID))
|
||||||
return reject("Invalid Private Key");
|
return reject("Invalid Private Key");
|
||||||
tokenAPI.sendToken(privKey, quantity, sinkID, 'Deposit Rupee in market').then(txid => {
|
tokenAPI.sendToken(privKey, quantity, sinkID, 'Deposit Rupee in market', token).then(txid => {
|
||||||
let request = {
|
let request = {
|
||||||
floID: floID,
|
floID: floID,
|
||||||
txid: txid,
|
txid: txid,
|
||||||
timestamp: Date.now()
|
timestamp: Date.now()
|
||||||
};
|
};
|
||||||
request.sign = signRequest({
|
request.sign = signRequest({
|
||||||
type: "deposit_Rupee",
|
type: "deposit_Token",
|
||||||
txid: request.txid,
|
txid: txid,
|
||||||
timestamp: request.timestamp
|
timestamp: request.timestamp
|
||||||
}, proxySecret);
|
}, proxySecret);
|
||||||
console.debug(request);
|
console.debug(request);
|
||||||
|
|
||||||
exchangeAPI('/deposit-rupee', {
|
exchangeAPI('/deposit-token', {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
@ -456,21 +460,23 @@ function depositRupee(quantity, floID, sinkID, privKey, proxySecret) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function withdrawRupee(quantity, floID, proxySecret) {
|
function withdrawToken(token, quantity, floID, proxySecret) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
let request = {
|
let request = {
|
||||||
floID: floID,
|
floID: floID,
|
||||||
|
token: token,
|
||||||
amount: quantity,
|
amount: quantity,
|
||||||
timestamp: Date.now()
|
timestamp: Date.now()
|
||||||
};
|
};
|
||||||
request.sign = signRequest({
|
request.sign = signRequest({
|
||||||
type: "withdraw_Rupee",
|
type: "withdraw_Token",
|
||||||
amount: request.amount,
|
token: token,
|
||||||
|
amount: quantity,
|
||||||
timestamp: request.timestamp
|
timestamp: request.timestamp
|
||||||
}, proxySecret);
|
}, proxySecret);
|
||||||
console.debug(request);
|
console.debug(request);
|
||||||
|
|
||||||
exchangeAPI('/withdraw-rupee', {
|
exchangeAPI('/withdraw-token', {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
@ -493,8 +499,8 @@ function addUserTag(tag_user, tag, floID, proxySecret) {
|
|||||||
};
|
};
|
||||||
request.sign = signRequest({
|
request.sign = signRequest({
|
||||||
command: "add_Tag",
|
command: "add_Tag",
|
||||||
user: request.user,
|
user: tag_user,
|
||||||
tag: request.tag,
|
tag: tag,
|
||||||
timestamp: request.timestamp
|
timestamp: request.timestamp
|
||||||
}, proxySecret);
|
}, proxySecret);
|
||||||
console.debug(request);
|
console.debug(request);
|
||||||
@ -522,8 +528,8 @@ function removeUserTag(tag_user, tag, floID, proxySecret) {
|
|||||||
};
|
};
|
||||||
request.sign = signRequest({
|
request.sign = signRequest({
|
||||||
command: "remove_Tag",
|
command: "remove_Tag",
|
||||||
user: request.user,
|
user: tag_user,
|
||||||
tag: request.tag,
|
tag: tag,
|
||||||
timestamp: request.timestamp
|
timestamp: request.timestamp
|
||||||
}, proxySecret);
|
}, proxySecret);
|
||||||
console.debug(request);
|
console.debug(request);
|
||||||
|
|||||||
@ -1052,9 +1052,9 @@
|
|||||||
showProcess('trade_button_wrapper')
|
showProcess('trade_button_wrapper')
|
||||||
try {
|
try {
|
||||||
if (tradeType === 'buy') {
|
if (tradeType === 'buy') {
|
||||||
await buy(quantity, price, proxy.userID, await proxy.secret)
|
await buy(quantity, price, proxy.userID, await proxy.secret) //TODO: asset_name
|
||||||
} else {
|
} else {
|
||||||
await sell(quantity, price, proxy.userID, await proxy.secret)
|
await sell(quantity, price, proxy.userID, await proxy.secret) //TODO: asset_name
|
||||||
}
|
}
|
||||||
getRef('trade_button_wrapper').append(getRef('success_template').content.cloneNode(true))
|
getRef('trade_button_wrapper').append(getRef('success_template').content.cloneNode(true))
|
||||||
notify(`Placed ${tradeType} order`, 'success')
|
notify(`Placed ${tradeType} order`, 'success')
|
||||||
@ -1197,14 +1197,14 @@
|
|||||||
if (asset === 'FLO') {
|
if (asset === 'FLO') {
|
||||||
await depositFLO(quantity, proxy.userID, proxy.sinkID, privKey, proxySecret)
|
await depositFLO(quantity, proxy.userID, proxy.sinkID, privKey, proxySecret)
|
||||||
} else {
|
} else {
|
||||||
await depositRupee(quantity, proxy.userID, proxy.sinkID, privKey, proxySecret)
|
await depositToken(quantity, proxy.userID, proxy.sinkID, privKey, proxySecret) //TODO: token_name
|
||||||
}
|
}
|
||||||
showWalletResult('success', `Sent ${asset} deposit request`, 'This may take upto 30 mins to reflect in your wallet.')
|
showWalletResult('success', `Sent ${asset} deposit request`, 'This may take upto 30 mins to reflect in your wallet.')
|
||||||
} else {
|
} else {
|
||||||
if (asset === 'FLO') {
|
if (asset === 'FLO') {
|
||||||
await withdrawFLO(quantity, proxy.userID, proxySecret)
|
await withdrawFLO(quantity, proxy.userID, proxySecret)
|
||||||
} else {
|
} else {
|
||||||
await withdrawRupee(quantity, proxy.userID, proxySecret)
|
await withdrawToken(quantity, proxy.userID, proxySecret) //TODO: token_name
|
||||||
}
|
}
|
||||||
showWalletResult('success', `Sent ${asset} withdraw request`, 'This may take upto 30 mins to reflect in your wallet.')
|
showWalletResult('success', `Sent ${asset} withdraw request`, 'This may take upto 30 mins to reflect in your wallet.')
|
||||||
}
|
}
|
||||||
@ -1630,10 +1630,11 @@
|
|||||||
|
|
||||||
let floExchangeRate = 0
|
let floExchangeRate = 0
|
||||||
function updateRate() {
|
function updateRate() {
|
||||||
getRate().then(rate => {
|
getRates().then(rates => {
|
||||||
floExchangeRate = parseFloat(rate)
|
let flo_rate = rates["FLO"];
|
||||||
getRef('flo_rate').textContent = formatAmount(parseFloat(rate))
|
floExchangeRate = parseFloat(flo_rate)
|
||||||
getRef('get_price').value = parseFloat(parseFloat(rate).toFixed(2))
|
getRef('flo_rate').textContent = formatAmount(parseFloat(flo_rate))
|
||||||
|
getRef('get_price').value = parseFloat(parseFloat(flo_rate).toFixed(2))
|
||||||
}).catch(error => console.error(error))
|
}).catch(error => console.error(error))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -72,7 +72,7 @@ module.exports = function App(secret, DB) {
|
|||||||
|
|
||||||
//list all process transactions and rate
|
//list all process transactions and rate
|
||||||
app.get('/list-transactions', Request.ListTransactions);
|
app.get('/list-transactions', Request.ListTransactions);
|
||||||
app.get('/get-rate', Request.getRate)
|
app.get('/get-rates', Request.getRates)
|
||||||
|
|
||||||
//get account details
|
//get account details
|
||||||
app.post('/account', Request.Account);
|
app.post('/account', Request.Account);
|
||||||
|
|||||||
@ -268,7 +268,7 @@ function ListTransactions(req, res) {
|
|||||||
.catch(error => res.status(INTERNAL.e_code).send("Try again later!"));
|
.catch(error => res.status(INTERNAL.e_code).send("Try again later!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
function getRate(req, res) {
|
function getRates(req, res) {
|
||||||
if (!serving)
|
if (!serving)
|
||||||
res.status(INVALID.e_code).send(INVALID_SERVER_MSG);
|
res.status(INVALID.e_code).send(INVALID_SERVER_MSG);
|
||||||
else
|
else
|
||||||
@ -484,7 +484,7 @@ module.exports = {
|
|||||||
ListSellOrders,
|
ListSellOrders,
|
||||||
ListBuyOrders,
|
ListBuyOrders,
|
||||||
ListTransactions,
|
ListTransactions,
|
||||||
getRate,
|
getRates,
|
||||||
Account,
|
Account,
|
||||||
DepositFLO,
|
DepositFLO,
|
||||||
WithdrawFLO,
|
WithdrawFLO,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user