@riocrypto/common 1.0.2196 → 1.0.2198

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.
@@ -0,0 +1,4 @@
1
+ import { DeferredPaymentType } from "../types/deferred-payment-type";
2
+ import { OrderStatus } from "../types/order-status";
3
+ import { Side } from "../types/side";
4
+ export declare const getLowerOrderStatuses: (side: Side, deferredPaymentType: DeferredPaymentType, currentStatus: OrderStatus, lessThanOrEqualTo?: boolean) => OrderStatus[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLowerOrderStatuses = void 0;
4
+ const get_order_status_rankings_1 = require("./get-order-status-rankings");
5
+ const getLowerOrderStatuses = (side, deferredPaymentType, currentStatus, lessThanOrEqualTo = false) => {
6
+ const orderStatusRanking = (0, get_order_status_rankings_1.getOrderStatusRanking)(side, deferredPaymentType);
7
+ if (lessThanOrEqualTo) {
8
+ return Object.entries(orderStatusRanking)
9
+ .filter(([_, ranking]) => ranking <=
10
+ orderStatusRanking[currentStatus])
11
+ .map(([statusKey]) => statusKey);
12
+ }
13
+ else {
14
+ return Object.entries(orderStatusRanking)
15
+ .filter(([_, ranking]) => ranking <
16
+ orderStatusRanking[currentStatus])
17
+ .map(([statusKey]) => statusKey);
18
+ }
19
+ };
20
+ exports.getLowerOrderStatuses = getLowerOrderStatuses;
@@ -0,0 +1,107 @@
1
+ import { DeferredPaymentType } from "../types/deferred-payment-type";
2
+ import { Side } from "../types/side";
3
+ export declare const BuyOrderStatusRanking: {
4
+ awaitingTimeInForceToStart: number;
5
+ awaitingLimitPriceCondition: number;
6
+ created: number;
7
+ addressCheckPassed: number;
8
+ awaitingPayment: number;
9
+ processing: number;
10
+ paid: number;
11
+ sourcingLiquidity: number;
12
+ liquiditySourced: number;
13
+ filled: number;
14
+ complete: number;
15
+ };
16
+ export declare const SellOrderStatusRanking: {
17
+ awaitingTimeInForceToStart: number;
18
+ awaitingLimitPriceCondition: number;
19
+ created: number;
20
+ depositAddressCreated: number;
21
+ awaitingBankPayoutDetails: number;
22
+ bankPayoutDetailsAdded: number;
23
+ awaitingPayment: number;
24
+ depositConfirmed: number;
25
+ sourcingLiquidity: number;
26
+ liquiditySourced: number;
27
+ awaitingPayout: number;
28
+ complete: number;
29
+ };
30
+ export declare const AsyncBuyOrderStatusRanking: {
31
+ awaitingTimeInForceToStart: number;
32
+ awaitingLimitPriceCondition: number;
33
+ created: number;
34
+ addressCheckPassed: number;
35
+ awaitingAsyncPayout: number;
36
+ sourcingLiquidity: number;
37
+ liquiditySourced: number;
38
+ filled: number;
39
+ awaitingAsyncPayment: number;
40
+ processing: number;
41
+ complete: number;
42
+ };
43
+ export declare const AsyncSellOrderStatusRanking: {
44
+ awaitingTimeInForceToStart: number;
45
+ awaitingLimitPriceCondition: number;
46
+ created: number;
47
+ depositAddressCreated: number;
48
+ awaitingBankPayoutDetails: number;
49
+ bankPayoutDetailsAdded: number;
50
+ sourcingLiquidity: number;
51
+ liquiditySourced: number;
52
+ awaitingAsyncPayout: number;
53
+ awaitingAsyncPayment: number;
54
+ processing: number;
55
+ complete: number;
56
+ };
57
+ export declare const getOrderStatusRanking: (side: Side, deferredPaymentType: DeferredPaymentType) => {
58
+ awaitingTimeInForceToStart: number;
59
+ awaitingLimitPriceCondition: number;
60
+ created: number;
61
+ addressCheckPassed: number;
62
+ awaitingPayment: number;
63
+ processing: number;
64
+ paid: number;
65
+ sourcingLiquidity: number;
66
+ liquiditySourced: number;
67
+ filled: number;
68
+ complete: number;
69
+ } | {
70
+ awaitingTimeInForceToStart: number;
71
+ awaitingLimitPriceCondition: number;
72
+ created: number;
73
+ depositAddressCreated: number;
74
+ awaitingBankPayoutDetails: number;
75
+ bankPayoutDetailsAdded: number;
76
+ awaitingPayment: number;
77
+ depositConfirmed: number;
78
+ sourcingLiquidity: number;
79
+ liquiditySourced: number;
80
+ awaitingPayout: number;
81
+ complete: number;
82
+ } | {
83
+ awaitingTimeInForceToStart: number;
84
+ awaitingLimitPriceCondition: number;
85
+ created: number;
86
+ addressCheckPassed: number;
87
+ awaitingAsyncPayout: number;
88
+ sourcingLiquidity: number;
89
+ liquiditySourced: number;
90
+ filled: number;
91
+ awaitingAsyncPayment: number;
92
+ processing: number;
93
+ complete: number;
94
+ } | {
95
+ awaitingTimeInForceToStart: number;
96
+ awaitingLimitPriceCondition: number;
97
+ created: number;
98
+ depositAddressCreated: number;
99
+ awaitingBankPayoutDetails: number;
100
+ bankPayoutDetailsAdded: number;
101
+ sourcingLiquidity: number;
102
+ liquiditySourced: number;
103
+ awaitingAsyncPayout: number;
104
+ awaitingAsyncPayment: number;
105
+ processing: number;
106
+ complete: number;
107
+ };
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOrderStatusRanking = exports.AsyncSellOrderStatusRanking = exports.AsyncBuyOrderStatusRanking = exports.SellOrderStatusRanking = exports.BuyOrderStatusRanking = void 0;
4
+ const deferred_payment_type_1 = require("../types/deferred-payment-type");
5
+ const order_status_1 = require("../types/order-status");
6
+ const side_1 = require("../types/side");
7
+ // Does not include all possible order statuses, just for a happy path flow
8
+ exports.BuyOrderStatusRanking = {
9
+ [order_status_1.OrderStatus.AwaitingTimeInForceToStart]: 0,
10
+ [order_status_1.OrderStatus.AwaitingLimitPriceCondition]: 1,
11
+ [order_status_1.OrderStatus.Created]: 2,
12
+ [order_status_1.OrderStatus.AddressCheckPassed]: 3,
13
+ [order_status_1.OrderStatus.AwaitingPayment]: 4,
14
+ [order_status_1.OrderStatus.Processing]: 5,
15
+ [order_status_1.OrderStatus.Paid]: 6,
16
+ [order_status_1.OrderStatus.SourcingLiquidity]: 7,
17
+ [order_status_1.OrderStatus.LiquiditySourced]: 8,
18
+ [order_status_1.OrderStatus.Filled]: 9,
19
+ [order_status_1.OrderStatus.Complete]: 10,
20
+ };
21
+ exports.SellOrderStatusRanking = {
22
+ [order_status_1.OrderStatus.AwaitingTimeInForceToStart]: 0,
23
+ [order_status_1.OrderStatus.AwaitingLimitPriceCondition]: 1,
24
+ [order_status_1.OrderStatus.Created]: 2,
25
+ [order_status_1.OrderStatus.DepositAddressCreated]: 3,
26
+ [order_status_1.OrderStatus.AwaitingBankPayoutDetails]: 4,
27
+ [order_status_1.OrderStatus.BankPayoutDetailsAdded]: 5,
28
+ [order_status_1.OrderStatus.AwaitingPayment]: 6,
29
+ [order_status_1.OrderStatus.DepositConfirmed]: 7,
30
+ [order_status_1.OrderStatus.SourcingLiquidity]: 8,
31
+ [order_status_1.OrderStatus.LiquiditySourced]: 9,
32
+ [order_status_1.OrderStatus.AwaitingPayout]: 10,
33
+ [order_status_1.OrderStatus.Complete]: 11,
34
+ };
35
+ exports.AsyncBuyOrderStatusRanking = {
36
+ [order_status_1.OrderStatus.AwaitingTimeInForceToStart]: 0,
37
+ [order_status_1.OrderStatus.AwaitingLimitPriceCondition]: 1,
38
+ [order_status_1.OrderStatus.Created]: 2,
39
+ [order_status_1.OrderStatus.AddressCheckPassed]: 3,
40
+ [order_status_1.OrderStatus.AwaitingAsyncPayout]: 4,
41
+ [order_status_1.OrderStatus.SourcingLiquidity]: 5,
42
+ [order_status_1.OrderStatus.LiquiditySourced]: 6,
43
+ [order_status_1.OrderStatus.Filled]: 7,
44
+ [order_status_1.OrderStatus.AwaitingAsyncPayment]: 8,
45
+ [order_status_1.OrderStatus.Processing]: 9,
46
+ [order_status_1.OrderStatus.Complete]: 10,
47
+ };
48
+ exports.AsyncSellOrderStatusRanking = {
49
+ [order_status_1.OrderStatus.AwaitingTimeInForceToStart]: 0,
50
+ [order_status_1.OrderStatus.AwaitingLimitPriceCondition]: 1,
51
+ [order_status_1.OrderStatus.Created]: 2,
52
+ [order_status_1.OrderStatus.DepositAddressCreated]: 3,
53
+ [order_status_1.OrderStatus.AwaitingBankPayoutDetails]: 4,
54
+ [order_status_1.OrderStatus.BankPayoutDetailsAdded]: 5,
55
+ [order_status_1.OrderStatus.SourcingLiquidity]: 6,
56
+ [order_status_1.OrderStatus.LiquiditySourced]: 7,
57
+ [order_status_1.OrderStatus.AwaitingAsyncPayout]: 8,
58
+ [order_status_1.OrderStatus.AwaitingAsyncPayment]: 9,
59
+ [order_status_1.OrderStatus.Processing]: 10,
60
+ [order_status_1.OrderStatus.Complete]: 11,
61
+ };
62
+ const getOrderStatusRanking = (side, deferredPaymentType) => {
63
+ if (side === side_1.Side.Buy && deferredPaymentType === deferred_payment_type_1.DeferredPaymentType.None) {
64
+ return exports.BuyOrderStatusRanking;
65
+ }
66
+ else if (side === side_1.Side.Sell &&
67
+ deferredPaymentType === deferred_payment_type_1.DeferredPaymentType.None) {
68
+ return exports.SellOrderStatusRanking;
69
+ }
70
+ else if (side === side_1.Side.Buy &&
71
+ deferredPaymentType !== deferred_payment_type_1.DeferredPaymentType.None) {
72
+ return exports.AsyncBuyOrderStatusRanking;
73
+ }
74
+ else if (side === side_1.Side.Sell &&
75
+ deferredPaymentType !== deferred_payment_type_1.DeferredPaymentType.None) {
76
+ return exports.AsyncSellOrderStatusRanking;
77
+ }
78
+ else {
79
+ throw new Error("Invalid side or deferred payment type");
80
+ }
81
+ };
82
+ exports.getOrderStatusRanking = getOrderStatusRanking;
@@ -90,6 +90,10 @@ const humanizeOrderStatus = (status) => {
90
90
  return "Refund initiated";
91
91
  case order_status_1.OrderStatus.AwaitingOriginOrderCompletion:
92
92
  return "Waiting for origin order to complete";
93
+ case order_status_1.OrderStatus.AwaitingTimeInForceToStart:
94
+ return "Waiting for time in force to start";
95
+ case order_status_1.OrderStatus.AwaitingLimitPriceCondition:
96
+ return "Waiting for limit price condition";
93
97
  default:
94
98
  if (status.toLowerCase().includes("failed")) {
95
99
  return "Failed";
package/build/index.d.ts CHANGED
@@ -404,5 +404,7 @@ export * from "./helpers/get-country-timezone";
404
404
  export * from "./helpers/get-days-between-agreed-two-way-settlement-date-and-payment-date";
405
405
  export * from "./helpers/get-days-until-two-way-settlement-date";
406
406
  export * from "./helpers/get-two-way-settlement-date";
407
+ export * from "./helpers/get-order-status-rankings";
408
+ export * from "./helpers/get-lower-order-statuses";
407
409
  export * from "./constants/mexico-fiscal-regimens";
408
410
  export * from "./constants/mexican-banks";
package/build/index.js CHANGED
@@ -420,5 +420,7 @@ __exportStar(require("./helpers/get-country-timezone"), exports);
420
420
  __exportStar(require("./helpers/get-days-between-agreed-two-way-settlement-date-and-payment-date"), exports);
421
421
  __exportStar(require("./helpers/get-days-until-two-way-settlement-date"), exports);
422
422
  __exportStar(require("./helpers/get-two-way-settlement-date"), exports);
423
+ __exportStar(require("./helpers/get-order-status-rankings"), exports);
424
+ __exportStar(require("./helpers/get-lower-order-statuses"), exports);
423
425
  __exportStar(require("./constants/mexico-fiscal-regimens"), exports);
424
426
  __exportStar(require("./constants/mexican-banks"), exports);
@@ -3,6 +3,7 @@ export declare enum OrderStatus {
3
3
  Cancelled = "cancelled",
4
4
  Processing = "processing",
5
5
  AwaitingLimitPriceCondition = "awaitingLimitPriceCondition",
6
+ AwaitingTimeInForceToStart = "awaitingTimeInForceToStart",
6
7
  LimitPriceConditionMet = "limitPriceConditionMet",
7
8
  SourcingLiquidity = "sourcingLiquidity",
8
9
  CryptoAddressAdded = "cryptoAddressAdded",
@@ -12,6 +12,7 @@ var OrderStatus;
12
12
  // processor
13
13
  OrderStatus["Processing"] = "processing";
14
14
  OrderStatus["AwaitingLimitPriceCondition"] = "awaitingLimitPriceCondition";
15
+ OrderStatus["AwaitingTimeInForceToStart"] = "awaitingTimeInForceToStart";
15
16
  OrderStatus["LimitPriceConditionMet"] = "limitPriceConditionMet";
16
17
  OrderStatus["SourcingLiquidity"] = "sourcingLiquidity";
17
18
  OrderStatus["CryptoAddressAdded"] = "cryptoAddressAdded";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riocrypto/common",
3
- "version": "1.0.2196",
3
+ "version": "1.0.2198",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",