@heliofi/launchpad-common 0.0.2 → 0.0.8

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 (90) hide show
  1. package/dist/src/domain/curves/BaseCurve.d.ts +7 -5
  2. package/dist/src/domain/curves/BaseCurve.js.map +1 -1
  3. package/dist/src/domain/curves/LinearCurveV1.d.ts +6 -5
  4. package/dist/src/domain/curves/LinearCurveV1.js +57 -59
  5. package/dist/src/domain/curves/LinearCurveV1.js.map +1 -1
  6. package/dist/src/domain/curves/getCurve.d.ts +3 -0
  7. package/dist/src/domain/curves/getCurve.js +13 -0
  8. package/dist/src/domain/curves/getCurve.js.map +1 -0
  9. package/dist/src/domain/curves/index.d.ts +1 -0
  10. package/dist/src/domain/curves/index.js +1 -0
  11. package/dist/src/domain/curves/index.js.map +1 -1
  12. package/dist/src/domain/curves/tests/LinearCurveV1.spec.js +21 -16
  13. package/dist/src/domain/curves/tests/LinearCurveV1.spec.js.map +1 -1
  14. package/dist/src/domain/curves/types.d.ts +10 -0
  15. package/dist/src/domain/curves/types.js.map +1 -1
  16. package/dist/src/domain/model/buy/prepare/dtos/BuyTxPrepare.dto.d.ts +2 -5
  17. package/dist/src/domain/model/buy/prepare/dtos/BuyTxPrepare.dto.js +2 -34
  18. package/dist/src/domain/model/buy/prepare/dtos/BuyTxPrepare.dto.js.map +1 -1
  19. package/dist/src/domain/model/buy/prepare/entities/BuyTxPrepareResponse.entity.d.ts +2 -4
  20. package/dist/src/domain/model/buy/prepare/entities/BuyTxPrepareResponse.entity.js +2 -2
  21. package/dist/src/domain/model/buy/prepare/entities/BuyTxPrepareResponse.entity.js.map +1 -1
  22. package/dist/src/domain/model/buy/submit/entities/BuyTxSubmitResponse.entity.js.map +1 -1
  23. package/dist/src/domain/model/curve/dtos/CreateCurve.dto.d.ts +1 -0
  24. package/dist/src/domain/model/curve/dtos/CreateCurve.dto.js +5 -0
  25. package/dist/src/domain/model/curve/dtos/CreateCurve.dto.js.map +1 -1
  26. package/dist/src/domain/model/curve/entities/Curve.entity.d.ts +1 -0
  27. package/dist/src/domain/model/curve/entities/Curve.entity.js.map +1 -1
  28. package/dist/src/domain/model/curve/entities/CurvePositionResponse.entity.d.ts +4 -0
  29. package/dist/src/domain/model/curve/entities/CurvePositionResponse.entity.js +8 -0
  30. package/dist/src/domain/model/curve/entities/CurvePositionResponse.entity.js.map +1 -0
  31. package/dist/src/domain/model/curve/entities/index.d.ts +1 -0
  32. package/dist/src/domain/model/curve/entities/index.js +1 -0
  33. package/dist/src/domain/model/curve/entities/index.js.map +1 -1
  34. package/dist/src/domain/model/index.d.ts +3 -2
  35. package/dist/src/domain/model/index.js +3 -2
  36. package/dist/src/domain/model/index.js.map +1 -1
  37. package/dist/src/domain/model/sell/index.d.ts +2 -0
  38. package/dist/src/domain/model/sell/index.js +19 -0
  39. package/dist/src/domain/model/sell/index.js.map +1 -0
  40. package/dist/src/domain/model/sell/prepare/dtos/SellTxPrepare.dto.d.ts +3 -0
  41. package/dist/src/domain/model/sell/prepare/dtos/SellTxPrepare.dto.js +8 -0
  42. package/dist/src/domain/model/sell/prepare/dtos/SellTxPrepare.dto.js.map +1 -0
  43. package/dist/src/domain/model/sell/prepare/dtos/index.d.ts +1 -0
  44. package/dist/src/domain/model/sell/prepare/dtos/index.js +18 -0
  45. package/dist/src/domain/model/sell/prepare/dtos/index.js.map +1 -0
  46. package/dist/src/domain/model/sell/prepare/entities/SellTxPrepareResponse.entity.d.ts +5 -0
  47. package/dist/src/domain/model/sell/prepare/entities/SellTxPrepareResponse.entity.js +8 -0
  48. package/dist/src/domain/model/sell/prepare/entities/SellTxPrepareResponse.entity.js.map +1 -0
  49. package/dist/src/domain/model/sell/prepare/entities/index.d.ts +1 -0
  50. package/dist/src/domain/model/sell/prepare/entities/index.js +18 -0
  51. package/dist/src/domain/model/sell/prepare/entities/index.js.map +1 -0
  52. package/dist/src/domain/model/sell/prepare/index.d.ts +2 -0
  53. package/dist/src/domain/model/sell/prepare/index.js +19 -0
  54. package/dist/src/domain/model/sell/prepare/index.js.map +1 -0
  55. package/dist/src/domain/model/sell/submit/dtos/SellTxSubmit.dto.d.ts +3 -0
  56. package/dist/src/domain/model/sell/submit/dtos/SellTxSubmit.dto.js +8 -0
  57. package/dist/src/domain/model/sell/submit/dtos/SellTxSubmit.dto.js.map +1 -0
  58. package/dist/src/domain/model/sell/submit/dtos/index.d.ts +1 -0
  59. package/dist/src/domain/model/sell/submit/dtos/index.js +18 -0
  60. package/dist/src/domain/model/sell/submit/dtos/index.js.map +1 -0
  61. package/dist/src/domain/model/sell/submit/entities/SellTxSubmitResponse.entity.d.ts +3 -0
  62. package/dist/src/domain/model/sell/submit/entities/SellTxSubmitResponse.entity.js +8 -0
  63. package/dist/src/domain/model/sell/submit/entities/SellTxSubmitResponse.entity.js.map +1 -0
  64. package/dist/src/domain/model/sell/submit/entities/index.d.ts +1 -0
  65. package/dist/src/domain/model/sell/submit/entities/index.js +18 -0
  66. package/dist/src/domain/model/sell/submit/entities/index.js.map +1 -0
  67. package/dist/src/domain/model/sell/submit/index.d.ts +2 -0
  68. package/dist/src/domain/model/sell/submit/index.js +19 -0
  69. package/dist/src/domain/model/sell/submit/index.js.map +1 -0
  70. package/dist/src/domain/model/tx/index.d.ts +1 -0
  71. package/dist/src/domain/model/tx/index.js +1 -0
  72. package/dist/src/domain/model/tx/index.js.map +1 -1
  73. package/dist/src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.d.ts +5 -0
  74. package/dist/src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.js +33 -0
  75. package/dist/src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.js.map +1 -0
  76. package/dist/src/domain/model/tx/prepare/dtos/index.d.ts +1 -0
  77. package/dist/src/domain/model/tx/prepare/dtos/index.js +18 -0
  78. package/dist/src/domain/model/tx/prepare/dtos/index.js.map +1 -0
  79. package/dist/src/domain/model/tx/prepare/entities/BaseTxPrepareResponse.entity.d.ts +5 -0
  80. package/dist/src/domain/model/tx/prepare/entities/BaseTxPrepareResponse.entity.js +8 -0
  81. package/dist/src/domain/model/tx/prepare/entities/BaseTxPrepareResponse.entity.js.map +1 -0
  82. package/dist/src/domain/model/tx/prepare/entities/index.d.ts +1 -0
  83. package/dist/src/domain/model/tx/prepare/entities/index.js +18 -0
  84. package/dist/src/domain/model/tx/prepare/entities/index.js.map +1 -0
  85. package/dist/src/domain/model/tx/prepare/index.d.ts +2 -0
  86. package/dist/src/domain/model/tx/prepare/index.js +19 -0
  87. package/dist/src/domain/model/tx/prepare/index.js.map +1 -0
  88. package/dist/src/domain/model/tx-token-payload/TxTokenPayload.d.ts +1 -0
  89. package/dist/tsconfig.tsbuildinfo +1 -1
  90. package/package.json +2 -2
