@riocrypto/common-server 1.0.2131 → 1.0.2133

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/build/index.d.ts CHANGED
@@ -81,6 +81,8 @@ export * from "./models/arbitrage-trade";
81
81
  export * from "./models/pre-settlement-transaction";
82
82
  export * from "./models/CEP";
83
83
  export * from "./models/fx-sub-trade";
84
+ export * from "./models/external-trade";
85
+ export * from "./models/external-trading-algorithm";
84
86
  export * from "./clients/axios-with-logging";
85
87
  export * from "./clients/slack-client";
86
88
  export * from "./clients/fireblocks-client";
package/build/index.js CHANGED
@@ -97,6 +97,8 @@ __exportStar(require("./models/arbitrage-trade"), exports);
97
97
  __exportStar(require("./models/pre-settlement-transaction"), exports);
98
98
  __exportStar(require("./models/CEP"), exports);
99
99
  __exportStar(require("./models/fx-sub-trade"), exports);
100
+ __exportStar(require("./models/external-trade"), exports);
101
+ __exportStar(require("./models/external-trading-algorithm"), exports);
100
102
  __exportStar(require("./clients/axios-with-logging"), exports);
101
103
  __exportStar(require("./clients/slack-client"), exports);
102
104
  __exportStar(require("./clients/fireblocks-client"), exports);
