@heliofi/launchpad-common 1.6.10 → 1.6.14

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.
Files changed (85) hide show
  1. package/dist/src/domain/curves/FlatCurveV1.js +16 -6
  2. package/dist/src/domain/curves/FlatCurveV1.js.map +1 -1
  3. package/dist/src/domain/curves/getCurve.d.ts +3 -1
  4. package/dist/src/domain/curves/getCurve.js +3 -2
  5. package/dist/src/domain/curves/getCurve.js.map +1 -1
  6. package/dist/src/domain/curves/tests/ConstantProductV1.spec.js +11 -0
  7. package/dist/src/domain/curves/tests/ConstantProductV1.spec.js.map +1 -1
  8. package/dist/src/domain/curves/tests/FlatCurveV1.spec.js +16 -1
  9. package/dist/src/domain/curves/tests/FlatCurveV1.spec.js.map +1 -1
  10. package/dist/src/domain/model/chat/entities/Chat.entity.d.ts +2 -2
  11. package/dist/src/domain/model/chat/entities/Chat.entity.js +18 -0
  12. package/dist/src/domain/model/chat/entities/Chat.entity.js.map +1 -1
  13. package/dist/src/domain/model/chat/entities/Chat.entity.spec.d.ts +1 -0
  14. package/dist/src/domain/model/chat/entities/Chat.entity.spec.js +29 -0
  15. package/dist/src/domain/model/chat/entities/Chat.entity.spec.js.map +1 -0
  16. package/dist/src/domain/model/entity/BigIntTransformer.d.ts +1 -0
  17. package/dist/src/domain/model/entity/BigIntTransformer.js +17 -0
  18. package/dist/src/domain/model/entity/BigIntTransformer.js.map +1 -0
  19. package/dist/src/domain/model/entity/DateTransformer.d.ts +1 -0
  20. package/dist/src/domain/model/entity/DateTransformer.js +28 -0
  21. package/dist/src/domain/model/entity/DateTransformer.js.map +1 -0
  22. package/dist/src/domain/model/entity/index.d.ts +2 -0
  23. package/dist/src/domain/model/entity/index.js +5 -1
  24. package/dist/src/domain/model/entity/index.js.map +1 -1
  25. package/dist/src/domain/model/flat-curve/dtos/GetFlatCurve.dto.d.ts +4 -0
  26. package/dist/src/domain/model/{trading-data/dtos/GetTableDataByMintAddressDto.js → flat-curve/dtos/GetFlatCurve.dto.js} +7 -10
  27. package/dist/src/domain/model/flat-curve/dtos/GetFlatCurve.dto.js.map +1 -0
  28. package/dist/src/domain/model/flat-curve/dtos/index.d.ts +1 -0
  29. package/dist/src/domain/model/flat-curve/dtos/index.js +18 -0
  30. package/dist/src/domain/model/flat-curve/dtos/index.js.map +1 -0
  31. package/dist/src/domain/model/flat-curve/entities/FlatCurveConfig.d.ts +7 -0
  32. package/dist/src/domain/model/{token-pair/dtos/TokenPairMarketData.dto.js → flat-curve/entities/FlatCurveConfig.js} +16 -12
  33. package/dist/src/domain/model/flat-curve/entities/FlatCurveConfig.js.map +1 -0
  34. package/dist/src/domain/model/flat-curve/entities/FlatCurveConifg.spec.d.ts +1 -0
  35. package/dist/src/domain/model/flat-curve/entities/FlatCurveConifg.spec.js +19 -0
  36. package/dist/src/domain/model/flat-curve/entities/FlatCurveConifg.spec.js.map +1 -0
  37. package/dist/src/domain/model/flat-curve/entities/index.d.ts +1 -0
  38. package/dist/src/domain/model/{cloudflare → flat-curve/entities}/index.js +1 -1
  39. package/dist/src/domain/model/flat-curve/entities/index.js.map +1 -0
  40. package/dist/src/domain/model/flat-curve/index.d.ts +2 -0
  41. package/dist/src/domain/model/flat-curve/index.js +19 -0
  42. package/dist/src/domain/model/flat-curve/index.js.map +1 -0
  43. package/dist/src/domain/model/fun/dtos/GetFunTokensList.dto.d.ts +2 -1
  44. package/dist/src/domain/model/fun/dtos/GetFunTokensList.dto.js +8 -2
  45. package/dist/src/domain/model/fun/dtos/GetFunTokensList.dto.js.map +1 -1
  46. package/dist/src/domain/model/index.d.ts +1 -0
  47. package/dist/src/domain/model/index.js +1 -0
  48. package/dist/src/domain/model/index.js.map +1 -1
  49. package/dist/src/domain/model/token-pair/entities/TokenPairWithMetadata.entity.d.ts +1 -0
  50. package/dist/src/domain/model/token-pair/entities/TokenPairWithMetadata.entity.js.map +1 -1
  51. package/dist/src/domain/model/top-token-holders/entities/BasicTopTokenHolder.entity.d.ts +5 -0
  52. package/dist/src/domain/model/top-token-holders/entities/BasicTopTokenHolder.entity.js +8 -0
  53. package/dist/src/domain/model/top-token-holders/entities/BasicTopTokenHolder.entity.js.map +1 -0
  54. package/dist/src/domain/model/top-token-holders/entities/index.d.ts +1 -0
  55. package/dist/src/domain/model/top-token-holders/entities/index.js +1 -0
  56. package/dist/src/domain/model/top-token-holders/entities/index.js.map +1 -1
  57. package/dist/tsconfig.tsbuildinfo +1 -1
  58. package/package.json +2 -2
  59. package/dist/src/domain/model/cloudflare/CloudflareTypes.d.ts +0 -32
  60. package/dist/src/domain/model/cloudflare/CloudflareTypes.js +0 -73
  61. package/dist/src/domain/model/cloudflare/CloudflareTypes.js.map +0 -1
  62. package/dist/src/domain/model/cloudflare/index.d.ts +0 -1
  63. package/dist/src/domain/model/cloudflare/index.js.map +0 -1
  64. package/dist/src/domain/model/mint/create/dtos/CreateMintWithSocials.dto.d.ts +0 -10
  65. package/dist/src/domain/model/mint/create/dtos/CreateMintWithSocials.dto.js +0 -52
  66. package/dist/src/domain/model/mint/create/dtos/CreateMintWithSocials.dto.js.map +0 -1
  67. package/dist/src/domain/model/token-pair/dtos/LaunchTokenPair.dto.d.ts +0 -10
  68. package/dist/src/domain/model/token-pair/dtos/LaunchTokenPair.dto.js +0 -52
  69. package/dist/src/domain/model/token-pair/dtos/LaunchTokenPair.dto.js.map +0 -1
  70. package/dist/src/domain/model/token-pair/dtos/TokenPairMarketData.dto.d.ts +0 -5
  71. package/dist/src/domain/model/token-pair/dtos/TokenPairMarketData.dto.js.map +0 -1
  72. package/dist/src/domain/model/token-pair/dtos/TokenPairMetrics.dto.d.ts +0 -5
  73. package/dist/src/domain/model/token-pair/dtos/TokenPairMetrics.dto.js +0 -30
  74. package/dist/src/domain/model/token-pair/dtos/TokenPairMetrics.dto.js.map +0 -1
  75. package/dist/src/domain/model/token-pair/entities/LaunchTokenPair.entity.d.ts +0 -9
  76. package/dist/src/domain/model/token-pair/entities/LaunchTokenPair.entity.js +0 -8
  77. package/dist/src/domain/model/token-pair/entities/LaunchTokenPair.entity.js.map +0 -1
  78. package/dist/src/domain/model/token-pair/entities/TokenPairMetrics.entity.d.ts +0 -6
  79. package/dist/src/domain/model/token-pair/entities/TokenPairMetrics.entity.js +0 -8
  80. package/dist/src/domain/model/token-pair/entities/TokenPairMetrics.entity.js.map +0 -1
  81. package/dist/src/domain/model/token-pair/entities/TokenPairWithPoolInfo.entity.d.ts +0 -21
  82. package/dist/src/domain/model/token-pair/entities/TokenPairWithPoolInfo.entity.js +0 -8
  83. package/dist/src/domain/model/token-pair/entities/TokenPairWithPoolInfo.entity.js.map +0 -1
  84. package/dist/src/domain/model/trading-data/dtos/GetTableDataByMintAddressDto.d.ts +0 -4
  85. package/dist/src/domain/model/trading-data/dtos/GetTableDataByMintAddressDto.js.map +0 -1
