@heliofi/launchpad-common 1.1.0-alpha.1 → 1.1.0
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/src/domain/curves/BaseConstantProductCurveV1.js +2 -2
- package/dist/src/domain/curves/BaseConstantProductCurveV1.js.map +1 -1
- package/dist/src/domain/curves/ConstantProductCurveV1.js +13 -0
- package/dist/src/domain/curves/ConstantProductCurveV1.js.map +1 -1
- package/dist/src/domain/curves/tests/BaseConstantProductCurveV1.spec.d.ts +1 -0
- package/dist/src/domain/curves/tests/BaseConstantProductCurveV1.spec.js +57 -0
- package/dist/src/domain/curves/tests/BaseConstantProductCurveV1.spec.js.map +1 -0
- package/dist/src/domain/model/airlock/benchmark/AirblockBenchmark.dto.js +1 -1
- package/dist/src/domain/model/airlock/entities/CompleteAirlockResponse.entity.d.ts +5 -0
- package/dist/src/domain/model/airlock/entities/CompleteAirlockResponse.entity.js +8 -0
- package/dist/src/domain/model/airlock/entities/CompleteAirlockResponse.entity.js.map +1 -0
- package/dist/src/domain/model/airlock/entities/CompletedAirlock.entity.d.ts +5 -0
- package/dist/src/domain/model/airlock/entities/CompletedAirlock.entity.js +8 -0
- package/dist/src/domain/model/airlock/entities/CompletedAirlock.entity.js.map +1 -0
- package/dist/src/domain/model/airlock/entities/TotalClaimedResponse.entity.d.ts +4 -0
- package/dist/src/domain/model/airlock/entities/TotalClaimedResponse.entity.js +8 -0
- package/dist/src/domain/model/airlock/entities/TotalClaimedResponse.entity.js.map +1 -0
- package/dist/src/domain/model/airlock/entities/index.d.ts +3 -0
- package/dist/src/domain/model/airlock/entities/index.js +20 -0
- package/dist/src/domain/model/airlock/entities/index.js.map +1 -0
- package/dist/src/domain/model/airlock/index.d.ts +1 -0
- package/dist/src/domain/model/airlock/index.js +1 -0
- package/dist/src/domain/model/airlock/index.js.map +1 -1
- package/dist/src/domain/model/error/InputError.d.ts +4 -0
- package/dist/src/domain/model/error/InputError.js +14 -0
- package/dist/src/domain/model/error/InputError.js.map +1 -0
- package/dist/src/domain/model/error/index.d.ts +1 -0
- package/dist/src/domain/model/error/index.js +18 -0
- package/dist/src/domain/model/error/index.js.map +1 -0
- package/dist/src/domain/model/index.d.ts +1 -0
- package/dist/src/domain/model/index.js +1 -0
- package/dist/src/domain/model/index.js.map +1 -1
- package/dist/src/domain/model/lpLockDetails/dtos/AddAllocation.dto.d.ts +7 -0
- package/dist/src/domain/model/lpLockDetails/dtos/AddAllocation.dto.js +38 -0
- package/dist/src/domain/model/lpLockDetails/dtos/AddAllocation.dto.js.map +1 -0
- package/dist/src/domain/model/lpLockDetails/index.d.ts +1 -0
- package/dist/src/domain/model/lpLockDetails/index.js +18 -0
- package/dist/src/domain/model/lpLockDetails/index.js.map +1 -0
- package/dist/src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.js +9 -1
- package/dist/src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.js.map +1 -1
- package/dist/src/domain/services/TimeService.d.ts +4 -0
- package/dist/src/domain/services/TimeService.js +23 -1
- package/dist/src/domain/services/TimeService.js.map +1 -1
- package/dist/src/domain/services/TimeService.spec.d.ts +1 -0
- package/dist/src/domain/services/TimeService.spec.js +69 -0
- package/dist/src/domain/services/TimeService.spec.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -11,8 +11,8 @@ const services_1 = require("../services");
|
|
|
11
11
|
class BaseConstantProductCurveV1 extends AbstractCurve_1.AbstractCurve {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
14
|
-
this.initialVirtualTokenReserves = BigInt(1e27);
|
|
15
|
-
this.initialVirtualCollateralReserves = BigInt(1e18);
|
|
14
|
+
this.initialVirtualTokenReserves = BigInt(1.06 * 1e27);
|
|
15
|
+
this.initialVirtualCollateralReserves = BigInt(1.6 * 1e18);
|
|
16
16
|
this.collateralDecimals = 18;
|
|
17
17
|
this.constantProduct = this.initialVirtualTokenReserves * this.initialVirtualCollateralReserves;
|
|
18
18
|
this.dynamicThreshold = 80;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseConstantProductCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/BaseConstantProductCurveV1.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,mDAAgD;AAOhD,4CAAyC;AACzC,0CAA4C;AAE5C,MAAa,0BAA2B,SAAQ,6BAAa;IAA7D;;QACE,gCAA2B,GAAW,MAAM,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseConstantProductCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/BaseConstantProductCurveV1.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,19 @@ class ConstantProductCurveV1 extends AbstractCurve_1.AbstractCurve {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
getTokensAmountFromCollateral(options) {
|
|
34
|
+
const calc = (initialVtokensParam, initialVEthParam) => {
|
|
35
|
+
const initialVtokens = BigInt(initialVtokensParam) * BigInt(1e18);
|
|
36
|
+
const initialVEth = BigInt(initialVEthParam * 1e9) * BigInt(1e9);
|
|
37
|
+
const mcapTokens = BigInt(8e8) * BigInt(1e18);
|
|
38
|
+
const constantProduct = initialVEth * initialVtokens;
|
|
39
|
+
const initialPrice = (initialVEth * BigInt(1e18)) / initialVtokens;
|
|
40
|
+
console.log('Initial price:', initialPrice);
|
|
41
|
+
const ethRequired = constantProduct / (initialVtokens - mcapTokens) - initialVEth;
|
|
42
|
+
console.log('ethRequired:', Number(ethRequired) / 1e18);
|
|
43
|
+
const mcapPrice = ((ethRequired + initialVEth) * BigInt(1e18)) /
|
|
44
|
+
(initialVtokens - mcapTokens);
|
|
45
|
+
console.log('mcapPrice: ', mcapPrice, ' mcap ', Number((mcapTokens / BigInt(1e18)) * mcapPrice) / 1e18, ' price ratio: ', Number(mcapPrice) / Number(initialPrice));
|
|
46
|
+
};
|
|
34
47
|
const { amount, curvePosition, tradeDirection, platformFeeBps } = options;
|
|
35
48
|
if (tradeDirection === 'BUY') {
|
|
36
49
|
const collateralAmount = amount - (amount * BigInt(platformFeeBps)) / 10000n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstantProductCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/ConstantProductCurveV1.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,mDAAgD;AAOhD,4CAAyC;AACzC,0CAA4C;AAE5C,MAAa,sBAAuB,SAAQ,6BAAa;IAAzD;;QACE,gCAA2B,GAAW,oBAA0B,CAAC;QAEjE,qCAAgC,GAAW,YAAe,CAAC;QAE3D,uBAAkB,GAAG,CAAC,CAAC;QAEvB,oBAAe,GACb,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,gCAAgC,CAAC;QAE3E,qBAAgB,GAAG,EAAE,CAAC;QAEtB,iBAAY,GAAG,EAAE,CAAC;QAElB,6BAAwB,GAAwB,IAAI,GAAG,CAAC;YACtD,CAAC,aAAgB,EAAE,mBAAwB,CAAC;YAC5C,CAAC,YAAe,EAAE,mBAAwB,CAAC;SAC5C,CAAC,CAAC;QAEM,kBAAa,GAAkB;YACtC,IAAI,EAAE,qBAAS,CAAC,mBAAmB;YACnC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC;YACzB,aAAa,EAAE,CAAC;YAChB,wBAAwB,EACtB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI;YACvD,wBAAwB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI;YAC3E,OAAO,EAAE,kCAAkC;SACnC,CAAC;
|
|
1
|
+
{"version":3,"file":"ConstantProductCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/ConstantProductCurveV1.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tradeDirection_1 = require("../../constants/tradeDirection");
|
|
4
|
+
const BaseConstantProductCurveV1_1 = require("../BaseConstantProductCurveV1");
|
|
5
|
+
describe('ConstantProductCurveV1', () => {
|
|
6
|
+
let curve;
|
|
7
|
+
beforeAll(() => {
|
|
8
|
+
curve = new BaseConstantProductCurveV1_1.BaseConstantProductCurveV1();
|
|
9
|
+
});
|
|
10
|
+
describe('getTokensAmountFromCollateral', () => {
|
|
11
|
+
const expectedTokensWithoutTax = 500000000000000006643777536n;
|
|
12
|
+
it('should calculate nr of tokens for 1 ETH for buy without tax', () => {
|
|
13
|
+
const params = {
|
|
14
|
+
amount: BigInt(1e18),
|
|
15
|
+
curvePosition: BigInt(0),
|
|
16
|
+
platformFeeBps: 0,
|
|
17
|
+
tradeDirection: tradeDirection_1.TradeDirection.BUY,
|
|
18
|
+
};
|
|
19
|
+
const result = curve.getTokensAmountFromCollateral(params);
|
|
20
|
+
expect(result).toBe(expectedTokensWithoutTax);
|
|
21
|
+
});
|
|
22
|
+
it('should calculate collateral for selling 0.5 of supply', () => {
|
|
23
|
+
const params = {
|
|
24
|
+
amount: BigInt(1e18),
|
|
25
|
+
curvePosition: expectedTokensWithoutTax,
|
|
26
|
+
platformFeeBps: 0,
|
|
27
|
+
tradeDirection: tradeDirection_1.TradeDirection.SELL,
|
|
28
|
+
};
|
|
29
|
+
const result = curve.getTokensAmountFromCollateral(params);
|
|
30
|
+
expect(result).toBe(expectedTokensWithoutTax);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
describe('getCollateralAmountFromTokens', () => {
|
|
34
|
+
const expectedCollateralWithouTax = BigInt(1e18);
|
|
35
|
+
it('should calculate amount of collateral to sell 0.5 of tokenSupply', () => {
|
|
36
|
+
const params = {
|
|
37
|
+
amount: BigInt(5e26),
|
|
38
|
+
curvePosition: 0n,
|
|
39
|
+
platformFeeBps: 0,
|
|
40
|
+
tradeDirection: tradeDirection_1.TradeDirection.BUY,
|
|
41
|
+
};
|
|
42
|
+
const result = curve.getCollateralAmountFromTokens(params);
|
|
43
|
+
expect(result).toBe(expectedCollateralWithouTax);
|
|
44
|
+
});
|
|
45
|
+
it('should calculate nr of tokens for 1 ETH for buy without tax', () => {
|
|
46
|
+
const params = {
|
|
47
|
+
amount: BigInt(5e26),
|
|
48
|
+
curvePosition: BigInt(5e26),
|
|
49
|
+
platformFeeBps: 0,
|
|
50
|
+
tradeDirection: tradeDirection_1.TradeDirection.SELL,
|
|
51
|
+
};
|
|
52
|
+
const result = curve.getCollateralAmountFromTokens(params);
|
|
53
|
+
expect(result).toBe(expectedCollateralWithouTax);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=BaseConstantProductCurveV1.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseConstantProductCurveV1.spec.js","sourceRoot":"","sources":["../../../../../src/domain/curves/tests/BaseConstantProductCurveV1.spec.ts"],"names":[],"mappings":";;AACA,mEAAgE;AAEhE,8EAA2E;AAE3E,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,KAAoB,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,GAAG,IAAI,uDAA0B,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;QAC9D,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;gBACpB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;gBACxB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,+BAAc,CAAC,GAAG;aACnC,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;gBACpB,aAAa,EAAE,wBAAwB;gBACvC,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,+BAAc,CAAC,IAAI;aACpC,CAAC;YAEF,MAAM,MAAM,GAAG,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,MAAM,2BAA2B,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC1E,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;gBACpB,aAAa,EAAE,EAAE;gBACjB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,+BAAc,CAAC,GAAG;aACnC,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;gBACpB,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC;gBAC3B,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,+BAAc,CAAC,IAAI;aACpC,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -29,7 +29,7 @@ __decorate([
|
|
|
29
29
|
__metadata("design:type", Number)
|
|
30
30
|
], AirlockBenchmarkDto.prototype, "tokenDecimals", void 0);
|
|
31
31
|
__decorate([
|
|
32
|
-
(0, class_validator_1.
|
|
32
|
+
(0, class_validator_1.IsString)(),
|
|
33
33
|
(0, class_validator_1.IsOptional)(),
|
|
34
34
|
__metadata("design:type", String)
|
|
35
35
|
], AirlockBenchmarkDto.prototype, "recipientPK", void 0);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CompletedAirlockResponse = void 0;
|
|
4
|
+
const entity_1 = require("../../entity");
|
|
5
|
+
class CompletedAirlockResponse extends entity_1.Entity {
|
|
6
|
+
}
|
|
7
|
+
exports.CompletedAirlockResponse = CompletedAirlockResponse;
|
|
8
|
+
//# sourceMappingURL=CompleteAirlockResponse.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompleteAirlockResponse.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/airlock/entities/CompleteAirlockResponse.entity.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAGtC,MAAa,wBAAyB,SAAQ,eAAM;CAEnD;AAFD,4DAEC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CompletedAirlock = void 0;
|
|
4
|
+
const entity_1 = require("../../entity");
|
|
5
|
+
class CompletedAirlock extends entity_1.Entity {
|
|
6
|
+
}
|
|
7
|
+
exports.CompletedAirlock = CompletedAirlock;
|
|
8
|
+
//# sourceMappingURL=CompletedAirlock.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompletedAirlock.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/airlock/entities/CompletedAirlock.entity.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAa,gBAAiB,SAAQ,eAAM;CAI3C;AAJD,4CAIC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TotalClaimedResponse = void 0;
|
|
4
|
+
const entity_1 = require("../../entity");
|
|
5
|
+
class TotalClaimedResponse extends entity_1.Entity {
|
|
6
|
+
}
|
|
7
|
+
exports.TotalClaimedResponse = TotalClaimedResponse;
|
|
8
|
+
//# sourceMappingURL=TotalClaimedResponse.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TotalClaimedResponse.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/airlock/entities/TotalClaimedResponse.entity.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAa,oBAAqB,SAAQ,eAAM;CAE/C;AAFD,oDAEC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./CompletedAirlock.entity"), exports);
|
|
18
|
+
__exportStar(require("./CompleteAirlockResponse.entity"), exports);
|
|
19
|
+
__exportStar(require("./TotalClaimedResponse.entity"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/domain/model/airlock/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,mEAAiD;AACjD,gEAA8C"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./benchmark"), exports);
|
|
18
|
+
__exportStar(require("./entities"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/model/airlock/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/model/airlock/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InputError = void 0;
|
|
4
|
+
class InputError extends Error {
|
|
5
|
+
constructor(msg) {
|
|
6
|
+
super(msg);
|
|
7
|
+
Object.setPrototypeOf(this, InputError.prototype);
|
|
8
|
+
}
|
|
9
|
+
getStatus() {
|
|
10
|
+
return 400;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.InputError = InputError;
|
|
14
|
+
//# sourceMappingURL=InputError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputError.js","sourceRoot":"","sources":["../../../../../src/domain/model/error/InputError.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAW,SAAQ,KAAK;IACnC,YAAY,GAAY;QACtB,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,SAAS;QACP,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AATD,gCASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './InputError';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./InputError"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/model/error/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
|
|
@@ -35,4 +35,5 @@ __exportStar(require("./airdrop"), exports);
|
|
|
35
35
|
__exportStar(require("./schedule"), exports);
|
|
36
36
|
__exportStar(require("./airdrop"), exports);
|
|
37
37
|
__exportStar(require("./airlock"), exports);
|
|
38
|
+
__exportStar(require("./error"), exports);
|
|
38
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,sDAAoC;AACpC,wCAAsB;AACtB,6CAA2B;AAC3B,0CAAwB;AACxB,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B;AAC7B,uCAAqB;AACrB,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,0DAAwC;AACxC,iDAA+B;AAC/B,+CAA6B;AAC7B,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,sDAAoC;AACpC,wCAAsB;AACtB,6CAA2B;AAC3B,0CAAwB;AACxB,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B;AAC7B,uCAAqB;AACrB,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,0DAAwC;AACxC,iDAA+B;AAC/B,+CAA6B;AAC7B,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,0CAAwB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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.AddAllocationDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const constants_1 = require("../../../constants");
|
|
15
|
+
class AddAllocationDto {
|
|
16
|
+
}
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsString)(),
|
|
19
|
+
(0, class_validator_1.IsEnum)(constants_1.LpTokenAllocationState),
|
|
20
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], AddAllocationDto.prototype, "state", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_validator_1.IsString)(),
|
|
25
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], AddAllocationDto.prototype, "walletAddress", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, class_validator_1.IsString)(),
|
|
30
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], AddAllocationDto.prototype, "txHash", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
35
|
+
__metadata("design:type", BigInt)
|
|
36
|
+
], AddAllocationDto.prototype, "allocationAmount", void 0);
|
|
37
|
+
exports.AddAllocationDto = AddAllocationDto;
|
|
38
|
+
//# sourceMappingURL=AddAllocation.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddAllocation.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/lpLockDetails/dtos/AddAllocation.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+D;AAC/D,kDAA4D;AAE5D,MAAa,gBAAgB;CAgB5B;AAfC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,kCAAsB,CAAC;IAC9B,IAAA,4BAAU,GAAE;;+CACiB;AAE9B;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;uDACS;AAEtB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;gDACE;AAEf;IAAC,IAAA,4BAAU,GAAE;;0DACY;AAf3B,4CAgBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dtos/AddAllocation.dto';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./dtos/AddAllocation.dto"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/model/lpLockDetails/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC"}
|
|
@@ -15,6 +15,7 @@ const class_transformer_1 = require("class-transformer");
|
|
|
15
15
|
const validations_1 = require("../../../../validations");
|
|
16
16
|
const constants_1 = require("../../../../constants");
|
|
17
17
|
const TxPriority_dto_1 = require("./TxPriority.dto");
|
|
18
|
+
const error_1 = require("../../../error");
|
|
18
19
|
class BaseTxPrepareDto {
|
|
19
20
|
}
|
|
20
21
|
__decorate([
|
|
@@ -23,7 +24,14 @@ __decorate([
|
|
|
23
24
|
__metadata("design:type", String)
|
|
24
25
|
], BaseTxPrepareDto.prototype, "creatorPK", void 0);
|
|
25
26
|
__decorate([
|
|
26
|
-
(0, class_transformer_1.Transform)(({ value }) =>
|
|
27
|
+
(0, class_transformer_1.Transform)(({ value }) => {
|
|
28
|
+
try {
|
|
29
|
+
return BigInt(value);
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
throw new error_1.InputError(e);
|
|
33
|
+
}
|
|
34
|
+
}),
|
|
27
35
|
(0, class_validator_1.IsNotEmpty)(),
|
|
28
36
|
(0, class_validator_1.Validate)(validations_1.MinBigInt),
|
|
29
37
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTxPrepare.dto.js","sourceRoot":"","sources":["../../../../../../../src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAUyB;AACzB,yDAAoD;AACpD,yDAAoD;AACpD,qDAAkD;AAClD,qDAAiD;
|
|
1
|
+
{"version":3,"file":"BaseTxPrepare.dto.js","sourceRoot":"","sources":["../../../../../../../src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAUyB;AACzB,yDAAoD;AACpD,yDAAoD;AACpD,qDAAkD;AAClD,qDAAiD;AACjD,0CAA4C;AAE5C,MAAa,gBAAgB;CAmC5B;AAlCC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mDACK;AAElB;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI;YACF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,kBAAU,CAAC,CAAC,CAAC,CAAC;SACzB;IACH,CAAC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,uBAAS,CAAC;;gDACL;AAEf;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,qBAAG,EAAC,KAAK,CAAC;;qDACS;AAEpB;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,4BAAU,GAAE;;0DACa;AAE1B;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,qBAAS,CAAC;IACjB,IAAA,4BAAU,GAAE;;mDACS;AAEtB;IAAC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,8BAAa,CAAC;IACzB,IAAA,gCAAc,GAAE;IAChB,IAAA,4BAAU,GAAE;8BACF,8BAAa;kDAAC;AAlC3B,4CAmCC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
export declare class TimeService {
|
|
2
2
|
static getCurrentTimeInSeconds(): number;
|
|
3
|
+
static getTimeInSeconds(date: Date): number;
|
|
4
|
+
static getRandomUTCTimestampForTommorow(): number;
|
|
5
|
+
static getRandomUTCTimestampInDay(date: Date): number;
|
|
6
|
+
static getTimestampForNextPeriod(periodInHrs: number, minStartHrs?: number): number;
|
|
3
7
|
}
|
|
@@ -3,7 +3,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TimeService = void 0;
|
|
4
4
|
class TimeService {
|
|
5
5
|
static getCurrentTimeInSeconds() {
|
|
6
|
-
return
|
|
6
|
+
return TimeService.getTimeInSeconds(new Date());
|
|
7
|
+
}
|
|
8
|
+
static getTimeInSeconds(date) {
|
|
9
|
+
return Math.floor(date.getTime() / 1000);
|
|
10
|
+
}
|
|
11
|
+
static getRandomUTCTimestampForTommorow() {
|
|
12
|
+
const tomorrow = new Date(Date.now() + 24 * 60 * 60 * 1000);
|
|
13
|
+
const tomorrowMidnight = new Date(Date.UTC(tomorrow.getUTCFullYear(), tomorrow.getUTCMonth(), tomorrow.getUTCDate()));
|
|
14
|
+
return TimeService.getRandomUTCTimestampInDay(tomorrowMidnight);
|
|
15
|
+
}
|
|
16
|
+
static getRandomUTCTimestampInDay(date) {
|
|
17
|
+
const startOfDayUTC = date.getTime();
|
|
18
|
+
const endOfDayUTC = Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), 23, 59, 59, 999);
|
|
19
|
+
const randomTimestamp = startOfDayUTC + Math.random() * (endOfDayUTC - startOfDayUTC);
|
|
20
|
+
return Math.floor(randomTimestamp / 1000);
|
|
21
|
+
}
|
|
22
|
+
static getTimestampForNextPeriod(periodInHrs, minStartHrs = 1) {
|
|
23
|
+
const now = new Date().getTime();
|
|
24
|
+
const startInMs = minStartHrs * 60 * 60 * 1000;
|
|
25
|
+
const periodInMs = (periodInHrs - minStartHrs) * 60 * 60 * 1000;
|
|
26
|
+
const timeToNextPeriod = Math.ceil(Math.random() * periodInMs);
|
|
27
|
+
const timestamp = now + startInMs + timeToNextPeriod;
|
|
28
|
+
return Math.floor(timestamp / 1000);
|
|
7
29
|
}
|
|
8
30
|
}
|
|
9
31
|
exports.TimeService = TimeService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeService.js","sourceRoot":"","sources":["../../../../src/domain/services/TimeService.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACtB,MAAM,CAAC,uBAAuB;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"TimeService.js","sourceRoot":"","sources":["../../../../src/domain/services/TimeService.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACtB,MAAM,CAAC,uBAAuB;QAC5B,OAAO,WAAW,CAAC,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAU;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,gCAAgC;QACrC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAC/B,IAAI,CAAC,GAAG,CACN,QAAQ,CAAC,cAAc,EAAE,EACzB,QAAQ,CAAC,WAAW,EAAE,EACtB,QAAQ,CAAC,UAAU,EAAE,CACtB,CACF,CAAC;QACF,OAAO,WAAW,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,IAAU;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAErC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,UAAU,EAAE,EACjB,EAAE,EACF,EAAE,EACF,EAAE,EACF,GAAG,CACJ,CAAC;QAEF,MAAM,eAAe,GACnB,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAK,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,yBAAyB,CAC9B,WAAmB,EACnB,cAAsB,CAAC;QAEvB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,IAAK,CAAC;QAChD,MAAM,UAAU,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAK,CAAC;QACjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,GAAG,GAAG,SAAS,GAAG,gBAAgB,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAK,CAAC,CAAC;IACvC,CAAC;CACF;AAnDD,kCAmDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const TimeService_1 = require("./TimeService");
|
|
4
|
+
describe('TimeService', () => {
|
|
5
|
+
beforeEach(() => {
|
|
6
|
+
jest.useFakeTimers();
|
|
7
|
+
});
|
|
8
|
+
afterEach(() => {
|
|
9
|
+
jest.useRealTimers();
|
|
10
|
+
});
|
|
11
|
+
describe('getCurrentTimeInSeconds', () => {
|
|
12
|
+
it('should return current time in seconds', () => {
|
|
13
|
+
const mockDate = new Date('2024-05-01T12:00:00Z');
|
|
14
|
+
jest.setSystemTime(mockDate);
|
|
15
|
+
const result = TimeService_1.TimeService.getCurrentTimeInSeconds();
|
|
16
|
+
expect(result).toBe(Math.floor(mockDate.getTime() / 1000));
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
describe('getTimeInSeconds', () => {
|
|
20
|
+
it('should convert date to seconds', () => {
|
|
21
|
+
const testDate = new Date('2024-05-01T12:00:00Z');
|
|
22
|
+
const result = TimeService_1.TimeService.getTimeInSeconds(testDate);
|
|
23
|
+
expect(result).toBe(Math.floor(testDate.getTime() / 1000));
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe('getRandomUTCTimestampForTommorow', () => {
|
|
27
|
+
it("should return a timestamp within tomorrow's UTC day", () => {
|
|
28
|
+
const today = new Date('2024-05-01T12:00:00Z');
|
|
29
|
+
jest.setSystemTime(today);
|
|
30
|
+
const result = TimeService_1.TimeService.getRandomUTCTimestampForTommorow();
|
|
31
|
+
const tomorrowStart = new Date('2024-05-02T00:00:00Z').getTime() / 1000;
|
|
32
|
+
const tomorrowEnd = new Date('2024-05-02T23:59:59Z').getTime() / 1000;
|
|
33
|
+
expect(result).toBeGreaterThanOrEqual(tomorrowStart);
|
|
34
|
+
expect(result).toBeLessThanOrEqual(tomorrowEnd);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe('getRandomUTCTimestampInDay', () => {
|
|
38
|
+
it('should return a timestamp within the given day, starting from the given time', () => {
|
|
39
|
+
const testDate = new Date('2024-05-01T12:00:00Z');
|
|
40
|
+
const result = TimeService_1.TimeService.getRandomUTCTimestampInDay(testDate);
|
|
41
|
+
const dayStart = Math.floor(testDate.getTime() / 1000);
|
|
42
|
+
const dayEnd = Math.floor(new Date('2024-05-01T23:59:59.999Z').getTime() / 1000);
|
|
43
|
+
expect(result).toBeGreaterThanOrEqual(dayStart);
|
|
44
|
+
expect(result).toBeLessThanOrEqual(dayEnd);
|
|
45
|
+
});
|
|
46
|
+
it('should return different values on multiple calls', () => {
|
|
47
|
+
const testDate = new Date('2024-05-01T12:00:00Z');
|
|
48
|
+
const results = new Set();
|
|
49
|
+
for (let i = 0; i < 10; i++) {
|
|
50
|
+
const result = TimeService_1.TimeService.getRandomUTCTimestampInDay(testDate);
|
|
51
|
+
expect(result).toBeGreaterThanOrEqual(Math.floor(testDate.getTime() / 1000));
|
|
52
|
+
results.add(result);
|
|
53
|
+
}
|
|
54
|
+
expect(results.size).toBeGreaterThan(1);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
describe('getTimestampForNextPeriod', () => {
|
|
58
|
+
it('should return a timestamp for the next period', () => {
|
|
59
|
+
for (let i = 0; i < 12; i++) {
|
|
60
|
+
const periodInHrs = 13 + i;
|
|
61
|
+
const minStartHrs = i + 1;
|
|
62
|
+
const result = TimeService_1.TimeService.getTimestampForNextPeriod(periodInHrs, minStartHrs);
|
|
63
|
+
expect(result).toBeGreaterThanOrEqual(Math.floor(Date.now() / 1000) + minStartHrs * 60 * 60);
|
|
64
|
+
expect(result).toBeLessThanOrEqual(Math.floor(Date.now() / 1000) + periodInHrs * 60 * 60);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=TimeService.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeService.spec.js","sourceRoot":"","sources":["../../../../src/domain/services/TimeService.spec.ts"],"names":[],"mappings":"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"}
|