@gala-chain/launchpad 1.0.12 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/lib/package.json +1 -1
  2. package/lib/src/api/types/LaunchpadDtos.d.ts +1 -0
  3. package/lib/src/api/types/LaunchpadDtos.d.ts.map +1 -1
  4. package/lib/src/api/types/LaunchpadDtos.js +5 -0
  5. package/lib/src/api/types/LaunchpadDtos.js.map +1 -1
  6. package/lib/src/api/types/LaunchpadSale.d.ts +2 -1
  7. package/lib/src/api/types/LaunchpadSale.d.ts.map +1 -1
  8. package/lib/src/api/types/LaunchpadSale.js +18 -6
  9. package/lib/src/api/types/LaunchpadSale.js.map +1 -1
  10. package/lib/src/chaincode/LaunchpadContract.js +6 -6
  11. package/lib/src/chaincode/LaunchpadContract.js.map +1 -1
  12. package/lib/src/chaincode/launchpad/buyExactToken.d.ts.map +1 -1
  13. package/lib/src/chaincode/launchpad/buyExactToken.js +18 -42
  14. package/lib/src/chaincode/launchpad/buyExactToken.js.map +1 -1
  15. package/lib/src/chaincode/launchpad/buyWithNative.d.ts.map +1 -1
  16. package/lib/src/chaincode/launchpad/buyWithNative.js +12 -43
  17. package/lib/src/chaincode/launchpad/buyWithNative.js.map +1 -1
  18. package/lib/src/chaincode/launchpad/callMemeTokenIn.d.ts +4 -10
  19. package/lib/src/chaincode/launchpad/callMemeTokenIn.d.ts.map +1 -1
  20. package/lib/src/chaincode/launchpad/callMemeTokenIn.js +13 -9
  21. package/lib/src/chaincode/launchpad/callMemeTokenIn.js.map +1 -1
  22. package/lib/src/chaincode/launchpad/callMemeTokenOut.d.ts +4 -10
  23. package/lib/src/chaincode/launchpad/callMemeTokenOut.d.ts.map +1 -1
  24. package/lib/src/chaincode/launchpad/callMemeTokenOut.js +46 -22
  25. package/lib/src/chaincode/launchpad/callMemeTokenOut.js.map +1 -1
  26. package/lib/src/chaincode/launchpad/callNativeTokenIn.d.ts +4 -10
  27. package/lib/src/chaincode/launchpad/callNativeTokenIn.d.ts.map +1 -1
  28. package/lib/src/chaincode/launchpad/callNativeTokenIn.js +35 -14
  29. package/lib/src/chaincode/launchpad/callNativeTokenIn.js.map +1 -1
  30. package/lib/src/chaincode/launchpad/callNativeTokenOut.d.ts +4 -10
  31. package/lib/src/chaincode/launchpad/callNativeTokenOut.d.ts.map +1 -1
  32. package/lib/src/chaincode/launchpad/callNativeTokenOut.js +17 -12
  33. package/lib/src/chaincode/launchpad/callNativeTokenOut.js.map +1 -1
  34. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.js +1 -1
  35. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.js.map +1 -1
  36. package/lib/src/chaincode/launchpad/createSale.js +1 -1
  37. package/lib/src/chaincode/launchpad/createSale.js.map +1 -1
  38. package/lib/src/chaincode/launchpad/fees.d.ts +11 -0
  39. package/lib/src/chaincode/launchpad/fees.d.ts.map +1 -1
  40. package/lib/src/chaincode/launchpad/fees.js +42 -3
  41. package/lib/src/chaincode/launchpad/fees.js.map +1 -1
  42. package/lib/src/chaincode/launchpad/finaliseSale.d.ts.map +1 -1
  43. package/lib/src/chaincode/launchpad/finaliseSale.js +9 -6
  44. package/lib/src/chaincode/launchpad/finaliseSale.js.map +1 -1
  45. package/lib/src/chaincode/launchpad/sellExactToken.d.ts.map +1 -1
  46. package/lib/src/chaincode/launchpad/sellExactToken.js +14 -23
  47. package/lib/src/chaincode/launchpad/sellExactToken.js.map +1 -1
  48. package/lib/src/chaincode/launchpad/sellWithNative.d.ts.map +1 -1
  49. package/lib/src/chaincode/launchpad/sellWithNative.js +10 -19
  50. package/lib/src/chaincode/launchpad/sellWithNative.js.map +1 -1
  51. package/lib/src/chaincode/test/launchpadgala.d.ts.map +1 -1
  52. package/lib/src/chaincode/test/launchpadgala.js +2 -1
  53. package/lib/src/chaincode/test/launchpadgala.js.map +1 -1
  54. package/lib/src/chaincode/utils/launchpadSaleUtils.d.ts +4 -0
  55. package/lib/src/chaincode/utils/launchpadSaleUtils.d.ts.map +1 -1
  56. package/lib/src/chaincode/utils/launchpadSaleUtils.js +10 -1
  57. package/lib/src/chaincode/utils/launchpadSaleUtils.js.map +1 -1
  58. package/lib/src/cli.js +3 -1
  59. package/lib/src/cli.js.map +1 -1
  60. package/lib/tsconfig.tsbuildinfo +1 -1
  61. package/package.json +1 -1
  62. package/src/api/types/LaunchpadDtos.ts +4 -0
  63. package/src/api/types/LaunchpadSale.ts +14 -7
  64. package/src/chaincode/LaunchpadContract.ts +3 -3
  65. package/src/chaincode/launchpad/buyExactToken.spec.ts +2 -37
  66. package/src/chaincode/launchpad/buyExactToken.ts +22 -56
  67. package/src/chaincode/launchpad/buyWithNative.spec.ts +2 -37
  68. package/src/chaincode/launchpad/buyWithNative.ts +15 -65
  69. package/src/chaincode/launchpad/callMemeTokenIn.ts +36 -12
  70. package/src/chaincode/launchpad/callMemeTokenOut.spec.ts +1 -1
  71. package/src/chaincode/launchpad/callMemeTokenOut.ts +72 -26
  72. package/src/chaincode/launchpad/callNativeTokenIn.ts +62 -19
  73. package/src/chaincode/launchpad/callNativeTokenOut.ts +38 -15
  74. package/src/chaincode/launchpad/configureLaunchpadFeeConfig.spec.ts +0 -1
  75. package/src/chaincode/launchpad/configureLaunchpadFeeConfig.ts +1 -1
  76. package/src/chaincode/launchpad/createSale.ts +1 -1
  77. package/src/chaincode/launchpad/fees.ts +55 -3
  78. package/src/chaincode/launchpad/finaliseSale.ts +11 -8
  79. package/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.spec.ts +150 -68
  80. package/src/chaincode/launchpad/sellExactToken.spec.ts +4 -81
  81. package/src/chaincode/launchpad/sellExactToken.ts +16 -25
  82. package/src/chaincode/launchpad/sellWithNative.spec.ts +2 -42
  83. package/src/chaincode/launchpad/sellWithNative.ts +14 -23
  84. package/src/chaincode/test/launchpadgala.ts +3 -1
  85. package/src/chaincode/utils/launchpadSaleUtils.ts +13 -1
  86. package/src/cli.ts +3 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateTransactionFee = exports.payReverseBondingCurveFee = exports.calculateReverseBondingCurveFee = void 0;
