@heliofi/launchpad-common 0.1.0 → 0.2.0-alpha
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/ProtocolVersion.d.ts +4 -0
- package/dist/src/domain/constants/ProtocolVersion.js +9 -0
- package/dist/src/domain/constants/ProtocolVersion.js.map +1 -0
- package/dist/src/domain/constants/curveType.d.ts +2 -1
- package/dist/src/domain/constants/curveType.js +1 -0
- package/dist/src/domain/constants/curveType.js.map +1 -1
- package/dist/src/domain/constants/dex.d.ts +3 -0
- package/dist/src/domain/constants/dex.js +8 -0
- package/dist/src/domain/constants/dex.js.map +1 -0
- package/dist/src/domain/constants/index.d.ts +7 -0
- package/dist/src/domain/constants/index.js +7 -0
- package/dist/src/domain/constants/index.js.map +1 -1
- package/dist/src/domain/constants/lpTokenAllocationState.d.ts +4 -0
- package/dist/src/domain/constants/lpTokenAllocationState.js +9 -0
- package/dist/src/domain/constants/lpTokenAllocationState.js.map +1 -0
- package/dist/src/domain/constants/migrationDex.d.ts +4 -0
- package/dist/src/domain/constants/migrationDex.js +9 -0
- package/dist/src/domain/constants/migrationDex.js.map +1 -0
- package/dist/src/domain/constants/partner.d.ts +3 -0
- package/dist/src/domain/constants/partner.js +8 -0
- package/dist/src/domain/constants/partner.js.map +1 -0
- package/dist/src/domain/constants/solMintAddress.d.ts +2 -0
- package/dist/src/domain/constants/solMintAddress.js +6 -0
- package/dist/src/domain/constants/solMintAddress.js.map +1 -0
- package/dist/src/domain/constants/swapType.d.ts +4 -0
- package/dist/src/domain/constants/swapType.js +9 -0
- package/dist/src/domain/constants/swapType.js.map +1 -0
- package/dist/src/domain/constants/txType.d.ts +2 -1
- package/dist/src/domain/constants/txType.js +1 -0
- package/dist/src/domain/constants/txType.js.map +1 -1
- package/dist/src/domain/curves/BaseCurve.d.ts +2 -1
- package/dist/src/domain/curves/BaseCurve.js +2 -1
- package/dist/src/domain/curves/BaseCurve.js.map +1 -1
- package/dist/src/domain/curves/ConstantProductCurveV1.d.ts +15 -0
- package/dist/src/domain/curves/ConstantProductCurveV1.js +69 -0
- package/dist/src/domain/curves/ConstantProductCurveV1.js.map +1 -0
- package/dist/src/domain/curves/Curve.d.ts +4 -0
- package/dist/src/domain/curves/Curve.js +7 -0
- package/dist/src/domain/curves/Curve.js.map +1 -0
- package/dist/src/domain/curves/CurveMethods.d.ts +4 -0
- package/dist/src/domain/curves/CurveMethods.js +7 -0
- package/dist/src/domain/curves/CurveMethods.js.map +1 -0
- package/dist/src/domain/curves/LinearCurveV1.d.ts +2 -0
- package/dist/src/domain/curves/LinearCurveV1.js +7 -4
- package/dist/src/domain/curves/LinearCurveV1.js.map +1 -1
- package/dist/src/domain/curves/getCurve.d.ts +2 -1
- package/dist/src/domain/curves/getCurve.js +4 -0
- package/dist/src/domain/curves/getCurve.js.map +1 -1
- package/dist/src/domain/curves/index.d.ts +2 -0
- package/dist/src/domain/curves/index.js +2 -0
- package/dist/src/domain/curves/index.js.map +1 -1
- package/dist/src/domain/curves/types.d.ts +6 -3
- package/dist/src/domain/curves/types.js +3 -0
- package/dist/src/domain/curves/types.js.map +1 -1
- package/dist/src/domain/model/currency/dtos/createCurrency.dto.d.ts +1 -0
- package/dist/src/domain/model/currency/dtos/createCurrency.dto.js +5 -0
- package/dist/src/domain/model/currency/dtos/createCurrency.dto.js.map +1 -1
- package/dist/src/domain/model/index.d.ts +1 -0
- package/dist/src/domain/model/index.js +1 -0
- package/dist/src/domain/model/index.js.map +1 -1
- package/dist/src/domain/model/lpLockDetails/dtos/AddAllocation.dto.d.ts +7 -0
- package/dist/src/domain/model/lpLockDetails/dtos/AddAllocation.dto.js +38 -0
- package/dist/src/domain/model/lpLockDetails/dtos/AddAllocation.dto.js.map +1 -0
- package/dist/src/domain/model/lpLockDetails/index.d.ts +1 -0
- package/dist/src/domain/model/lpLockDetails/index.js +18 -0
- package/dist/src/domain/model/lpLockDetails/index.js.map +1 -0
- package/dist/src/domain/model/mint/create/dtos/CreateMint.dto.d.ts +2 -0
- package/dist/src/domain/model/mint/create/dtos/CreateMint.dto.js +7 -0
- package/dist/src/domain/model/mint/create/dtos/CreateMint.dto.js.map +1 -1
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapGetPrice.dto.d.ts +6 -0
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapGetPrice.dto.js +40 -0
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapGetPrice.dto.js.map +1 -0
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapPrepare.dto.d.ts +9 -4
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapPrepare.dto.js +33 -8
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapPrepare.dto.js.map +1 -1
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapSubmit.dto.d.ts +1 -0
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapSubmit.dto.js +5 -0
- package/dist/src/domain/model/raydium-swap/dtos/RaydiumSwapSubmit.dto.js.map +1 -1
- package/dist/src/domain/model/raydium-swap/dtos/index.d.ts +1 -0
- package/dist/src/domain/model/raydium-swap/dtos/index.js +1 -0
- package/dist/src/domain/model/raydium-swap/dtos/index.js.map +1 -1
- package/dist/src/domain/model/raydium-swap/entities/RaydiumSwapPrepareResponse.entity.d.ts +1 -2
- package/dist/src/domain/model/raydium-swap/entities/RaydiumSwapPrepareResponse.entity.js.map +1 -1
- package/dist/src/domain/model/raydium-swap/entities/RaydiumSwapSubmitResponse.entity.d.ts +3 -1
- package/dist/src/domain/model/raydium-swap/entities/RaydiumSwapSubmitResponse.entity.js.map +1 -1
- package/dist/src/domain/model/token-pair/dtos/CreateTokenPair.dto.d.ts +3 -1
- package/dist/src/domain/model/token-pair/dtos/CreateTokenPair.dto.js +11 -0
- package/dist/src/domain/model/token-pair/dtos/CreateTokenPair.dto.js.map +1 -1
- package/dist/src/domain/model/token-pair/entities/TokenPair.entity.d.ts +2 -1
- package/dist/src/domain/model/token-pair/entities/TokenPair.entity.js.map +1 -1
- package/dist/src/domain/model/tx-token-payload/SwapTxTokenPayload.d.ts +10 -0
- package/dist/src/domain/model/tx-token-payload/SwapTxTokenPayload.js +3 -0
- package/dist/src/domain/model/tx-token-payload/SwapTxTokenPayload.js.map +1 -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/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProtocolVersion = void 0;
|
|
4
|
+
var ProtocolVersion;
|
|
5
|
+
(function (ProtocolVersion) {
|
|
6
|
+
ProtocolVersion["V1"] = "V1";
|
|
7
|
+
ProtocolVersion["V2"] = "V2";
|
|
8
|
+
})(ProtocolVersion = exports.ProtocolVersion || (exports.ProtocolVersion = {}));
|
|
9
|
+
//# sourceMappingURL=ProtocolVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtocolVersion.js","sourceRoot":"","sources":["../../../../src/domain/constants/ProtocolVersion.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,4BAAS,CAAA;IACT,4BAAS,CAAA;AACX,CAAC,EAHW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAG1B"}
|
|
@@ -4,5 +4,6 @@ exports.CurveType = void 0;
|
|
|
4
4
|
var CurveType;
|
|
5
5
|
(function (CurveType) {
|
|
6
6
|
CurveType["LINEAR_V1"] = "LINEAR_V1";
|
|
7
|
+
CurveType["CONSTANT_PRODUCT_V1"] = "CONSTANT_PRODUCT_V1";
|
|
7
8
|
})(CurveType = exports.CurveType || (exports.CurveType = {}));
|
|
8
9
|
//# sourceMappingURL=curveType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curveType.js","sourceRoot":"","sources":["../../../../src/domain/constants/curveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"curveType.js","sourceRoot":"","sources":["../../../../src/domain/constants/curveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,wDAA2C,CAAA;AAC7C,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dex.js","sourceRoot":"","sources":["../../../../src/domain/constants/dex.ts"],"names":[],"mappings":";;;AAAA,IAAY,GAEX;AAFD,WAAY,GAAG;IACb,0BAAmB,CAAA;AACrB,CAAC,EAFW,GAAG,GAAH,WAAG,KAAH,WAAG,QAEd"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './blockchain';
|
|
2
|
+
export * from './lpTokenAllocationState';
|
|
2
3
|
export * from './currency';
|
|
3
4
|
export * from './curveType';
|
|
4
5
|
export * from './generalNetwork';
|
|
@@ -8,3 +9,9 @@ export * from './txStatus';
|
|
|
8
9
|
export * from './txType';
|
|
9
10
|
export * from './txStatusTokenHeaderName';
|
|
10
11
|
export * from './infra';
|
|
12
|
+
export * from './ProtocolVersion';
|
|
13
|
+
export * from './swapType';
|
|
14
|
+
export * from './dex';
|
|
15
|
+
export * from './partner';
|
|
16
|
+
export * from './solMintAddress';
|
|
17
|
+
export * from './migrationDex';
|
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./blockchain"), exports);
|
|
18
|
+
__exportStar(require("./lpTokenAllocationState"), exports);
|
|
18
19
|
__exportStar(require("./currency"), exports);
|
|
19
20
|
__exportStar(require("./curveType"), exports);
|
|
20
21
|
__exportStar(require("./generalNetwork"), exports);
|
|
@@ -24,4 +25,10 @@ __exportStar(require("./txStatus"), exports);
|
|
|
24
25
|
__exportStar(require("./txType"), exports);
|
|
25
26
|
__exportStar(require("./txStatusTokenHeaderName"), exports);
|
|
26
27
|
__exportStar(require("./infra"), exports);
|
|
28
|
+
__exportStar(require("./ProtocolVersion"), exports);
|
|
29
|
+
__exportStar(require("./swapType"), exports);
|
|
30
|
+
__exportStar(require("./dex"), exports);
|
|
31
|
+
__exportStar(require("./partner"), exports);
|
|
32
|
+
__exportStar(require("./solMintAddress"), exports);
|
|
33
|
+
__exportStar(require("./migrationDex"), exports);
|
|
27
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,mDAAiC;AACjC,8CAA4B;AAC5B,mDAAiC;AACjC,6CAA2B;AAC3B,2CAAyB;AACzB,4DAA0C;AAC1C,0CAAwB"}
|
|
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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LpTokenAllocationState = void 0;
|
|
4
|
+
var LpTokenAllocationState;
|
|
5
|
+
(function (LpTokenAllocationState) {
|
|
6
|
+
LpTokenAllocationState["SUCCESS"] = "SUCCESS";
|
|
7
|
+
LpTokenAllocationState["FAILED"] = "FAILED";
|
|
8
|
+
})(LpTokenAllocationState = exports.LpTokenAllocationState || (exports.LpTokenAllocationState = {}));
|
|
9
|
+
//# sourceMappingURL=lpTokenAllocationState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lpTokenAllocationState.js","sourceRoot":"","sources":["../../../../src/domain/constants/lpTokenAllocationState.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,2CAAiB,CAAA;AACnB,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MigrationDex = void 0;
|
|
4
|
+
var MigrationDex;
|
|
5
|
+
(function (MigrationDex) {
|
|
6
|
+
MigrationDex["RAYDIUM"] = "RAYDIUM";
|
|
7
|
+
MigrationDex["METEORA"] = "METEORA";
|
|
8
|
+
})(MigrationDex = exports.MigrationDex || (exports.MigrationDex = {}));
|
|
9
|
+
//# sourceMappingURL=migrationDex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrationDex.js","sourceRoot":"","sources":["../../../../src/domain/constants/migrationDex.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;AACrB,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Partner = void 0;
|
|
4
|
+
var Partner;
|
|
5
|
+
(function (Partner) {
|
|
6
|
+
Partner["DEXSCREENER"] = "DEXSCREENER";
|
|
7
|
+
})(Partner = exports.Partner || (exports.Partner = {}));
|
|
8
|
+
//# sourceMappingURL=partner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner.js","sourceRoot":"","sources":["../../../../src/domain/constants/partner.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,sCAA2B,CAAA;AAC7B,CAAC,EAFW,OAAO,GAAP,eAAO,KAAP,eAAO,QAElB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WRAPPED_SOL_MINT = exports.SOL_MINT = void 0;
|
|
4
|
+
exports.SOL_MINT = '11111111111111111111111111111111';
|
|
5
|
+
exports.WRAPPED_SOL_MINT = 'So11111111111111111111111111111111111111112';
|
|
6
|
+
//# sourceMappingURL=solMintAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solMintAddress.js","sourceRoot":"","sources":["../../../../src/domain/constants/solMintAddress.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,kCAAkC,CAAC;AAC9C,QAAA,gBAAgB,GAAG,6CAA6C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwapType = void 0;
|
|
4
|
+
var SwapType;
|
|
5
|
+
(function (SwapType) {
|
|
6
|
+
SwapType["EXACT_IN"] = "EXACT_IN";
|
|
7
|
+
SwapType["EXACT_OUT"] = "EXACT_OUT";
|
|
8
|
+
})(SwapType = exports.SwapType || (exports.SwapType = {}));
|
|
9
|
+
//# sourceMappingURL=swapType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swapType.js","sourceRoot":"","sources":["../../../../src/domain/constants/swapType.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;AACzB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB"}
|
|
@@ -8,6 +8,7 @@ var TxType;
|
|
|
8
8
|
TxType["SELL"] = "SELL";
|
|
9
9
|
TxType["MIGRATE"] = "MIGRATE";
|
|
10
10
|
TxType["MINT_BUY"] = "MINT_BUY";
|
|
11
|
+
TxType["SWAP"] = "SWAP";
|
|
11
12
|
})(TxType = exports.TxType || (exports.TxType = {}));
|
|
12
13
|
exports.tradeTypes = [TxType.BUY, TxType.SELL, TxType.MINT_BUY];
|
|
13
14
|
//# sourceMappingURL=txType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txType.js","sourceRoot":"","sources":["../../../../src/domain/constants/txType.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"txType.js","sourceRoot":"","sources":["../../../../src/domain/constants/txType.ts"],"names":[],"mappings":";;;AAAA,IAAY,MAOX;AAPD,WAAY,MAAM;IAChB,uBAAa,CAAA;IACb,qBAAW,CAAA;IACX,uBAAa,CAAA;IACb,6BAAmB,CAAA;IACnB,+BAAqB,CAAA;IACrB,uBAAa,CAAA;AACf,CAAC,EAPW,MAAM,GAAN,cAAM,KAAN,cAAM,QAOjB;AAEY,QAAA,UAAU,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { CurveType } from '../constants';
|
|
3
3
|
import { CalculatePriceOptions, CalculateTokensOptions, GetCollateralPriceOptions, GetPriceForCurvePositionOptions, GetTokensNrFromCollateralOptions } from './types';
|
|
4
|
-
|
|
4
|
+
import { CurveMethods } from './CurveMethods';
|
|
5
|
+
export declare abstract class BaseCurve extends CurveMethods {
|
|
5
6
|
dynamicThreshold: number;
|
|
6
7
|
curveLimit: number;
|
|
7
8
|
curveType: CurveType;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseCurve = void 0;
|
|
4
|
-
|
|
4
|
+
const CurveMethods_1 = require("./CurveMethods");
|
|
5
|
+
class BaseCurve extends CurveMethods_1.CurveMethods {
|
|
5
6
|
getCollateralPrice(options) {
|
|
6
7
|
const coefB = this.getCoefB(options.coefB, options.collateralDecimalsNr);
|
|
7
8
|
const coefA = this.getCoefA(coefB, options.totalSupply, options.tokenDecimalsNr, options.marketCapThreshold, options.marketCapDecimalsNr);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCurve.js","sourceRoot":"","sources":["../../../../src/domain/curves/BaseCurve.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"BaseCurve.js","sourceRoot":"","sources":["../../../../src/domain/curves/BaseCurve.ts"],"names":[],"mappings":";;;AASA,iDAA8C;AAE9C,MAAsB,SAAU,SAAQ,2BAAY;IAOlD,kBAAkB,CAAC,OAAkC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CACzB,KAAK,EACL,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,mBAAmB,CAC5B,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC;YACnD,KAAK;YACL,KAAK;YACL,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,OAAO,CAAC,eAAe;YACnC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,yBAAyB,CAAC,OAAyC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CACzB,KAAK,EACL,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,mBAAmB,CAC5B,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,+BAA+B,CAAC;YACpD,KAAK;YACL,KAAK;YACL,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,OAAO,CAAC,eAAe;YACnC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,cAAc,EAAE,OAAO,CAAC,SAAS;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wBAAwB,CAAC,OAAwC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CACzB,KAAK,EACL,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,mBAAmB,CAC5B,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CACpC,KAAK,EACL,KAAK,EACL,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,oBAAoB,EAC5B,OAAO,CAAC,eAAe,CACxB,CAAC;QAEF,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CA8CF;AA9HD,8BA8HC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CurveMethods } from './CurveMethods';
|
|
2
|
+
export declare class ConstantProductCurveV1 extends CurveMethods {
|
|
3
|
+
initialVirtualTokenReserves: bigint;
|
|
4
|
+
initialVirtualCollateralReserves: bigint;
|
|
5
|
+
collateralDecimals: number;
|
|
6
|
+
constantProduct: bigint;
|
|
7
|
+
getTokensAmountFromCollateral(collateralAmount: bigint, curvePosition: bigint, tradeDirection: 'BUY' | 'SELL'): bigint;
|
|
8
|
+
getCollateralAmountFromTokens(tokenAmount: bigint, curvePosition: bigint, tradeDirection: 'BUY' | 'SELL'): bigint;
|
|
9
|
+
calculateCurvePrice(curvePosition: bigint): bigint;
|
|
10
|
+
private buyInToken;
|
|
11
|
+
private buyInCollateral;
|
|
12
|
+
private sellInToken;
|
|
13
|
+
private sellInCollateral;
|
|
14
|
+
private getCurrentReserves;
|
|
15
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ConstantProductCurveV1 = void 0;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
const CurveMethods_1 = require("./CurveMethods");
|
|
9
|
+
class ConstantProductCurveV1 extends CurveMethods_1.CurveMethods {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.initialVirtualTokenReserves = 1043000000000000000n;
|
|
13
|
+
this.initialVirtualCollateralReserves = 30000000000n;
|
|
14
|
+
this.collateralDecimals = 9;
|
|
15
|
+
this.constantProduct = this.initialVirtualTokenReserves * this.initialVirtualCollateralReserves;
|
|
16
|
+
}
|
|
17
|
+
getTokensAmountFromCollateral(collateralAmount, curvePosition, tradeDirection) {
|
|
18
|
+
return tradeDirection === 'BUY'
|
|
19
|
+
? this.buyInCollateral(collateralAmount, curvePosition)
|
|
20
|
+
: this.sellInCollateral(collateralAmount, curvePosition);
|
|
21
|
+
}
|
|
22
|
+
getCollateralAmountFromTokens(tokenAmount, curvePosition, tradeDirection) {
|
|
23
|
+
return tradeDirection === 'BUY'
|
|
24
|
+
? this.buyInToken(tokenAmount, curvePosition)
|
|
25
|
+
: this.sellInToken(tokenAmount, curvePosition);
|
|
26
|
+
}
|
|
27
|
+
calculateCurvePrice(curvePosition) {
|
|
28
|
+
const [currentVirtualTokenReserves, currentVirtualCollateralReserves] = this.getCurrentReserves(curvePosition);
|
|
29
|
+
const baseCollateral = BigInt(10 ** this.collateralDecimals);
|
|
30
|
+
const price = new bignumber_js_1.default(currentVirtualCollateralReserves.toString()).div(new bignumber_js_1.default(currentVirtualTokenReserves.toString()));
|
|
31
|
+
const inBaseUnits = price.multipliedBy(new bignumber_js_1.default(baseCollateral.toString()));
|
|
32
|
+
return BigInt(inBaseUnits.toFixed(0));
|
|
33
|
+
}
|
|
34
|
+
buyInToken(tokenAmount, curvePosition) {
|
|
35
|
+
const [currentVirtualTokenReserves, currentVirtualCollateralReserves] = this.getCurrentReserves(curvePosition);
|
|
36
|
+
const newTokenReserves = currentVirtualTokenReserves - tokenAmount;
|
|
37
|
+
const ratio = this.constantProduct / newTokenReserves;
|
|
38
|
+
const lamportsToSpend = ratio - currentVirtualCollateralReserves;
|
|
39
|
+
return lamportsToSpend;
|
|
40
|
+
}
|
|
41
|
+
buyInCollateral(collateralAmount, curvePosition) {
|
|
42
|
+
const [currentVirtualTokenReserves, currentVirtualCollateralReserves] = this.getCurrentReserves(curvePosition);
|
|
43
|
+
const newCollateralReserves = currentVirtualCollateralReserves + collateralAmount;
|
|
44
|
+
const ratio = this.constantProduct / newCollateralReserves;
|
|
45
|
+
const tokensToBuy = currentVirtualTokenReserves - ratio;
|
|
46
|
+
return tokensToBuy;
|
|
47
|
+
}
|
|
48
|
+
sellInToken(tokenAmount, curvePosition) {
|
|
49
|
+
const [currentVirtualTokenReserves, currentVirtualCollateralReserves] = this.getCurrentReserves(curvePosition);
|
|
50
|
+
const newTokenReserves = currentVirtualTokenReserves + tokenAmount;
|
|
51
|
+
const ratio = this.constantProduct / newTokenReserves;
|
|
52
|
+
const lamportsToReceive = currentVirtualCollateralReserves - ratio;
|
|
53
|
+
return lamportsToReceive;
|
|
54
|
+
}
|
|
55
|
+
sellInCollateral(collateralAmount, curvePosition) {
|
|
56
|
+
const [currentVirtualTokenReserves, currentVirtualCollateralReserves] = this.getCurrentReserves(curvePosition);
|
|
57
|
+
const newCollateralReserves = currentVirtualCollateralReserves - collateralAmount;
|
|
58
|
+
const ratio = this.constantProduct / newCollateralReserves;
|
|
59
|
+
const tokensToSell = ratio - currentVirtualTokenReserves;
|
|
60
|
+
return tokensToSell;
|
|
61
|
+
}
|
|
62
|
+
getCurrentReserves(curvePosition) {
|
|
63
|
+
const currentVirtualTokenReserves = this.initialVirtualTokenReserves - curvePosition;
|
|
64
|
+
const currentVirtualCollateralReserves = this.constantProduct / currentVirtualTokenReserves;
|
|
65
|
+
return [currentVirtualTokenReserves, currentVirtualCollateralReserves];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.ConstantProductCurveV1 = ConstantProductCurveV1;
|
|
69
|
+
//# sourceMappingURL=ConstantProductCurveV1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConstantProductCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/ConstantProductCurveV1.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,iDAA8C;AAE9C,MAAa,sBAAuB,SAAQ,2BAAY;IAAxD;;QACE,gCAA2B,GAAW,oBAA0B,CAAC;QAEjE,qCAAgC,GAAW,YAAe,CAAC;QAE3D,uBAAkB,GAAG,CAAC,CAAC;QAEvB,oBAAe,GACb,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,gCAAgC,CAAC;IAsF7E,CAAC;IApFC,6BAA6B,CAC3B,gBAAwB,EACxB,aAAqB,EACrB,cAA8B;QAE9B,OAAO,cAAc,KAAK,KAAK;YAC7B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,aAAa,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,6BAA6B,CAC3B,WAAmB,EACnB,aAAqB,EACrB,cAA8B;QAE9B,OAAO,cAAc,KAAK,KAAK;YAC7B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,mBAAmB,CAAC,aAAqB;QACvC,MAAM,CAAC,2BAA2B,EAAE,gCAAgC,CAAC,GACnE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,sBAAS,CACzB,gCAAgC,CAAC,QAAQ,EAAE,CAC5C,CAAC,GAAG,CAAC,IAAI,sBAAS,CAAC,2BAA2B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CACpC,IAAI,sBAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CACzC,CAAC;QACF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAEO,UAAU,CAAC,WAAmB,EAAE,aAAqB;QAC3D,MAAM,CAAC,2BAA2B,EAAE,gCAAgC,CAAC,GACnE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,2BAA2B,GAAG,WAAW,CAAC;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;QACtD,MAAM,eAAe,GAAG,KAAK,GAAG,gCAAgC,CAAC;QACjE,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,eAAe,CACrB,gBAAwB,EACxB,aAAqB;QAErB,MAAM,CAAC,2BAA2B,EAAE,gCAAgC,CAAC,GACnE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,qBAAqB,GACzB,gCAAgC,GAAG,gBAAgB,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC;QAC3D,MAAM,WAAW,GAAG,2BAA2B,GAAG,KAAK,CAAC;QACxD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,WAAW,CAAC,WAAmB,EAAE,aAAqB;QAC5D,MAAM,CAAC,2BAA2B,EAAE,gCAAgC,CAAC,GACnE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,2BAA2B,GAAG,WAAW,CAAC;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;QACtD,MAAM,iBAAiB,GAAG,gCAAgC,GAAG,KAAK,CAAC;QACnE,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,gBAAgB,CACtB,gBAAwB,EACxB,aAAqB;QAErB,MAAM,CAAC,2BAA2B,EAAE,gCAAgC,CAAC,GACnE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,qBAAqB,GACzB,gCAAgC,GAAG,gBAAgB,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC;QAC3D,MAAM,YAAY,GAAG,KAAK,GAAG,2BAA2B,CAAC;QACzD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,kBAAkB,CAAC,aAAqB;QAC9C,MAAM,2BAA2B,GAC/B,IAAI,CAAC,2BAA2B,GAAG,aAAa,CAAC;QACnD,MAAM,gCAAgC,GACpC,IAAI,CAAC,eAAe,GAAG,2BAA2B,CAAC;QACrD,OAAO,CAAC,2BAA2B,EAAE,gCAAgC,CAAC,CAAC;IACzE,CAAC;CACF;AA9FD,wDA8FC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare abstract class Curve {
|
|
2
|
+
abstract getTokensAmountFromCollateral(collateralAmount: bigint, curvePosition: bigint, tradeDirection?: 'BUY' | 'SELL'): bigint;
|
|
3
|
+
abstract getCollateralAmountFromTokens(collateralAmount: bigint, curvePosition: bigint, tradeDirection: 'BUY' | 'SELL'): bigint;
|
|
4
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Curve.js","sourceRoot":"","sources":["../../../../src/domain/curves/Curve.ts"],"names":[],"mappings":";;;AAAA,MAAsB,KAAK;CAY1B;AAZD,sBAYC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare abstract class CurveMethods {
|
|
2
|
+
abstract getTokensAmountFromCollateral(collateralAmount: bigint, curvePosition: bigint, tradeDirection?: 'BUY' | 'SELL'): bigint;
|
|
3
|
+
abstract getCollateralAmountFromTokens(collateralAmount: bigint, curvePosition: bigint, tradeDirection: 'BUY' | 'SELL'): bigint;
|
|
4
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CurveMethods.js","sourceRoot":"","sources":["../../../../src/domain/curves/CurveMethods.ts"],"names":[],"mappings":";;;AAAA,MAAsB,YAAY;CAYjC;AAZD,oCAYC"}
|
|
@@ -15,4 +15,6 @@ export declare class LinearCurveV1 extends BaseCurve {
|
|
|
15
15
|
calculateCurvePrice(coefA: BigNumber, coefB: BigNumber, curvePosition: bigint, collateralDecimalsNr: number, tokenDecimalsNr: number): bigint | undefined;
|
|
16
16
|
getCoefA(coefB: BigNumber, totalSupply: bigint, decimalNr: number, marketcapThreshold: bigint, marketcapDecimalNr: number): BigNumber;
|
|
17
17
|
getCoefB(coefBMinimalUnits: bigint, collateralDecimalsNr: number): BigNumber;
|
|
18
|
+
getTokensAmountFromCollateral(collateralAmount: bigint, curvePosition: bigint, tradeDirection?: 'BUY' | 'SELL'): bigint;
|
|
19
|
+
getCollateralAmountFromTokens(collateralAmount: bigint, curvePosition: bigint, tradeDirection: 'BUY' | 'SELL'): bigint;
|
|
18
20
|
}
|
|
@@ -15,15 +15,12 @@ class LinearCurveV1 extends BaseCurve_1.BaseCurve {
|
|
|
15
15
|
this.maxThreshold = 65;
|
|
16
16
|
this.curveLimit = 3300;
|
|
17
17
|
this.curveDefaults = {
|
|
18
|
-
tokenDecimals: 9,
|
|
19
18
|
type: constants_1.CurveType.LINEAR_V1,
|
|
20
|
-
feeBps: 100,
|
|
21
19
|
totalSupply: BigInt(1e18),
|
|
20
|
+
tokenDecimals: 9,
|
|
22
21
|
minAllocationTokenAmount: (BigInt(1e18) * BigInt(this.dynamicThreshold)) / 100n,
|
|
23
22
|
maxAllocationTokenAmount: (BigInt(1e18) * BigInt(this.maxThreshold)) / 100n,
|
|
24
|
-
marketCapThreshold: 500n * BigInt(1e9),
|
|
25
23
|
address: '11111111111111111111111111111111',
|
|
26
|
-
coefB: 10n,
|
|
27
24
|
};
|
|
28
25
|
this.curveType = constants_1.CurveType.LINEAR_V1;
|
|
29
26
|
}
|
|
@@ -144,6 +141,12 @@ class LinearCurveV1 extends BaseCurve_1.BaseCurve {
|
|
|
144
141
|
getCoefB(coefBMinimalUnits, collateralDecimalsNr) {
|
|
145
142
|
return new bignumber_js_1.default(String(coefBMinimalUnits)).dividedBy(new bignumber_js_1.default(10).pow(collateralDecimalsNr));
|
|
146
143
|
}
|
|
144
|
+
getTokensAmountFromCollateral(collateralAmount, curvePosition, tradeDirection) {
|
|
145
|
+
throw new Error('Method not implemented.');
|
|
146
|
+
}
|
|
147
|
+
getCollateralAmountFromTokens(collateralAmount, curvePosition, tradeDirection) {
|
|
148
|
+
throw new Error('Method not implemented.');
|
|
149
|
+
}
|
|
147
150
|
}
|
|
148
151
|
exports.LinearCurveV1 = LinearCurveV1;
|
|
149
152
|
//# sourceMappingURL=LinearCurveV1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/LinearCurveV1.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"LinearCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/LinearCurveV1.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { CurveType } from '../constants';
|
|
2
2
|
import { BaseCurve } from './BaseCurve';
|
|
3
|
-
|
|
3
|
+
import { CurveMethods } from './CurveMethods';
|
|
4
|
+
export declare const getCurve: (curveType: CurveType) => BaseCurve | CurveMethods;
|
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCurve = void 0;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
|
+
const ConstantProductCurveV1_1 = require("./ConstantProductCurveV1");
|
|
5
6
|
const LinearCurveV1_1 = require("./LinearCurveV1");
|
|
6
7
|
const getCurve = (curveType) => {
|
|
7
8
|
if (curveType === constants_1.CurveType.LINEAR_V1) {
|
|
8
9
|
return new LinearCurveV1_1.LinearCurveV1();
|
|
9
10
|
}
|
|
11
|
+
if (curveType === constants_1.CurveType.CONSTANT_PRODUCT_V1) {
|
|
12
|
+
return new ConstantProductCurveV1_1.ConstantProductCurveV1();
|
|
13
|
+
}
|
|
10
14
|
throw new Error('Curve type not supported');
|
|
11
15
|
};
|
|
12
16
|
exports.getCurve = getCurve;
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"getCurve.js","sourceRoot":"","sources":["../../../../src/domain/curves/getCurve.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAEzC,qEAAkE;AAElE,mDAAgD;AAEzC,MAAM,QAAQ,GAAG,CAAC,SAAoB,EAA4B,EAAE;IACzE,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;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC,CAAC;AATW,QAAA,QAAQ,YASnB"}
|
|
@@ -18,4 +18,6 @@ __exportStar(require("./BaseCurve"), exports);
|
|
|
18
18
|
__exportStar(require("./LinearCurveV1"), exports);
|
|
19
19
|
__exportStar(require("./types"), exports);
|
|
20
20
|
__exportStar(require("./getCurve"), exports);
|
|
21
|
+
__exportStar(require("./CurveMethods"), exports);
|
|
22
|
+
__exportStar(require("./ConstantProductCurveV1"), exports);
|
|
21
23
|
//# 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;AACxB,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/curves/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kDAAgC;AAChC,0CAAwB;AACxB,6CAA2B;AAC3B,iDAA+B;AAC/B,2DAAyC"}
|
|
@@ -3,19 +3,22 @@ import { CurveType, DefaultCurrencies, TradeDirection } from '../constants';
|
|
|
3
3
|
export declare type CurveDefaults = {
|
|
4
4
|
tokenDecimals: number;
|
|
5
5
|
type: CurveType;
|
|
6
|
-
feeBps: number;
|
|
7
6
|
totalSupply: bigint;
|
|
8
7
|
minAllocationTokenAmount: bigint;
|
|
9
8
|
maxAllocationTokenAmount: bigint;
|
|
10
|
-
marketCapThreshold: bigint;
|
|
11
9
|
address: string;
|
|
10
|
+
};
|
|
11
|
+
export declare type CurveDefaultConfig = CurveDefaults & {
|
|
12
|
+
feeBps: number;
|
|
13
|
+
marketCapThreshold: bigint;
|
|
12
14
|
coefB: bigint;
|
|
13
15
|
};
|
|
14
16
|
export declare enum ContractCurrency {
|
|
15
17
|
SOL = 0
|
|
16
18
|
}
|
|
17
19
|
export declare enum ContractCurveType {
|
|
18
|
-
LINEAR_V1 = 0
|
|
20
|
+
LINEAR_V1 = 0,
|
|
21
|
+
CONSTANT_PRODUCT_V1 = 1
|
|
19
22
|
}
|
|
20
23
|
export declare const toContractCurrency: (currency: DefaultCurrencies) => ContractCurrency;
|
|
21
24
|
export declare const toContractCurveType: (curveType: CurveType) => ContractCurveType;
|
|
@@ -9,6 +9,7 @@ var ContractCurrency;
|
|
|
9
9
|
var ContractCurveType;
|
|
10
10
|
(function (ContractCurveType) {
|
|
11
11
|
ContractCurveType[ContractCurveType["LINEAR_V1"] = 0] = "LINEAR_V1";
|
|
12
|
+
ContractCurveType[ContractCurveType["CONSTANT_PRODUCT_V1"] = 1] = "CONSTANT_PRODUCT_V1";
|
|
12
13
|
})(ContractCurveType = exports.ContractCurveType || (exports.ContractCurveType = {}));
|
|
13
14
|
const toContractCurrency = (currency) => {
|
|
14
15
|
switch (currency) {
|
|
@@ -23,6 +24,8 @@ const toContractCurveType = (curveType) => {
|
|
|
23
24
|
switch (curveType) {
|
|
24
25
|
case constants_1.CurveType.LINEAR_V1:
|
|
25
26
|
return ContractCurveType.LINEAR_V1;
|
|
27
|
+
case constants_1.CurveType.CONSTANT_PRODUCT_V1:
|
|
28
|
+
return ContractCurveType.CONSTANT_PRODUCT_V1;
|
|
26
29
|
default:
|
|
27
30
|
throw new Error(`Unknown curve type: ${curveType}`);
|
|
28
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domain/curves/types.ts"],"names":[],"mappings":";;;AACA,4CAA4E;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domain/curves/types.ts"],"names":[],"mappings":";;;AACA,4CAA4E;AAiB5E,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,qDAAO,CAAA;AACT,CAAC,EAFW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAE3B;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,mEAAa,CAAA;IACb,uFAAuB,CAAA;AACzB,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;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,KAAK,qBAAS,CAAC,mBAAmB;YAChC,OAAO,iBAAiB,CAAC,mBAAmB,CAAC;QAC/C;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;KACvD;AACH,CAAC,CAAC;AAXW,QAAA,mBAAmB,uBAW9B"}
|
|
@@ -69,5 +69,10 @@ __decorate([
|
|
|
69
69
|
(0, class_validator_1.IsOptional)(),
|
|
70
70
|
__metadata("design:type", Number)
|
|
71
71
|
], CreateCurrencyDto.prototype, "minCollateralTradeAmount", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
(0, class_validator_1.IsBoolean)(),
|
|
74
|
+
(0, class_validator_1.IsOptional)(),
|
|
75
|
+
__metadata("design:type", Boolean)
|
|
76
|
+
], CreateCurrencyDto.prototype, "enableRaydiumSwapFee", void 0);
|
|
72
77
|
exports.CreateCurrencyDto = CreateCurrencyDto;
|
|
73
78
|
//# sourceMappingURL=createCurrency.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCurrency.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/currency/dtos/createCurrency.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"createCurrency.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/currency/dtos/createCurrency.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAMyB;AACzB,kDAAkD;AAElD,MAAa,iBAAiB;CAgD7B;AA/CC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;iDACE;AAEf;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+CACA;AAEb;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sDACO;AAEpB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACM;AAEnB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mDACI;AAEjB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;uDACS;AAEtB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;gDACC;AAEd;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+CACM;AAEnB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACG;AAEhB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACY;AAEzB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mEACqB;AAElC;IAAC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;+DACkB;AA/CjC,8CAgDC"}
|
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./base-tx"), exports);
|
|
18
|
+
__exportStar(require("./lpLockDetails"), exports);
|
|
18
19
|
__exportStar(require("./blockchain"), exports);
|
|
19
20
|
__exportStar(require("./blockchain-engine"), exports);
|
|
20
21
|
__exportStar(require("./buy"), exports);
|