@@ -1,13 +1,15 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import { CurveType } from '../constants';
3
+ import { CalculatePriceOptions } from './types';
3
4
  export declare abstract class BaseCurve {
4
5
  dynamicThreshold: number;
6
+ curveLimit: number;
5
7
  curveType: CurveType;
6
- abstract calculateCostForNTokens(nAmount: bigint, curvePosition: bigint, totalSupply: bigint, decimalNr: number, collateralThreshold: bigint, collateralDecimals: number): bigint | undefined;
7
- abstract tokensToMigrate(curveAllocation: bigint, totalSupply: bigint, decimals: number, collateralThreshold: bigint, collateralDecimals: number): bigint | undefined;
8
+ abstract calculateCostForNTokens(options: CalculatePriceOptions): bigint | undefined;
9
+ abstract tokensToMigrate(coefA: BigNumber, coefB: BigNumber, allocation: bigint, decimalsNr: number, migrationFee: number): bigint | undefined;
8
10
  abstract tokensToBurn(totalSupply: bigint, allocation: bigint, tokensToMigrate: bigint): bigint | undefined;
9
11
  abstract migrationFee(): bigint;
10
- abstract calculateCurvePrice(curvePosition: bigint, totalSupply: bigint, decimalNr: number, collateralThreshold: bigint, collateralDecimals: number): bigint | undefined;
11
- abstract getCoefA(totalSupply: bigint, decimalNr: number, collateralThreshold: bigint, collateralDecimals: number): BigNumber;
12
- abstract getCoefB(collateralDecimals: number): BigNumber;
12
+ abstract calculateCurvePrice(coefA: BigNumber, coefB: BigNumber, curvePosition: bigint, collateralDecimals: number): bigint | undefined;
13
+ abstract getCoefA(coef_b: BigNumber, totalSupply: bigint, decimalNr: number, marketcapThreshold: bigint, marketcapDecimalNr: number): BigNumber;
14
+ abstract getCoefB(collateralDecimalsNr: number): BigNumber;
13
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCurve.js","sourceRoot":"","sources":["../../../../src/domain/curves/BaseCurve.ts"],"names":[],"mappings":";;;AAGA,MAAsB,SAAS;CA8C9B;AA9CD,8BA8CC"}
1
+ {"version":3,"file":"BaseCurve.js","sourceRoot":"","sources":["../../../../src/domain/curves/BaseCurve.ts"],"names":[],"mappings":";;;AAIA,MAAsB,SAAS;CA2C9B;AA3CD,8BA2CC"}
@@ -1,16 +1,17 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import { BaseCurve } from './BaseCurve';
3
- import { CurveDefaults } from './types';
3
+ import { CalculatePriceOptions, CurveDefaults } from './types';
4
4
  export declare class LinearCurveV1 extends BaseCurve {
5
5
  dynamicThreshold: number;
6
6
  maxThreshold: number;
7
+ curveLimit: number;
7
8
  readonly curveDefaults: CurveDefaults;
8
9
  constructor();
9
- calculateCostForNTokens(nAmount: bigint, curvePosition: bigint, totalSupply: bigint, decimalNr: number, collateralThreshold: bigint, collateralDecimalsNr: number): bigint | undefined;
10
- tokensToMigrate(curveAllocation: bigint, totalSupply: bigint, decimalsNr: number, collateralThreshold: bigint, collateralDecimalsNr: number): bigint | undefined;
10
+ calculateCostForNTokens(options: CalculatePriceOptions): bigint | undefined;
11
+ tokensToMigrate(coefA: BigNumber, coefB: BigNumber, allocation: bigint, decimalsNr: number, migrationFee: number): bigint | undefined;
11
12
  tokensToBurn(totalSupply: bigint, allocation: bigint, tokensToMigrate: bigint): bigint | undefined;
12
13
  migrationFee(): bigint;
13
- calculateCurvePrice(curvePosition: bigint, totalSupply: bigint, decimalNr: number, collateralThreshold: bigint, collateralDecimalsNr: number): bigint | undefined;
14
- getCoefA(totalSupply: bigint, decimalNr: number, collateralThreshold: bigint, collateralDecimalsNr: number): BigNumber;
14
+ calculateCurvePrice(coefA: BigNumber, coefB: BigNumber, curvePosition: bigint, collateralDecimals: number): bigint | undefined;
15
+ getCoefA(coefB: BigNumber, totalSupply: bigint, decimalNr: number, marketcapThreshold: bigint, marketcapDecimalNr: number): BigNumber;
15
16
  getCoefB(collateralDecimalsNr: number): BigNumber;
16
17
  }
@@ -7,11 +7,13 @@ exports.LinearCurveV1 = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const constants_1 = require("../constants");
9
9
  const BaseCurve_1 = require("./BaseCurve");
10
+ bignumber_js_1.default.config({ DECIMAL_PLACES: 28 });
10
11
  class LinearCurveV1 extends BaseCurve_1.BaseCurve {
11
12
  constructor() {
12
13
  super();
13
14
  this.dynamicThreshold = 55;
14
15
  this.maxThreshold = 65;
16
+ this.curveLimit = 3300;
15
17
  this.curveDefaults = {
16
18
  tokenDecimals: 9,
17
19
  type: constants_1.CurveType.LINEAR_V1,
@@ -20,48 +22,50 @@ class LinearCurveV1 extends BaseCurve_1.BaseCurve {
20
22
  minAllocationTokenAmount: (BigInt(1e18) * BigInt(this.dynamicThreshold)) / 100n,
21
23
  maxAllocationTokenAmount: (BigInt(1e18) * BigInt(this.maxThreshold)) / 100n,
22
24
  marketCapThreshold: 500n * BigInt(1e9),
25
+ address: '11111111111111111111111111111111',
23
26
  };
24
27
  this.curveType = constants_1.CurveType.LINEAR_V1;
25
28
  }
26
- calculateCostForNTokens(nAmount, curvePosition, totalSupply, decimalNr, collateralThreshold, collateralDecimalsNr) {
27
- const coefA = this.getCoefA(totalSupply, decimalNr, collateralThreshold, collateralDecimalsNr);
28
- const decimals = new bignumber_js_1.default(10).pow(decimalNr);
29
- const collateralDecimalValue = new bignumber_js_1.default(10).pow(collateralDecimalsNr);
30
- const coefficientB = this.getCoefB(collateralDecimalsNr);
31
- const n = new bignumber_js_1.default(nAmount.toString()).div(decimals);
32
- const m = new bignumber_js_1.default(curvePosition.toString()).div(decimals);
33
- const cost = coefA
29
+ calculateCostForNTokens(options) {
30
+ const { coefA, coefB, nAmount, curvePosition, decimalsNr, collateralDecimalsNr, } = options;
31
+ const tokenDecimals = new bignumber_js_1.default(10).pow(decimalsNr);
32
+ const collateralDecimals = new bignumber_js_1.default(10).pow(collateralDecimalsNr);
33
+ const n = new bignumber_js_1.default(nAmount.toString()).dividedBy(tokenDecimals);
34
+ const m = new bignumber_js_1.default(curvePosition.toString()).dividedBy(tokenDecimals);
35
+ const two = new bignumber_js_1.default(2);
36
+ const half = new bignumber_js_1.default(0.5);
37
+ const result = half
38
+ .multipliedBy(coefA)
34
39
  .multipliedBy(n)
35
- .multipliedBy(new bignumber_js_1.default(2).multipliedBy(m).plus(n))
36
- .plus(coefficientB.multipliedBy(n))
37
- .multipliedBy(collateralDecimalValue);
40
+ .multipliedBy(two.multipliedBy(m).plus(n))
41
+ .plus(coefB.multipliedBy(n))
42
+ .multipliedBy(collateralDecimals);
38
43
  try {
39
- return BigInt(cost.toFixed(0));
44
+ return BigInt(result.toFixed(0));
40
45
  }
41
- catch (error) {
46
+ catch (e) {
42
47
  return undefined;
43
48
  }
44
49
  }
45
- tokensToMigrate(curveAllocation, totalSupply, decimalsNr, collateralThreshold, collateralDecimalsNr) {
46
- const coefA = this.getCoefA(totalSupply, decimalsNr, collateralThreshold, collateralDecimalsNr);
50
+ tokensToMigrate(coefA, coefB, allocation, decimalsNr, migrationFee) {
51
+ const decimalsPow = new bignumber_js_1.default(10).pow(decimalsNr);
52
+ const curveAllocationNormalized = new bignumber_js_1.default(allocation.toString()).dividedBy(decimalsPow);
53
+ const feeInCollateral = new bignumber_js_1.default(migrationFee).dividedBy(decimalsPow);
54
+ const half = new bignumber_js_1.default(0.5);
55
+ const numerator = half
56
+ .multipliedBy(coefA)
57
+ .multipliedBy(curveAllocationNormalized)
58
+ .multipliedBy(curveAllocationNormalized)
59
+ .plus(coefB.multipliedBy(curveAllocationNormalized))
60
+ .minus(feeInCollateral);
61
+ const denominator = coefA
62
+ .multipliedBy(curveAllocationNormalized)
63
+ .plus(coefB);
64
+ const result = numerator.dividedBy(denominator).multipliedBy(decimalsPow);
47
65
  try {
48
- const decimals = new bignumber_js_1.default(10).pow(decimalsNr);
49
- const collateralDecimals = new bignumber_js_1.default(10).pow(collateralDecimalsNr);
50
- const coefficientB = this.getCoefB(collateralDecimalsNr);
51
- const curveAllocationNormalized = new bignumber_js_1.default(curveAllocation.toString()).div(decimals);
52
- const feeInSol = new bignumber_js_1.default(this.migrationFee().toString()).div(collateralDecimals);
53
- const numerator = new bignumber_js_1.default(5)
54
- .multipliedBy(coefA)
55
- .multipliedBy(curveAllocationNormalized)
56
- .multipliedBy(curveAllocationNormalized)
57
- .plus(coefficientB.multipliedBy(curveAllocationNormalized))
58
- .minus(feeInSol);
59
- const denominator = coefA
60
- .multipliedBy(curveAllocationNormalized)
61
- .plus(coefficientB);
62
- return BigInt(numerator.div(denominator).multipliedBy(decimals).toFixed(0));
66
+ return BigInt(result.toFixed(0));
63
67
  }
64
- catch (error) {
68
+ catch (e) {
65
69
  return undefined;
66
70
  }
67
71
  }
@@ -69,48 +73,42 @@ class LinearCurveV1 extends BaseCurve_1.BaseCurve {
69
73
  if (totalSupply < allocation) {
70
74
  return undefined;
71
75
  }
72
- const remainingSupply = totalSupply - allocation;
73
- if (remainingSupply < tokensToMigrate) {
76
+ const remaining_supply = totalSupply - allocation;
77
+ if (remaining_supply < tokensToMigrate) {
74
78
  return undefined;
75
79
  }
76
- return remainingSupply - tokensToMigrate;
80
+ return remaining_supply - tokensToMigrate;
77
81
  }
78
82
  migrationFee() {
79
83
  return BigInt(2000000000);
80
84
  }
81
- calculateCurvePrice(curvePosition, totalSupply, decimalNr, collateralThreshold, collateralDecimalsNr) {
82
- const coefA = this.getCoefA(totalSupply, decimalNr, collateralThreshold, collateralDecimalsNr);
83
- const decimals = new bignumber_js_1.default(10).pow(collateralDecimalsNr);
85
+ calculateCurvePrice(coefA, coefB, curvePosition, collateralDecimals) {
86
+ const decimals = new bignumber_js_1.default(10).pow(collateralDecimals);
84
87
  const x = new bignumber_js_1.default(curvePosition.toString());
85
- const coefficientB = this.getCoefB(collateralDecimalsNr);
88
+ const price = coefA
89
+ .multipliedBy(x)
90
+ .dividedBy(decimals)
91
+ .plus(coefB)
92
+ .multipliedBy(decimals);
86
93
  try {
87
- const price = coefA
88
- .multipliedBy(x)
89
- .div(decimals)
90
- .plus(coefficientB)
91
- .multipliedBy(decimals);
92
94
  return BigInt(price.toFixed(0));
93
95
  }
94
- catch (error) {
96
+ catch (e) {
95
97
  return undefined;
96
98
  }
97
99
  }
98
- getCoefA(totalSupply, decimalNr, collateralThreshold, collateralDecimalsNr) {
99
- const decimals = new bignumber_js_1.default(10).pow(decimalNr);
100
- const collateralDecimals = new bignumber_js_1.default(10).pow(collateralDecimalsNr);
101
- const coefficientB = this.getCoefB(collateralDecimalsNr);
102
- const dynamicThreshold = new bignumber_js_1.default(this.dynamicThreshold.toString()).div(100);
103
- const dynamicThresholdInTokens = new bignumber_js_1.default(totalSupply.toString())
100
+ getCoefA(coefB, totalSupply, decimalNr, marketcapThreshold, marketcapDecimalNr) {
101
+ const tokenDecimals = new bignumber_js_1.default(10).pow(decimalNr);
102
+ const marketcapDecimals = new bignumber_js_1.default(10).pow(marketcapDecimalNr);
103
+ const dynamicThreshold = new bignumber_js_1.default(this.dynamicThreshold.toString()).dividedBy(100);
104
+ const dynamicThresholdInWholeUnit = new bignumber_js_1.default(totalSupply.toString())
104
105
  .multipliedBy(dynamicThreshold)
105
- .div(decimals);
106
- const collateralThresholdInSol = new bignumber_js_1.default(collateralThreshold.toString()).div(collateralDecimals);
107
- const numerator = new bignumber_js_1.default(2)
108
- .multipliedBy(collateralThresholdInSol)
109
- .minus(new bignumber_js_1.default(2)
110
- .multipliedBy(coefficientB)
111
- .multipliedBy(dynamicThresholdInTokens));
112
- const denominator = dynamicThresholdInTokens;
113
- return numerator.div(denominator).div(denominator);
106
+ .dividedBy(tokenDecimals);
107
+ const marketcapThresholdInWholeUnit = new bignumber_js_1.default(marketcapThreshold.toString()).dividedBy(marketcapDecimals);
108
+ return marketcapThresholdInWholeUnit
109
+ .dividedBy(dynamicThresholdInWholeUnit)
110
+ .minus(coefB)
111
+ .dividedBy(dynamicThresholdInWholeUnit);
114
112
  }
115
113
  getCoefB(collateralDecimalsNr) {
116
114
  return new bignumber_js_1.default(1).dividedBy(new bignumber_js_1.default(10).pow(collateralDecimalsNr));
@@ -1 +1 @@
1
- {"version":3,"file":"LinearCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/LinearCurveV1.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,4CAAyC;AACzC,2CAAwC;AAGxC,MAAa,aAAc,SAAQ,qBAAS;IAgB1C;QACE,KAAK,EAAE,CAAC;QAhBV,qBAAgB,GAAG,EAAE,CAAC;QAEtB,iBAAY,GAAG,EAAE,CAAC;QAET,kBAAa,GAAkB;YACtC,aAAa,EAAE,CAAC;YAChB,IAAI,EAAE,qBAAS,CAAC,SAAS;YACzB,MAAM,EAAE,GAAG;YACX,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC;YACzB,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,kBAAkB,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;SAC9B,CAAC;QAIT,IAAI,CAAC,SAAS,GAAG,qBAAS,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,uBAAuB,CACrB,OAAe,EACf,aAAqB,EACrB,WAAmB,EACnB,SAAiB,EACjB,mBAA2B,EAC3B,oBAA4B;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CACzB,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,sBAAsB,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEzD,MAAM,CAAC,GAAG,IAAI,sBAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,IAAI,sBAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAGhE,MAAM,IAAI,GAAG,KAAK;aACf,YAAY,CAAC,CAAC,CAAC;aACf,YAAY,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACtD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAClC,YAAY,CAAC,sBAAsB,CAAC,CAAC;QAExC,IAAI;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAChC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAED,eAAe,CACb,eAAuB,EACvB,WAAmB,EACnB,UAAkB,EAClB,mBAA2B,EAC3B,oBAA4B;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CACzB,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;QAEF,IAAI;YACF,MAAM,QAAQ,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,kBAAkB,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACvE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAEzD,MAAM,yBAAyB,GAAG,IAAI,sBAAS,CAC7C,eAAe,CAAC,QAAQ,EAAE,CAC3B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAChE,kBAAkB,CACnB,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC;iBAC/B,YAAY,CAAC,KAAK,CAAC;iBACnB,YAAY,CAAC,yBAAyB,CAAC;iBACvC,YAAY,CAAC,yBAAyB,CAAC;iBACvC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;iBAC1D,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEnB,MAAM,WAAW,GAAG,KAAK;iBACtB,YAAY,CAAC,yBAAyB,CAAC;iBACvC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEtB,OAAO,MAAM,CACX,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAC7D,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAED,YAAY,CACV,WAAmB,EACnB,UAAkB,EAClB,eAAuB;QAEvB,IAAI,WAAW,GAAG,UAAU,EAAE;YAC5B,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,eAAe,GAAG,WAAW,GAAG,UAAU,CAAC;QAEjD,IAAI,eAAe,GAAG,eAAe,EAAE;YACrC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,YAAY;QACV,OAAO,MAAM,CAAC,UAAa,CAAC,CAAC;IAC/B,CAAC;IAED,mBAAmB,CACjB,aAAqB,EACrB,WAAmB,EACnB,SAAiB,EACjB,mBAA2B,EAC3B,oBAA4B;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CACzB,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,IAAI,sBAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEzD,IAAI;YACF,MAAM,KAAK,GAAG,KAAK;iBAChB,YAAY,CAAC,CAAC,CAAC;iBACf,GAAG,CAAC,QAAQ,CAAC;iBACb,IAAI,CAAC,YAAY,CAAC;iBAClB,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAED,QAAQ,CACN,WAAmB,EACnB,SAAiB,EACjB,mBAA2B,EAC3B,oBAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEzD,MAAM,gBAAgB,GAAG,IAAI,sBAAS,CACpC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CACjC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,wBAAwB,GAAG,IAAI,sBAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;aACnE,YAAY,CAAC,gBAAgB,CAAC;aAC9B,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjB,MAAM,wBAAwB,GAAG,IAAI,sBAAS,CAC5C,mBAAmB,CAAC,QAAQ,EAAE,CAC/B,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAE1B,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC;aAC/B,YAAY,CAAC,wBAAwB,CAAC;aACtC,KAAK,CACJ,IAAI,sBAAS,CAAC,CAAC,CAAC;aACb,YAAY,CAAC,YAAY,CAAC;aAC1B,YAAY,CAAC,wBAAwB,CAAC,CAC1C,CAAC;QAEJ,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAE7C,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,oBAA4B;QACnC,OAAO,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAC/B,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAC5C,CAAC;IACJ,CAAC;CACF;AA5LD,sCA4LC"}
1
+ {"version":3,"file":"LinearCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/LinearCurveV1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CurveType } from '../constants';
2
+ import { BaseCurve } from './BaseCurve';
3
+ export declare const getCurve: (curveType: CurveType) => BaseCurve;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCurve = void 0;
4
+ const constants_1 = require("../constants");
5
+ const LinearCurveV1_1 = require("./LinearCurveV1");
6
+ const getCurve = (curveType) => {
7
+ if (curveType === constants_1.CurveType.LINEAR_V1) {
8
+ return new LinearCurveV1_1.LinearCurveV1();
9
+ }
10
+ throw new Error('Curve type not supported');
11
+ };
12
+ exports.getCurve = getCurve;
13
+ //# sourceMappingURL=getCurve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCurve.js","sourceRoot":"","sources":["../../../../src/domain/curves/getCurve.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAEzC,mDAAgD;AAEzC,MAAM,QAAQ,GAAG,CAAC,SAAoB,EAAa,EAAE;IAC1D,IAAI,SAAS,KAAK,qBAAS,CAAC,SAAS,EAAE;QACrC,OAAO,IAAI,6BAAa,EAAE,CAAC;KAC5B;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC,CAAC;AALW,QAAA,QAAQ,YAKnB"}
@@ -1,3 +1,4 @@
1
1
  export * from './BaseCurve';
2
2
  export * from './LinearCurveV1';
3
3
  export * from './types';
4
+ export * from './getCurve';
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./BaseCurve"), exports);
18
18
  __exportStar(require("./LinearCurveV1"), exports);
19
19
  __exportStar(require("./types"), exports);
20
+ __exportStar(require("./getCurve"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/curves/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kDAAgC;AAChC,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/curves/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kDAAgC;AAChC,0CAAwB;AACxB,6CAA2B"}
@@ -4,15 +4,21 @@ const LinearCurveV1_1 = require("../LinearCurveV1");
4
4
  describe('LinearCurveV1', () => {
5
5
  let curve;
6
6
  const totalSupply = BigInt((1e18).toString());
7
- const decimalNr = 9;
8
- const collateralThreshold = BigInt(200e9);
9
- const collateralDecimals = 9;
7
+ const decimalsNr = 9;
8
+ const marketcapThreshold = BigInt(500e9);
9
+ const marketcapDecimalsNr = 9;
10
+ const collateralDecimalsNr = 9;
11
+ const migrationFee = 2;
12
+ let coefA;
13
+ let coefB;
10
14
  beforeAll(() => {
11
15
  curve = new LinearCurveV1_1.LinearCurveV1();
12
16
  });
13
- describe('getCoeeficientA', () => {
14
- it('should get coefficient a value', () => {
15
- const coefA = curve.getCoefA(totalSupply, decimalNr, collateralThreshold, collateralDecimals);
17
+ describe('getCoeficients', () => {
18
+ it('should get coefficient a and b value', () => {
19
+ coefB = curve.getCoefB(collateralDecimalsNr);
20
+ expect(coefB.toNumber()).toBe(1e-9);
21
+ coefA = curve.getCoefA(coefB, totalSupply, decimalsNr, marketcapThreshold, marketcapDecimalsNr);
16
22
  expect(coefA.toNumber()).toBeGreaterThan(1e-15);
17
23
  expect(coefA.toNumber()).toBeLessThan(2e-15);
18
24
  });
@@ -21,22 +27,21 @@ describe('LinearCurveV1', () => {
21
27
  it('should calculate the correct cost for 1e6 tokens', () => {
22
28
  const nAmount = BigInt(1e12);
23
29
  const curvePosition = BigInt(0);
24
- const expectedCost = curve.calculateCostForNTokens(nAmount, curvePosition, totalSupply, decimalNr, collateralThreshold, collateralDecimals);
30
+ const expectedCost = curve.calculateCostForNTokens({
31
+ coefA,
32
+ coefB,
33
+ nAmount,
34
+ curvePosition,
35
+ decimalsNr,
36
+ collateralDecimalsNr,
37
+ });
25
38
  expect(expectedCost).toBe(BigInt(1001));
26
39
  });
27
40
  });
28
- describe('tokensToBurn', () => {
29
- it('should calculate the correct tokens to burn after migration', () => {
30
- const allocation = BigInt(1e12);
31
- const tokensToMigrate = BigInt(2e17);
32
- const expectedBurn = curve.tokensToBurn(totalSupply, allocation, tokensToMigrate);
33
- expect(expectedBurn).toBeDefined();
34
- });
35
- });
36
41
  describe('tokensToMigrate', () => {
37
42
  it('should calculate the correct tokens to migrate based on allocation', () => {
38
43
  const curveAllocation = BigInt(5.5e17);
39
- const expectedMigrate = curve.tokensToMigrate(curveAllocation, totalSupply, decimalNr, collateralThreshold, collateralDecimals);
44
+ const expectedMigrate = curve.tokensToMigrate(coefA, coefB, curveAllocation, decimalsNr, migrationFee);
40
45
  expect(expectedMigrate).toBeDefined();
41
46
  });
42
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"LinearCurveV1.spec.js","sourceRoot":"","sources":["../../../../../src/domain/curves/tests/LinearCurveV1.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LinearCurveV1.spec.js","sourceRoot":"","sources":["../../../../../src/domain/curves/tests/LinearCurveV1.spec.ts"],"names":[],"mappings":";;AACA,oDAAiD;AAEjD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,KAAoB,CAAC;IACzB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,CAAC,CAAC;IACrB,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,mBAAmB,GAAG,CAAC,CAAC;IAC9B,MAAM,oBAAoB,GAAG,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,CAAC,CAAC;IAEvB,IAAI,KAAgB,CAAC;IACrB,IAAI,KAAgB,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,GAAG,IAAI,6BAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpC,KAAK,GAAG,KAAK,CAAC,QAAQ,CACpB,KAAK,EACL,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,KAAK,CAAC,uBAAuB,CAAC;gBACjD,KAAK;gBACL,KAAK;gBACL,OAAO;gBACP,aAAa;gBACb,UAAU;gBACV,oBAAoB;aACrB,CAAC,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC5E,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAC3C,KAAK,EACL,KAAK,EACL,eAAe,EACf,UAAU,EACV,YAAY,CACb,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CACrC,WAAW,EACX,UAAU,EACV,eAAe,CAChB,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import BigNumber from 'bignumber.js';
1
2
  import { CurveType, DefaultCurrencies } from '../constants';
2
3
  export declare type CurveDefaults = {
3
4
  tokenDecimals: number;
@@ -7,6 +8,7 @@ export declare type CurveDefaults = {
7
8
  minAllocationTokenAmount: bigint;
8
9
  maxAllocationTokenAmount: bigint;
9
10
  marketCapThreshold: bigint;
11
+ address: string;
10
12
  };
11
13
  export declare enum ContractCurrency {
12
14
  SOL = 0
@@ -16,3 +18,11 @@ export declare enum ContractCurveType {
16
18
  }
17
19
  export declare const toContractCurrency: (currency: DefaultCurrencies) => ContractCurrency;
18
20
  export declare const toContractCurveType: (curveType: CurveType) => ContractCurveType;
21
+ export interface CalculatePriceOptions {
22
+ coefA: BigNumber;
23
+ coefB: BigNumber;
24
+ nAmount: bigint;
25
+ curvePosition: bigint;
26
+ decimalsNr: number;
27
+ collateralDecimalsNr: number;
28
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domain/curves/types.ts"],"names":[],"mappings":";;;AAAA,4CAA4D;AAY5D,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,qDAAO,CAAA;AACT,CAAC,EAFW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAE3B;AAED,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IAC3B,mEAAa,CAAA;AACf,CAAC,EAFW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAE5B;AAEM,MAAM,kBAAkB,GAAG,CAChC,QAA2B,EACT,EAAE;IACpB,QAAQ,QAAQ,EAAE;QAChB,KAAK,6BAAiB,CAAC,GAAG;YACxB,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAC9B;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;KACtD;AACH,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,mBAAmB,GAAG,CACjC,SAAoB,EACD,EAAE;IACrB,QAAQ,SAAS,EAAE;QACjB,KAAK,qBAAS,CAAC,SAAS;YACtB,OAAO,iBAAiB,CAAC,SAAS,CAAC;QACrC;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;KACvD;AACH,CAAC,CAAC;AATW,QAAA,mBAAmB,uBAS9B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domain/curves/types.ts"],"names":[],"mappings":";;;AACA,4CAA4D;AAa5D,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,qDAAO,CAAA;AACT,CAAC,EAFW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAE3B;AAED,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IAC3B,mEAAa,CAAA;AACf,CAAC,EAFW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAE5B;AAEM,MAAM,kBAAkB,GAAG,CAChC,QAA2B,EACT,EAAE;IACpB,QAAQ,QAAQ,EAAE;QAChB,KAAK,6BAAiB,CAAC,GAAG;YACxB,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAC9B;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;KACtD;AACH,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,mBAAmB,GAAG,CACjC,SAAoB,EACD,EAAE;IACrB,QAAQ,SAAS,EAAE;QACjB,KAAK,qBAAS,CAAC,SAAS;YACtB,OAAO,iBAAiB,CAAC,SAAS,CAAC;QACrC;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;KACvD;AACH,CAAC,CAAC;AATW,QAAA,mBAAmB,uBAS9B"}
@@ -1,6 +1,3 @@
1
- export declare class BuyTxPrepareDto {
2
- creatorPK: string;
3
- amount: string;
4
- collateralAmount: string;
5
- slippageBps: number;
1
+ import { BaseTxPrepareDto } from '../../../tx/prepare';
2
+ export declare class BuyTxPrepareDto extends BaseTxPrepareDto {
6
3
  }
@@ -1,40 +1,8 @@
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
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.BuyTxPrepareDto = void 0;
13
- const class_validator_1 = require("class-validator");
14
- const class_transformer_1 = require("class-transformer");
15
- class BuyTxPrepareDto {
4
+ const prepare_1 = require("../../../tx/prepare");
5
+ class BuyTxPrepareDto extends prepare_1.BaseTxPrepareDto {
16
6
  }
17
- __decorate([
18
- (0, class_validator_1.IsString)(),
19
- (0, class_validator_1.IsNotEmpty)(),
20
- __metadata("design:type", String)
21
- ], BuyTxPrepareDto.prototype, "creatorPK", void 0);
22
- __decorate([
23
- (0, class_transformer_1.Transform)(({ value }) => BigInt(value)),
24
- (0, class_validator_1.IsString)(),
25
- (0, class_validator_1.IsNotEmpty)(),
26
- __metadata("design:type", String)
27
- ], BuyTxPrepareDto.prototype, "amount", void 0);
28
- __decorate([
29
- (0, class_transformer_1.Transform)(({ value }) => BigInt(value)),
30
- (0, class_validator_1.IsString)(),
31
- (0, class_validator_1.IsNotEmpty)(),
32
- __metadata("design:type", String)
33
- ], BuyTxPrepareDto.prototype, "collateralAmount", void 0);
34
- __decorate([
35
- (0, class_validator_1.IsNumber)(),
36
- (0, class_validator_1.IsNotEmpty)(),
37
- __metadata("design:type", Number)
38
- ], BuyTxPrepareDto.prototype, "slippageBps", void 0);
39
7
  exports.BuyTxPrepareDto = BuyTxPrepareDto;
40
8
  //# sourceMappingURL=BuyTxPrepare.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuyTxPrepare.dto.js","sourceRoot":"","sources":["../../../../../../../src/domain/model/buy/prepare/dtos/BuyTxPrepare.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAiE;AACjE,yDAA8C;AAE9C,MAAa,eAAe;CAkB3B;AAjBC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACK;AAElB;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+CACE;AAEf;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yDACY;AAEzB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;oDACO;AAjBtB,0CAkBC"}
1
+ {"version":3,"file":"BuyTxPrepare.dto.js","sourceRoot":"","sources":["../../../../../../../src/domain/model/buy/prepare/dtos/BuyTxPrepare.dto.ts"],"names":[],"mappings":";;;AAAA,iDAAuD;AAEvD,MAAa,eAAgB,SAAQ,0BAAgB;CAAG;AAAxD,0CAAwD"}
@@ -1,5 +1,3 @@
1
- import { Entity } from '../../../entity';
2
- export declare class BuyTxPrepareResponse extends Entity {
3
- transaction: string;
4
- token: string;
1
+ import { BaseTxPrepareResponse } from '../../../tx/prepare';
2
+ export declare class BuyTxPrepareResponse extends BaseTxPrepareResponse {
5
3
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BuyTxPrepareResponse = void 0;
4
- const entity_1 = require("../../../entity");
5
- class BuyTxPrepareResponse extends entity_1.Entity {
4
+ const prepare_1 = require("../../../tx/prepare");
5
+ class BuyTxPrepareResponse extends prepare_1.BaseTxPrepareResponse {
6
6
  }
7
7
  exports.BuyTxPrepareResponse = BuyTxPrepareResponse;
8
8
  //# sourceMappingURL=BuyTxPrepareResponse.entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuyTxPrepareResponse.entity.js","sourceRoot":"","sources":["../../../../../../../src/domain/model/buy/prepare/entities/BuyTxPrepareResponse.entity.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAMzC,MAAa,oBAAqB,SAAQ,eAAM;CAI/C;AAJD,oDAIC"}
1
+ {"version":3,"file":"BuyTxPrepareResponse.entity.js","sourceRoot":"","sources":["../../../../../../../src/domain/model/buy/prepare/entities/BuyTxPrepareResponse.entity.ts"],"names":[],"mappings":";;;AAAA,iDAA4D;AAE5D,MAAa,oBAAqB,SAAQ,+BAAqB;CAAG;AAAlE,oDAAkE"}
@@ -1 +1 @@
1
- {"version":3,"file":"BuyTxSubmitResponse.entity.js","sourceRoot":"","sources":["../../../../../../../src/domain/model/buy/submit/entities/BuyTxSubmitResponse.entity.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AAMnD,MAAa,mBAAoB,SAAQ,yBAAoB;CAAG;AAAhE,kDAAgE"}
1
+ {"version":3,"file":"BuyTxSubmitResponse.entity.js","sourceRoot":"","sources":["../../../../../../../src/domain/model/buy/submit/entities/BuyTxSubmitResponse.entity.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AAEnD,MAAa,mBAAoB,SAAQ,yBAAoB;CAAG;AAAhE,kDAAgE"}
@@ -9,4 +9,5 @@ export declare class CreateCurveDto {
9
9
  marketCapThreshold: bigint;
10
10
  marketCapCurrencyId: string;
11
11
  collateralCurrencyId: string;
12
+ address: string;
12
13
  }
@@ -56,5 +56,10 @@ __decorate([
56
56
  (0, class_validator_1.IsNotEmpty)(),
57
57
  __metadata("design:type", String)
58
58
  ], CreateCurveDto.prototype, "collateralCurrencyId", void 0);
59
+ __decorate([
60
+ (0, class_validator_1.IsString)(),
61
+ (0, class_validator_1.IsNotEmpty)(),
62
+ __metadata("design:type", String)
63
+ ], CreateCurveDto.prototype, "address", void 0);
59
64
  exports.CreateCurveDto = CreateCurveDto;
60
65
  //# sourceMappingURL=CreateCurve.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateCurve.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/curve/dtos/CreateCurve.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyE;AACzE,kDAA+C;AAE/C,MAAa,cAAc;CAiC1B;AAhCC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,qBAAS,CAAC;IACjB,IAAA,4BAAU,GAAE;;4CACG;AAEhB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8CACE;AAEf;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8CACE;AAEf;IAAC,IAAA,4BAAU,GAAE;;mDACO;AAEpB;IAAC,IAAA,4BAAU,GAAE;;gEACoB;AAEjC;IAAC,IAAA,4BAAU,GAAE;;gEACoB;AAEjC;IAAC,IAAA,4BAAU,GAAE;;0DACc;AAE3B;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2DACe;AAE5B;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;4DACgB;AAhC/B,wCAiCC"}
1
+ {"version":3,"file":"CreateCurve.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/curve/dtos/CreateCurve.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyE;AACzE,kDAA+C;AAE/C,MAAa,cAAc;CAqC1B;AApCC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,qBAAS,CAAC;IACjB,IAAA,4BAAU,GAAE;;4CACG;AAEhB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8CACE;AAEf;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8CACE;AAEf;IAAC,IAAA,4BAAU,GAAE;;mDACO;AAEpB;IAAC,IAAA,4BAAU,GAAE;;gEACoB;AAEjC;IAAC,IAAA,4BAAU,GAAE;;gEACoB;AAEjC;IAAC,IAAA,4BAAU,GAAE;;0DACc;AAE3B;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2DACe;AAE5B;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;4DACgB;AAE7B;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+CACG;AApClB,wCAqCC"}
@@ -8,6 +8,7 @@ export declare class Curve extends Entity {
8
8
  marketCapThreshold: bigint;
9
9
  type: CurveType;
10
10
  symbol: string;
11
+ address: string;
11
12
  feeBps: number;
12
13
  marketCapCurrency: BaseCurrency;
13
14
  collateralCurrency: BaseCurrency;
@@ -1 +1 @@
1
- {"version":3,"file":"Curve.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/curve/entities/Curve.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,yCAAsC;AAItC,MAAa,KAAM,SAAQ,eAAM;CAsBhC;AArBC;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;0CACpB;AAEpB;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;uDACP;AAEjC;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;uDACP;AAEjC;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;iDACb;AAX7B,sBAsBC"}
1
+ {"version":3,"file":"Curve.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/curve/entities/Curve.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,yCAAsC;AAItC,MAAa,KAAM,SAAQ,eAAM;CAwBhC;AAvBC;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;0CACpB;AAEpB;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;uDACP;AAEjC;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;uDACP;AAEjC;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;iDACb;AAX7B,sBAwBC"}
@@ -0,0 +1,4 @@
1
+ import { Entity } from '../../entity';
2
+ export declare class CurvePositionResponse extends Entity {
3
+ position: bigint;
4
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CurvePositionResponse = void 0;
4
+ const entity_1 = require("../../entity");
5
+ class CurvePositionResponse extends entity_1.Entity {
6
+ }
7
+ exports.CurvePositionResponse = CurvePositionResponse;
8
+ //# sourceMappingURL=CurvePositionResponse.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurvePositionResponse.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/curve/entities/CurvePositionResponse.entity.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAa,qBAAsB,SAAQ,eAAM;CAEhD;AAFD,sDAEC"}
@@ -1 +1,2 @@
1
1
  export * from './Curve.entity';
2
+ export * from './CurvePositionResponse.entity';
@@ -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("./Curve.entity"), exports);
18
+ __exportStar(require("./CurvePositionResponse.entity"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/domain/model/curve/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/domain/model/curve/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iEAA+C"}
@@ -4,7 +4,8 @@ export * from './buy';
4
4
  export * from './currency';
5
5
  export * from './curve';
6
6
  export * from './example';
7
- export * from './token-pair';
8
7
  export * from './mint';
9
- export * from './tx-token-payload';
8
+ export * from './sell';
9
+ export * from './token-pair';
10
10
  export * from './tx';
11
+ export * from './tx-token-payload';
@@ -20,8 +20,9 @@ __exportStar(require("./buy"), exports);
20
20
  __exportStar(require("./currency"), exports);
21
21
  __exportStar(require("./curve"), exports);
22
22
  __exportStar(require("./example"), exports);
23
- __exportStar(require("./token-pair"), exports);
24
23
  __exportStar(require("./mint"), exports);
25
- __exportStar(require("./tx-token-payload"), exports);
24
+ __exportStar(require("./sell"), exports);
25
+ __exportStar(require("./token-pair"), exports);
26
26
  __exportStar(require("./tx"), exports);
27
+ __exportStar(require("./tx-token-payload"), exports);
27
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,sDAAoC;AACpC,wCAAsB;AACtB,6CAA2B;AAC3B,0CAAwB;AACxB,4CAA0B;AAC1B,+CAA6B;AAC7B,yCAAuB;AACvB,qDAAmC;AACnC,uCAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,sDAAoC;AACpC,wCAAsB;AACtB,6CAA2B;AAC3B,0CAAwB;AACxB,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B;AAC7B,uCAAqB;AACrB,qDAAmC"}
@@ -0,0 +1,2 @@
1
+ export * from './prepare';
2
+ export * from './submit';