coinrayjs 1.9.12 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/coinrayjs.es.js +13220 -0
- package/dist/coinrayjs.es.js.map +1 -0
- package/dist/coinrayjs.js +52 -0
- package/dist/coinrayjs.js.map +1 -0
- package/package.json +50 -81
- package/dist/candles-cache.d.ts +0 -7
- package/dist/candles-cache.js +0 -57
- package/dist/candles-cache.js.map +0 -1
- package/dist/coinray-cache.d.ts +0 -47
- package/dist/coinray-cache.js +0 -249
- package/dist/coinray-cache.js.map +0 -1
- package/dist/coinray.d.ts +0 -183
- package/dist/coinray.js +0 -1118
- package/dist/coinray.js.map +0 -1
- package/dist/crypto.d.ts +0 -1
- package/dist/crypto.js +0 -57
- package/dist/crypto.js.map +0 -1
- package/dist/current-market.d.ts +0 -62
- package/dist/current-market.js +0 -285
- package/dist/current-market.js.map +0 -1
- package/dist/errors.d.ts +0 -25
- package/dist/errors.js +0 -50
- package/dist/errors.js.map +0 -1
- package/dist/event-emitter.d.ts +0 -9
- package/dist/event-emitter.js +0 -36
- package/dist/event-emitter.js.map +0 -1
- package/dist/exchange.d.ts +0 -55
- package/dist/exchange.js +0 -167
- package/dist/exchange.js.map +0 -1
- package/dist/i18n/locales.d.ts +0 -21
- package/dist/i18n/locales.js +0 -21
- package/dist/i18n/locales.js.map +0 -1
- package/dist/i18n.d.ts +0 -4
- package/dist/i18n.js +0 -16
- package/dist/i18n.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.js +0 -10
- package/dist/index.js.map +0 -1
- package/dist/lru.d.ts +0 -26
- package/dist/lru.js +0 -93
- package/dist/lru.js.map +0 -1
- package/dist/market.d.ts +0 -65
- package/dist/market.js +0 -162
- package/dist/market.js.map +0 -1
- package/dist/orders/base.d.ts +0 -29
- package/dist/orders/base.js +0 -47
- package/dist/orders/base.js.map +0 -1
- package/dist/orders/index.d.ts +0 -6
- package/dist/orders/index.js +0 -7
- package/dist/orders/index.js.map +0 -1
- package/dist/orders/limit-ladder.d.ts +0 -87
- package/dist/orders/limit-ladder.js +0 -229
- package/dist/orders/limit-ladder.js.map +0 -1
- package/dist/orders/limit.d.ts +0 -47
- package/dist/orders/limit.js +0 -86
- package/dist/orders/limit.js.map +0 -1
- package/dist/orders/market.d.ts +0 -37
- package/dist/orders/market.js +0 -60
- package/dist/orders/market.js.map +0 -1
- package/dist/orders/oco.d.ts +0 -54
- package/dist/orders/oco.js +0 -70
- package/dist/orders/oco.js.map +0 -1
- package/dist/orders/stop-limit.d.ts +0 -42
- package/dist/orders/stop-limit.js +0 -33
- package/dist/orders/stop-limit.js.map +0 -1
- package/dist/orders/validate.d.ts +0 -2
- package/dist/orders/validate.js +0 -6
- package/dist/orders/validate.js.map +0 -1
- package/dist/trade.d.ts +0 -10
- package/dist/trade.js +0 -32
- package/dist/trade.js.map +0 -1
- package/dist/types.d.ts +0 -213
- package/dist/types.js +0 -59
- package/dist/types.js.map +0 -1
- package/dist/util.d.ts +0 -48
- package/dist/util.js +0 -407
- package/dist/util.js.map +0 -1
package/dist/market.js
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { checkBigNumber, checkBoolean, checkNull, checkNumber, checkString, safeBigNumber, safeFloat, throwIsArray, throwNotObject, throwNull2NonNull } from "./util";
|
|
2
|
-
let obj = null;
|
|
3
|
-
export default class Market {
|
|
4
|
-
constructor(d, api, exchange) {
|
|
5
|
-
this.overridePrices = (getPriceOverrides) => {
|
|
6
|
-
this.getPriceOverrides = getPriceOverrides;
|
|
7
|
-
};
|
|
8
|
-
this.updateTicker = ({ lastPrice, bidPrice, askPrice }) => {
|
|
9
|
-
if (lastPrice) {
|
|
10
|
-
this._lastPrice = lastPrice;
|
|
11
|
-
}
|
|
12
|
-
if (askPrice) {
|
|
13
|
-
this._askPrice = askPrice;
|
|
14
|
-
}
|
|
15
|
-
if (bidPrice) {
|
|
16
|
-
this._bidPrice = bidPrice;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
this.getExchange = () => exchange;
|
|
20
|
-
this.api = api;
|
|
21
|
-
this.id = d.id;
|
|
22
|
-
this.coinraySymbol = d.coinraySymbol;
|
|
23
|
-
this.symbol = d.symbol;
|
|
24
|
-
this.symbolAlt = d.symbolAlt;
|
|
25
|
-
this.quoteCurrency = d.quoteCurrency.toUpperCase();
|
|
26
|
-
this.underlyingQuoteCurrency = d.underlyingQuoteCurrency.toUpperCase();
|
|
27
|
-
this.baseLogoUrl = d.baseLogoUrl;
|
|
28
|
-
this.baseCurrency = d.baseCurrency.toUpperCase();
|
|
29
|
-
this.exchangeCode = d.exchangeCode;
|
|
30
|
-
this.status = d.status;
|
|
31
|
-
this.note = d.note;
|
|
32
|
-
this.volume = safeBigNumber(d.volume);
|
|
33
|
-
this.quoteVolume = safeBigNumber(d.quoteVolume);
|
|
34
|
-
this.btcVolume = safeBigNumber(d.btcVolume);
|
|
35
|
-
this.usdVolume = safeBigNumber(d.usdVolume);
|
|
36
|
-
this.websocket = d.websocket;
|
|
37
|
-
this.openPrice = safeBigNumber(d.openPrice);
|
|
38
|
-
this.highPrice = safeBigNumber(d.highPrice);
|
|
39
|
-
this.lowPrice = safeBigNumber(d.lowPrice);
|
|
40
|
-
this.precisionBase = d.precisionBase;
|
|
41
|
-
this.precisionPrice = d.precisionPrice;
|
|
42
|
-
this.precisionQuote = d.precisionQuote;
|
|
43
|
-
this.minQuote = d.minQuote;
|
|
44
|
-
this.precisionBase = d.precisionBase;
|
|
45
|
-
this.minBase = d.minBase;
|
|
46
|
-
this.maxBase = safeBigNumber(d.maxBase);
|
|
47
|
-
this.maxBaseMarket = safeBigNumber(d.maxBaseMarket).isZero() ? this.maxBase : safeBigNumber(d.maxBaseMarket);
|
|
48
|
-
this.maxQuote = safeBigNumber(d.maxQuote);
|
|
49
|
-
this.minTrade = safeBigNumber(d.minTrade);
|
|
50
|
-
this.maxTrade = safeBigNumber(d.maxTrade);
|
|
51
|
-
this.makerFee = safeFloat(d.makerFee);
|
|
52
|
-
this.takerFee = safeFloat(d.takerFee);
|
|
53
|
-
this.change = safeFloat(d.change);
|
|
54
|
-
this.delistedOn = d.delistedOn;
|
|
55
|
-
this.exchangeUrl = d.exchangeUrl;
|
|
56
|
-
this._lastPrice = safeBigNumber(d.lastPrice);
|
|
57
|
-
this.baseToUsd = safeBigNumber(d.baseToUsd);
|
|
58
|
-
this.quoteToUsd = safeBigNumber(d.quoteToUsd);
|
|
59
|
-
this._askPrice = safeBigNumber(d.askPrice);
|
|
60
|
-
this._bidPrice = safeBigNumber(d.bidPrice);
|
|
61
|
-
this._supportedOrderTypes = d.supportedOrderTypes;
|
|
62
|
-
this.updatedAt = d.updatedAt;
|
|
63
|
-
}
|
|
64
|
-
static Create(d, api, exchange) {
|
|
65
|
-
if (d === null || d === undefined) {
|
|
66
|
-
throwNull2NonNull(d);
|
|
67
|
-
}
|
|
68
|
-
else if (typeof (d) !== 'object') {
|
|
69
|
-
throwNotObject(d, false);
|
|
70
|
-
}
|
|
71
|
-
else if (Array.isArray(d)) {
|
|
72
|
-
throwIsArray(d, false);
|
|
73
|
-
}
|
|
74
|
-
checkNumber(d.id, false, "id");
|
|
75
|
-
checkString(d.coinraySymbol, false, "coinraySymbol");
|
|
76
|
-
checkString(d.symbol, false, "symbol");
|
|
77
|
-
checkString(d.symbolAlt, false, "symbolAlt");
|
|
78
|
-
checkString(d.quoteCurrency, false, "quoteCurrency");
|
|
79
|
-
checkString(d.underlyingQuoteCurrency, false, "underlyingQuoteCurrency");
|
|
80
|
-
checkString(d.baseLogoUrl, true, "baseLogoUrl");
|
|
81
|
-
checkString(d.baseCurrency, false, "baseCurrency");
|
|
82
|
-
checkString(d.exchangeCode, false, "exchangeCode");
|
|
83
|
-
checkString(d.status || "", false, "status");
|
|
84
|
-
checkString(d.note || "", false, "note");
|
|
85
|
-
checkBigNumber(d.volume, true, "volume");
|
|
86
|
-
checkBigNumber(d.quoteVolume, true, "quoteVolume");
|
|
87
|
-
checkBigNumber(d.btcVolume, true, "btcVolume");
|
|
88
|
-
checkBigNumber(d.usdVolume, true, "usdVolume");
|
|
89
|
-
checkBoolean(d.websocket, false, "websocket");
|
|
90
|
-
checkBigNumber(d.openPrice, true, "openPrice");
|
|
91
|
-
checkBigNumber(d.highPrice, true, "highPrice");
|
|
92
|
-
checkBigNumber(d.lowPrice, true, "lowPrice");
|
|
93
|
-
checkNumber(d.precisionBase, false, "precisionBase");
|
|
94
|
-
checkNumber(d.precisionPrice, false, "precisionPrice");
|
|
95
|
-
checkNumber(d.precisionBase, false, "precisionBase");
|
|
96
|
-
checkNumber(d.minBase, true, "minBase");
|
|
97
|
-
checkNumber(d.precisionQuote, false, "precisionQuote");
|
|
98
|
-
checkNumber(d.minQuote, true, "minQuote");
|
|
99
|
-
checkBigNumber(d.maxBase, true, "maxBase");
|
|
100
|
-
checkBigNumber(d.maxBaseMarket, true, "maxBaseMarket");
|
|
101
|
-
checkBigNumber(d.maxQuote, true, "maxQuote");
|
|
102
|
-
checkBigNumber(d.minTrade, false, "minTrade");
|
|
103
|
-
checkNumber(d.maxTrade, true, "maxTrade");
|
|
104
|
-
if (d.maxTrade === undefined) {
|
|
105
|
-
d.maxTrade = null;
|
|
106
|
-
}
|
|
107
|
-
checkNumber(d.makerFee, false, "makerFee");
|
|
108
|
-
checkNumber(d.takerFee, false, "takerFee");
|
|
109
|
-
checkNumber(d.change, false, "change");
|
|
110
|
-
checkNull(d.delistedOn, "delistedOn");
|
|
111
|
-
if (d.delistedOn === undefined) {
|
|
112
|
-
d.delistedOn = null;
|
|
113
|
-
}
|
|
114
|
-
checkString(d.exchangeUrl, false, "exchangeUrl");
|
|
115
|
-
checkBigNumber(d.lastPrice, true, "lastPrice");
|
|
116
|
-
checkBigNumber(d.baseToUsd, false, "baseToUsd");
|
|
117
|
-
checkBigNumber(d.quoteToUsd, false, "quoteToUsd");
|
|
118
|
-
checkBigNumber(d.askPrice, true, "askPrice");
|
|
119
|
-
checkBigNumber(d.bidPrice, true, "bidPrice");
|
|
120
|
-
checkString(d.updatedAt, false, "updatedAt");
|
|
121
|
-
return new Market(d, api, exchange);
|
|
122
|
-
}
|
|
123
|
-
get tradingDisabled() {
|
|
124
|
-
return this.status === "INACTIVE";
|
|
125
|
-
}
|
|
126
|
-
get tradingEnabled() {
|
|
127
|
-
return !this.tradingDisabled;
|
|
128
|
-
}
|
|
129
|
-
get quoteLogoUrl() {
|
|
130
|
-
return `https://api.coinray.eu/api/v2/explorer/currencies/${this.quoteCurrency}/thumb`;
|
|
131
|
-
}
|
|
132
|
-
get supportedOrderTypes() {
|
|
133
|
-
if (this._supportedOrderTypes.length > 0) {
|
|
134
|
-
return this._supportedOrderTypes;
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
return this.getExchange().supportedOrderTypes;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
get isFutures() {
|
|
141
|
-
return this.getExchange().isFutures;
|
|
142
|
-
}
|
|
143
|
-
get fullDisplayName() {
|
|
144
|
-
return [this.exchangeCode, this.displayName].join(": ");
|
|
145
|
-
}
|
|
146
|
-
get displayName() {
|
|
147
|
-
return [this.baseCurrency, this.quoteCurrency].join("/");
|
|
148
|
-
}
|
|
149
|
-
get priceOverrides() {
|
|
150
|
-
return this.getPriceOverrides ? this.getPriceOverrides() : {};
|
|
151
|
-
}
|
|
152
|
-
get lastPrice() {
|
|
153
|
-
return this.priceOverrides.lastPrice || this._lastPrice;
|
|
154
|
-
}
|
|
155
|
-
get askPrice() {
|
|
156
|
-
return this.priceOverrides.askPrice || this._askPrice;
|
|
157
|
-
}
|
|
158
|
-
get bidPrice() {
|
|
159
|
-
return this.priceOverrides.bidPrice || this._bidPrice;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=market.js.map
|
package/dist/market.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"market.js","sourceRoot":"","sources":["../lib/market.ts"],"names":[],"mappings":"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"}
|
package/dist/orders/base.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { BalanceLimit, BaseOrderParams, MarketBalance, OrderSide, TimeInForce } from "../types";
|
|
2
|
-
import BigNumber from "bignumber.js";
|
|
3
|
-
export default abstract class BaseOrder {
|
|
4
|
-
id: string;
|
|
5
|
-
coinraySymbol: string;
|
|
6
|
-
precisionBase: number;
|
|
7
|
-
precisionQuote: number;
|
|
8
|
-
precisionPrice: number;
|
|
9
|
-
minBase: BigNumber;
|
|
10
|
-
minQuote: BigNumber;
|
|
11
|
-
makerFee: BigNumber;
|
|
12
|
-
takerFee: BigNumber;
|
|
13
|
-
balances: MarketBalance;
|
|
14
|
-
balanceLimit: BalanceLimit;
|
|
15
|
-
side: OrderSide;
|
|
16
|
-
errors: any;
|
|
17
|
-
isValid: boolean;
|
|
18
|
-
orderExternalId?: string;
|
|
19
|
-
reduceOnly?: boolean;
|
|
20
|
-
postOnly?: boolean;
|
|
21
|
-
timeInForce?: TimeInForce;
|
|
22
|
-
constructor(params: BaseOrderParams);
|
|
23
|
-
abstract constraints(): object;
|
|
24
|
-
abstract getOrders(): Array<BaseOrder>;
|
|
25
|
-
startEdit(orderExternalId: string): void;
|
|
26
|
-
updateLockedOn(lockedOn: string): void;
|
|
27
|
-
resetError(): void;
|
|
28
|
-
validate(): boolean;
|
|
29
|
-
}
|
package/dist/orders/base.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import validate from "./validate";
|
|
2
|
-
import { BalanceLimit } from "../types";
|
|
3
|
-
import { safeBigNumber, safeInteger } from "../util";
|
|
4
|
-
import UUID from "uuid/v4";
|
|
5
|
-
export default class BaseOrder {
|
|
6
|
-
constructor(params) {
|
|
7
|
-
this.id = UUID();
|
|
8
|
-
this.coinraySymbol = params.coinraySymbol;
|
|
9
|
-
this.precisionBase = safeInteger(params.precisionBase);
|
|
10
|
-
this.precisionQuote = safeInteger(params.precisionQuote);
|
|
11
|
-
this.precisionPrice = safeInteger(params.precisionPrice);
|
|
12
|
-
this.minBase = safeBigNumber(params.minBase);
|
|
13
|
-
this.minQuote = safeBigNumber(params.minQuote);
|
|
14
|
-
this.makerFee = safeBigNumber(params.makerFee);
|
|
15
|
-
this.takerFee = safeBigNumber(params.takerFee);
|
|
16
|
-
this.balances = params.balances;
|
|
17
|
-
this.balanceLimit = params.balanceLimit || BalanceLimit.NONE;
|
|
18
|
-
this.side = params.side;
|
|
19
|
-
this.orderExternalId = params.externalId;
|
|
20
|
-
this.errors = {};
|
|
21
|
-
this.isValid = true;
|
|
22
|
-
this.reduceOnly = params.reduceOnly;
|
|
23
|
-
this.postOnly = params.postOnly;
|
|
24
|
-
this.timeInForce = params.timeInForce;
|
|
25
|
-
}
|
|
26
|
-
startEdit(orderExternalId) {
|
|
27
|
-
this.orderExternalId = orderExternalId;
|
|
28
|
-
}
|
|
29
|
-
updateLockedOn(lockedOn) {
|
|
30
|
-
}
|
|
31
|
-
resetError() {
|
|
32
|
-
this.errors = {};
|
|
33
|
-
this.isValid = true;
|
|
34
|
-
}
|
|
35
|
-
validate() {
|
|
36
|
-
const errors = validate(this, this.constraints());
|
|
37
|
-
if (errors) {
|
|
38
|
-
this.errors = errors;
|
|
39
|
-
this.isValid = false;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
this.resetError();
|
|
43
|
-
}
|
|
44
|
-
return !errors;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=base.js.map
|
package/dist/orders/base.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../lib/orders/base.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAC,YAAY,EAAyD,MAAM,UAAU,CAAC;AAE9F,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,SAAS,CAAA;AAE1B,MAAM,CAAC,OAAO,OAAgB,SAAS;IAoBrC,YAAY,MAAuB;QAnBnC,OAAE,GAAG,IAAI,EAAE,CAAC;QAoBV,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,QAAQ,GAAI,MAAM,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IACvC,CAAC;IAMD,SAAS,CAAC,eAAuB;QAC/B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED,cAAc,CAAC,QAAgB;IAC/B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,QAAQ;QACN,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAElD,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;SACrB;aAAM;YACL,IAAI,CAAC,UAAU,EAAE,CAAA;SAClB;QACD,OAAO,CAAC,MAAM,CAAA;IAChB,CAAC;CACF"}
|
package/dist/orders/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import LimitOrder from "./limit";
|
|
2
|
-
import MarketOrder from "./market";
|
|
3
|
-
import LimitLadderOrder from "./limit-ladder";
|
|
4
|
-
import StopLimitOrder from "./stop-limit";
|
|
5
|
-
import OcoOrder from "./oco";
|
|
6
|
-
export { LimitOrder, LimitLadderOrder, MarketOrder, StopLimitOrder, OcoOrder };
|
package/dist/orders/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import LimitOrder from "./limit";
|
|
2
|
-
import MarketOrder from "./market";
|
|
3
|
-
import LimitLadderOrder from "./limit-ladder";
|
|
4
|
-
import StopLimitOrder from "./stop-limit";
|
|
5
|
-
import OcoOrder from "./oco";
|
|
6
|
-
export { LimitOrder, LimitLadderOrder, MarketOrder, StopLimitOrder, OcoOrder };
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
package/dist/orders/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/orders/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,SAAS,CAAC;AACjC,OAAO,WAAW,MAAM,UAAU,CAAC;AACnC,OAAO,gBAAgB,MAAM,gBAAgB,CAAC;AAC9C,OAAO,cAAc,MAAM,cAAc,CAAC;AAC1C,OAAO,QAAQ,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAC,CAAA"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { BalanceLimit, OrderType } from "../types";
|
|
2
|
-
import BigNumber from "bignumber.js";
|
|
3
|
-
import LimitOrder, { LimitOrderParams } from "./limit";
|
|
4
|
-
import BaseOrder from "./base";
|
|
5
|
-
export declare enum PriceScales {
|
|
6
|
-
LINEAR = "LINEAR",
|
|
7
|
-
EXPONENTIAL = "EXPONENTIAL",
|
|
8
|
-
FIBONACCI = "FIBONACCI",
|
|
9
|
-
CUSTOM = "CUSTOM"
|
|
10
|
-
}
|
|
11
|
-
export declare enum SizeScales {
|
|
12
|
-
EQUAL = "EQUAL",
|
|
13
|
-
LINEAR = "LINEAR",
|
|
14
|
-
LINEAR_REVERSE = "LINEAR_REVERSE",
|
|
15
|
-
EXPONENTIAL = "EXPONENTIAL",
|
|
16
|
-
EXPONENTIAL_REVERSE = "EXPONENTIAL_REVERSE",
|
|
17
|
-
CUSTOM = "CUSTOM"
|
|
18
|
-
}
|
|
19
|
-
interface LimitLadderOrderParams extends LimitOrderParams {
|
|
20
|
-
otherPrice: BigNumber;
|
|
21
|
-
numOrders: number;
|
|
22
|
-
priceScale?: PriceScales;
|
|
23
|
-
sizeScale?: SizeScales;
|
|
24
|
-
priceScales?: Array<number>;
|
|
25
|
-
sizeScales?: Array<number>;
|
|
26
|
-
}
|
|
27
|
-
export default class LimitLadderOrder extends BaseOrder {
|
|
28
|
-
baseAmount: BigNumber;
|
|
29
|
-
quoteAmount: BigNumber;
|
|
30
|
-
price: BigNumber;
|
|
31
|
-
lockedOn: string;
|
|
32
|
-
otherPrice: BigNumber;
|
|
33
|
-
numOrders: number;
|
|
34
|
-
priceScale: PriceScales;
|
|
35
|
-
sizeScale: SizeScales;
|
|
36
|
-
priceScales: Array<number>;
|
|
37
|
-
sizeScales: Array<number>;
|
|
38
|
-
balanceLimit: BalanceLimit;
|
|
39
|
-
orderType: OrderType;
|
|
40
|
-
constraints(): {
|
|
41
|
-
baseAmount: {
|
|
42
|
-
bigNumericality: {
|
|
43
|
-
greaterThanOrEqualTo: number;
|
|
44
|
-
notGreaterThanOrEqualTo: string;
|
|
45
|
-
lessThanOrEqualTo: any;
|
|
46
|
-
notLessThanOrEqualTo: string;
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
quoteAmount: {
|
|
50
|
-
bigNumericality: {
|
|
51
|
-
greaterThanOrEqualTo: number;
|
|
52
|
-
notGreaterThanOrEqualTo: string;
|
|
53
|
-
lessThanOrEqualTo: any;
|
|
54
|
-
notLessThanOrEqualTo: string;
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
price: {
|
|
58
|
-
bigNumericality: {
|
|
59
|
-
greaterThan: number;
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
otherPrice: {
|
|
63
|
-
bigNumericality: {
|
|
64
|
-
greaterThan: number;
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
numOrders: {
|
|
68
|
-
numericality: {
|
|
69
|
-
greaterThanOrEqualTo: number;
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
constructor(params: LimitLadderOrderParams);
|
|
74
|
-
updateNumOrders(numOrders: number): void;
|
|
75
|
-
updatePrice(price: BigNumber, priceOffset?: number): void;
|
|
76
|
-
updateOtherPrice(otherPrice: BigNumber, priceOffset?: number): void;
|
|
77
|
-
updatePriceScales(priceScales: Array<number>): void;
|
|
78
|
-
updatePriceScale(priceScale: PriceScales): void;
|
|
79
|
-
updateSizeScales(sizeScales: Array<number>): void;
|
|
80
|
-
updateSizeScale(sizeScale: SizeScales): void;
|
|
81
|
-
updateLockedOn(lockedOn: string): void;
|
|
82
|
-
recalculate(): void;
|
|
83
|
-
updateQuoteAmount(quoteAmount: BigNumber): void;
|
|
84
|
-
updateBaseAmount(baseAmount: BigNumber): void;
|
|
85
|
-
getOrders(lockedOn?: string): Array<LimitOrder>;
|
|
86
|
-
}
|
|
87
|
-
export {};
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
import { BalanceLimit, OrderSide, OrderType } from "../types";
|
|
2
|
-
import BigNumber from "bignumber.js";
|
|
3
|
-
import LimitOrder from "./limit";
|
|
4
|
-
import _ from "lodash";
|
|
5
|
-
import { correctNumberPrecision, safeBigNumber, safeInteger } from "../util";
|
|
6
|
-
import BaseOrder from "./base";
|
|
7
|
-
import Coinray from "../coinray";
|
|
8
|
-
export var PriceScales;
|
|
9
|
-
(function (PriceScales) {
|
|
10
|
-
PriceScales["LINEAR"] = "LINEAR";
|
|
11
|
-
PriceScales["EXPONENTIAL"] = "EXPONENTIAL";
|
|
12
|
-
PriceScales["FIBONACCI"] = "FIBONACCI";
|
|
13
|
-
PriceScales["CUSTOM"] = "CUSTOM";
|
|
14
|
-
})(PriceScales || (PriceScales = {}));
|
|
15
|
-
export var SizeScales;
|
|
16
|
-
(function (SizeScales) {
|
|
17
|
-
SizeScales["EQUAL"] = "EQUAL";
|
|
18
|
-
SizeScales["LINEAR"] = "LINEAR";
|
|
19
|
-
SizeScales["LINEAR_REVERSE"] = "LINEAR_REVERSE";
|
|
20
|
-
SizeScales["EXPONENTIAL"] = "EXPONENTIAL";
|
|
21
|
-
SizeScales["EXPONENTIAL_REVERSE"] = "EXPONENTIAL_REVERSE";
|
|
22
|
-
SizeScales["CUSTOM"] = "CUSTOM";
|
|
23
|
-
})(SizeScales || (SizeScales = {}));
|
|
24
|
-
const PRICE_SCALES = {
|
|
25
|
-
[PriceScales.LINEAR]: (numOrders) => {
|
|
26
|
-
return _.times(numOrders, (index) => (1 / (numOrders - 1)) * index);
|
|
27
|
-
},
|
|
28
|
-
[PriceScales.EXPONENTIAL]: (numOrders) => {
|
|
29
|
-
const sum = Math.pow(2, (numOrders - 1));
|
|
30
|
-
return _.times(numOrders, (index) => index == 0 ? 0 : (Math.pow(2, index)) / sum);
|
|
31
|
-
},
|
|
32
|
-
[PriceScales.FIBONACCI]: (numOrders) => {
|
|
33
|
-
const numbers = [0, 0.09, 0.146, 0.236, 0.382, 0.5, 0.618, 0.788, 0.886];
|
|
34
|
-
return numbers.slice(0, numOrders - 1).concat([1]); // always make sure the last number is 1
|
|
35
|
-
},
|
|
36
|
-
[PriceScales.CUSTOM]: (numOrders) => {
|
|
37
|
-
return [];
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
const normalizeSizeScale = (scale) => {
|
|
41
|
-
const sum = _.sum(scale);
|
|
42
|
-
return scale.map((value) => value / sum);
|
|
43
|
-
};
|
|
44
|
-
const SIZE_SCALES = {
|
|
45
|
-
[SizeScales.EQUAL]: (numOrders) => {
|
|
46
|
-
const scale = _.times(numOrders, () => 1);
|
|
47
|
-
return normalizeSizeScale(scale);
|
|
48
|
-
},
|
|
49
|
-
[SizeScales.LINEAR]: (numOrders) => {
|
|
50
|
-
const scale = _.times(numOrders, (index) => (1 / (numOrders)) * (index + 1));
|
|
51
|
-
return normalizeSizeScale(scale);
|
|
52
|
-
},
|
|
53
|
-
[SizeScales.EXPONENTIAL]: (numOrders) => {
|
|
54
|
-
const sum = Math.pow(2, numOrders) - 1;
|
|
55
|
-
const scale = _.times(numOrders, (index) => (Math.pow(2, index)) / sum);
|
|
56
|
-
return normalizeSizeScale(scale);
|
|
57
|
-
},
|
|
58
|
-
[SizeScales.LINEAR_REVERSE]: (numOrders) => {
|
|
59
|
-
return SIZE_SCALES[SizeScales.LINEAR](numOrders).reverse();
|
|
60
|
-
},
|
|
61
|
-
[SizeScales.EXPONENTIAL_REVERSE]: (numOrders) => {
|
|
62
|
-
return SIZE_SCALES[SizeScales.EXPONENTIAL](numOrders).reverse();
|
|
63
|
-
},
|
|
64
|
-
[SizeScales.CUSTOM]: (numOrders) => {
|
|
65
|
-
return [];
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
export default class LimitLadderOrder extends BaseOrder {
|
|
69
|
-
constructor(params) {
|
|
70
|
-
super(params);
|
|
71
|
-
this.orderType = OrderType.LIMIT_LADDER;
|
|
72
|
-
this.otherPrice = safeBigNumber(params.otherPrice);
|
|
73
|
-
this.numOrders = safeInteger(params.numOrders);
|
|
74
|
-
this.priceScale = params.priceScale || PriceScales.CUSTOM;
|
|
75
|
-
this.sizeScale = params.sizeScale || SizeScales.CUSTOM;
|
|
76
|
-
this.price = safeBigNumber(params.price || "0");
|
|
77
|
-
this.lockedOn = params.lockedOn;
|
|
78
|
-
this.baseAmount = safeBigNumber(params.baseAmount || "0");
|
|
79
|
-
this.quoteAmount = safeBigNumber(params.quoteAmount || "0");
|
|
80
|
-
this.priceScales = params.priceScales || PRICE_SCALES[this.priceScale](this.numOrders);
|
|
81
|
-
this.sizeScales = params.sizeScales || SIZE_SCALES[this.sizeScale](this.numOrders);
|
|
82
|
-
if (this.quoteAmount.gt(0) && this.lockedOn === "quoteAmount") {
|
|
83
|
-
this.updateQuoteAmount(this.quoteAmount);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
this.updateBaseAmount(this.baseAmount);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
constraints() {
|
|
90
|
-
let maxBase = undefined;
|
|
91
|
-
let maxQuote = undefined;
|
|
92
|
-
if (this.balanceLimit === BalanceLimit.QUOTE) {
|
|
93
|
-
maxQuote = this.balances.quote;
|
|
94
|
-
}
|
|
95
|
-
else if (this.balanceLimit === BalanceLimit.BASE) {
|
|
96
|
-
maxBase = this.balances.base;
|
|
97
|
-
}
|
|
98
|
-
return {
|
|
99
|
-
baseAmount: {
|
|
100
|
-
bigNumericality: {
|
|
101
|
-
greaterThanOrEqualTo: this.minBase.toNumber(),
|
|
102
|
-
notGreaterThanOrEqualTo: `^${Coinray.I18n.t("validation.notGreaterThanOrEqualTo", { min: correctNumberPrecision(this.precisionBase, this.minBase) })}`,
|
|
103
|
-
lessThanOrEqualTo: maxBase ? maxBase.toNumber() : undefined,
|
|
104
|
-
notLessThanOrEqualTo: `^${Coinray.I18n.t("validation.insufficientFunds")}`,
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
quoteAmount: {
|
|
108
|
-
bigNumericality: {
|
|
109
|
-
greaterThanOrEqualTo: this.minQuote.toNumber(),
|
|
110
|
-
notGreaterThanOrEqualTo: `^${Coinray.I18n.t("validation.notGreaterThanOrEqualTo", { min: correctNumberPrecision(this.precisionQuote, this.minQuote) })}`,
|
|
111
|
-
lessThanOrEqualTo: maxQuote ? maxQuote.toNumber() : undefined,
|
|
112
|
-
notLessThanOrEqualTo: `^${Coinray.I18n.t("validation.insufficientFunds")}`,
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
price: {
|
|
116
|
-
bigNumericality: {
|
|
117
|
-
greaterThan: 0,
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
otherPrice: {
|
|
121
|
-
bigNumericality: {
|
|
122
|
-
greaterThan: 0,
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
numOrders: {
|
|
126
|
-
numericality: {
|
|
127
|
-
greaterThanOrEqualTo: 2,
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
updateNumOrders(numOrders) {
|
|
133
|
-
this.numOrders = numOrders;
|
|
134
|
-
}
|
|
135
|
-
updatePrice(price, priceOffset = 0.05) {
|
|
136
|
-
this.price = price.decimalPlaces(this.precisionPrice);
|
|
137
|
-
if (price && this.otherPrice.eq(0)) {
|
|
138
|
-
const offset = this.side === OrderSide.BUY ? 1 + priceOffset : 1 - priceOffset;
|
|
139
|
-
this.otherPrice = price.multipliedBy(offset).decimalPlaces(this.precisionPrice > 0 ? this.precisionPrice : 0);
|
|
140
|
-
}
|
|
141
|
-
this.recalculate();
|
|
142
|
-
}
|
|
143
|
-
updateOtherPrice(otherPrice, priceOffset = 0.05) {
|
|
144
|
-
this.otherPrice = otherPrice.decimalPlaces(this.precisionPrice);
|
|
145
|
-
if (otherPrice && this.price.eq(0)) {
|
|
146
|
-
const offset = this.side === OrderSide.BUY ? 1 - priceOffset : 1 + priceOffset;
|
|
147
|
-
this.price = otherPrice.multipliedBy(offset).decimalPlaces(this.precisionPrice > 0 ? this.precisionPrice : 0);
|
|
148
|
-
}
|
|
149
|
-
this.recalculate();
|
|
150
|
-
}
|
|
151
|
-
updatePriceScales(priceScales) {
|
|
152
|
-
this.priceScales = priceScales;
|
|
153
|
-
this.priceScale = PriceScales.CUSTOM;
|
|
154
|
-
this.recalculate();
|
|
155
|
-
}
|
|
156
|
-
updatePriceScale(priceScale) {
|
|
157
|
-
this.priceScales = PRICE_SCALES[priceScale](this.numOrders);
|
|
158
|
-
this.priceScale = priceScale;
|
|
159
|
-
this.recalculate();
|
|
160
|
-
}
|
|
161
|
-
updateSizeScales(sizeScales) {
|
|
162
|
-
this.sizeScales = sizeScales;
|
|
163
|
-
this.sizeScale = SizeScales.CUSTOM;
|
|
164
|
-
this.recalculate();
|
|
165
|
-
}
|
|
166
|
-
updateSizeScale(sizeScale) {
|
|
167
|
-
this.sizeScales = SIZE_SCALES[sizeScale](this.numOrders);
|
|
168
|
-
this.sizeScale = sizeScale;
|
|
169
|
-
this.recalculate();
|
|
170
|
-
}
|
|
171
|
-
updateLockedOn(lockedOn) {
|
|
172
|
-
this.lockedOn = lockedOn;
|
|
173
|
-
}
|
|
174
|
-
recalculate() {
|
|
175
|
-
if (this.lockedOn === "baseAmount") {
|
|
176
|
-
this.updateBaseAmount(this.baseAmount);
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
this.updateQuoteAmount(this.quoteAmount);
|
|
180
|
-
}
|
|
181
|
-
this.validate();
|
|
182
|
-
}
|
|
183
|
-
updateQuoteAmount(quoteAmount) {
|
|
184
|
-
this.quoteAmount = quoteAmount;
|
|
185
|
-
this.numOrders = Math.max(2, +this.numOrders);
|
|
186
|
-
const orders = this.getOrders("quoteAmount");
|
|
187
|
-
if (orders.length > 0) {
|
|
188
|
-
this.baseAmount = _.reduce(orders, (sum, order) => {
|
|
189
|
-
return sum.plus(order.baseAmount);
|
|
190
|
-
}, new BigNumber(0));
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
this.baseAmount = new BigNumber(0);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
updateBaseAmount(baseAmount) {
|
|
197
|
-
this.baseAmount = baseAmount;
|
|
198
|
-
this.numOrders = Math.max(2, +this.numOrders);
|
|
199
|
-
const orders = this.getOrders("baseAmount");
|
|
200
|
-
if (orders.length > 0) {
|
|
201
|
-
this.quoteAmount = _.reduce(orders, (sum, order) => {
|
|
202
|
-
return sum.plus(order.quoteAmount);
|
|
203
|
-
}, new BigNumber(0));
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
this.quoteAmount = new BigNumber(0);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
getOrders(lockedOn = this.lockedOn) {
|
|
210
|
-
const lockedOnAmount = lockedOn === "baseAmount" ? this.baseAmount : this.quoteAmount;
|
|
211
|
-
const precisionAmount = lockedOn === "baseAmount" ? this.precisionBase : this.precisionQuote;
|
|
212
|
-
if (!(this.priceScales && this.priceScales.length > 0 && this.sizeScales.length > 0 && lockedOnAmount.gt(0))) {
|
|
213
|
-
return [];
|
|
214
|
-
}
|
|
215
|
-
const priceScales = this.priceScales.slice(0, this.numOrders);
|
|
216
|
-
const sizeScales = this.sizeScales.slice(0, this.numOrders);
|
|
217
|
-
const diff = this.otherPrice.minus(this.price);
|
|
218
|
-
let amountRemaining = lockedOnAmount;
|
|
219
|
-
return _.times(this.numOrders, (index) => {
|
|
220
|
-
let amount = lockedOnAmount.multipliedBy(sizeScales[index]).decimalPlaces(precisionAmount > 0 ? precisionAmount : 0, BigNumber.ROUND_DOWN);
|
|
221
|
-
amountRemaining = amountRemaining.minus(amount);
|
|
222
|
-
if (index === this.numOrders - 1) {
|
|
223
|
-
amount = amount.plus(amountRemaining);
|
|
224
|
-
}
|
|
225
|
-
return new LimitOrder(Object.assign(Object.assign({}, this), { [lockedOn]: amount, lockedOn, price: this.price.plus(diff.multipliedBy(priceScales[index])).decimalPlaces(this.precisionPrice > 0 ? this.precisionPrice : 0) }));
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
//# sourceMappingURL=limit-ladder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"limit-ladder.js","sourceRoot":"","sources":["../../lib/orders/limit-ladder.ts"],"names":[],"mappings":"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"}
|
package/dist/orders/limit.d.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import BaseOrder from "./base";
|
|
2
|
-
import { BalanceLimit, BaseOrderParams, OrderType } from "../types";
|
|
3
|
-
import BigNumber from "bignumber.js";
|
|
4
|
-
export interface LimitOrderParams extends BaseOrderParams {
|
|
5
|
-
baseAmount: BigNumber;
|
|
6
|
-
quoteAmount: BigNumber;
|
|
7
|
-
price: BigNumber;
|
|
8
|
-
lockedOn: string;
|
|
9
|
-
}
|
|
10
|
-
export default class LimitOrder extends BaseOrder {
|
|
11
|
-
baseAmount: BigNumber;
|
|
12
|
-
quoteAmount: BigNumber;
|
|
13
|
-
price: BigNumber;
|
|
14
|
-
lockedOn: string;
|
|
15
|
-
balanceLimit: BalanceLimit;
|
|
16
|
-
orderType: OrderType;
|
|
17
|
-
constraints(): {
|
|
18
|
-
baseAmount: {
|
|
19
|
-
bigNumericality: {
|
|
20
|
-
greaterThanOrEqualTo: number;
|
|
21
|
-
notGreaterThanOrEqualTo: string;
|
|
22
|
-
lessThanOrEqualTo: any;
|
|
23
|
-
notLessThanOrEqualTo: string;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
quoteAmount: {
|
|
27
|
-
bigNumericality: {
|
|
28
|
-
greaterThanOrEqualTo: number;
|
|
29
|
-
notGreaterThanOrEqualTo: string;
|
|
30
|
-
lessThanOrEqualTo: any;
|
|
31
|
-
notLessThanOrEqualTo: string;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
price: {
|
|
35
|
-
bigNumericality: {
|
|
36
|
-
greaterThan: number;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
constructor(params: LimitOrderParams, updateAmounts?: boolean);
|
|
41
|
-
updateBaseAmount(baseAmount: BigNumber): void;
|
|
42
|
-
updateQuoteAmount(quoteAmount: BigNumber): void;
|
|
43
|
-
updateLockedOn(lockedOn: string): void;
|
|
44
|
-
quoteFee(): BigNumber;
|
|
45
|
-
updatePrice(price: BigNumber): void;
|
|
46
|
-
getOrders(): Array<BaseOrder>;
|
|
47
|
-
}
|