3
+ exports.transferTransactionFees = exports.calculateTransactionFee = exports.payReverseBondingCurveFee = exports.calculateReverseBondingCurveFee = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /*
6
6
  * Copyright (c) Gala Games Inc. All rights reserved.
@@ -19,10 +19,11 @@ const tslib_1 = require("tslib");
19
19
  const api_1 = require("@gala-chain/api");
20
20
  const chaincode_1 = require("@gala-chain/chaincode");
21
21
  const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
22
+ const types_1 = require("../../api/types");
22
23
  const error_1 = require("../../api/utils/error");
23
24
  const utils_1 = require("../utils");
24
25
  const REVERSE_BONDING_CURVE_FEE_CODE = "LaunchpadReverseBondingCurveFee";
25
- const NATIVE_TOKEN_DECIMALS = 8;
26
+ const NATIVE_TOKEN_DECIMALS = types_1.LaunchpadSale.NATIVE_TOKEN_DECIMALS;
26
27
  function calculateReverseBondingCurveFee(sale, nativeTokensToReceive) {
27
28
  if (!sale.reverseBondingCurveConfiguration ||
28
29
  sale.reverseBondingCurveConfiguration.maxFeePortion.isZero()) {
@@ -82,7 +83,45 @@ async function payReverseBondingCurveFee(ctx, sale, nativeTokensToReceive, maxAc
82
83
  }
83
84
  exports.payReverseBondingCurveFee = payReverseBondingCurveFee;
84
85
  function calculateTransactionFee(tokensBeingTraded, feeAmount) {
85
- return tokensBeingTraded.multipliedBy(feeAmount !== null && feeAmount !== void 0 ? feeAmount : 0).toFixed(8, bignumber_js_1.default.ROUND_UP);
86
+ return tokensBeingTraded.multipliedBy(feeAmount !== null && feeAmount !== void 0 ? feeAmount : 0).toFixed(NATIVE_TOKEN_DECIMALS, bignumber_js_1.default.ROUND_UP);
86
87
  }
87
88
  exports.calculateTransactionFee = calculateTransactionFee;
89
+ /**
90
+ * Transfers transaction fees to the launchpad fee address if applicable.
91
+ * Optionally validates that the user has sufficient balance when nativeTokensRequired is provided.
92
+ *
93
+ * @param ctx - The context object providing access to the GalaChain environment.
94
+ * @param sale - The launchpad sale object.
95
+ * @param transactionFees - The transaction fees amount (as BigNumber or string).
96
+ * @param nativeToken - The native token instance key (returned from sale.fetchNativeTokenInstanceKey()).
97
+ * @param nativeTokensRequired - Optional. If provided, validates user has sufficient balance for fees + required tokens.
98
+ */
99
+ async function transferTransactionFees(ctx, sale, transactionFees, nativeToken, nativeTokensRequired) {
100
+ const launchpadFeeAddressConfiguration = await (0, utils_1.fetchLaunchpadFeeAddress)(ctx);
101
+ const transactionFeesBn = typeof transactionFees === "string" ? new bignumber_js_1.default(transactionFees) : transactionFees;
102
+ // Check if transaction fees is greater than 0 and if the launchpad fee address configuration where
103
+ // the fees are sent to is defined
104
+ if (!launchpadFeeAddressConfiguration || !transactionFeesBn.isGreaterThan(0)) {
105
+ return;
106
+ }
107
+ // If nativeTokensRequired is provided, validate user has sufficient balance
108
+ if (nativeTokensRequired) {
109
+ const totalRequired = nativeTokensRequired.plus(transactionFeesBn);
110
+ const buyerBalance = await (0, chaincode_1.fetchOrCreateBalance)(ctx, ctx.callingUser, sale.nativeToken);
111
+ // Check if the buyer has sufficient balance to pay the transaction fees
112
+ if (buyerBalance.getQuantityTotal().isLessThan(totalRequired)) {
113
+ throw new api_1.ValidationFailedError(`Insufficient balance: Total amount required including fee is ${totalRequired}`);
114
+ }
115
+ }
116
+ // Transfer transaction fees to the launchpad fee address
117
+ await (0, chaincode_1.transferToken)(ctx, {
118
+ from: ctx.callingUser,
119
+ to: launchpadFeeAddressConfiguration.feeAddress,
120
+ tokenInstanceKey: nativeToken,
121
+ quantity: transactionFeesBn,
122
+ allowancesToUse: [],
123
+ authorizedOnBehalf: undefined
124
+ });
125
+ }
126
+ exports.transferTransactionFees = transferTransactionFees;
88
127
  //# sourceMappingURL=fees.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/fees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/fees.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"finaliseSale.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/finaliseSale.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,gBAAgB,EAOjB,MAAM,uBAAuB,CAAC;AAgB/B,OAAO,EAAkC,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhF,wBAAsB,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuJ5F"}
