@riocrypto/common-server 1.0.2130 → 1.0.2132
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 +2 -0
- package/build/index.js +2 -0
- package/build/models/external-trade.d.ts +49 -0
- package/build/models/external-trade.js +80 -0
- package/build/models/external-trading-algorithm.d.ts +51 -0
- package/build/models/external-trading-algorithm.js +80 -0
- package/build/models/fx-trade.d.ts +0 -2
- package/build/models/fx-trade.js +0 -4
- package/package.json +2 -2
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,7 +8,6 @@ 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
13
|
executedTrades: {
|
|
@@ -28,7 +27,6 @@ interface FXTradeDoc extends Document {
|
|
|
28
27
|
amount: number;
|
|
29
28
|
fiat: Fiat;
|
|
30
29
|
amountTraded: number;
|
|
31
|
-
amountReceived: number;
|
|
32
30
|
averageOfferedPrice: number;
|
|
33
31
|
price?: number;
|
|
34
32
|
provider: FXProvider;
|
package/build/models/fx-trade.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riocrypto/common-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2132",
|
|
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.
|
|
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",
|