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.
Files changed (77) hide show
  1. package/dist/coinrayjs.es.js +13220 -0
  2. package/dist/coinrayjs.es.js.map +1 -0
  3. package/dist/coinrayjs.js +52 -0
  4. package/dist/coinrayjs.js.map +1 -0
  5. package/package.json +50 -81
  6. package/dist/candles-cache.d.ts +0 -7
  7. package/dist/candles-cache.js +0 -57
  8. package/dist/candles-cache.js.map +0 -1
  9. package/dist/coinray-cache.d.ts +0 -47
  10. package/dist/coinray-cache.js +0 -249
  11. package/dist/coinray-cache.js.map +0 -1
  12. package/dist/coinray.d.ts +0 -183
  13. package/dist/coinray.js +0 -1118
  14. package/dist/coinray.js.map +0 -1
  15. package/dist/crypto.d.ts +0 -1
  16. package/dist/crypto.js +0 -57
  17. package/dist/crypto.js.map +0 -1
  18. package/dist/current-market.d.ts +0 -62
  19. package/dist/current-market.js +0 -285
  20. package/dist/current-market.js.map +0 -1
  21. package/dist/errors.d.ts +0 -25
  22. package/dist/errors.js +0 -50
  23. package/dist/errors.js.map +0 -1
  24. package/dist/event-emitter.d.ts +0 -9
  25. package/dist/event-emitter.js +0 -36
  26. package/dist/event-emitter.js.map +0 -1
  27. package/dist/exchange.d.ts +0 -55
  28. package/dist/exchange.js +0 -167
  29. package/dist/exchange.js.map +0 -1
  30. package/dist/i18n/locales.d.ts +0 -21
  31. package/dist/i18n/locales.js +0 -21
  32. package/dist/i18n/locales.js.map +0 -1
  33. package/dist/i18n.d.ts +0 -4
  34. package/dist/i18n.js +0 -16
  35. package/dist/i18n.js.map +0 -1
  36. package/dist/index.d.ts +0 -9
  37. package/dist/index.js +0 -10
  38. package/dist/index.js.map +0 -1
  39. package/dist/lru.d.ts +0 -26
  40. package/dist/lru.js +0 -93
  41. package/dist/lru.js.map +0 -1
  42. package/dist/market.d.ts +0 -65
  43. package/dist/market.js +0 -162
  44. package/dist/market.js.map +0 -1
  45. package/dist/orders/base.d.ts +0 -29
  46. package/dist/orders/base.js +0 -47
  47. package/dist/orders/base.js.map +0 -1
  48. package/dist/orders/index.d.ts +0 -6
  49. package/dist/orders/index.js +0 -7
  50. package/dist/orders/index.js.map +0 -1
  51. package/dist/orders/limit-ladder.d.ts +0 -87
  52. package/dist/orders/limit-ladder.js +0 -229
  53. package/dist/orders/limit-ladder.js.map +0 -1
  54. package/dist/orders/limit.d.ts +0 -47
  55. package/dist/orders/limit.js +0 -86
  56. package/dist/orders/limit.js.map +0 -1
  57. package/dist/orders/market.d.ts +0 -37
  58. package/dist/orders/market.js +0 -60
  59. package/dist/orders/market.js.map +0 -1
  60. package/dist/orders/oco.d.ts +0 -54
  61. package/dist/orders/oco.js +0 -70
  62. package/dist/orders/oco.js.map +0 -1
  63. package/dist/orders/stop-limit.d.ts +0 -42
  64. package/dist/orders/stop-limit.js +0 -33
  65. package/dist/orders/stop-limit.js.map +0 -1
  66. package/dist/orders/validate.d.ts +0 -2
  67. package/dist/orders/validate.js +0 -6
  68. package/dist/orders/validate.js.map +0 -1
  69. package/dist/trade.d.ts +0 -10
  70. package/dist/trade.js +0 -32
  71. package/dist/trade.js.map +0 -1
  72. package/dist/types.d.ts +0 -213
  73. package/dist/types.js +0 -59
  74. package/dist/types.js.map +0 -1
  75. package/dist/util.d.ts +0 -48
  76. package/dist/util.js +0 -407
  77. 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
@@ -1 +0,0 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../lib/market.ts"],"names":[],"mappings":"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"}
@@ -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
- }
@@ -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
@@ -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"}
@@ -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 };
@@ -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
@@ -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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"}
@@ -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
- }