@heliofi/launchpad-common 1.0.3 → 1.0.5
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/constants/index.d.ts +1 -0
- package/dist/src/domain/constants/index.js +1 -0
- package/dist/src/domain/constants/index.js.map +1 -1
- package/dist/src/domain/constants/meteoraFees.d.ts +2 -0
- package/dist/src/domain/constants/meteoraFees.js +6 -0
- package/dist/src/domain/constants/meteoraFees.js.map +1 -0
- package/dist/src/domain/curves/AbstractCurve.d.ts +3 -2
- package/dist/src/domain/curves/AbstractCurve.js.map +1 -1
- package/dist/src/domain/curves/ConstantProductCurveV1.d.ts +4 -3
- package/dist/src/domain/curves/ConstantProductCurveV1.js +49 -20
- package/dist/src/domain/curves/ConstantProductCurveV1.js.map +1 -1
- package/dist/src/domain/curves/tests/ConstantProductV1.spec.js +45 -12
- package/dist/src/domain/curves/tests/ConstantProductV1.spec.js.map +1 -1
- package/dist/src/domain/curves/types.d.ts +9 -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/lp-token-lock-details/entities/FeeReceiver.entity.d.ts +10 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/FeeReceiver.entity.js +8 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/FeeReceiver.entity.js.map +1 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/LPTokenLockDetails.entity.d.ts +8 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/LPTokenLockDetails.entity.js +8 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/LPTokenLockDetails.entity.js.map +1 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/LPTokenTransaction.entity.d.ts +7 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/LPTokenTransaction.entity.js +8 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/LPTokenTransaction.entity.js.map +1 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/index.d.ts +2 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/index.js +19 -0
- package/dist/src/domain/model/lp-token-lock-details/entities/index.js.map +1 -0
- package/dist/src/domain/model/lp-token-lock-details/index.d.ts +1 -0
- package/dist/src/domain/model/lp-token-lock-details/index.js +18 -0
- package/dist/src/domain/model/lp-token-lock-details/index.js.map +1 -0
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapPrepare.dto.d.ts +2 -0
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapPrepare.dto.js +7 -1
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapPrepare.dto.js.map +1 -1
- package/dist/src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.d.ts +2 -0
- package/dist/src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.js +7 -0
- package/dist/src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.js.map +1 -1
- package/dist/src/domain/model/tx/prepare/dtos/TxPriority.dto.d.ts +6 -0
- package/dist/src/domain/model/tx/prepare/dtos/TxPriority.dto.js +40 -0
- package/dist/src/domain/model/tx/prepare/dtos/TxPriority.dto.js.map +1 -0
- package/dist/src/domain/model/tx/prepare/dtos/index.d.ts +1 -0
- package/dist/src/domain/model/tx/prepare/dtos/index.js +1 -0
- package/dist/src/domain/model/tx/prepare/dtos/index.js.map +1 -1
- package/dist/src/domain/model/tx-token-payload/SwapTxTokenPayload.d.ts +2 -0
- package/dist/src/domain/model/tx-token-payload/TxSubmitPriority.d.ts +6 -0
- package/dist/src/domain/model/tx-token-payload/TxSubmitPriority.js +3 -0
- package/dist/src/domain/model/tx-token-payload/TxSubmitPriority.js.map +1 -0
- package/dist/src/domain/model/tx-token-payload/TxTokenPayload.d.ts +2 -0
- package/dist/src/domain/model/tx-token-payload/index.d.ts +1 -0
- package/dist/src/domain/model/tx-token-payload/index.js +1 -0
- package/dist/src/domain/model/tx-token-payload/index.js.map +1 -1
- package/dist/src/domain/services/AmountService.d.ts +1 -0
- package/dist/src/domain/services/AmountService.js +4 -0
- package/dist/src/domain/services/AmountService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -34,4 +34,5 @@ __exportStar(require("./migrationDex"), exports);
|
|
|
34
34
|
__exportStar(require("./fixedSide"), exports);
|
|
35
35
|
__exportStar(require("./migrationTarget"), exports);
|
|
36
36
|
__exportStar(require("./feeReceiverType"), exports);
|
|
37
|
+
__exportStar(require("./meteoraFees"), exports);
|
|
37
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2DAAyC;AACzC,6CAA2B;AAC3B,8CAA4B;AAC5B,mDAAiC;AACjC,8CAA4B;AAC5B,mDAAiC;AACjC,6CAA2B;AAC3B,2CAAyB;AACzB,4DAA0C;AAC1C,0CAAwB;AACxB,oDAAkC;AAClC,6CAA2B;AAC3B,wCAAsB;AACtB,4CAA0B;AAC1B,mDAAiC;AACjC,iDAA+B;AAC/B,8CAA4B;AAC5B,oDAAkC;AAClC,oDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2DAAyC;AACzC,6CAA2B;AAC3B,8CAA4B;AAC5B,mDAAiC;AACjC,8CAA4B;AAC5B,mDAAiC;AACjC,6CAA2B;AAC3B,2CAAyB;AACzB,4DAA0C;AAC1C,0CAAwB;AACxB,oDAAkC;AAClC,6CAA2B;AAC3B,wCAAsB;AACtB,4CAA0B;AAC1B,mDAAiC;AACjC,iDAA+B;AAC/B,8CAA4B;AAC5B,oDAAkC;AAClC,oDAAkC;AAClC,gDAA8B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HELIO_FEE_PERCENTAGE = exports.PARTNER_FEE_PERCENTAGE = void 0;
|
|
4
|
+
exports.PARTNER_FEE_PERCENTAGE = 80;
|
|
5
|
+
exports.HELIO_FEE_PERCENTAGE = 20;
|
|
6
|
+
//# sourceMappingURL=meteoraFees.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meteoraFees.js","sourceRoot":"","sources":["../../../../src/domain/constants/meteoraFees.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAE5B,QAAA,oBAAoB,GAAG,EAAE,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { CalculationOptions } from './types';
|
|
2
|
+
import { CalculationOptions, GetMarketCapOptions, GetPriceOptions } from './types';
|
|
3
3
|
export declare abstract class AbstractCurve {
|
|
4
4
|
abstract getTokensAmountFromCollateral(options: CalculationOptions): bigint;
|
|
5
5
|
abstract getCollateralAmountFromTokens(options: CalculationOptions): bigint;
|
|
6
|
-
abstract getCollateralPrice(
|
|
6
|
+
abstract getCollateralPrice(options: GetPriceOptions): BigNumber;
|
|
7
|
+
abstract getMarketCap(options: GetMarketCapOptions): bigint;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractCurve.js","sourceRoot":"","sources":["../../../../src/domain/curves/AbstractCurve.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractCurve.js","sourceRoot":"","sources":["../../../../src/domain/curves/AbstractCurve.ts"],"names":[],"mappings":";;;AAOA,MAAsB,aAAa;CAQlC;AARD,sCAQC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import BigNumber from '../../config/bigNumber';
|
|
2
2
|
import { AbstractCurve } from './AbstractCurve';
|
|
3
|
-
import { CalculationOptions, CurveDefaults } from './types';
|
|
3
|
+
import { CalculationOptions, CurveDefaults, GetMarketCapOptions, GetPriceOptions } from './types';
|
|
4
4
|
export declare class ConstantProductCurveV1 extends AbstractCurve {
|
|
5
5
|
initialVirtualTokenReserves: bigint;
|
|
6
6
|
initialVirtualCollateralReserves: bigint;
|
|
@@ -8,15 +8,16 @@ export declare class ConstantProductCurveV1 extends AbstractCurve {
|
|
|
8
8
|
constantProduct: bigint;
|
|
9
9
|
dynamicThreshold: number;
|
|
10
10
|
maxThreshold: number;
|
|
11
|
+
marketCapToMinimalTokens: Map<bigint, bigint>;
|
|
11
12
|
readonly curveDefaults: CurveDefaults;
|
|
12
13
|
getTokensAmountFromCollateral(options: CalculationOptions): bigint;
|
|
13
14
|
getCollateralAmountFromTokens(options: CalculationOptions): bigint;
|
|
14
|
-
getCollateralPrice(
|
|
15
|
+
getCollateralPrice(options: GetPriceOptions): BigNumber;
|
|
16
|
+
getMarketCap(options: GetMarketCapOptions): bigint;
|
|
15
17
|
getDynamicThresholdFromMarketCap(marketCapThreshold: bigint): bigint;
|
|
16
18
|
private buyInToken;
|
|
17
19
|
private buyInCollateral;
|
|
18
20
|
private sellInToken;
|
|
19
21
|
private sellInCollateral;
|
|
20
22
|
private getCurrentReserves;
|
|
21
|
-
private bigNumberToBigInt;
|
|
22
23
|
}
|
|
@@ -7,6 +7,7 @@ exports.ConstantProductCurveV1 = void 0;
|
|
|
7
7
|
const bigNumber_1 = __importDefault(require("../../config/bigNumber"));
|
|
8
8
|
const AbstractCurve_1 = require("./AbstractCurve");
|
|
9
9
|
const constants_1 = require("../constants");
|
|
10
|
+
const services_1 = require("../services");
|
|
10
11
|
class ConstantProductCurveV1 extends AbstractCurve_1.AbstractCurve {
|
|
11
12
|
constructor() {
|
|
12
13
|
super(...arguments);
|
|
@@ -16,6 +17,10 @@ class ConstantProductCurveV1 extends AbstractCurve_1.AbstractCurve {
|
|
|
16
17
|
this.constantProduct = this.initialVirtualTokenReserves * this.initialVirtualCollateralReserves;
|
|
17
18
|
this.dynamicThreshold = 80;
|
|
18
19
|
this.maxThreshold = 82;
|
|
20
|
+
this.marketCapToMinimalTokens = new Map([
|
|
21
|
+
[345000000000n, 799820983207404442n],
|
|
22
|
+
[20000000000n, 336771070069821177n],
|
|
23
|
+
]);
|
|
19
24
|
this.curveDefaults = {
|
|
20
25
|
type: constants_1.CurveType.CONSTANT_PRODUCT_V1,
|
|
21
26
|
totalSupply: BigInt(1e18),
|
|
@@ -43,34 +48,58 @@ class ConstantProductCurveV1 extends AbstractCurve_1.AbstractCurve {
|
|
|
43
48
|
const collateralAmount = this.sellInToken(amount, curvePosition);
|
|
44
49
|
return (collateralAmount - (collateralAmount * BigInt(platformFeeBps)) / 10000n);
|
|
45
50
|
}
|
|
46
|
-
getCollateralPrice(
|
|
51
|
+
getCollateralPrice(options) {
|
|
52
|
+
const { curvePosition, collateralDecimals } = options;
|
|
53
|
+
const finalCollateralDecimals = collateralDecimals ?? this.collateralDecimals;
|
|
47
54
|
const [currentVirtualTokenReserves, currentVirtualCollateralReserves] = this.getCurrentReserves(curvePosition);
|
|
48
|
-
const baseCollateral = BigInt(10 **
|
|
55
|
+
const baseCollateral = BigInt(10 ** finalCollateralDecimals);
|
|
49
56
|
const price = new bigNumber_1.default(currentVirtualCollateralReserves.toString()).div(new bigNumber_1.default(currentVirtualTokenReserves.toString()));
|
|
50
57
|
const inBaseUnits = price.multipliedBy(new bigNumber_1.default(baseCollateral.toString()));
|
|
51
58
|
return inBaseUnits;
|
|
52
59
|
}
|
|
60
|
+
getMarketCap(options) {
|
|
61
|
+
try {
|
|
62
|
+
const { curvePosition, tokenDecimals, collateralDecimals } = options;
|
|
63
|
+
const base = new bigNumber_1.default(10);
|
|
64
|
+
const baseTokens = base.pow(tokenDecimals ?? this.curveDefaults.tokenDecimals);
|
|
65
|
+
const curvePositionDecimal = new bigNumber_1.default(curvePosition.toString());
|
|
66
|
+
const price = this.getCollateralPrice({
|
|
67
|
+
curvePosition,
|
|
68
|
+
collateralDecimals,
|
|
69
|
+
});
|
|
70
|
+
const cap = price
|
|
71
|
+
.multipliedBy(curvePositionDecimal)
|
|
72
|
+
.dividedBy(baseTokens);
|
|
73
|
+
return BigInt(cap.integerValue(bigNumber_1.default.ROUND_FLOOR).toString());
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
throw new Error(`Calculation error: ${error}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
53
79
|
getDynamicThresholdFromMarketCap(marketCapThreshold) {
|
|
54
80
|
const baseTokens = BigInt(10 ** this.curveDefaults.tokenDecimals);
|
|
55
|
-
let low = 300000000n;
|
|
56
|
-
let high =
|
|
81
|
+
let low = 300000000n * baseTokens;
|
|
82
|
+
let high = 1000000000n * baseTokens;
|
|
83
|
+
let mid;
|
|
57
84
|
while (low < high) {
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
85
|
+
mid = (low + high + 1n) / 2n;
|
|
86
|
+
const marketCap = this.getMarketCap({ curvePosition: mid });
|
|
87
|
+
if (marketCap === marketCapThreshold) {
|
|
88
|
+
low = mid;
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
else if (marketCap < marketCapThreshold) {
|
|
92
|
+
low = mid;
|
|
63
93
|
}
|
|
64
94
|
else {
|
|
65
|
-
|
|
95
|
+
high = mid - 1n;
|
|
66
96
|
}
|
|
67
97
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return low * baseTokens;
|
|
98
|
+
while (this.getMarketCap({ curvePosition: low }) >= marketCapThreshold &&
|
|
99
|
+
low > 0n) {
|
|
100
|
+
low -= 1n;
|
|
72
101
|
}
|
|
73
|
-
|
|
102
|
+
return low + 1n;
|
|
74
103
|
}
|
|
75
104
|
buyInToken(tokenAmount, curvePosition) {
|
|
76
105
|
const [currentVirtualTokenReserves, currentVirtualCollateralReserves] = this.getCurrentReserves(curvePosition);
|
|
@@ -102,11 +131,11 @@ class ConstantProductCurveV1 extends AbstractCurve_1.AbstractCurve {
|
|
|
102
131
|
}
|
|
103
132
|
getCurrentReserves(curvePosition) {
|
|
104
133
|
const currentVirtualTokenReserves = this.initialVirtualTokenReserves - curvePosition;
|
|
105
|
-
const currentVirtualCollateralReserves = this.constantProduct
|
|
106
|
-
return [
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
134
|
+
const currentVirtualCollateralReserves = (0, bigNumber_1.default)(this.constantProduct.toString()).div((0, bigNumber_1.default)(currentVirtualTokenReserves.toString()));
|
|
135
|
+
return [
|
|
136
|
+
currentVirtualTokenReserves,
|
|
137
|
+
services_1.AmountService.decimalToBigInt(currentVirtualCollateralReserves),
|
|
138
|
+
];
|
|
110
139
|
}
|
|
111
140
|
}
|
|
112
141
|
exports.ConstantProductCurveV1 = ConstantProductCurveV1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstantProductCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/ConstantProductCurveV1.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,mDAAgD;
|
|
1
|
+
{"version":3,"file":"ConstantProductCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/ConstantProductCurveV1.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,21 +78,54 @@ describe('ConstantProductCurveV1', () => {
|
|
|
78
78
|
expect(result).toBe(expectedCollateralWithoutTax);
|
|
79
79
|
});
|
|
80
80
|
});
|
|
81
|
-
describe('
|
|
82
|
-
it('should calculate
|
|
83
|
-
const
|
|
84
|
-
|
|
81
|
+
describe('getMarketCap', () => {
|
|
82
|
+
it('should calculate marketcap for 340M', () => {
|
|
83
|
+
const curvePosition = BigInt(340e15);
|
|
84
|
+
const result = curve.getMarketCap({ curvePosition });
|
|
85
|
+
const mcapInWholeUnits = result / BigInt(1e9);
|
|
86
|
+
expect(mcapInWholeUnits).toBe(20n);
|
|
85
87
|
});
|
|
86
|
-
it('should calculate
|
|
87
|
-
const
|
|
88
|
-
|
|
88
|
+
it('should calculate marketcap for 700M', () => {
|
|
89
|
+
const curvePosition = BigInt(700e15);
|
|
90
|
+
const result = curve.getMarketCap({ curvePosition });
|
|
91
|
+
const mcapInWholeUnits = result / BigInt(1e9);
|
|
92
|
+
expect(mcapInWholeUnits).toBe(161n);
|
|
89
93
|
});
|
|
90
|
-
it('should calculate
|
|
91
|
-
const
|
|
92
|
-
|
|
94
|
+
it('should calculate marketcap for 800M', () => {
|
|
95
|
+
const curvePosition = BigInt(800e15);
|
|
96
|
+
const result = curve.getMarketCap({ curvePosition });
|
|
97
|
+
const mcapInWholeUnits = result / BigInt(1e9);
|
|
98
|
+
expect(mcapInWholeUnits).toBe(345n);
|
|
93
99
|
});
|
|
94
|
-
it('should
|
|
95
|
-
|
|
100
|
+
it('should calculate marketcap for 820M', () => {
|
|
101
|
+
const curvePosition = BigInt(820e15);
|
|
102
|
+
const result = curve.getMarketCap({ curvePosition });
|
|
103
|
+
const mcapInWholeUnits = result / BigInt(1e9);
|
|
104
|
+
expect(mcapInWholeUnits).toBe(412n);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
describe('getMinimalTokensFromMarketCap', () => {
|
|
108
|
+
it('should get correct nr of minimal tokens for 345 SOL mcap', () => {
|
|
109
|
+
const mcap = 345000000000n;
|
|
110
|
+
const minimalTokenAmount = curve.marketCapToMinimalTokens.get(mcap) || 0n;
|
|
111
|
+
expect(minimalTokenAmount).toBeGreaterThan(0n);
|
|
112
|
+
const result = curve.getMarketCap({ curvePosition: minimalTokenAmount });
|
|
113
|
+
expect(result).toBe(mcap);
|
|
114
|
+
const previousMUnitTokenMcap = curve.getMarketCap({
|
|
115
|
+
curvePosition: minimalTokenAmount - 1n,
|
|
116
|
+
});
|
|
117
|
+
expect(curve.getMarketCap({ curvePosition: previousMUnitTokenMcap })).toBeLessThan(mcap);
|
|
118
|
+
});
|
|
119
|
+
it('should get correct nr of minimal tokens for 20 SOL mcap', () => {
|
|
120
|
+
const mcap = 20000000000n;
|
|
121
|
+
const minimalTokenAmount = curve.marketCapToMinimalTokens.get(mcap) || 0n;
|
|
122
|
+
expect(minimalTokenAmount).toBeGreaterThan(0n);
|
|
123
|
+
const result = curve.getMarketCap({ curvePosition: minimalTokenAmount });
|
|
124
|
+
expect(result).toBe(mcap);
|
|
125
|
+
const previousMUnitTokenMcap = curve.getMarketCap({
|
|
126
|
+
curvePosition: minimalTokenAmount - 1n,
|
|
127
|
+
});
|
|
128
|
+
expect(curve.getMarketCap({ curvePosition: previousMUnitTokenMcap })).toBeLessThan(mcap);
|
|
96
129
|
});
|
|
97
130
|
});
|
|
98
131
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstantProductV1.spec.js","sourceRoot":"","sources":["../../../../../src/domain/curves/tests/ConstantProductV1.spec.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ConstantProductV1.spec.js","sourceRoot":"","sources":["../../../../../src/domain/curves/tests/ConstantProductV1.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,3 +75,12 @@ export interface CalculationOptions {
|
|
|
75
75
|
platformFeeBps: number;
|
|
76
76
|
tradeDirection: 'BUY' | 'SELL';
|
|
77
77
|
}
|
|
78
|
+
export interface GetPriceOptions {
|
|
79
|
+
curvePosition: bigint;
|
|
80
|
+
collateralDecimals?: number;
|
|
81
|
+
}
|
|
82
|
+
export interface GetMarketCapOptions {
|
|
83
|
+
curvePosition: bigint;
|
|
84
|
+
tokenDecimals?: number;
|
|
85
|
+
collateralDecimals?: number;
|
|
86
|
+
}
|
|
@@ -28,4 +28,5 @@ __exportStar(require("./tx"), exports);
|
|
|
28
28
|
__exportStar(require("./tx-token-payload"), exports);
|
|
29
29
|
__exportStar(require("./raydium-swap"), exports);
|
|
30
30
|
__exportStar(require("./top-token-holders"), exports);
|
|
31
|
+
__exportStar(require("./lp-token-lock-details"), exports);
|
|
31
32
|
//# 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"}
|
|
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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FeeReceiverType } from '../../../constants';
|
|
2
|
+
import { Entity } from '../../entity';
|
|
3
|
+
import { LPTokenTransaction } from './LPTokenTransaction.entity';
|
|
4
|
+
export declare class FeeReceiver extends Entity {
|
|
5
|
+
type: FeeReceiverType;
|
|
6
|
+
lpTokensAllocated?: string;
|
|
7
|
+
moonshotTokensHeld?: string;
|
|
8
|
+
walletAddress: string;
|
|
9
|
+
transactions: LPTokenTransaction[];
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FeeReceiver = void 0;
|
|
4
|
+
const entity_1 = require("../../entity");
|
|
5
|
+
class FeeReceiver extends entity_1.Entity {
|
|
6
|
+
}
|
|
7
|
+
exports.FeeReceiver = FeeReceiver;
|
|
8
|
+
//# sourceMappingURL=FeeReceiver.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeeReceiver.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/lp-token-lock-details/entities/FeeReceiver.entity.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AAGtC,MAAa,WAAY,SAAQ,eAAM;CAUtC;AAVD,kCAUC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LPTokenLockDetails = void 0;
|
|
4
|
+
const entity_1 = require("../../entity");
|
|
5
|
+
class LPTokenLockDetails extends entity_1.Entity {
|
|
6
|
+
}
|
|
7
|
+
exports.LPTokenLockDetails = LPTokenLockDetails;
|
|
8
|
+
//# sourceMappingURL=LPTokenLockDetails.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LPTokenLockDetails.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/lp-token-lock-details/entities/LPTokenLockDetails.entity.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAGtC,MAAa,kBAAmB,SAAQ,eAAM;CAQ7C;AARD,gDAQC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LPTokenTransaction = void 0;
|
|
4
|
+
const entity_1 = require("../../entity");
|
|
5
|
+
class LPTokenTransaction extends entity_1.Entity {
|
|
6
|
+
}
|
|
7
|
+
exports.LPTokenTransaction = LPTokenTransaction;
|
|
8
|
+
//# sourceMappingURL=LPTokenTransaction.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LPTokenTransaction.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/lp-token-lock-details/entities/LPTokenTransaction.entity.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AAEtC,MAAa,kBAAmB,SAAQ,eAAM;CAM7C;AAND,gDAMC"}
|
|
@@ -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("./FeeReceiver.entity"), exports);
|
|
18
|
+
__exportStar(require("./LPTokenLockDetails.entity"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/domain/model/lp-token-lock-details/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,8DAA4C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './entities';
|
|
@@ -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("./entities"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/model/lp-token-lock-details/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SwapType } from '../../../constants';
|
|
2
|
+
import { TxPriorityDto } from '../../tx';
|
|
2
3
|
export declare class RaydiumSwapPrepareDto {
|
|
3
4
|
sender: string;
|
|
4
5
|
poolId: string;
|
|
@@ -10,4 +11,5 @@ export declare class RaydiumSwapPrepareDto {
|
|
|
10
11
|
feeMintAddress: string;
|
|
11
12
|
swapType?: SwapType;
|
|
12
13
|
priorityFee?: number;
|
|
14
|
+
priority?: TxPriorityDto;
|
|
13
15
|
}
|
|
@@ -14,6 +14,7 @@ const class_transformer_1 = require("class-transformer");
|
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
const constants_1 = require("../../../constants");
|
|
16
16
|
const validations_1 = require("../../../validations");
|
|
17
|
+
const tx_1 = require("../../tx");
|
|
17
18
|
class RaydiumSwapPrepareDto {
|
|
18
19
|
}
|
|
19
20
|
__decorate([
|
|
@@ -51,7 +52,6 @@ __decorate([
|
|
|
51
52
|
__decorate([
|
|
52
53
|
(0, class_transformer_1.Transform)(({ value }) => BigInt(value)),
|
|
53
54
|
(0, class_validator_1.IsNotEmpty)(),
|
|
54
|
-
(0, class_validator_1.Validate)(validations_1.MinBigInt),
|
|
55
55
|
__metadata("design:type", String)
|
|
56
56
|
], RaydiumSwapPrepareDto.prototype, "feeAmount", void 0);
|
|
57
57
|
__decorate([
|
|
@@ -70,5 +70,11 @@ __decorate([
|
|
|
70
70
|
(0, class_validator_1.IsOptional)(),
|
|
71
71
|
__metadata("design:type", Number)
|
|
72
72
|
], RaydiumSwapPrepareDto.prototype, "priorityFee", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, class_transformer_1.Type)(() => tx_1.TxPriorityDto),
|
|
75
|
+
(0, class_validator_1.ValidateNested)(),
|
|
76
|
+
(0, class_validator_1.IsOptional)(),
|
|
77
|
+
__metadata("design:type", tx_1.TxPriorityDto)
|
|
78
|
+
], RaydiumSwapPrepareDto.prototype, "priority", void 0);
|
|
73
79
|
exports.RaydiumSwapPrepareDto = RaydiumSwapPrepareDto;
|
|
74
80
|
//# sourceMappingURL=RaydiumSwapPrepare.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RaydiumSwapPrepare.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/raydium-swap/dtos/RaydiumSwapPrepare.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"RaydiumSwapPrepare.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/raydium-swap/dtos/RaydiumSwapPrepare.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAoD;AACpD,qDAQyB;AACzB,kDAA8C;AAC9C,sDAAiD;AACjD,iCAAyC;AAEzC,MAAa,qBAAqB;CAgDjC;AA/CC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACE;AAEf;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACE;AAEf;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;uDACI;AAEjB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACE;AAEf;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,uBAAS,CAAC;;uDACH;AAEjB;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,uBAAS,CAAC;;wDACF;AAElB;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,4BAAU,GAAE;;wDACK;AAElB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6DACU;AAEvB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,oBAAQ,CAAC;IAChB,IAAA,4BAAU,GAAE;;uDACO;AAEpB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACQ;AAErB;IAAC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,kBAAa,CAAC;IACzB,IAAA,gCAAc,GAAE;IAChB,IAAA,4BAAU,GAAE;8BACF,kBAAa;uDAAC;AA/C3B,sDAgDC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { FixedSide } from '../../../../constants';
|
|
2
|
+
import { TxPriorityDto } from './TxPriority.dto';
|
|
2
3
|
export declare class BaseTxPrepareDto {
|
|
3
4
|
creatorPK: string;
|
|
4
5
|
amount: string;
|
|
5
6
|
slippageBps: number;
|
|
6
7
|
collateralAmount?: string;
|
|
7
8
|
fixedSide?: FixedSide;
|
|
9
|
+
priority?: TxPriorityDto;
|
|
8
10
|
}
|
|
@@ -14,6 +14,7 @@ const class_validator_1 = require("class-validator");
|
|
|
14
14
|
const class_transformer_1 = require("class-transformer");
|
|
15
15
|
const validations_1 = require("../../../../validations");
|
|
16
16
|
const constants_1 = require("../../../../constants");
|
|
17
|
+
const TxPriority_dto_1 = require("./TxPriority.dto");
|
|
17
18
|
class BaseTxPrepareDto {
|
|
18
19
|
}
|
|
19
20
|
__decorate([
|
|
@@ -45,5 +46,11 @@ __decorate([
|
|
|
45
46
|
(0, class_validator_1.IsOptional)(),
|
|
46
47
|
__metadata("design:type", Number)
|
|
47
48
|
], BaseTxPrepareDto.prototype, "fixedSide", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, class_transformer_1.Type)(() => TxPriority_dto_1.TxPriorityDto),
|
|
51
|
+
(0, class_validator_1.ValidateNested)(),
|
|
52
|
+
(0, class_validator_1.IsOptional)(),
|
|
53
|
+
__metadata("design:type", TxPriority_dto_1.TxPriorityDto)
|
|
54
|
+
], BaseTxPrepareDto.prototype, "priority", void 0);
|
|
48
55
|
exports.BaseTxPrepareDto = BaseTxPrepareDto;
|
|
49
56
|
//# sourceMappingURL=BaseTxPrepare.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTxPrepare.dto.js","sourceRoot":"","sources":["../../../../../../../src/domain/model/tx/prepare/dtos/BaseTxPrepare.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
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;AAEjD,MAAa,gBAAgB;CA6B5B;AA5BC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mDACK;AAElB;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,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;AA5B3B,4CA6BC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
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.TxPriorityDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const validations_1 = require("../../../../validations");
|
|
16
|
+
class TxPriorityDto {
|
|
17
|
+
}
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, class_transformer_1.Transform)(({ value }) => BigInt(value)),
|
|
20
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
21
|
+
(0, class_validator_1.Validate)(validations_1.MinBigInt),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], TxPriorityDto.prototype, "priorityTipAmount", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsBoolean)(),
|
|
26
|
+
(0, class_validator_1.IsOptional)(),
|
|
27
|
+
__metadata("design:type", Boolean)
|
|
28
|
+
], TxPriorityDto.prototype, "frontRunningProtection", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, class_validator_1.IsBoolean)(),
|
|
31
|
+
(0, class_validator_1.IsOptional)(),
|
|
32
|
+
__metadata("design:type", Boolean)
|
|
33
|
+
], TxPriorityDto.prototype, "fastBestEffort", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, class_validator_1.IsBoolean)(),
|
|
36
|
+
(0, class_validator_1.IsOptional)(),
|
|
37
|
+
__metadata("design:type", Boolean)
|
|
38
|
+
], TxPriorityDto.prototype, "useStakedRPCs", void 0);
|
|
39
|
+
exports.TxPriorityDto = TxPriorityDto;
|
|
40
|
+
//# sourceMappingURL=TxPriority.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TxPriority.dto.js","sourceRoot":"","sources":["../../../../../../../src/domain/model/tx/prepare/dtos/TxPriority.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,qDAA8E;AAC9E,yDAAoD;AAEpD,MAAa,aAAa;CA6BzB;AA5BC;IAAC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,uBAAS,CAAC;;wDACM;AAO1B;IAAC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;6DACoB;AAKjC;IAAC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;qDACY;AAMzB;IAAC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;oDACW;AA5B1B,sCA6BC"}
|