@@ -29,26 +29,36 @@ class FlatCurveV1 extends AbstractCurve_1.AbstractCurve {
29
29
  const collateralAmount = tradeDirection === 'BUY'
30
30
  ? amount - (amount * BigInt(platformFeeBps)) / 10000n
31
31
  : amount + (amount * BigInt(platformFeeBps)) / 10000n;
32
- return (0, numbers_1.bigNumberToBigInt)((0, numbers_1.bigIntToBigNumber)(collateralAmount).div(this.getCollateralPrice()));
32
+ const collateralMultiplier = (0, bigNumber_1.default)(10).pow(this.collateralDecimals);
33
+ const normalizedCollateralAmount = this.getCollateralPrice().div(collateralMultiplier);
34
+ return (0, numbers_1.bigNumberToBigInt)((0, numbers_1.bigIntToBigNumber)(collateralAmount).div(normalizedCollateralAmount));
33
35
  }
34
36
  getCollateralAmountFromTokens(options) {
35
37
  const { amount, tradeDirection, platformFeeBps } = options;
36
- const collateralAmount = (0, numbers_1.bigNumberToBigInt)((0, numbers_1.bigIntToBigNumber)(amount).multipliedBy(this.getCollateralPrice()));
38
+ const collateralMultiplier = (0, bigNumber_1.default)(10).pow(this.collateralDecimals);
39
+ const collateralAmount = (0, numbers_1.bigNumberToBigInt)((0, numbers_1.bigIntToBigNumber)(amount)
40
+ .multipliedBy(this.getCollateralPrice())
41
+ .div(collateralMultiplier));
37
42
  return tradeDirection === 'BUY'
38
43
  ? collateralAmount + (collateralAmount * BigInt(platformFeeBps)) / 10000n
39
44
  : collateralAmount -
40
45
  (collateralAmount * BigInt(platformFeeBps)) / 10000n;
41
46
  }
