@nodeswork/applet
Version:
Nodeswork Applet Framework
241 lines (240 loc) • 6.04 kB
TypeScript
import { BaseAccount } from './base-accounts';
import { RequestService } from '../services';
export declare class WEXAccount extends BaseAccount {
protected $request: RequestService;
constructor($request: RequestService);
getInfo(): Promise<wex.AccountInfo>;
trade(options: {
pair: string;
type: string;
rate: number;
amount: number;
}): Promise<wex.TradeResult>;
getActiveOrders(pair: string): Promise<wex.ActiveOrders>;
getOrderInfo(orderId: number): Promise<wex.ActiveOrders>;
cancelOrder(orderId: number): Promise<wex.CancelOrderResult>;
getTradeHistory(options: {
from?: number;
count?: number;
from_id?: number;
end_id?: number;
order?: string;
since?: number;
end?: number;
pair?: string;
}): Promise<{
[orderId: string]: wex.TradeHistory;
}>;
getTransactionHistory(options: {
from?: number;
count?: number;
from_id?: number;
end_id?: number;
order?: string;
since?: number;
end?: number;
}): Promise<{
[transactionId: string]: wex.TransactionHistory;
}>;
getCoinDepositAddress(coinName: string): Promise<{
address: string;
}>;
withdrawCoin(options: {
coinName: string;
amount: number;
address: string;
}): Promise<wex.WithdrawResult>;
createCoupon(options: {
currency: string;
amount: number;
receiver: string;
}): Promise<wex.CreateCouponResult>;
redeemCoupon(coupon: string): Promise<wex.RedeemCouponResult>;
static getPublicInfo(): Promise<wex.PublicInfo>;
static getPublicTicker(pairs: string[]): Promise<{
[pair: string]: wex.Ticker;
}>;
static getDepth(pairs: string[]): Promise<{
[pair: string]: wex.Depth;
}>;
static getTrades(pairs: string[]): Promise<{
[pair: string]: wex.Trade[];
}>;
}
export declare namespace wex {
const PUBLIC_API_PREFIX = "https://wex.nz/api/3";
const COINS: {
BTC: string;
LTC: string;
NMC: string;
NVC: string;
PPC: string;
DSH: string;
ETH: string;
BCH: string;
ZEC: string;
};
const CURRENCIES: {
USD: string;
EUR: string;
RUR: string;
};
const PAIRS: {
BTC_USD: string;
BTC_RUR: string;
BTC_EUR: string;
LTC_BTC: string;
LTC_USD: string;
LTC_RUR: string;
LTC_EUR: string;
NMC_BTC: string;
NMC_USD: string;
NVC_BTC: string;
NVC_USD: string;
USD_RUR: string;
EUR_USD: string;
EUR_RUR: string;
PPC_BTC: string;
PPC_USD: string;
DSH_BTC: string;
DSH_USD: string;
DSH_RUR: string;
DSH_EUR: string;
DSH_LTC: string;
DSH_ETH: string;
ETH_BTC: string;
ETH_USD: string;
ETH_EUR: string;
ETH_LTC: string;
ETH_RUR: string;
BCH_USD: string;
BCH_BTC: string;
ZEC_BTC: string;
ZEC_USD: string;
};
const ORDER_STATUS: {
ACTIVE: number;
EXECUTED_ORDER: number;
CANCELED: number;
CANCELED_WITH_PARTIAL_EXECUTION: number;
};
const TRANSACTION_TYPE: {
DEPOSIT: number;
WITHDRAWAL: number;
CREDIT: number;
DEBIT: number;
};
const TRANSACTION_STATUS: {
CANCELED_OR_FAILED: number;
WAITING_FOR_ACCEPTANCE: number;
SUCCESSFUL: number;
NOT_CONFIRMED: number;
};
const TRADE_TYPES: {
SELL: string;
BUY: string;
};
interface AccountInfo {
funds: Funds;
rights: {
info: number;
trade: number;
withdraw: number;
};
open_orders: number;
server_time: number;
}
interface TradeResult {
received: number;
remains: number;
order_id: number;
funds: Funds;
}
interface ActiveOrders {
[orderId: string]: Order;
}
interface Order {
pair: string;
type: string;
amount: number;
rate: number;
timestamp_created: number;
status: number;
}
interface CancelOrderResult {
order_id: number;
funds: Funds;
}
interface TradeHistory {
pair: string;
type: string;
amount: number;
rate: number;
order_id: number;
is_your_order: number;
timestamp: number;
}
interface TransactionHistory {
type: number;
amount: number;
currency: string;
desc: string;
status: number;
timestamp: number;
}
interface WithdrawResult {
tId: string;
amountSent: number;
funds: Funds;
}
interface CreateCouponResult {
coupon: string;
transId: number;
funds: Funds;
}
interface RedeemCouponResult {
couponAmount: number;
couponCurrency: string;
transId: number;
funds: Funds;
}
interface PublicInfo {
server_time: number;
pairs: {
[pair: string]: PublicPairInfo;
};
}
interface PublicPairInfo {
decimal_places: number;
min_price: number;
max_price: number;
min_amount: number;
hidden: number;
fee: number;
}
interface Ticker {
high: number;
low: number;
avg: number;
vol: number;
vol_cur: number;
last: number;
buy: number;
sell: number;
updated: number;
}
interface Depth {
asks: Array<[number, number]>;
bids: Array<[number, number]>;
}
interface Trade {
type: string;
price: number;
amount: number;
tid: number;
timestamp: number;
}
interface Funds {
[name: string]: number;
}
}