@machinemode/cryptopia
Version:
Node wrapper for Cryptopia's CLient API
209 lines • 7.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var Balance_1 = require("./Balance");
var DepositAddress_1 = require("./DepositAddress");
var OpenOrder_1 = require("./OpenOrder");
var TradeHistory_1 = require("./TradeHistory");
var Transaction_1 = require("./Transaction");
var TradeOrder_1 = require("./TradeOrder");
var AccountService = (function () {
function AccountService(httpsClient) {
this.httpsClient = httpsClient;
var baseUri = "https://" + this.httpsClient.host;
}
AccountService.prototype.getBalance = function (currency) {
var path = "/api/GetBalance";
var params = {};
if (currency) {
params['CurrencyId'] = currency.id;
}
return this.httpsClient.post(path, params)
.then(function (response) {
if (response.success) {
var balances_1 = [];
response.data.forEach(function (balance) {
balances_1.push(new Balance_1.default(balance));
});
return balances_1;
}
else {
throw new Error(response.error + " " + response.message);
}
});
};
AccountService.prototype.getDepositAddress = function (currency) {
var path = "/api/GetDepositAddress";
var params = {
CurrencyId: currency.id
};
return this.httpsClient.post(path, params)
.then(function (response) {
if (response.success) {
return new DepositAddress_1.default(response.data);
}
else {
throw new Error(response.error + " " + response.message);
}
});
};
AccountService.prototype.getOpenOrders = function (market, count) {
var path = "/api/GetOpenOrders";
var params = {
Market: market.tradePairId
};
if (count) {
params['Count'] = count;
}
return this.httpsClient.post(path, params)
.then(function (response) {
if (response.success) {
var openOrders_1 = [];
response.data.forEach(function (openOrder) {
openOrders_1.push(new OpenOrder_1.default(openOrder));
});
return openOrders_1;
}
else {
throw new Error(response.error + " " + response.message);
}
});
};
AccountService.prototype.getTradeHistory = function (market, count) {
var path = "/api/GetTradeHistory";
var params = {
Market: market.tradePairId
};
if (count) {
params['Count'] = count;
}
return this.httpsClient.post(path, params)
.then(function (response) {
if (response.success) {
var tradeHistories_1 = [];
response.data.forEach(function (tradeHistory) {
tradeHistories_1.push(new TradeHistory_1.default(tradeHistory));
});
return tradeHistories_1;
}
else {
throw new Error(response.error + " " + response.message);
}
});
};
AccountService.prototype.getTransactions = function (type, count) {
var path = "/api/GetTransactions";
var params = {
Type: type
};
if (count) {
params['Count'] = count;
}
return this.httpsClient.post(path, params)
.then(function (response) {
if (response.success) {
var transactions_1 = [];
response.data.forEach(function (transaction) {
transactions_1.push(new Transaction_1.default(transaction));
});
return transactions_1;
}
else {
throw new Error(response.error + " " + response.message);
}
});
};
AccountService.prototype.submitTrade = function (market, type, rate, amount) {
var path = "/api/SubmitTrade";
var params = {
Market: market.tradePairId,
Type: type,
Rate: rate,
Amount: amount
};
return this.httpsClient.post(path, params)
.then(function (response) {
if (response.success) {
return new TradeOrder_1.default(response.data);
}
else {
throw new Error(response.error + " " + response.message);
}
});
};
AccountService.prototype.cancelTrade = function (type, id) {
var path = "/api/CancelTrade";
var params = {
Type: type
};
if (type === 'Trade') {
params['OrderId'] = id;
}
else if (type === 'TradePair') {
params['TradePairId'] = id;
}
return this.httpsClient.post(path, params)
.then(function (response) {
if (response.success) {
return response.data;
}
else {
throw new Error(response.error + " " + response.message);
}
});
};
AccountService.prototype.submitTip = function (currency, activeUsers, amount) {
var path = "/api/SubmitTip";
var params = {
CurrencyId: currency.id,
ActiveUsers: activeUsers,
Amount: amount
};
return this.httpsClient.post(path, params)
.then(function (response) {
if (response.success) {
return response.data;
}
else {
throw new Error(response.error + " " + response.message);
}
});
};
AccountService.prototype.submitWithdraw = function (currency, address, paymentId, amount) {
var path = "/api/SubmitWithdraw";
var params = {
CurrencyId: currency.id,
Address: address,
PaymentId: paymentId,
Amount: amount
};
return this.httpsClient.post(path, params)
.then(function (response) {
if (response.success) {
return response.data;
}
else {
throw new Error(response.error + " " + response.message);
}
});
};
AccountService.prototype.submitTransfer = function (currency, username, amount) {
var path = "/api/SubmitTransfer";
var params = {
CurrencyId: currency.id,
Username: username,
Amount: amount
};
return this.httpsClient.post(path, params)
.then(function (response) {
if (response.success) {
return response.data;
}
else {
throw new Error(response.error + " " + response.message);
}
});
};
return AccountService;
}());
exports.default = AccountService;
//# sourceMappingURL=AccountService.js.map