@dhedge/backend-flatcoin-core 0.1.34 → 0.1.35
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/constants/enum.d.ts +6 -0
- package/dist/constants/enum.js +8 -1
- package/dist/entity/limit-order.entity.d.ts +15 -0
- package/dist/entity/limit-order.entity.js +66 -0
- package/dist/entity/position-entity.d.ts +3 -0
- package/dist/entity/position-entity.js +9 -0
- package/dist/repository/limit-order.repository.d.ts +10 -0
- package/dist/repository/limit-order.repository.js +53 -0
- package/package.json +1 -1
package/dist/constants/enum.d.ts
CHANGED
package/dist/constants/enum.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LimitOrderExecutionType = exports.OrderType = exports.LeveragePositionStatus = exports.getChartPeriod = exports.HistoricalPeriod = exports.PERIOD_IN_SECONDS = void 0;
|
|
3
|
+
exports.LimitOrderStatus = exports.LimitOrderExecutionType = exports.OrderType = exports.LeveragePositionStatus = exports.getChartPeriod = exports.HistoricalPeriod = exports.PERIOD_IN_SECONDS = void 0;
|
|
4
4
|
var HistoricalPeriod;
|
|
5
5
|
(function (HistoricalPeriod) {
|
|
6
6
|
HistoricalPeriod["ONE_DAY"] = "1d";
|
|
@@ -46,3 +46,10 @@ var LimitOrderExecutionType;
|
|
|
46
46
|
LimitOrderExecutionType[LimitOrderExecutionType["STOP_LOSS"] = 1] = "STOP_LOSS";
|
|
47
47
|
LimitOrderExecutionType[LimitOrderExecutionType["PROFIT_TAKE"] = 2] = "PROFIT_TAKE";
|
|
48
48
|
})(LimitOrderExecutionType || (exports.LimitOrderExecutionType = LimitOrderExecutionType = {}));
|
|
49
|
+
var LimitOrderStatus;
|
|
50
|
+
(function (LimitOrderStatus) {
|
|
51
|
+
LimitOrderStatus["OPEN"] = "OPEN";
|
|
52
|
+
LimitOrderStatus["CLOSED"] = "CLOSED";
|
|
53
|
+
LimitOrderStatus["CANCELLED"] = "CANCELLED";
|
|
54
|
+
LimitOrderStatus["LIQUIDATED"] = "LIQUIDATED";
|
|
55
|
+
})(LimitOrderStatus || (exports.LimitOrderStatus = LimitOrderStatus = {}));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BigNumber } from 'ethers';
|
|
2
|
+
import { PositionEntity } from './position-entity';
|
|
3
|
+
export declare class LimitOrderEntity {
|
|
4
|
+
id: number;
|
|
5
|
+
status: string;
|
|
6
|
+
priceLowerThreshold: BigNumber;
|
|
7
|
+
priceUpperThreshold: BigNumber;
|
|
8
|
+
executorAddress: string;
|
|
9
|
+
executedAtPrice: BigNumber;
|
|
10
|
+
blockCreatedAt: number;
|
|
11
|
+
blockUpdatedAt: number;
|
|
12
|
+
createdAt: number;
|
|
13
|
+
updatedAt: number;
|
|
14
|
+
position: PositionEntity;
|
|
15
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.LimitOrderEntity = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const ethers_1 = require("ethers");
|
|
15
|
+
const utils_1 = require("../utils");
|
|
16
|
+
const position_entity_1 = require("./position-entity");
|
|
17
|
+
let LimitOrderEntity = class LimitOrderEntity {
|
|
18
|
+
};
|
|
19
|
+
exports.LimitOrderEntity = LimitOrderEntity;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, typeorm_1.PrimaryGeneratedColumn)({ name: 'id' }),
|
|
22
|
+
__metadata("design:type", Number)
|
|
23
|
+
], LimitOrderEntity.prototype, "id", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, typeorm_1.Column)({ name: 'status', nullable: false }),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], LimitOrderEntity.prototype, "status", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, typeorm_1.Column)({ name: 'price_lower_threshold', type: 'bigint', precision: 30, transformer: utils_1.bigNumberTransformer }),
|
|
30
|
+
__metadata("design:type", ethers_1.BigNumber)
|
|
31
|
+
], LimitOrderEntity.prototype, "priceLowerThreshold", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, typeorm_1.Column)({ name: 'price_upper_threshold', type: 'bigint', precision: 30, transformer: utils_1.bigNumberTransformer }),
|
|
34
|
+
__metadata("design:type", ethers_1.BigNumber)
|
|
35
|
+
], LimitOrderEntity.prototype, "priceUpperThreshold", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, typeorm_1.Column)({ name: 'executor_address' }),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], LimitOrderEntity.prototype, "executorAddress", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, typeorm_1.Column)({ name: 'executed_at_price', type: 'bigint', precision: 30, transformer: utils_1.bigNumberTransformer }),
|
|
42
|
+
__metadata("design:type", ethers_1.BigNumber)
|
|
43
|
+
], LimitOrderEntity.prototype, "executedAtPrice", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, typeorm_1.Column)({ name: 'block_created_at', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
|
|
46
|
+
__metadata("design:type", Number)
|
|
47
|
+
], LimitOrderEntity.prototype, "blockCreatedAt", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, typeorm_1.Column)({ name: 'block_updated_at', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
|
|
50
|
+
__metadata("design:type", Number)
|
|
51
|
+
], LimitOrderEntity.prototype, "blockUpdatedAt", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, typeorm_1.Column)({ name: 'created_at', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
|
|
54
|
+
__metadata("design:type", Number)
|
|
55
|
+
], LimitOrderEntity.prototype, "createdAt", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, typeorm_1.Column)({ name: 'updated_at', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
|
|
58
|
+
__metadata("design:type", Number)
|
|
59
|
+
], LimitOrderEntity.prototype, "updatedAt", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, typeorm_1.ManyToOne)(() => position_entity_1.PositionEntity, (position) => position.limitOrders),
|
|
62
|
+
__metadata("design:type", position_entity_1.PositionEntity)
|
|
63
|
+
], LimitOrderEntity.prototype, "position", void 0);
|
|
64
|
+
exports.LimitOrderEntity = LimitOrderEntity = __decorate([
|
|
65
|
+
(0, typeorm_1.Entity)({ name: 'limit_orders' })
|
|
66
|
+
], LimitOrderEntity);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BigNumber } from 'ethers';
|
|
2
|
+
import { LimitOrderEntity } from './limit-order.entity';
|
|
2
3
|
export declare class PositionEntity {
|
|
3
4
|
id: number;
|
|
4
5
|
tokenId: number;
|
|
@@ -7,8 +8,10 @@ export declare class PositionEntity {
|
|
|
7
8
|
liquidationPrice: BigNumber;
|
|
8
9
|
liquidatorAddress: string;
|
|
9
10
|
liquidatedAtPrice: BigNumber;
|
|
11
|
+
txHash: string;
|
|
10
12
|
blockCreatedAt: number;
|
|
11
13
|
blockUpdatedAt: number;
|
|
12
14
|
createdAt: number;
|
|
13
15
|
updatedAt: number;
|
|
16
|
+
limitOrders: LimitOrderEntity[];
|
|
14
17
|
}
|
|
@@ -13,6 +13,7 @@ exports.PositionEntity = void 0;
|
|
|
13
13
|
const typeorm_1 = require("typeorm");
|
|
14
14
|
const ethers_1 = require("ethers");
|
|
15
15
|
const utils_1 = require("../utils");
|
|
16
|
+
const limit_order_entity_1 = require("./limit-order.entity");
|
|
16
17
|
let PositionEntity = class PositionEntity {
|
|
17
18
|
};
|
|
18
19
|
exports.PositionEntity = PositionEntity;
|
|
@@ -51,6 +52,10 @@ __decorate([
|
|
|
51
52
|
(0, typeorm_1.Column)({ name: 'liquidated_at_price', type: 'bigint', precision: 30, transformer: utils_1.bigNumberTransformer }),
|
|
52
53
|
__metadata("design:type", ethers_1.BigNumber)
|
|
53
54
|
], PositionEntity.prototype, "liquidatedAtPrice", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, typeorm_1.Column)({ name: 'tx_hash' }),
|
|
57
|
+
__metadata("design:type", String)
|
|
58
|
+
], PositionEntity.prototype, "txHash", void 0);
|
|
54
59
|
__decorate([
|
|
55
60
|
(0, typeorm_1.Column)({ name: 'block_created_at', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
|
|
56
61
|
__metadata("design:type", Number)
|
|
@@ -67,6 +72,10 @@ __decorate([
|
|
|
67
72
|
(0, typeorm_1.Column)({ name: 'updated_at', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
|
|
68
73
|
__metadata("design:type", Number)
|
|
69
74
|
], PositionEntity.prototype, "updatedAt", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, typeorm_1.OneToMany)(() => limit_order_entity_1.LimitOrderEntity, (limitOrder) => limitOrder.position),
|
|
77
|
+
__metadata("design:type", Array)
|
|
78
|
+
], PositionEntity.prototype, "limitOrders", void 0);
|
|
70
79
|
exports.PositionEntity = PositionEntity = __decorate([
|
|
71
80
|
(0, typeorm_1.Entity)({ name: 'positions' })
|
|
72
81
|
], PositionEntity);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
2
|
+
import { LimitOrderEntity } from '../entity/limit-order.entity';
|
|
3
|
+
export declare class LimitOrderRepository {
|
|
4
|
+
private repository;
|
|
5
|
+
constructor(repository: Repository<LimitOrderEntity>);
|
|
6
|
+
save(limitOrder: LimitOrderEntity): Promise<LimitOrderEntity>;
|
|
7
|
+
saveAll(limitOrder: LimitOrderEntity[]): Promise<LimitOrderEntity[]>;
|
|
8
|
+
getAllByStatusOpen(): Promise<LimitOrderEntity[]>;
|
|
9
|
+
getByTokenId(tokenId: number): Promise<LimitOrderEntity | null>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.LimitOrderRepository = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
18
|
+
const typeorm_2 = require("typeorm");
|
|
19
|
+
const constants_1 = require("../constants");
|
|
20
|
+
const limit_order_entity_1 = require("../entity/limit-order.entity");
|
|
21
|
+
let LimitOrderRepository = class LimitOrderRepository {
|
|
22
|
+
constructor(repository) {
|
|
23
|
+
this.repository = repository;
|
|
24
|
+
}
|
|
25
|
+
async save(limitOrder) {
|
|
26
|
+
return this.repository.save(limitOrder);
|
|
27
|
+
}
|
|
28
|
+
async saveAll(limitOrder) {
|
|
29
|
+
return this.repository.save(limitOrder);
|
|
30
|
+
}
|
|
31
|
+
async getAllByStatusOpen() {
|
|
32
|
+
return this.repository
|
|
33
|
+
.createQueryBuilder()
|
|
34
|
+
.where('status = :status', { status: constants_1.LimitOrderStatus.OPEN })
|
|
35
|
+
.orderBy('liquidation_price', 'DESC')
|
|
36
|
+
.getMany();
|
|
37
|
+
}
|
|
38
|
+
async getByTokenId(tokenId) {
|
|
39
|
+
return await this.repository
|
|
40
|
+
.createQueryBuilder()
|
|
41
|
+
.where('position.token_id = :tokenId')
|
|
42
|
+
.setParameter('tokenId', tokenId)
|
|
43
|
+
.where('status = :status', { status: constants_1.LimitOrderStatus.OPEN })
|
|
44
|
+
.take(1)
|
|
45
|
+
.getOne();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.LimitOrderRepository = LimitOrderRepository;
|
|
49
|
+
exports.LimitOrderRepository = LimitOrderRepository = __decorate([
|
|
50
|
+
(0, common_1.Injectable)(),
|
|
51
|
+
__param(0, (0, typeorm_1.InjectRepository)(limit_order_entity_1.LimitOrderEntity)),
|
|
52
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
53
|
+
], LimitOrderRepository);
|