1
+ {"version":3,"file":"finaliseSale.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/finaliseSale.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,gBAAgB,EAOjB,MAAM,uBAAuB,CAAC;AAgB/B,OAAO,EAAkC,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhF,wBAAsB,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0J5F"}
@@ -44,7 +44,7 @@ async function finalizeSale(ctx, sale) {
44
44
  tokenInstanceKey: nativeToken,
45
45
  quantity: new bignumber_js_1.default(sale.nativeTokenQuantity)
46
46
  .times(ownerAllocationPercentage)
47
- .decimalPlaces(8, bignumber_js_1.default.ROUND_DOWN),
47
+ .decimalPlaces(types_1.LaunchpadSale.NATIVE_TOKEN_DECIMALS, bignumber_js_1.default.ROUND_DOWN),
48
48
  allowancesToUse: [],
49
49
  authorizedOnBehalf: {
50
50
  callingOnBehalf: vaultAddressAlias,
@@ -57,7 +57,7 @@ async function finalizeSale(ctx, sale) {
57
57
  tokenInstanceKey: nativeToken,
58
58
  quantity: new bignumber_js_1.default(sale.nativeTokenQuantity)
59
59
  .times(platformFeePercentage)
60
- .decimalPlaces(8, bignumber_js_1.default.ROUND_DOWN),
60
+ .decimalPlaces(types_1.LaunchpadSale.NATIVE_TOKEN_DECIMALS, bignumber_js_1.default.ROUND_DOWN),
61
61
  allowancesToUse: [],
62
62
  authorizedOnBehalf: {
63
63
  callingOnBehalf: vaultAddressAlias,
@@ -77,7 +77,10 @@ async function finalizeSale(ctx, sale) {
77
77
  }
78
78
  const poolInfo = await (0, dex_1.getSlot0)(ctx, poolDTO);
79
79
  // Proceed normally if price in the pool is within an acceptable range
80
- const priceCloseEnough = sqrtPrice.minus(poolInfo.sqrtPrice).abs().lte(sqrtPrice.multipliedBy(0.05));
80
+ const priceCloseEnough = sqrtPrice
81
+ .minus(poolInfo.sqrtPrice)
82
+ .abs()
83
+ .isLessThanOrEqualTo(sqrtPrice.multipliedBy(0.05));
81
84
  const expectedNativeTokenRequired = new bignumber_js_1.default(sale.nativeTokenQuantity).times(liquidityAllocationPercentage);
82
85
  const isPriceGreaterThanExpected = poolInfo.sqrtPrice.isGreaterThan(sqrtPrice);
83
86
  const expectedSaleTokenRequired = expectedNativeTokenRequired.times(finalPrice);
@@ -95,12 +98,12 @@ async function finalizeSale(ctx, sale) {
95
98
  ? !areTokensSorted
96
99
  : areTokensSorted;
97
100
  const expectedTokenDTO = new dex_1.GetAddLiquidityEstimationDto(token0, token1, 10000, // TODO: make this configurable
98
- liquidityAmount, -887200, 887200, zeroForOne);
101
+ liquidityAmount, -886800, 886800, zeroForOne);
99
102
  const addLiquidityEstimate = await (0, dex_1.getAddLiquidityEstimation)(ctx, expectedTokenDTO);
100
103
  const amount0 = new bignumber_js_1.default(addLiquidityEstimate.amount0.toString());
101
104
  const amount1 = new bignumber_js_1.default(addLiquidityEstimate.amount1.toString());
102
105
  const positionDto = new dex_1.AddLiquidityDTO(token0, token1, 10000, // TODO: make this configurable
103
- -887200, 887200, amount0, amount1, amount0.times(0.9999999), amount1.times(0.9999999), undefined);
106
+ -886800, 886800, amount0, amount1, amount0.times(0.9999999), amount1.times(0.9999999), undefined);
104
107
  positionDto.uniqueKey = sale.vaultAddress.toString();
105
108
  await (0, dex_1.addLiquidity)(ctx, positionDto, vaultAddressAlias);
106
109
  // Burn any extra meme tokens
@@ -132,7 +135,7 @@ async function finalizeSale(ctx, sale) {
132
135
  exports.finalizeSale = finalizeSale;
133
136
  function calculateFinalLaunchpadPrice(sale, areTokensSorted) {
134
137
  const totalTokensSold = new decimal_js_1.default(sale.fetchTokensSold());
135
- const basePrice = new decimal_js_1.default(sale.fetchBasePrice());
138
+ const basePrice = new decimal_js_1.default(types_1.LaunchpadSale.BASE_PRICE);
136
139
  const { exponentFactor, euler, decimals } = (0, utils_1.getBondingConstants)();
137
140
  const exponent = exponentFactor.mul(totalTokensSold).div(decimals);
138
141
  const multiplicand = euler.pow(exponent);
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sellExactToken.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellExactToken.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAkD,MAAM,uBAAuB,CAAC;AAGzG,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMrE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,gBAAgB,EACrB,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,WAAW,CAAC,CA6FtB"}
1
+ {"version":3,"file":"sellExactToken.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellExactToken.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAkD,MAAM,uBAAuB,CAAC;AAGzG,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMrE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,gBAAgB,EACrB,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,WAAW,CAAC,CAoFtB"}
@@ -46,41 +46,32 @@ async function sellExactToken(ctx, sellTokenDTO) {
46
46
  const sale = await (0, utils_1.fetchAndValidateSale)(ctx, sellTokenDTO.vaultAddress);
47
47
  // Determine how much native token (e.g., GALA) the user will receive for the exact token quantity
48
48
  const callNativeTokenOutResult = await (0, callNativeTokenOut_1.callNativeTokenOut)(ctx, sellTokenDTO);
49
- const nativeTokensToProvide = new bignumber_js_1.BigNumber(callNativeTokenOutResult.calculatedQuantity);
50
- const transactionFees = callNativeTokenOutResult.extraFees.transactionFees;
49
+ const tokensBeingSold = new bignumber_js_1.BigNumber(callNativeTokenOutResult.originalQuantity); // number of tokens user wants to sell
50
+ const nativeTokensPayout = new bignumber_js_1.BigNumber(callNativeTokenOutResult.calculatedQuantity); // number of native tokens user will receive
51
+ const transactionFees = new bignumber_js_1.BigNumber(callNativeTokenOutResult.extraFees.transactionFees); // transaction fees
51
52
  const nativeTokensLeftInVault = new bignumber_js_1.BigNumber(sale.nativeTokenQuantity);
52
53
  const nativeToken = sale.fetchNativeTokenInstanceKey();
53
54
  const memeToken = sale.fetchSellingTokenInstanceKey();
54
55
  // Abort if the vault doesn't have enough native tokens to pay the user
55
- if (nativeTokensLeftInVault.comparedTo(nativeTokensToProvide) < 0) {
56
+ if (new bignumber_js_1.BigNumber(sellTokenDTO.tokenQuantity).isGreaterThan(nativeTokensLeftInVault)) {
56
57
  throw new api_1.ValidationFailedError("Not enough GALA in sale contract to carry out this operation.");
57
58
  }
58
59
  // Enforce slippage tolerance: expected amount must not be greater than what will actually be received
59
60
  if (sellTokenDTO.expectedNativeToken &&
60
- sellTokenDTO.expectedNativeToken.comparedTo(nativeTokensToProvide) > 0) {
61
- throw new error_1.SlippageToleranceExceededError(`expected ${sellTokenDTO.expectedNativeToken.toString()}, but only ${nativeTokensToProvide.toString()} tokens can be provided. Reduce the expected amount or adjust your slippage tolerance.`);
61
+ sellTokenDTO.expectedNativeToken.isGreaterThan(nativeTokensPayout)) {
62
+ throw new error_1.SlippageToleranceExceededError(`expected ${sellTokenDTO.expectedNativeToken.toString()}, but only ${nativeTokensPayout.toString()} tokens can be provided. Reduce the expected amount or adjust your slippage tolerance.`);
62
63
  }
63
64
  // The fee must be paid BEFORE the sale can happen.
64
65
  // That means you cannot pay the fee using proceeds from the sale.
65
- await (0, fees_1.payReverseBondingCurveFee)(ctx, sale, nativeTokensToProvide, (_a = sellTokenDTO.extraFees) === null || _a === void 0 ? void 0 : _a.maxAcceptableReverseBondingCurveFee);
66
+ await (0, fees_1.payReverseBondingCurveFee)(ctx, sale, nativeTokensPayout, (_a = sellTokenDTO.extraFees) === null || _a === void 0 ? void 0 : _a.maxAcceptableReverseBondingCurveFee);
66
67
  // Transfer launchpad transaction fee if applicable
67
- const launchpadFeeAddressConfiguration = await (0, utils_1.fetchLaunchpadFeeAddress)(ctx);
68
- if (launchpadFeeAddressConfiguration && transactionFees) {
69
- await (0, chaincode_1.transferToken)(ctx, {
70
- from: ctx.callingUser,
71
- to: launchpadFeeAddressConfiguration.feeAddress,
72
- tokenInstanceKey: nativeToken,
73
- quantity: new bignumber_js_1.BigNumber(transactionFees),
74
- allowancesToUse: [],
75
- authorizedOnBehalf: undefined
76
- });
77
- }
68
+ await (0, fees_1.transferTransactionFees)(ctx, sale, transactionFees, nativeToken);
78
69
  // Transfer meme tokens from user to vault
79
70
  await (0, chaincode_1.transferToken)(ctx, {
80
71
  from: ctx.callingUser,
81
72
  to: sellTokenDTO.vaultAddress,
82
73
  tokenInstanceKey: memeToken,
83
- quantity: sellTokenDTO.tokenQuantity,
74
+ quantity: tokensBeingSold,
84
75
  allowancesToUse: [],
85
76
  authorizedOnBehalf: undefined
86
77
  });
@@ -89,7 +80,7 @@ async function sellExactToken(ctx, sellTokenDTO) {
89
80
  from: sellTokenDTO.vaultAddress,
90
81
  to: ctx.callingUser,
91
82
  tokenInstanceKey: nativeToken,
92
- quantity: nativeTokensToProvide,
83
+ quantity: nativeTokensPayout,
93
84
  allowancesToUse: [],
94
85
  authorizedOnBehalf: {
95
86
  callingOnBehalf: sellTokenDTO.vaultAddress,
@@ -97,15 +88,15 @@ async function sellExactToken(ctx, sellTokenDTO) {
97
88
  }
98
89
  });
99
90
  // Update sale state with this transaction
100
- sale.sellToken(sellTokenDTO.tokenQuantity, nativeTokensToProvide);
91
+ sale.sellToken(tokensBeingSold, nativeTokensPayout);
101
92
  await (0, chaincode_1.putChainObject)(ctx, sale);
102
93
  const token = await (0, chaincode_1.fetchTokenClass)(ctx, sale.sellingToken);
103
94
  return {
104
- inputQuantity: sellTokenDTO.tokenQuantity.toFixed(),
105
- totalFees: new bignumber_js_1.BigNumber(transactionFees)
95
+ inputQuantity: tokensBeingSold.toFixed(),
96
+ totalFees: transactionFees
106
97
  .plus((_c = (_b = sellTokenDTO.extraFees) === null || _b === void 0 ? void 0 : _b.maxAcceptableReverseBondingCurveFee) !== null && _c !== void 0 ? _c : 0)
107
98
  .toFixed(),
108
- outputQuantity: nativeTokensToProvide.toFixed(),
99
+ outputQuantity: nativeTokensPayout.toFixed(),
109
100
  tokenName: token.name,
110
101
  tradeType: "Sell",
111
102
  vaultAddress: sellTokenDTO.vaultAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"sellExactToken.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellExactToken.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sellExactToken.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellExactToken.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sellWithNative.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellWithNative.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,gBAAgB,EAKjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAiB,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMrF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,gBAAgB,EACrB,YAAY,EAAE,sBAAsB,GACnC,OAAO,CAAC,WAAW,CAAC,CAsGtB"}
1
+ {"version":3,"file":"sellWithNative.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellWithNative.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,gBAAgB,EAKjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,gBAAgB,EACrB,YAAY,EAAE,sBAAsB,GACnC,OAAO,CAAC,WAAW,CAAC,CA6FtB"}
@@ -56,34 +56,25 @@ async function sellWithNative(ctx, sellTokenDTO) {
56
56
  const sellingToken = await (0, chaincode_1.getObjectByKey)(ctx, api_1.TokenClass, sellingTokenCompositeKey);
57
57
  const nativeTokensLeftInVault = new bignumber_js_1.default(sale.nativeTokenQuantity);
58
58
  // Cap nativeTokenQuantity to the vault balance if the requested amount exceeds it
59
- if (nativeTokensLeftInVault.comparedTo(sellTokenDTO.nativeTokenQuantity) < 0) {
59
+ if (nativeTokensLeftInVault.isLessThan(sellTokenDTO.nativeTokenQuantity)) {
60
60
  throw new api_1.ValidationFailedError("Not enough GALA in sale contract to carry out this operation.");
61
61
  }
62
62
  // Calculate how many tokens need to be sold to get the requested native amount
63
63
  const callMemeTokenInResult = await (0, callMemeTokenIn_1.callMemeTokenIn)(ctx, sellTokenDTO);
64
- const transactionFees = callMemeTokenInResult.extraFees.transactionFees;
65
- const tokensToSell = new bignumber_js_1.default(callMemeTokenInResult.calculatedQuantity).decimalPlaces(sellingToken.decimals);
64
+ const transactionFees = callMemeTokenInResult.extraFees.transactionFees; // transaction fees
65
+ const nativeTokensPayout = new bignumber_js_1.default(callMemeTokenInResult.originalQuantity); // number of native tokens user wants to receive
66
+ const tokensToSell = new bignumber_js_1.default(callMemeTokenInResult.calculatedQuantity).decimalPlaces(sellingToken.decimals); // number of tokens user needs to sell
66
67
  const nativeToken = sale.fetchNativeTokenInstanceKey();
67
68
  const memeToken = sale.fetchSellingTokenInstanceKey();
68
69
  // Enforce slippage tolerance
69
- if (sellTokenDTO.expectedToken && sellTokenDTO.expectedToken.comparedTo(tokensToSell) < 0) {
70
+ if (sellTokenDTO.expectedToken && sellTokenDTO.expectedToken.isLessThan(tokensToSell)) {
70
71
  throw new error_1.SlippageToleranceExceededError(`expected ${sellTokenDTO.expectedToken.toString()}, but at least ${tokensToSell.toString()} tokens are required. Increase the expected amount or adjust your slippage tolerance.`);
71
72
  }
72
73
  // The fee must be paid BEFORE the sale can happen.
73
74
  // That means you cannot pay the fee using proceeds from the sale.
74
- await (0, fees_1.payReverseBondingCurveFee)(ctx, sale, sellTokenDTO.nativeTokenQuantity, (_a = sellTokenDTO.extraFees) === null || _a === void 0 ? void 0 : _a.maxAcceptableReverseBondingCurveFee);
75
+ await (0, fees_1.payReverseBondingCurveFee)(ctx, sale, nativeTokensPayout, (_a = sellTokenDTO.extraFees) === null || _a === void 0 ? void 0 : _a.maxAcceptableReverseBondingCurveFee);
75
76
  // Transfer launchpad transaction fees if applicable
76
- const launchpadFeeAddressConfiguration = await (0, utils_1.fetchLaunchpadFeeAddress)(ctx);
77
- if (launchpadFeeAddressConfiguration && transactionFees) {
78
- await (0, chaincode_1.transferToken)(ctx, {
79
- from: ctx.callingUser,
80
- to: launchpadFeeAddressConfiguration.feeAddress,
81
- tokenInstanceKey: nativeToken,
82
- quantity: new bignumber_js_1.default(transactionFees),
83
- allowancesToUse: [],
84
- authorizedOnBehalf: undefined
85
- });
86
- }
77
+ await (0, fees_1.transferTransactionFees)(ctx, sale, transactionFees, nativeToken);
87
78
  // Send meme tokens from user to vault
88
79
  await (0, chaincode_1.transferToken)(ctx, {
89
80
  from: ctx.callingUser,
@@ -98,7 +89,7 @@ async function sellWithNative(ctx, sellTokenDTO) {
98
89
  from: sellTokenDTO.vaultAddress,
99
90
  to: ctx.callingUser,
100
91
  tokenInstanceKey: nativeToken,
101
- quantity: sellTokenDTO.nativeTokenQuantity,
92
+ quantity: nativeTokensPayout,
102
93
  allowancesToUse: [],
103
94
  authorizedOnBehalf: {
104
95
  callingOnBehalf: sellTokenDTO.vaultAddress,
@@ -106,7 +97,7 @@ async function sellWithNative(ctx, sellTokenDTO) {
106
97
  }
107
98
  });
108
99
  // Update internal sale tracking
109
- sale.sellToken(tokensToSell, sellTokenDTO.nativeTokenQuantity);
100
+ sale.sellToken(tokensToSell, nativeTokensPayout);
110
101
  await (0, chaincode_1.putChainObject)(ctx, sale);
111
102
  const token = await (0, chaincode_1.fetchTokenClass)(ctx, sale.sellingToken);
112
103
  return {
@@ -114,7 +105,7 @@ async function sellWithNative(ctx, sellTokenDTO) {
114
105
  totalFees: new bignumber_js_1.default(transactionFees)
115
106
  .plus((_c = (_b = sellTokenDTO.extraFees) === null || _b === void 0 ? void 0 : _b.maxAcceptableReverseBondingCurveFee) !== null && _c !== void 0 ? _c : 0)
116
107
  .toFixed(),
117
- outputQuantity: sellTokenDTO.nativeTokenQuantity.toFixed(),
108
+ outputQuantity: nativeTokensPayout.toFixed(),
118
109
  tokenName: token.name,
119
110
  tradeType: "Sell",
120
111
  vaultAddress: sellTokenDTO.vaultAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"sellWithNative.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellWithNative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sellWithNative.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellWithNative.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"launchpadgala.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/test/launchpadgala.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,SAAS,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6HrC,wBAsBE"}
1
+ {"version":3,"file":"launchpadgala.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/test/launchpadgala.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,SAAS,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+HrC,wBAsBE"}
@@ -20,6 +20,7 @@ const api_1 = require("@gala-chain/api");
20
20
  const test_1 = require("@gala-chain/test");
21
21
  const utils_1 = require("@gala-chain/test/lib/src/data/utils");
22
22
  const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
23
+ const types_1 = require("../../api/types");
23
24
  process.env.LAUNCHPAD_GALA_CLASS_COLLECTION = (_a = process.env.LAUNCHPAD_GALA_CLASS_COLLECTION) !== null && _a !== void 0 ? _a : "GALA";
24
25
  process.env.LAUNCHPAD_GALA_CLASS_CATEGORY = (_b = process.env.LAUNCHPAD_GALA_CLASS_CATEGORY) !== null && _b !== void 0 ? _b : "Unit";
25
26
  process.env.LAUNCHPAD_GALA_CLASS_TYPE = (_c = process.env.LAUNCHPAD_GALA_CLASS_TYPE) !== null && _c !== void 0 ? _c : "none";
@@ -33,7 +34,7 @@ const tokenClassKeyPlain = (0, utils_1.createPlainFn)({
33
34
  const tokenClassPlain = (0, utils_1.createPlainFn)({
34
35
  ...tokenClassKeyPlain(),
35
36
  description: "Generated via automated test suite.",
36
- decimals: 8,
37
+ decimals: types_1.LaunchpadSale.NATIVE_TOKEN_DECIMALS,
37
38
  image: "https://app.gala.games/test-image-placeholder-url.png",
38
39
  isNonFungible: false,
39
40
  maxCapacity: new bignumber_js_1.default(100000000000000),
@@ -1 +1 @@
1
- {"version":3,"file":"launchpadgala.js","sourceRoot":"","sources":["../../../../src/chaincode/test/launchpadgala.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launchpadgala.js","sourceRoot":"","sources":["../../../../src/chaincode/test/launchpadgala.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,8 @@ export declare function getBondingConstants(): {
8
8
  decimals: Decimal;
9
9
  };
10
10
  export declare function fetchLaunchpadFeeAddress(ctx: GalaChainContext): Promise<LaunchpadFeeConfig | undefined>;
11
+ export declare function fetchTokenDecimals(ctx: GalaChainContext, sale: LaunchpadSale): Promise<{
12
+ sellingTokenDecimals: number;
13
+ nativeTokenDecimals: number;
14
+ }>;
11
15
  //# sourceMappingURL=launchpadSaleUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"launchpadSaleUtils.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/utils/launchpadSaleUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AACzE,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,CAmBxB;AAED,wBAAgB,mBAAmB;;;;EAMlC;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAazC"}
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,CAmBxB;AAED,wBAAgB,mBAAmB;;;;EAMlC;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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchLaunchpadFeeAddress = exports.getBondingConstants = exports.fetchAndValidateSale = void 0;
3
+ exports.fetchTokenDecimals = exports.fetchLaunchpadFeeAddress = exports.getBondingConstants = exports.fetchAndValidateSale = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /*
6
6
  * Copyright (c) Gala Games Inc. All rights reserved.
@@ -62,4 +62,13 @@ async function fetchLaunchpadFeeAddress(ctx) {
62
62
  return platformFeeAddress;
63
63
  }
64
64
  exports.fetchLaunchpadFeeAddress = fetchLaunchpadFeeAddress;
65
+ async function fetchTokenDecimals(ctx, sale) {
66
+ const sellingToken = await (0, chaincode_1.fetchTokenClass)(ctx, sale.fetchSellingTokenInstanceKey());
67
+ const nativeToken = await (0, chaincode_1.fetchTokenClass)(ctx, sale.fetchNativeTokenInstanceKey());
68
+ return {
69
+ sellingTokenDecimals: sellingToken.decimals,
70
+ nativeTokenDecimals: nativeToken.decimals
71
+ };
72
+ }
73
+ exports.fetchTokenDecimals = fetchTokenDecimals;
65
74
  //# sourceMappingURL=launchpadSaleUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"launchpadSaleUtils.js","sourceRoot":"","sources":["../../../../src/chaincode/utils/launchpadSaleUtils.ts"],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAqF;AACrF,qDAAyE;AACzE,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;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,kBAAU,CAAC,GAAG,EAAE;QACtC,MAAM,IAAI,kBAAY,CAAC,8BAA8B,CAAC,CAAC;KACxD;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAtBD,oDAsBC;AAED,SAAgB,mBAAmB;IACjC,OAAO;QACL,cAAc,EAAE,IAAI,oBAAO,CAAC,eAAe,CAAC;QAC5C,KAAK,EAAE,IAAI,oBAAO,CAAC,mCAAmC,CAAC;QACvD,QAAQ,EAAE,IAAI,oBAAO,CAAC,OAAO,CAAC,CAAC,8BAA8B;KAC9D,CAAC;AACJ,CAAC;AAND,kDAMC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,GAAqB;IAErB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,0BAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE1E,MAAM,kBAAkB,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,0BAAkB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACxF,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,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAfD,4DAeC"}
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;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,kBAAU,CAAC,GAAG,EAAE;QACtC,MAAM,IAAI,kBAAY,CAAC,8BAA8B,CAAC,CAAC;KACxD;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAtBD,oDAsBC;AAED,SAAgB,mBAAmB;IACjC,OAAO;QACL,cAAc,EAAE,IAAI,oBAAO,CAAC,eAAe,CAAC;QAC5C,KAAK,EAAE,IAAI,oBAAO,CAAC,mCAAmC,CAAC;QACvD,QAAQ,EAAE,IAAI,oBAAO,CAAC,OAAO,CAAC,CAAC,8BAA8B;KAC9D,CAAC;AACJ,CAAC;AAND,kDAMC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,GAAqB;IAErB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,0BAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE1E,MAAM,kBAAkB,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,0BAAkB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACxF,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,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAfD,4DAeC;AAEM,KAAK,UAAU,kBAAkB,CACtC,GAAqB,EACrB,IAAmB;IAEnB,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAe,EAAC,GAAG,EAAE,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAe,EAAC,GAAG,EAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACnF,OAAO;QACL,oBAAoB,EAAE,YAAY,CAAC,QAAQ;QAC3C,mBAAmB,EAAE,WAAW,CAAC,QAAQ;KAC1C,CAAC;AACJ,CAAC;AAVD,gDAUC"}
package/lib/src/cli.js CHANGED
@@ -4,13 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const tslib_1 = require("tslib");
5
5
  require("fabric-shim/cli");
6
6
  const fs_1 = tslib_1.__importDefault(require("fs"));
7
+ const os_1 = tslib_1.__importDefault(require("os"));
8
+ const path_1 = tslib_1.__importDefault(require("path"));
7
9
  const [, , customCommand] = process.argv;
8
10
  if (customCommand === "get-contract-names") {
9
11
  printContractNames();
10
12
  process.exit(0);
11
13
  }
12
14
  if (customCommand === "get-contract-api") {
13
- saveContractAPI("/tmp/contract-api.json");
15
+ saveContractAPI(path_1.default.join(os_1.default.tmpdir(), "contract-api.json")); // output is stored at the operating system's default directory
14
16
  process.exit(0);
15
17
  }
16
18
  function getContractInstances() {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;;AAmBA,2BAAyB;AACzB,oDAAoB;AAEpB,MAAM,CAAC,EAAE,AAAD,EAAG,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AACzC,IAAI,aAAa,KAAK,oBAAoB,EAAE;IAC1C,kBAAkB,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB;AAED,IAAI,aAAa,KAAK,kBAAkB,EAAE;IACxC,eAAe,CAAC,wBAAwB,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB;AAED,SAAS,oBAAoB;IAC3B,qFAAqF;IACrF,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,OAAO,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;IAEhC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;SACrB,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;SAC3C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;SACvB,MAAM,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,QAAQ,GAAG,oBAAoB,EAAE;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACvB,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SAC5C,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,YAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,QAAQ,GAAG,oBAAoB,EAAE;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;SAC9B,MAAM,CAAC,CAAC,GAAgB,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC;SAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAEhE,YAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;;AAmBA,2BAAyB;AACzB,oDAAoB;AACpB,oDAAoB;AACpB,wDAAwB;AAExB,MAAM,CAAC,EAAE,AAAD,EAAG,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AACzC,IAAI,aAAa,KAAK,oBAAoB,EAAE;IAC1C,kBAAkB,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB;AAED,IAAI,aAAa,KAAK,kBAAkB,EAAE;IACxC,eAAe,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,+DAA+D;IAC7H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB;AAED,SAAS,oBAAoB;IAC3B,qFAAqF;IACrF,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,OAAO,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;IAEhC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;SACrB,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;SAC3C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;SACvB,MAAM,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,QAAQ,GAAG,oBAAoB,EAAE;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACvB,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SAC5C,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,YAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,QAAQ,GAAG,oBAAoB,EAAE;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;SAC9B,MAAM,CAAC,CAAC,GAAgB,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC;SAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAEhE,YAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnD,CAAC"}