42
47
  getCollateralPrice() {
43
- const collateralNormalized = (0, numbers_1.bigIntToBigNumber)(this.collateralCollected).div((0, bigNumber_1.default)(10).pow(this.collateralDecimals));
44
- const minAllocationNormalized = (0, numbers_1.bigIntToBigNumber)(this.curveDefaults.minAllocationTokenAmount).div((0, bigNumber_1.default)(10).pow(this.curveDefaults.tokenDecimals));
45
- return collateralNormalized.div(minAllocationNormalized);
48
+ const collateralMultiplier = (0, bigNumber_1.default)(10).pow(this.collateralDecimals);
49
+ const tokenMultiplier = (0, bigNumber_1.default)(10).pow(this.curveDefaults.tokenDecimals);
50
+ const collateralNormalized = (0, numbers_1.bigIntToBigNumber)(this.collateralCollected).div(collateralMultiplier);
51
+ const minAllocationNormalized = (0, numbers_1.bigIntToBigNumber)(this.curveDefaults.minAllocationTokenAmount).div(tokenMultiplier);
52
+ return collateralNormalized
53
+ .div(minAllocationNormalized)
54
+ .multipliedBy(collateralMultiplier);
46
55
  }
47
56
  getMarketCap(options) {
48
57
  const { curvePosition } = options;
49
58
  try {
50
59
  const price = this.getCollateralPrice();
51
- const cap = price.multipliedBy((0, numbers_1.bigIntToBigNumber)(curvePosition));
60
+ const tokenMultiplier = (0, bigNumber_1.default)(10).pow(this.curveDefaults.tokenDecimals);
61
+ const cap = price.multipliedBy((0, numbers_1.bigIntToBigNumber)(curvePosition).div(tokenMultiplier));
52
62
  return BigInt(cap.integerValue(bigNumber_1.default.ROUND_FLOOR).toString());
53
63
  }
54
64
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"FlatCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/FlatCurveV1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlatCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/FlatCurveV1.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { CurveType } from '../constants';
2
2
  import { BaseCurve } from './BaseCurve';
3
3
  import { AbstractCurve } from './AbstractCurve';
4
- export declare const getCurve: (curveType: CurveType) => BaseCurve | AbstractCurve;
4
+ export declare const getCurve: (curveType: CurveType, options?: {
5
+ collateralCollected?: bigint;
6
+ }) => BaseCurve | AbstractCurve;
@@ -8,7 +8,7 @@ const EvmConstantProductCurveV1_1 = require("./EvmConstantProductCurveV1");
8
8
  const SonicConstantProductCurveV1_1 = require("./SonicConstantProductCurveV1");
9
9
  const BeraConstantProductCurveV1_1 = require("./BeraConstantProductCurveV1");
10
10
  const FlatCurveV1_1 = require("./FlatCurveV1");
11
- const getCurve = (curveType) => {
11
+ const getCurve = (curveType, options) => {
12
12
  if (curveType === constants_1.CurveType.LINEAR_V1) {
13
13
  return new LinearCurveV1_1.LinearCurveV1();
14
14
  }
@@ -25,7 +25,8 @@ const getCurve = (curveType) => {
25
25
  return new BeraConstantProductCurveV1_1.BeraConstantProductCurveV1();
26
26
  }
27
27
  if (curveType === constants_1.CurveType.FLAT_V1) {
28
- return new FlatCurveV1_1.FlatCurveV1(constants_1.DEFAULT_COLLATERAL_COLLECTED);
28
+ const finalCollateralCollected = options?.collateralCollected ?? constants_1.DEFAULT_COLLATERAL_COLLECTED;
29
+ return new FlatCurveV1_1.FlatCurveV1(finalCollateralCollected);
29
30
  }
30
31
  throw new Error('Curve type not supported');
31
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getCurve.js","sourceRoot":"","sources":["../../../../src/domain/curves/getCurve.ts"],"names":[],"mappings":";;;AAAA,4CAAuE;AAEvE,qEAAkE;AAElE,mDAAgD;AAChD,2EAAwE;AACxE,+EAA4E;AAC5E,6EAA0E;AAC1E,+CAA4C;AAGrC,MAAM,QAAQ,GAAG,CAAC,SAAoB,EAA6B,EAAE;IAC1E,IAAI,SAAS,KAAK,qBAAS,CAAC,SAAS,EAAE;QACrC,OAAO,IAAI,6BAAa,EAAE,CAAC;KAC5B;IAED,IAAI,SAAS,KAAK,qBAAS,CAAC,mBAAmB,EAAE;QAC/C,OAAO,IAAI,+CAAsB,EAAE,CAAC;KACrC;IAED,IAAI,SAAS,KAAK,qBAAS,CAAC,uBAAuB,EAAE;QACnD,OAAO,IAAI,qDAAyB,EAAE,CAAC;KACxC;IAED,IAAI,SAAS,KAAK,qBAAS,CAAC,yBAAyB,EAAE;QACrD,OAAO,IAAI,yDAA2B,EAAE,CAAC;KAC1C;IAED,IAAI,SAAS,KAAK,qBAAS,CAAC,wBAAwB,EAAE;QACpD,OAAO,IAAI,uDAA0B,EAAE,CAAC;KACzC;IAED,IAAI,SAAS,KAAK,qBAAS,CAAC,OAAO,EAAE;QACnC,OAAO,IAAI,yBAAW,CAAC,wCAA4B,CAAC,CAAC;KACtD;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC,CAAC;AA1BW,QAAA,QAAQ,YA0BnB"}
1
+ {"version":3,"file":"getCurve.js","sourceRoot":"","sources":["../../../../src/domain/curves/getCurve.ts"],"names":[],"mappings":";;;AAAA,4CAAuE;AAEvE,qEAAkE;AAElE,mDAAgD;AAChD,2EAAwE;AACxE,+EAA4E;AAC5E,6EAA0E;AAC1E,+CAA4C;AAGrC,MAAM,QAAQ,GAAG,CACtB,SAAoB,EACpB,OAA0C,EACf,EAAE;IAC7B,IAAI,SAAS,KAAK,qBAAS,CAAC,SAAS,EAAE;QACrC,OAAO,IAAI,6BAAa,EAAE,CAAC;KAC5B;IAED,IAAI,SAAS,KAAK,qBAAS,CAAC,mBAAmB,EAAE;QAC/C,OAAO,IAAI,+CAAsB,EAAE,CAAC;KACrC;IAED,IAAI,SAAS,KAAK,qBAAS,CAAC,uBAAuB,EAAE;QACnD,OAAO,IAAI,qDAAyB,EAAE,CAAC;KACxC;IAED,IAAI,SAAS,KAAK,qBAAS,CAAC,yBAAyB,EAAE;QACrD,OAAO,IAAI,yDAA2B,EAAE,CAAC;KAC1C;IAED,IAAI,SAAS,KAAK,qBAAS,CAAC,wBAAwB,EAAE;QACpD,OAAO,IAAI,uDAA0B,EAAE,CAAC;KACzC;IAED,IAAI,SAAS,KAAK,qBAAS,CAAC,OAAO,EAAE;QACnC,MAAM,wBAAwB,GAC5B,OAAO,EAAE,mBAAmB,IAAI,wCAA4B,CAAC;QAC/D,OAAO,IAAI,yBAAW,CAAC,wBAAwB,CAAC,CAAC;KAClD;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC,CAAC;AA/BW,QAAA,QAAQ,YA+BnB"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const tradeDirection_1 = require("../../constants/tradeDirection");
4
7
  const ConstantProductCurveV1_1 = require("../ConstantProductCurveV1");
8
+ const bigNumber_1 = __importDefault(require("../../../config/bigNumber"));
5
9
  describe('ConstantProductCurveV1', () => {
6
10
  let curve;
7
11
  const platformFeeBps = 100;
@@ -104,6 +108,13 @@ describe('ConstantProductCurveV1', () => {
104
108
  expect(mcapInWholeUnits).toBe(412n);
105
109
  });
106
110
  });
111
+ describe('getCollateralPrice', () => {
112
+ it('should return constant price based on collateral collected', () => {
113
+ const result = curve.getCollateralPrice({ curvePosition: 0n });
114
+ const expectedPrice = (0, bigNumber_1.default)(27.95899347623);
115
+ expect(result.toFixed(11)).toBe(expectedPrice.toFixed(11));
116
+ });
117
+ });
107
118
  describe('getMinimalTokensFromMarketCap', () => {
108
119
  it('should get correct nr of minimal tokens for 345 SOL mcap', () => {
109
120
  const mcap = 345000000000n;
@@ -1 +1 @@
1
- {"version":3,"file":"ConstantProductV1.spec.js","sourceRoot":"","sources":["../../../../../src/domain/curves/tests/ConstantProductV1.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConstantProductV1.spec.js","sourceRoot":"","sources":["../../../../../src/domain/curves/tests/ConstantProductV1.spec.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,15 @@ describe('FlatCurveV1', () => {
10
10
  const curve = new FlatCurveV1_1.FlatCurveV1(BigInt(1e9));
11
11
  const platformFeeBps = 100;
12
12
  const collateralAmount = BigInt(1e9);
13
+ it('should get correct default configs', () => {
14
+ const cv = new FlatCurveV1_1.FlatCurveV1(BigInt(0));
15
+ const defaults = cv.curveDefaults;
16
+ expect(defaults.type).toBe('FLAT_V1');
17
+ expect(defaults.totalSupply).toBe(BigInt(1e18));
18
+ expect(defaults.tokenDecimals).toBe(9);
19
+ expect(defaults.minAllocationTokenAmount).toBe(490000000000000000n);
20
+ expect(defaults.maxAllocationTokenAmount).toBe(499900000000000000n);
21
+ });
13
22
  describe('getTokensAmountFromCollateral', () => {
14
23
  const expectedTokensWithoutTax = curve.curveDefaults.minAllocationTokenAmount - 1n;
15
24
  it('should calculate nr of tokens for 1 SOL for buy without tax', () => {
@@ -122,7 +131,13 @@ describe('FlatCurveV1', () => {
122
131
  describe('getCollateralPrice', () => {
123
132
  it('should return constant price based on collateral collected', () => {
124
133
  const result = curve.getCollateralPrice();
125
- const expectedPrice = (0, bigNumber_1.default)(2.04e-9);
134
+ const expectedPrice = (0, bigNumber_1.default)(2.04081632653);
135
+ expect(result.toFixed(11)).toBe(expectedPrice.toFixed(11));
136
+ });
137
+ it('should return constant price based on 200 sol collateral collected', () => {
138
+ const curve200 = new FlatCurveV1_1.FlatCurveV1(200000000000n);
139
+ const result = curve200.getCollateralPrice();
140
+ const expectedPrice = (0, bigNumber_1.default)(408.16326530612);
126
141
  expect(result.toFixed(11)).toBe(expectedPrice.toFixed(11));
127
142
  });
128
143
  });
@@ -1 +1 @@
1
- {"version":3,"file":"FlatCurveV1.spec.js","sourceRoot":"","sources":["../../../../../src/domain/curves/tests/FlatCurveV1.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlatCurveV1.spec.js","sourceRoot":"","sources":["../../../../../src/domain/curves/tests/FlatCurveV1.spec.ts"],"names":[],"mappings":";;;;;AAAA,0EAAkD;AAClD,mEAAgE;AAChE,gDAA6C;AAE7C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,KAAK,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,GAAG,CAAC;IAC3B,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAErC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,EAAE,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpE,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,MAAM,wBAAwB,GAC5B,KAAK,CAAC,aAAa,CAAC,wBAAwB,GAAG,EAAE,CAAC;QAEpD,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,gBAAgB;gBACxB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,+BAAc,CAAC,GAAG;gBAClC,aAAa,EAAE,EAAE;aAClB,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,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,gBAAgB;gBACxB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,+BAAc,CAAC,IAAI;gBACnC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC;aAC5B,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,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,aAAa,GACjB,CAAC,gBAAgB,GAAG,MAAO,CAAC,GAAG,CAAC,MAAO,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,aAAa;gBACrB,cAAc;gBACd,cAAc,EAAE,+BAAc,CAAC,GAAG;gBAClC,aAAa,EAAE,EAAE;aAClB,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,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,aAAa,GACjB,CAAC,gBAAgB,GAAG,MAAO,CAAC,GAAG,CAAC,MAAO,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,aAAa;gBACrB,cAAc;gBACd,cAAc,EAAE,+BAAc,CAAC,IAAI;gBACnC,aAAa,EAAE,EAAE;aAClB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CACzB,CAAC,wBAAwB,GAAG,MAAO,CAAC,GAAG,MAAO,CAC/C,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAC5B,CAAC,wBAAwB,GAAG,KAAK,CAAC,GAAG,MAAO,CAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjC,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,WAAW;gBACnB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,+BAAc,CAAC,GAAG;gBAClC,aAAa,EAAE,EAAE;aAClB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,kBAAkB,GACtB,CAAC,gBAAgB,GAAG,WAAW,CAAC;gBAChC,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,WAAW;gBACnB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,+BAAc,CAAC,IAAI;gBACnC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC;aAC5B,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,kBAAkB,GACtB,CAAC,gBAAgB,GAAG,WAAW,CAAC;gBAChC,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,WAAW;gBACnB,cAAc;gBACd,cAAc,EAAE,+BAAc,CAAC,GAAG;gBAClC,aAAa,EAAE,EAAE;aAClB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,UAAU,GACd,CAAC,gBAAgB,GAAG,WAAW,CAAC;gBAChC,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC;YAC/C,MAAM,eAAe,GACnB,UAAU,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,MAAO,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,WAAW;gBACnB,cAAc;gBACd,cAAc,EAAE,+BAAc,CAAC,IAAI;gBACnC,aAAa,EAAE,EAAE;aAClB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,UAAU,GACd,CAAC,gBAAgB,GAAG,WAAW,CAAC;gBAChC,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC;YAC/C,MAAM,eAAe,GACnB,UAAU,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,MAAO,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACzB,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACxE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC1C,MAAM,aAAa,GAAG,IAAA,mBAAS,EAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC5E,MAAM,QAAQ,GAAG,IAAI,yBAAW,CAAC,aAAgB,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,IAAA,mBAAS,EAAC,eAAe,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { Entity } from '../../entity';
2
2
  export declare class ChatEntity extends Entity {
3
+ createdAt?: Date;
4
+ updatedAt?: Date;
3
5
  id: string;
4
6
  content: string;
5
7
  mintAddress: string;
6
8
  creatorPK: string;
7
9
  likedBy: string[];
8
- createdAt?: Date;
9
- updatedAt?: Date;
10
10
  userId: string;
11
11
  }
@@ -1,8 +1,26 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.ChatEntity = void 0;
13
+ const class_transformer_1 = require("class-transformer");
4
14
  const entity_1 = require("../../entity");
5
15
  class ChatEntity extends entity_1.Entity {
6
16
  }
17
+ __decorate([
18
+ (0, class_transformer_1.Transform)(({ value }) => (0, entity_1.DateTransformer)(value)),
19
+ __metadata("design:type", Date)
20
+ ], ChatEntity.prototype, "createdAt", void 0);
21
+ __decorate([
22
+ (0, class_transformer_1.Transform)(({ value }) => (0, entity_1.DateTransformer)(value)),
23
+ __metadata("design:type", Date)
24
+ ], ChatEntity.prototype, "updatedAt", void 0);
7
25
  exports.ChatEntity = ChatEntity;
8
26
  //# sourceMappingURL=Chat.entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/chat/entities/Chat.entity.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAa,UAAW,SAAQ,eAAM;CAgBrC;AAhBD,gCAgBC"}
1
+ {"version":3,"file":"Chat.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/chat/entities/Chat.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,yCAAuD;AAEvD,MAAa,UAAW,SAAQ,eAAM;CAkBrC;AAjBC;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;8BACrC,IAAI;6CAAC;AAEjB;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;8BACrC,IAAI;6CAAC;AALnB,gCAkBC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Chat_entity_1 = require("./Chat.entity");
4
+ describe('ChatEntity', () => {
5
+ it('should convert from object correctly', () => {
6
+ const obj = JSON.stringify({
7
+ id: 'id',
8
+ content: 'content',
9
+ mintAddress: 'mintAddress',
10
+ creatorPK: 'creatorPK',
11
+ likedBy: ['likedBy'],
12
+ createdAt: '2025-03-03T14:56:12.650Z',
13
+ updatedAt: '2025-03-03T14:56:12.650Z',
14
+ userId: 'userId',
15
+ });
16
+ const parsedObj = JSON.parse(obj);
17
+ const chatEntity = Chat_entity_1.ChatEntity.fromObject(parsedObj);
18
+ expect(typeof chatEntity.id).toBe('string');
19
+ expect(typeof chatEntity.content).toBe('string');
20
+ expect(typeof chatEntity.mintAddress).toBe('string');
21
+ expect(typeof chatEntity.creatorPK).toBe('string');
22
+ expect(Array.isArray(chatEntity.likedBy)).toBe(true);
23
+ expect(typeof chatEntity.createdAt).toBe('object');
24
+ expect(chatEntity.createdAt instanceof Date).toBe(true);
25
+ expect(typeof chatEntity.updatedAt).toBe('object');
26
+ expect(chatEntity.updatedAt instanceof Date).toBe(true);
27
+ });
28
+ });
29
+ //# sourceMappingURL=Chat.entity.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chat.entity.spec.js","sourceRoot":"","sources":["../../../../../../src/domain/model/chat/entities/Chat.entity.spec.ts"],"names":[],"mappings":";;AAAA,+CAA2C;AAE3C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;YACzB,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,aAAa;YAC1B,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,CAAC,SAAS,CAAC;YACpB,SAAS,EAAE,0BAA0B;YACrC,SAAS,EAAE,0BAA0B;YACrC,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,MAAM,UAAU,GAAG,wBAAU,CAAC,UAAU,CAAa,SAAS,CAAC,CAAC;QAEhE,MAAM,CAAC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,UAAU,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,UAAU,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const BigIntTransformer: (value: unknown) => bigint;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BigIntTransformer = void 0;
4
+ const BigIntTransformer = (value) => {
5
+ if (typeof value === 'string') {
6
+ return BigInt(value);
7
+ }
8
+ if (typeof value === 'number') {
9
+ return BigInt(value);
10
+ }
11
+ if (typeof value === 'bigint') {
12
+ return value;
13
+ }
14
+ throw new Error(`Cannot transform ${typeof value} to BigInt`);
15
+ };
16
+ exports.BigIntTransformer = BigIntTransformer;
17
+ //# sourceMappingURL=BigIntTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigIntTransformer.js","sourceRoot":"","sources":["../../../../../src/domain/model/entity/BigIntTransformer.ts"],"names":[],"mappings":";;;AAAO,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAU,EAAE;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;KACtB;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;KACtB;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,KAAK,YAAY,CAAC,CAAC;AAChE,CAAC,CAAC;AAXW,QAAA,iBAAiB,qBAW5B"}
@@ -0,0 +1 @@
1
+ export declare const DateTransformer: (value: unknown) => Date;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DateTransformer = void 0;
4
+ const DateTransformer = (value) => {
5
+ if (value === null || value === undefined) {
6
+ throw new Error('Cannot transform null or undefined to Date');
7
+ }
8
+ if (value instanceof Date) {
9
+ return value;
10
+ }
11
+ if (typeof value === 'string') {
12
+ const date = new Date(value);
13
+ if (date.getTime() == null) {
14
+ throw new Error(`Invalid date string: ${value}`);
15
+ }
16
+ return date;
17
+ }
18
+ if (typeof value === 'number') {
19
+ const date = new Date(value);
20
+ if (date.getTime() == null) {
21
+ throw new Error(`Invalid timestamp: ${value}`);
22
+ }
23
+ return date;
24
+ }
25
+ throw new Error(`Cannot transform ${typeof value} to Date`);
26
+ };
27
+ exports.DateTransformer = DateTransformer;
28
+ //# sourceMappingURL=DateTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTransformer.js","sourceRoot":"","sources":["../../../../../src/domain/model/entity/DateTransformer.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAAC,KAAc,EAAQ,EAAE;IACtD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,IAAI,KAAK,YAAY,IAAI,EAAE;QACzB,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC;KACb;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC;KACb;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,KAAK,UAAU,CAAC,CAAC;AAC9D,CAAC,CAAC;AA1BW,QAAA,eAAe,mBA0B1B"}
@@ -1 +1,3 @@
1
1
  export { Entity } from './Entity';
2
+ export { BigIntTransformer } from './BigIntTransformer';
3
+ export { DateTransformer } from './DateTransformer';
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Entity = void 0;
3
+ exports.DateTransformer = exports.BigIntTransformer = exports.Entity = void 0;
4
4
  var Entity_1 = require("./Entity");
5
5
  Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return Entity_1.Entity; } });
6
+ var BigIntTransformer_1 = require("./BigIntTransformer");
7
+ Object.defineProperty(exports, "BigIntTransformer", { enumerable: true, get: function () { return BigIntTransformer_1.BigIntTransformer; } });
8
+ var DateTransformer_1 = require("./DateTransformer");
9
+ Object.defineProperty(exports, "DateTransformer", { enumerable: true, get: function () { return DateTransformer_1.DateTransformer; } });
6
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/model/entity/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/model/entity/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,qDAAoD;AAA3C,kHAAA,eAAe,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { CurveType } from '../../../constants';
2
+ export declare class GetFlatCurveDto {
3
+ type: CurveType;
4
+ }
@@ -9,19 +9,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.GetTableDataByMintAddressDto = void 0;
12
+ exports.GetFlatCurveDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
- class GetTableDataByMintAddressDto {
14
+ const constants_1 = require("../../../constants");
15
+ class GetFlatCurveDto {
15
16
  }
16
17
  __decorate([
17
18
  (0, class_validator_1.IsString)(),
19
+ (0, class_validator_1.IsEnum)(constants_1.CurveType),
18
20
  (0, class_validator_1.IsNotEmpty)(),
19
21
  __metadata("design:type", String)
20
- ], GetTableDataByMintAddressDto.prototype, "mintAddress", void 0);
21
- __decorate([
22
- (0, class_validator_1.IsNumber)(),
23
- (0, class_validator_1.IsOptional)(),
24
- __metadata("design:type", Number)
25
- ], GetTableDataByMintAddressDto.prototype, "blockNumber", void 0);
26
- exports.GetTableDataByMintAddressDto = GetTableDataByMintAddressDto;
27
- //# sourceMappingURL=GetTableDataByMintAddressDto.js.map
22
+ ], GetFlatCurveDto.prototype, "type", void 0);
23
+ exports.GetFlatCurveDto = GetFlatCurveDto;
24
+ //# sourceMappingURL=GetFlatCurve.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetFlatCurve.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/flat-curve/dtos/GetFlatCurve.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+D;AAC/D,kDAA+C;AAE/C,MAAa,eAAe;CAK3B;AAJC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,qBAAS,CAAC;IACjB,IAAA,4BAAU,GAAE;;6CACG;AAJlB,0CAKC"}
@@ -0,0 +1 @@
1
+ export * from './GetFlatCurve.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("./GetFlatCurve.dto"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/domain/model/flat-curve/dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1,7 @@
1
+ import { Entity } from '../../entity';
2
+ export declare class FlatCurveConfig extends Entity {
3
+ maxCollectedCollateral: bigint;
4
+ minCollectedCollateral: bigint;
5
+ defaultCollectedCollateral: bigint;
6
+ defaultPriceIncrease: number;
7
+ }
@@ -9,18 +9,22 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TokenPairWithMarketDataDto = void 0;
13
- const class_validator_1 = require("class-validator");
12
+ exports.FlatCurveConfig = void 0;
14
13
  const class_transformer_1 = require("class-transformer");
15
- const TokenPair_entity_1 = require("../entities/TokenPair.entity");
16
- const TokenPairMetrics_dto_1 = require("./TokenPairMetrics.dto");
17
- class TokenPairWithMarketDataDto extends TokenPair_entity_1.TokenPair {
14
+ const entity_1 = require("../../entity");
15
+ class FlatCurveConfig extends entity_1.Entity {
18
16
  }
19
17
  __decorate([
20
- (0, class_validator_1.IsOptional)(),
21
- (0, class_validator_1.ValidateNested)(),
22
- (0, class_transformer_1.Type)(() => TokenPairMetrics_dto_1.TokenPairMetricsDto),
23
- __metadata("design:type", TokenPairMetrics_dto_1.TokenPairMetricsDto)
24
- ], TokenPairWithMarketDataDto.prototype, "metrics", void 0);
25
- exports.TokenPairWithMarketDataDto = TokenPairWithMarketDataDto;
26
- //# sourceMappingURL=TokenPairMarketData.dto.js.map
18
+ (0, class_transformer_1.Transform)(({ value }) => (0, entity_1.BigIntTransformer)(value)),
19
+ __metadata("design:type", BigInt)
20
+ ], FlatCurveConfig.prototype, "maxCollectedCollateral", void 0);
21
+ __decorate([
22
+ (0, class_transformer_1.Transform)(({ value }) => (0, entity_1.BigIntTransformer)(value)),
23
+ __metadata("design:type", BigInt)
24
+ ], FlatCurveConfig.prototype, "minCollectedCollateral", void 0);
25
+ __decorate([
26
+ (0, class_transformer_1.Transform)(({ value }) => (0, entity_1.BigIntTransformer)(value)),
27
+ __metadata("design:type", BigInt)
28
+ ], FlatCurveConfig.prototype, "defaultCollectedCollateral", void 0);
29
+ exports.FlatCurveConfig = FlatCurveConfig;
30
+ //# sourceMappingURL=FlatCurveConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlatCurveConfig.js","sourceRoot":"","sources":["../../../../../../src/domain/model/flat-curve/entities/FlatCurveConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,yCAAyD;AAEzD,MAAa,eAAgB,SAAQ,eAAM;CAW1C;AAVC;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAiB,EAAC,KAAK,CAAC,CAAC;;+DACpB;AAE/B;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAiB,EAAC,KAAK,CAAC,CAAC;;+DACpB;AAE/B;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAiB,EAAC,KAAK,CAAC,CAAC;;mEAChB;AARrC,0CAWC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const FlatCurveConfig_1 = require("./FlatCurveConfig");
4
+ describe('FlatCurveConfig', () => {
5
+ it('should convert JSON object to FlatCurveConfig', () => {
6
+ const flatCurveConfig = {
7
+ maxCollectedCollateral: '1000',
8
+ minCollectedCollateral: '50',
9
+ defaultCollectedCollateral: '503',
10
+ defaultPriceIncrease: 100,
11
+ };
12
+ const res = FlatCurveConfig_1.FlatCurveConfig.fromObject(flatCurveConfig);
13
+ expect(typeof res.maxCollectedCollateral).toBe('bigint');
14
+ expect(typeof res.minCollectedCollateral).toBe('bigint');
15
+ expect(typeof res.defaultCollectedCollateral).toBe('bigint');
16
+ expect(typeof res.defaultPriceIncrease).toBe('number');
17
+ });
18
+ });
19
+ //# sourceMappingURL=FlatCurveConifg.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlatCurveConifg.spec.js","sourceRoot":"","sources":["../../../../../../src/domain/model/flat-curve/entities/FlatCurveConifg.spec.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QAEvD,MAAM,eAAe,GAAQ;YAC3B,sBAAsB,EAAE,MAAM;YAC9B,sBAAsB,EAAE,IAAI;YAC5B,0BAA0B,EAAE,KAAK;YACjC,oBAAoB,EAAE,GAAG;SAC1B,CAAC;QACF,MAAM,GAAG,GAAG,iCAAe,CAAC,UAAU,CAAkB,eAAe,CAAC,CAAC;QAEzE,MAAM,CAAC,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,CAAC,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './FlatCurveConfig';
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./CloudflareTypes"), exports);
17
+ __exportStar(require("./FlatCurveConfig"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/domain/model/flat-curve/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
@@ -0,0 +1,2 @@
1
+ export * from './entities';
2
+ export * from './dtos';
@@ -0,0 +1,19 @@
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("./entities"), exports);
18
+ __exportStar(require("./dtos"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/model/flat-curve/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,yCAAuB"}
@@ -6,5 +6,6 @@ export declare class GetFunTokensListDto {
6
6
  risingTime?: string;
7
7
  minAge?: string;
8
8
  maxAge?: string;
9
- page?: number;
9
+ page: number;
10
+ pageSize: number;
10
11
  }
@@ -51,10 +51,16 @@ __decorate([
51
51
  __metadata("design:type", String)
52
52
  ], GetFunTokensListDto.prototype, "maxAge", void 0);
53
53
  __decorate([
54
- (0, class_validator_1.IsOptional)(),
55
- (0, class_transformer_1.Transform)(({ value }) => parseInt(value, 10)),
54
+ (0, class_validator_1.IsNotEmpty)(),
56
55
  (0, class_validator_1.IsNumber)(),
56
+ (0, class_transformer_1.Transform)(({ value }) => parseInt(value, 10)),
57
57
  __metadata("design:type", Number)
58
58
  ], GetFunTokensListDto.prototype, "page", void 0);
59
+ __decorate([
60
+ (0, class_validator_1.IsNotEmpty)(),
61
+ (0, class_validator_1.IsNumber)(),
62
+ (0, class_transformer_1.Transform)(({ value }) => parseInt(value, 10)),
63
+ __metadata("design:type", Number)
64
+ ], GetFunTokensListDto.prototype, "pageSize", void 0);
59
65
  exports.GetFunTokensListDto = GetFunTokensListDto;
60
66
  //# sourceMappingURL=GetFunTokensList.dto.js.map