@gala-chain/launchpad 1.0.14 → 1.0.16
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/lib/package.json +1 -1
- package/lib/src/api/types/LaunchpadDtos.d.ts +3 -1
- package/lib/src/api/types/LaunchpadDtos.d.ts.map +1 -1
- package/lib/src/api/types/LaunchpadDtos.js +19 -1
- package/lib/src/api/types/LaunchpadDtos.js.map +1 -1
- package/lib/src/api/types/LaunchpadSale.d.ts +8 -1
- package/lib/src/api/types/LaunchpadSale.d.ts.map +1 -1
- package/lib/src/api/types/LaunchpadSale.js +37 -8
- package/lib/src/api/types/LaunchpadSale.js.map +1 -1
- package/lib/src/chaincode/launchpad/buyWithNative.d.ts.map +1 -1
- package/lib/src/chaincode/launchpad/buyWithNative.js +4 -1
- package/lib/src/chaincode/launchpad/buyWithNative.js.map +1 -1
- package/lib/src/chaincode/launchpad/callMemeTokenIn.d.ts.map +1 -1
- package/lib/src/chaincode/launchpad/callMemeTokenIn.js +6 -4
- package/lib/src/chaincode/launchpad/callMemeTokenIn.js.map +1 -1
- package/lib/src/chaincode/launchpad/callMemeTokenOut.d.ts.map +1 -1
- package/lib/src/chaincode/launchpad/callMemeTokenOut.js +19 -8
- package/lib/src/chaincode/launchpad/callMemeTokenOut.js.map +1 -1
- package/lib/src/chaincode/launchpad/callNativeTokenIn.d.ts.map +1 -1
- package/lib/src/chaincode/launchpad/callNativeTokenIn.js +13 -6
- package/lib/src/chaincode/launchpad/callNativeTokenIn.js.map +1 -1
- package/lib/src/chaincode/launchpad/callNativeTokenOut.d.ts.map +1 -1
- package/lib/src/chaincode/launchpad/callNativeTokenOut.js +6 -4
- package/lib/src/chaincode/launchpad/callNativeTokenOut.js.map +1 -1
- package/lib/src/chaincode/launchpad/createSale.d.ts.map +1 -1
- package/lib/src/chaincode/launchpad/createSale.js +22 -6
- package/lib/src/chaincode/launchpad/createSale.js.map +1 -1
- package/lib/src/chaincode/launchpad/finaliseSale.js +2 -2
- package/lib/src/chaincode/launchpad/finaliseSale.js.map +1 -1
- package/lib/src/chaincode/launchpad/sellExactToken.js +1 -1
- package/lib/src/chaincode/launchpad/sellExactToken.js.map +1 -1
- package/lib/src/chaincode/utils/launchpadSaleUtils.d.ts +1 -1
- package/lib/src/chaincode/utils/launchpadSaleUtils.d.ts.map +1 -1
- package/lib/src/chaincode/utils/launchpadSaleUtils.js +14 -2
- package/lib/src/chaincode/utils/launchpadSaleUtils.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/api/types/LaunchpadDtos.ts +22 -1
- package/src/api/types/LaunchpadSale.ts +51 -8
- package/src/chaincode/launchpad/buyExactToken.spec.ts +234 -1
- package/src/chaincode/launchpad/buyWithNative.spec.ts +163 -8
- package/src/chaincode/launchpad/buyWithNative.ts +5 -1
- package/src/chaincode/launchpad/callMemeTokenIn.ts +11 -4
- package/src/chaincode/launchpad/callMemeTokenOut.spec.ts +1 -1
- package/src/chaincode/launchpad/callMemeTokenOut.ts +24 -8
- package/src/chaincode/launchpad/callNativeTokenIn.ts +18 -7
- package/src/chaincode/launchpad/callNativeTokenOut.ts +10 -4
- package/src/chaincode/launchpad/createSale.ts +35 -7
- package/src/chaincode/launchpad/finaliseSale.ts +2 -2
- package/src/chaincode/launchpad/sellExactToken.spec.ts +139 -2
- package/src/chaincode/launchpad/sellExactToken.ts +1 -1
- package/src/chaincode/launchpad/sellWithNative.spec.ts +157 -1
- package/src/chaincode/utils/launchpadSaleUtils.ts +18 -2
|
@@ -45,7 +45,7 @@ const buyWithNative_1 = require("./buyWithNative");
|
|
|
45
45
|
* - The token class creation fails (no response key returned).
|
|
46
46
|
*/
|
|
47
47
|
async function createSale(ctx, launchpadDetails) {
|
|
48
|
-
var _a;
|
|
48
|
+
var _a, _b;
|
|
49
49
|
let isSaleFinalized = false;
|
|
50
50
|
// Validate input parameters
|
|
51
51
|
if (!launchpadDetails.websiteUrl && !launchpadDetails.telegramUrl && !launchpadDetails.twitterUrl) {
|
|
@@ -66,6 +66,7 @@ async function createSale(ctx, launchpadDetails) {
|
|
|
66
66
|
if (sale) {
|
|
67
67
|
throw new api_1.ConflictError("This token and a sale associated with it already exists");
|
|
68
68
|
}
|
|
69
|
+
const supplyCapMultiplier = (_a = launchpadDetails.adjustableSupplyMultiplier) !== null && _a !== void 0 ? _a : 1;
|
|
69
70
|
// Call createTokenClass
|
|
70
71
|
await (0, chaincode_1.createTokenClass)(ctx, {
|
|
71
72
|
network: "GC",
|
|
@@ -76,8 +77,8 @@ async function createSale(ctx, launchpadDetails) {
|
|
|
76
77
|
symbol: launchpadDetails.tokenSymbol,
|
|
77
78
|
description: launchpadDetails.tokenDescription,
|
|
78
79
|
image: launchpadDetails.tokenImage,
|
|
79
|
-
maxSupply: new bignumber_js_1.default("2e+7"),
|
|
80
|
-
maxCapacity: new bignumber_js_1.default("2e+7"),
|
|
80
|
+
maxSupply: new bignumber_js_1.default("2e+7").times(supplyCapMultiplier),
|
|
81
|
+
maxCapacity: new bignumber_js_1.default("2e+7").times(supplyCapMultiplier),
|
|
81
82
|
totalMintAllowance: new bignumber_js_1.default(0),
|
|
82
83
|
totalSupply: new bignumber_js_1.default(0),
|
|
83
84
|
totalBurned: new bignumber_js_1.default(0),
|
|
@@ -88,21 +89,36 @@ async function createSale(ctx, launchpadDetails) {
|
|
|
88
89
|
tokenClassKey: tokenInstanceKey.getTokenClassKey(),
|
|
89
90
|
tokenInstance: new bignumber_js_1.default(0),
|
|
90
91
|
owner: vaultAddress,
|
|
91
|
-
quantity: new bignumber_js_1.default("2e+7")
|
|
92
|
+
quantity: new bignumber_js_1.default("2e+7").times(supplyCapMultiplier)
|
|
92
93
|
});
|
|
93
|
-
//Update token class to remove the calling user as an authority in the token class
|
|
94
|
+
// Update token class to remove the calling user as an authority in the token class
|
|
94
95
|
await (0, chaincode_1.updateTokenClass)(ctx, {
|
|
95
96
|
tokenClass: tokenInstanceKey.getTokenClassKey(),
|
|
97
|
+
overwriteAuthorities: true,
|
|
96
98
|
authorities: [vaultAddress]
|
|
97
99
|
});
|
|
98
100
|
// Create the LaunchpadSale object
|
|
99
|
-
const launchpad = new types_1.LaunchpadSale(vaultAddress, tokenInstanceKey, (
|
|
101
|
+
const launchpad = new types_1.LaunchpadSale(vaultAddress, tokenInstanceKey, (_b = launchpadDetails.reverseBondingCurveConfiguration) === null || _b === void 0 ? void 0 : _b.toChainObject(), ctx.callingUser, undefined, launchpadDetails.adjustableSupplyMultiplier);
|
|
100
102
|
await (0, chaincode_1.putChainObject)(ctx, launchpad);
|
|
101
103
|
if (launchpadDetails.preBuyQuantity.isGreaterThan(0)) {
|
|
102
104
|
const nativeTokenDto = new types_1.NativeTokenQuantityDto((0, api_1.asValidUserAlias)(launchpad.vaultAddress), launchpadDetails.preBuyQuantity);
|
|
103
105
|
const tradeStatus = await (0, buyWithNative_1.buyWithNative)(ctx, nativeTokenDto);
|
|
104
106
|
isSaleFinalized = tradeStatus.isFinalized;
|
|
105
107
|
}
|
|
108
|
+
// handling the optional saleStartTime after the preBuyQuantity allows
|
|
109
|
+
// creators to still optionally specify a pre-buy even when a
|
|
110
|
+
// sale is marked Upcoming / Coming Soon.
|
|
111
|
+
// Otherwise `buyWithNative` would throw an error when validating the sale is active.
|
|
112
|
+
if (launchpadDetails.saleStartTime !== undefined) {
|
|
113
|
+
launchpad.saleStartTime = launchpadDetails.saleStartTime;
|
|
114
|
+
// handle edge case
|
|
115
|
+
// if a sale was immediately sold out with a pre-buy on creation,
|
|
116
|
+
// do not set the ended sale back to UPCOMING
|
|
117
|
+
if (launchpad.saleStatus !== types_1.SaleStatus.END) {
|
|
118
|
+
launchpad.saleStatus = types_1.SaleStatus.UPCOMING;
|
|
119
|
+
}
|
|
120
|
+
await (0, chaincode_1.putChainObject)(ctx, launchpad);
|
|
121
|
+
}
|
|
106
122
|
// Return the response object
|
|
107
123
|
return {
|
|
108
124
|
image: launchpadDetails.tokenImage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSale.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/createSale.ts"],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;;GAaG;AACH,
|
|
1
|
+
{"version":3,"file":"createSale.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/createSale.ts"],"names":[],"mappings":"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"}
|
|
@@ -135,8 +135,8 @@ async function finalizeSale(ctx, sale) {
|
|
|
135
135
|
exports.finalizeSale = finalizeSale;
|
|
136
136
|
function calculateFinalLaunchpadPrice(sale, areTokensSorted) {
|
|
137
137
|
const totalTokensSold = new decimal_js_1.default(sale.fetchTokensSold());
|
|
138
|
-
const basePrice = new decimal_js_1.default(
|
|
139
|
-
const { exponentFactor, euler, decimals } = (0, utils_1.getBondingConstants)();
|
|
138
|
+
const basePrice = new decimal_js_1.default(sale.basePrice.toString());
|
|
139
|
+
const { exponentFactor, euler, decimals } = (0, utils_1.getBondingConstants)(sale.adjustableSupplyMultiplier);
|
|
140
140
|
const exponent = exponentFactor.mul(totalTokensSold).div(decimals);
|
|
141
141
|
const multiplicand = euler.pow(exponent);
|
|
142
142
|
const finalPriceDecimal = multiplicand.mul(basePrice).div(decimals);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finaliseSale.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/finaliseSale.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"finaliseSale.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/finaliseSale.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ async function sellExactToken(ctx, sellTokenDTO) {
|
|
|
53
53
|
const nativeToken = sale.fetchNativeTokenInstanceKey();
|
|
54
54
|
const memeToken = sale.fetchSellingTokenInstanceKey();
|
|
55
55
|
// Abort if the vault doesn't have enough native tokens to pay the user
|
|
56
|
-
if (
|
|
56
|
+
if (nativeTokensPayout.isGreaterThan(nativeTokensLeftInVault)) {
|
|
57
57
|
throw new api_1.ValidationFailedError("Not enough GALA in sale contract to carry out this operation.");
|
|
58
58
|
}
|
|
59
59
|
// Enforce slippage tolerance: expected amount must not be greater than what will actually be received
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sellExactToken.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellExactToken.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAwD;AACxD,qDAAyG;AACzG,+CAAyC;AAGzC,iDAAuE;AACvE,oCAAgD;AAChD,6DAA0D;AAC1D,iCAA4E;AAE5E;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,cAAc,CAClC,GAAqB,EACrB,YAAmC;;IAEnC,6CAA6C;IAC7C,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAoB,EAAC,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IAExE,kGAAkG;IAClG,MAAM,wBAAwB,GAAG,MAAM,IAAA,uCAAkB,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,IAAI,wBAAS,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC,sCAAsC;IACxH,MAAM,kBAAkB,GAAG,IAAI,wBAAS,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC,CAAC,4CAA4C;IACnI,MAAM,eAAe,GAAG,IAAI,wBAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB;IAE9G,MAAM,uBAAuB,GAAG,IAAI,wBAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;IAEtD,uEAAuE;IACvE,IAAI,
|
|
1
|
+
{"version":3,"file":"sellExactToken.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellExactToken.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { GalaChainContext } from "@gala-chain/chaincode";
|
|
|
2
2
|
import Decimal from "decimal.js";
|
|
3
3
|
import { LaunchpadFeeConfig, LaunchpadSale } from "../../api/types";
|
|
4
4
|
export declare function fetchAndValidateSale(ctx: GalaChainContext, vaultAddress: string): Promise<LaunchpadSale>;
|
|
5
|
-
export declare function getBondingConstants(): {
|
|
5
|
+
export declare function getBondingConstants(multiplier?: number): {
|
|
6
6
|
exponentFactor: Decimal;
|
|
7
7
|
euler: Decimal;
|
|
8
8
|
decimals: Decimal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launchpadSaleUtils.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/utils/launchpadSaleUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAmC,MAAM,uBAAuB,CAAC;AAC1F,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAEhF,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,gBAAgB,EACrB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"launchpadSaleUtils.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/utils/launchpadSaleUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAmC,MAAM,uBAAuB,CAAC;AAC1F,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAEhF,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,gBAAgB,EACrB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,CA+BxB;AAED,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM;;;;EAUtD;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAazC;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC;IAAE,oBAAoB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,CAAC,CAOxE"}
|
|
@@ -34,15 +34,27 @@ async function fetchAndValidateSale(ctx, vaultAddress) {
|
|
|
34
34
|
if (sale === undefined) {
|
|
35
35
|
throw new api_1.NotFoundError("Sale record not found.");
|
|
36
36
|
}
|
|
37
|
+
if (sale.saleStatus === types_1.SaleStatus.UPCOMING) {
|
|
38
|
+
if (sale.saleStartTime !== undefined && sale.saleStartTime > 0 && sale.saleStartTime < ctx.txUnixTime) {
|
|
39
|
+
sale.saleStatus = types_1.SaleStatus.ONGOING;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
throw new api_1.DefaultError(`Upcoming: This sale is coming soon. ` +
|
|
43
|
+
`${sale.saleStartTime ? "Sale starts at: " + sale.saleStartTime + " Unix time." : "Start time TBD."}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
37
46
|
if (sale.saleStatus === types_1.SaleStatus.END) {
|
|
38
47
|
throw new api_1.DefaultError("This sale has already ended.");
|
|
39
48
|
}
|
|
40
49
|
return sale;
|
|
41
50
|
}
|
|
42
51
|
exports.fetchAndValidateSale = fetchAndValidateSale;
|
|
43
|
-
function getBondingConstants() {
|
|
52
|
+
function getBondingConstants(multiplier) {
|
|
53
|
+
const exponentFactor = multiplier && multiplier > 0
|
|
54
|
+
? new decimal_js_1.default("1166069000000").times(1 / multiplier)
|
|
55
|
+
: new decimal_js_1.default("1166069000000");
|
|
44
56
|
return {
|
|
45
|
-
exponentFactor:
|
|
57
|
+
exponentFactor: exponentFactor,
|
|
46
58
|
euler: new decimal_js_1.default("2.7182818284590452353602874713527"),
|
|
47
59
|
decimals: new decimal_js_1.default("1e+18") // scaling factor for decimals
|
|
48
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launchpadSaleUtils.js","sourceRoot":"","sources":["../../../../src/chaincode/utils/launchpadSaleUtils.ts"],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAqF;AACrF,qDAA0F;AAC1F,oEAAiC;AAEjC,2CAAgF;AAEzE,KAAK,UAAU,oBAAoB,CACxC,GAAqB,EACrB,YAAoB;IAEpB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAa,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,qBAAa,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACrE,MAAM,UAAU,GAAG,gBAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,OAAO,CAAC,eAAS,CAAC,SAAS,CAAC,EAAE;YAC3C,OAAO,SAAS,CAAC;SAClB;aAAM;YACL,MAAM,UAAU,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,MAAM,IAAI,mBAAa,CAAC,wBAAwB,CAAC,CAAC;KACnD;
|
|
1
|
+
{"version":3,"file":"launchpadSaleUtils.js","sourceRoot":"","sources":["../../../../src/chaincode/utils/launchpadSaleUtils.ts"],"names":[],"mappings":"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"}
|