@@ -0,0 +1,49 @@
1
+ import { Fiat, Side, Crypto, ExternalTradeType, ExternalTradingProvider, ExternalTradeStatus } from "@riocrypto/common";
2
+ import { Mongoose, Model, Document } from "mongoose";
3
+ interface ExternalTradeAttrs {
4
+ createdAt: Date;
5
+ providerOrderId?: string;
6
+ type: ExternalTradeType;
7
+ side: Side;
8
+ provider: ExternalTradingProvider;
9
+ originCurrency: Fiat | Crypto;
10
+ originAmount: number;
11
+ destinationCurrency: Fiat | Crypto;
12
+ destinationAmount: number;
13
+ amountTraded: number;
14
+ limitPrice?: number;
15
+ actualPrice?: number;
16
+ status: ExternalTradeStatus;
17
+ providerOptions?: {
18
+ emarkets?: {
19
+ orderType?: "TOD" | "SPT" | "TOM";
20
+ };
21
+ };
22
+ externalTradingAlgorithmId?: string;
23
+ }
24
+ interface ExternalTradeDoc extends Document {
25
+ createdAt: Date;
26
+ providerOrderId?: string;
27
+ type: ExternalTradeType;
28
+ side: Side;
29
+ provider: ExternalTradingProvider;
30
+ originCurrency: Fiat | Crypto;
31
+ originAmount: number;
32
+ destinationCurrency: Fiat | Crypto;
33
+ destinationAmount: number;
34
+ amountTraded: number;
35
+ limitPrice?: number;
36
+ actualPrice?: number;
37
+ status: ExternalTradeStatus;
38
+ providerOptions?: {
39
+ emarkets?: {
40
+ orderType?: "TOD" | "SPT" | "TOM";
41
+ };
42
+ };
43
+ externalTradingAlgorithmId?: string;
44
+ }
45
+ interface ExternalTradeModel extends Model<ExternalTradeDoc> {
46
+ build(attrs: ExternalTradeAttrs): ExternalTradeDoc;
47
+ }
48
+ declare const buildExternalTrade: (mongoose: Mongoose) => ExternalTradeModel;
49
+ export { buildExternalTrade, ExternalTradeDoc, ExternalTradeAttrs };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildExternalTrade = void 0;
4
+ const buildExternalTrade = (mongoose) => {
5
+ // if model is already defined, return it
6
+ if (mongoose.models.ExternalTrade) {
7
+ return mongoose.model("ExternalTrade");
8
+ }
9
+ const ExternalTradeSchema = new mongoose.Schema({
10
+ createdAt: {
11
+ type: Date,
12
+ required: true,
13
+ },
14
+ providerOrderId: {
15
+ type: String,
16
+ },
17
+ type: {
18
+ type: String,
19
+ required: true,
20
+ },
21
+ side: {
22
+ type: String,
23
+ required: true,
24
+ },
25
+ provider: {
26
+ type: String,
27
+ required: true,
28
+ },
29
+ originCurrency: {
30
+ type: String,
31
+ required: true,
32
+ },
33
+ originAmount: {
34
+ type: Number,
35
+ required: true,
36
+ },
37
+ destinationCurrency: {
38
+ type: String,
39
+ required: true,
40
+ },
41
+ destinationAmount: {
42
+ type: Number,
43
+ required: true,
44
+ },
45
+ amountTraded: {
46
+ type: Number,
47
+ required: true,
48
+ },
49
+ limitPrice: {
50
+ type: Number,
51
+ },
52
+ actualPrice: {
53
+ type: Number,
54
+ },
55
+ status: {
56
+ type: String,
57
+ required: true,
58
+ },
59
+ providerOptions: {
60
+ type: Object,
61
+ },
62
+ externalTradingAlgorithmId: {
63
+ type: String,
64
+ },
65
+ }, {
66
+ toJSON: {
67
+ transform(doc, ret) {
68
+ ret.id = ret._id.valueOf();
69
+ delete ret._id;
70
+ delete ret.__v;
71
+ },
72
+ },
73
+ });
74
+ ExternalTradeSchema.statics.build = (attrs) => {
75
+ return new ExternalTrade(attrs);
76
+ };
77
+ const ExternalTrade = mongoose.model("ExternalTrade", ExternalTradeSchema);
78
+ return ExternalTrade;
79
+ };
80
+ exports.buildExternalTrade = buildExternalTrade;
@@ -0,0 +1,51 @@
1
+ import { Fiat, Crypto, ExternalTradingAlgorithmType, ExternalTradingProvider, ExternalTradingAlgorithmStatus } from "@riocrypto/common";
2
+ import { Mongoose, Model, Document } from "mongoose";
3
+ interface ExternalTradingAlgorithmAttrs {
4
+ createdAt: Date;
5
+ type: ExternalTradingAlgorithmType;
6
+ provider: ExternalTradingProvider;
7
+ status: ExternalTradingAlgorithmStatus;
8
+ originAmount: number;
9
+ originCurrency: Fiat | Crypto;
10
+ destinationAmount: number;
11
+ destinationCurrency: Fiat | Crypto;
12
+ maxAmountToTrade: number;
13
+ allowAfterHoursTrading: boolean;
14
+ isExecuting: boolean;
15
+ actualPrice?: number;
16
+ algoOptions: {
17
+ topOfBook?: {
18
+ tradeTTL: number;
19
+ limitPriceDifference?: number;
20
+ limitPrice?: number;
21
+ };
22
+ };
23
+ externalTradeIds: string[];
24
+ }
25
+ interface ExternalTradingAlgorithmDoc extends Document {
26
+ createdAt: Date;
27
+ type: ExternalTradingAlgorithmType;
28
+ provider: ExternalTradingProvider;
29
+ status: ExternalTradingAlgorithmStatus;
30
+ originAmount: number;
31
+ originCurrency: Fiat | Crypto;
32
+ destinationAmount: number;
33
+ destinationCurrency: Fiat | Crypto;
34
+ maxAmountToTrade: number;
35
+ allowAfterHoursTrading: boolean;
36
+ isExecuting: boolean;
37
+ actualPrice?: number;
38
+ algoOptions: {
39
+ topOfBook?: {
40
+ tradeTTL: number;
41
+ limitPriceDifference?: number;
42
+ limitPrice?: number;
43
+ };
44
+ };
45
+ externalTradeIds: string[];
46
+ }
47
+ interface ExternalTradingAlgorithmModel extends Model<ExternalTradingAlgorithmDoc> {
48
+ build(attrs: ExternalTradingAlgorithmAttrs): ExternalTradingAlgorithmDoc;
49
+ }
50
+ declare const buildExternalTradingAlgorithm: (mongoose: Mongoose) => ExternalTradingAlgorithmModel;
51
+ export { buildExternalTradingAlgorithm, ExternalTradingAlgorithmDoc, ExternalTradingAlgorithmAttrs, };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildExternalTradingAlgorithm = void 0;
4
+ const buildExternalTradingAlgorithm = (mongoose) => {
5
+ // if model is already defined, return it
6
+ if (mongoose.models.ExternalTradingAlgorithm) {
7
+ return mongoose.model("ExternalTradingAlgorithm");
8
+ }
9
+ const ExternalTradingAlgorithmSchema = new mongoose.Schema({
10
+ createdAt: {
11
+ type: Date,
12
+ required: true,
13
+ },
14
+ type: {
15
+ type: String,
16
+ required: true,
17
+ },
18
+ provider: {
19
+ type: String,
20
+ required: true,
21
+ },
22
+ status: {
23
+ type: String,
24
+ required: true,
25
+ },
26
+ originAmount: {
27
+ type: Number,
28
+ required: true,
29
+ },
30
+ originCurrency: {
31
+ type: String,
32
+ required: true,
33
+ },
34
+ destinationAmount: {
35
+ type: Number,
36
+ required: true,
37
+ },
38
+ destinationCurrency: {
39
+ type: String,
40
+ required: true,
41
+ },
42
+ maxAmountToTrade: {
43
+ type: Number,
44
+ required: true,
45
+ },
46
+ allowAfterHoursTrading: {
47
+ type: Boolean,
48
+ required: true,
49
+ },
50
+ isExecuting: {
51
+ type: Boolean,
52
+ required: true,
53
+ },
54
+ actualPrice: {
55
+ type: Number,
56
+ },
57
+ algoOptions: {
58
+ type: Object,
59
+ required: true,
60
+ },
61
+ externalTradeIds: {
62
+ type: [String],
63
+ required: true,
64
+ },
65
+ }, {
66
+ toJSON: {
67
+ transform(doc, ret) {
68
+ ret.id = ret._id.valueOf();
69
+ delete ret._id;
70
+ delete ret.__v;
71
+ },
72
+ },
73
+ });
74
+ ExternalTradingAlgorithmSchema.statics.build = (attrs) => {
75
+ return new ExternalTradingAlgorithm(attrs);
76
+ };
77
+ const ExternalTradingAlgorithm = mongoose.model("ExternalTradingAlgorithm", ExternalTradingAlgorithmSchema);
78
+ return ExternalTradingAlgorithm;
79
+ };
80
+ exports.buildExternalTradingAlgorithm = buildExternalTradingAlgorithm;
@@ -8,10 +8,8 @@ interface FXTradeAttrs {
8
8
  fiat: Fiat;
9
9
  averageOfferedPrice: number;
10
10
  amountTraded: number;
11
- amountReceived: number;
12
11
  price?: number;
13
12
  provider: FXProvider;
14
- partiallyFilledOrderTTL: number;
15
13
  executedTrades: {
16
14
  amount: number;
17
15
  provider: FXProvider;
@@ -29,11 +27,9 @@ interface FXTradeDoc extends Document {
29
27
  amount: number;
30
28
  fiat: Fiat;
31
29
  amountTraded: number;
32
- amountReceived: number;
33
30
  averageOfferedPrice: number;
34
31
  price?: number;
35
32
  provider: FXProvider;
36
- partiallyFilledOrderTTL: number;
37
33
  executedTrades: {
38
34
  amount: number;
39
35
  provider: FXProvider;
@@ -19,10 +19,6 @@ const buildFXTrade = (mongoose) => {
19
19
  type: mongoose.Schema.Types.Date,
20
20
  required: true,
21
21
  },
22
- partiallyFilledOrderTTL: {
23
- type: Number,
24
- required: true,
25
- },
26
22
  amount: {
27
23
  type: Number,
28
24
  required: true,
@@ -35,10 +31,6 @@ const buildFXTrade = (mongoose) => {
35
31
  type: Number,
36
32
  required: true,
37
33
  },
38
- amountReceived: {
39
- type: Number,
40
- required: true,
41
- },
42
34
  price: {
43
35
  type: Number,
44
36
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riocrypto/common-server",
3
- "version": "1.0.2131",
3
+ "version": "1.0.2133",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "@google-cloud/secret-manager": "^5.3.0",
29
29
  "@google-cloud/storage": "^6.9.5",
30
30
  "@hyperdx/node-opentelemetry": "^0.7.0",
31
- "@riocrypto/common": "^1.0.1900",
31
+ "@riocrypto/common": "^1.0.1901",
32
32
  "@types/express": "^4.17.13",
33
33
  "axios": "^1.7.4",
34
34
  "crypto-js": "^4.2.0",