@gala-chain/launchpad 1.0.0 → 1.0.2

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 (92) hide show
  1. package/lib/package.json +7 -7
  2. package/lib/src/api/types/LaunchpadBatchSubmitAuthorities.d.ts +12 -0
  3. package/lib/src/api/types/LaunchpadBatchSubmitAuthorities.d.ts.map +1 -0
  4. package/lib/src/api/types/LaunchpadBatchSubmitAuthorities.js +56 -0
  5. package/lib/src/api/types/LaunchpadBatchSubmitAuthorities.js.map +1 -0
  6. package/lib/src/api/types/LaunchpadDtos.d.ts +16 -0
  7. package/lib/src/api/types/LaunchpadDtos.d.ts.map +1 -1
  8. package/lib/src/api/types/LaunchpadDtos.js +53 -1
  9. package/lib/src/api/types/LaunchpadDtos.js.map +1 -1
  10. package/lib/src/api/types/LaunchpadFeeConfig.d.ts +3 -2
  11. package/lib/src/api/types/LaunchpadFeeConfig.d.ts.map +1 -1
  12. package/lib/src/api/types/LaunchpadFeeConfig.js +14 -4
  13. package/lib/src/api/types/LaunchpadFeeConfig.js.map +1 -1
  14. package/lib/src/api/types/index.d.ts +1 -0
  15. package/lib/src/api/types/index.d.ts.map +1 -1
  16. package/lib/src/api/types/index.js +1 -0
  17. package/lib/src/api/types/index.js.map +1 -1
  18. package/lib/src/chaincode/LaunchpadContract.d.ts +6 -1
  19. package/lib/src/chaincode/LaunchpadContract.d.ts.map +1 -1
  20. package/lib/src/chaincode/LaunchpadContract.js +85 -0
  21. package/lib/src/chaincode/LaunchpadContract.js.map +1 -1
  22. package/lib/src/chaincode/launchpad/buyExactToken.d.ts.map +1 -1
  23. package/lib/src/chaincode/launchpad/buyExactToken.js +15 -0
  24. package/lib/src/chaincode/launchpad/buyExactToken.js.map +1 -1
  25. package/lib/src/chaincode/launchpad/buyWithNative.d.ts.map +1 -1
  26. package/lib/src/chaincode/launchpad/buyWithNative.js +24 -0
  27. package/lib/src/chaincode/launchpad/buyWithNative.js.map +1 -1
  28. package/lib/src/chaincode/launchpad/callMemeTokenIn.d.ts +1 -0
  29. package/lib/src/chaincode/launchpad/callMemeTokenIn.d.ts.map +1 -1
  30. package/lib/src/chaincode/launchpad/callMemeTokenIn.js +3 -1
  31. package/lib/src/chaincode/launchpad/callMemeTokenIn.js.map +1 -1
  32. package/lib/src/chaincode/launchpad/callMemeTokenOut.d.ts +1 -0
  33. package/lib/src/chaincode/launchpad/callMemeTokenOut.d.ts.map +1 -1
  34. package/lib/src/chaincode/launchpad/callMemeTokenOut.js +4 -1
  35. package/lib/src/chaincode/launchpad/callMemeTokenOut.js.map +1 -1
  36. package/lib/src/chaincode/launchpad/callNativeTokenIn.d.ts +1 -0
  37. package/lib/src/chaincode/launchpad/callNativeTokenIn.d.ts.map +1 -1
  38. package/lib/src/chaincode/launchpad/callNativeTokenIn.js +6 -2
  39. package/lib/src/chaincode/launchpad/callNativeTokenIn.js.map +1 -1
  40. package/lib/src/chaincode/launchpad/callNativeTokenOut.d.ts +1 -0
  41. package/lib/src/chaincode/launchpad/callNativeTokenOut.d.ts.map +1 -1
  42. package/lib/src/chaincode/launchpad/callNativeTokenOut.js +3 -1
  43. package/lib/src/chaincode/launchpad/callNativeTokenOut.js.map +1 -1
  44. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.d.ts +12 -0
  45. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.d.ts.map +1 -1
  46. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.js +26 -6
  47. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.js.map +1 -1
  48. package/lib/src/chaincode/launchpad/createSale.d.ts.map +1 -1
  49. package/lib/src/chaincode/launchpad/createSale.js +2 -0
  50. package/lib/src/chaincode/launchpad/createSale.js.map +1 -1
  51. package/lib/src/chaincode/launchpad/fees.d.ts +1 -0
  52. package/lib/src/chaincode/launchpad/fees.d.ts.map +1 -1
  53. package/lib/src/chaincode/launchpad/fees.js +6 -2
  54. package/lib/src/chaincode/launchpad/fees.js.map +1 -1
  55. package/lib/src/chaincode/launchpad/finaliseSale.js +3 -3
  56. package/lib/src/chaincode/launchpad/finaliseSale.js.map +1 -1
  57. package/lib/src/chaincode/launchpad/index.d.ts +1 -0
  58. package/lib/src/chaincode/launchpad/index.d.ts.map +1 -1
  59. package/lib/src/chaincode/launchpad/index.js +1 -0
  60. package/lib/src/chaincode/launchpad/index.js.map +1 -1
  61. package/lib/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.d.ts +24 -0
  62. package/lib/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.d.ts.map +1 -0
  63. package/lib/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.js +84 -0
  64. package/lib/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.js.map +1 -0
  65. package/lib/src/chaincode/launchpad/sellExactToken.d.ts.map +1 -1
  66. package/lib/src/chaincode/launchpad/sellExactToken.js +27 -8
  67. package/lib/src/chaincode/launchpad/sellExactToken.js.map +1 -1
  68. package/lib/src/chaincode/launchpad/sellWithNative.d.ts.map +1 -1
  69. package/lib/src/chaincode/launchpad/sellWithNative.js +26 -2
  70. package/lib/src/chaincode/launchpad/sellWithNative.js.map +1 -1
  71. package/lib/tsconfig.tsbuildinfo +1 -1
  72. package/package.json +8 -8
  73. package/src/api/types/LaunchpadBatchSubmitAuthorities.ts +53 -0
  74. package/src/api/types/LaunchpadDtos.ts +44 -0
  75. package/src/api/types/LaunchpadFeeConfig.ts +13 -4
  76. package/src/api/types/index.ts +1 -0
  77. package/src/chaincode/LaunchpadContract.ts +96 -1
  78. package/src/chaincode/launchpad/buyExactToken.ts +17 -1
  79. package/src/chaincode/launchpad/buyWithNative.ts +28 -1
  80. package/src/chaincode/launchpad/callMemeTokenIn.ts +8 -3
  81. package/src/chaincode/launchpad/callMemeTokenOut.ts +8 -2
  82. package/src/chaincode/launchpad/callNativeTokenIn.ts +10 -3
  83. package/src/chaincode/launchpad/callNativeTokenOut.ts +8 -3
  84. package/src/chaincode/launchpad/configureLaunchpadFeeConfig.ts +27 -4
  85. package/src/chaincode/launchpad/createSale.ts +2 -0
  86. package/src/chaincode/launchpad/fees.ts +5 -1
  87. package/src/chaincode/launchpad/finaliseSale.ts +3 -3
  88. package/src/chaincode/launchpad/index.ts +1 -0
  89. package/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.spec.ts +185 -0
  90. package/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.ts +105 -0
  91. package/src/chaincode/launchpad/sellExactToken.ts +30 -11
  92. package/src/chaincode/launchpad/sellWithNative.ts +30 -2
@@ -1 +1 @@
1
- {"version":3,"file":"buyExactToken.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/buyExactToken.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buyExactToken.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/buyExactToken.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"buyWithNative.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/buyWithNative.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAkD,MAAM,uBAAuB,CAAC;AAGzG,OAAO,EAAwC,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAW5G;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,gBAAgB,EACrB,WAAW,EAAE,sBAAsB,GAClC,OAAO,CAAC,WAAW,CAAC,CAsEtB"}
1
+ {"version":3,"file":"buyWithNative.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/buyWithNative.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAkD,MAAM,uBAAuB,CAAC;AAGzG,OAAO,EAAwC,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAW5G;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,gBAAgB,EACrB,WAAW,EAAE,sBAAsB,GAClC,OAAO,CAAC,WAAW,CAAC,CAiGtB"}
@@ -46,26 +46,46 @@ bignumber_js_1.BigNumber.config({
46
46
  */
47
47
  async function buyWithNative(ctx, buyTokenDTO) {
48
48
  let isSaleFinalized = false;
49
+ // Fetch and validate sale state
49
50
  const sale = await (0, utils_1.fetchAndValidateSale)(ctx, buyTokenDTO.vaultAddress);
50
51
  const tokensLeftInVault = new bignumber_js_1.BigNumber(sale.sellingTokenQuantity);
52
+ // Calculate how many tokens the user can buy and fee info
51
53
  const callMemeTokenOutResult = await (0, callMemeTokenOut_1.callMemeTokenOut)(ctx, buyTokenDTO);
54
+ let transactionFees = callMemeTokenOutResult.extraFees.transactionFees;
52
55
  let tokensToBuy = new bignumber_js_1.BigNumber(callMemeTokenOutResult.calculatedQuantity);
53
56
  const nativeToken = sale.fetchNativeTokenInstanceKey();
54
57
  const memeToken = sale.fetchSellingTokenInstanceKey();
58
+ // If vault has fewer tokens than what user wants to buy, cap the purchase
55
59
  if (tokensLeftInVault.comparedTo(tokensToBuy) <= 0) {
56
60
  tokensToBuy = tokensLeftInVault;
57
61
  const nativeTokensrequiredToBuyDto = new types_1.ExactTokenQuantityDto(buyTokenDTO.vaultAddress, tokensToBuy);
58
62
  const callNativeTokenInResult = await (0, callNativeTokenIn_1.callNativeTokenIn)(ctx, nativeTokensrequiredToBuyDto);
63
+ transactionFees = callMemeTokenOutResult.extraFees.transactionFees;
59
64
  buyTokenDTO.nativeTokenQuantity = new bignumber_js_1.BigNumber(callNativeTokenInResult.calculatedQuantity);
60
65
  isSaleFinalized = true;
61
66
  }
67
+ // Finalize sale if market cap is reached
62
68
  if (buyTokenDTO.nativeTokenQuantity
63
69
  .plus(new bignumber_js_1.BigNumber(sale.nativeTokenQuantity))
64
70
  .gte(new bignumber_js_1.BigNumber(types_1.LaunchpadSale.MARKET_CAP)))
65
71
  isSaleFinalized = true;
72
+ // Check for slippage condition
66
73
  if (buyTokenDTO.expectedToken && buyTokenDTO.expectedToken.comparedTo(tokensToBuy) > 0) {
67
74
  throw new error_1.SlippageToleranceExceededError("Tokens expected from this operation are more than the the actual amount that will be provided.");
68
75
  }
76
+ // Transfer transaction fees to launchpad fee address
77
+ const launchpadFeeAddressConfiguration = await (0, utils_1.fetchLaunchpadFeeAddress)(ctx);
78
+ if (launchpadFeeAddressConfiguration && transactionFees) {
79
+ await (0, chaincode_1.transferToken)(ctx, {
80
+ from: ctx.callingUser,
81
+ to: launchpadFeeAddressConfiguration.feeAddress,
82
+ tokenInstanceKey: nativeToken,
83
+ quantity: new bignumber_js_1.BigNumber(transactionFees),
84
+ allowancesToUse: [],
85
+ authorizedOnBehalf: undefined
86
+ });
87
+ }
88
+ // Transfer native tokens from buyer to vault
69
89
  await (0, chaincode_1.transferToken)(ctx, {
70
90
  from: ctx.callingUser,
71
91
  to: buyTokenDTO.vaultAddress,
@@ -74,6 +94,7 @@ async function buyWithNative(ctx, buyTokenDTO) {
74
94
  allowancesToUse: [],
75
95
  authorizedOnBehalf: undefined
76
96
  });
97
+ // Transfer meme tokens from vault to buyer
77
98
  await (0, chaincode_1.transferToken)(ctx, {
78
99
  from: buyTokenDTO.vaultAddress,
79
100
  to: ctx.callingUser,
@@ -85,14 +106,17 @@ async function buyWithNative(ctx, buyTokenDTO) {
85
106
  callingUser: ctx.callingUser
86
107
  }
87
108
  });
109
+ // Update sale object with purchase data
88
110
  sale.buyToken(tokensToBuy, buyTokenDTO.nativeTokenQuantity);
89
111
  await (0, chaincode_1.putChainObject)(ctx, sale);
112
+ // Finalize sale if it's complete
90
113
  if (isSaleFinalized) {
91
114
  await (0, finaliseSale_1.finalizeSale)(ctx, sale);
92
115
  }
93
116
  const token = await (0, chaincode_1.fetchTokenClass)(ctx, sale.sellingToken);
94
117
  return {
95
118
  inputQuantity: buyTokenDTO.nativeTokenQuantity.toFixed(),
119
+ totalFees: transactionFees,
96
120
  outputQuantity: tokensToBuy.toFixed(),
97
121
  tokenName: token.name,
98
122
  tradeType: "Buy",
@@ -1 +1 @@
1
- {"version":3,"file":"buyWithNative.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/buyWithNative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buyWithNative.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/buyWithNative.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export declare function callMemeTokenIn(ctx: GalaChainContext, sellTokenDTO: Nat
22
22
  calculatedQuantity: string;
23
23
  extraFees: {
24
24
  reverseBondingCurve: string;
25
+ transactionFees: string;
25
26
  };
26
27
  }>;
27
28
  //# sourceMappingURL=callMemeTokenIn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callMemeTokenIn.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callMemeTokenIn.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EAAiB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAmCxE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,sBAAsB;;;;;GAShG"}
1
+ {"version":3,"file":"callMemeTokenIn.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callMemeTokenIn.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EAAiB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAmCxE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,sBAAsB;;;;;;GAchG"}
@@ -65,10 +65,12 @@ function calculateMemeTokensRequired(sale, requestedNativeTokenQuantity) {
65
65
  */
66
66
  async function callMemeTokenIn(ctx, sellTokenDTO) {
67
67
  const sale = await (0, utils_1.fetchAndValidateSale)(ctx, sellTokenDTO.vaultAddress);
68
+ const launchpadFeeAddressConfiguration = await (0, utils_1.fetchLaunchpadFeeAddress)(ctx);
68
69
  return {
69
70
  calculatedQuantity: calculateMemeTokensRequired(sale, sellTokenDTO.nativeTokenQuantity),
70
71
  extraFees: {
71
- reverseBondingCurve: (0, fees_1.calculateReverseBondingCurveFee)(sale, sellTokenDTO.nativeTokenQuantity).toString()
72
+ reverseBondingCurve: (0, fees_1.calculateReverseBondingCurveFee)(sale, sellTokenDTO.nativeTokenQuantity).toString(),
73
+ transactionFees: (0, fees_1.calculateTransactionFee)(sellTokenDTO.nativeTokenQuantity, launchpadFeeAddressConfiguration === null || launchpadFeeAddressConfiguration === void 0 ? void 0 : launchpadFeeAddressConfiguration.feeAmount)
72
74
  }
73
75
  };
74
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callMemeTokenIn.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callMemeTokenIn.ts"],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAwD;AAExD,+CAAyC;AACzC,oEAAiC;AAGjC,oCAAqE;AACrE,iCAAyD;AAEzD,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH,SAAS,2BAA2B,CAAC,IAAmB,EAAE,4BAAuC;IAC/F,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,0BAA0B;IACvF,IAAI,YAAY,GAAG,IAAI,oBAAO,CAAC,4BAA4B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,gCAAgC;IACzG,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,iBAAiB;IACvE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,MAAM,kBAAkB,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjE,IAAI,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACjD,YAAY,GAAG,kBAAkB,CAAC;IACpC,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvE,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,2BAAqB,CAAC,6DAA6D,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1F,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,EAAE,oBAAO,CAAC,QAAQ,CAAC,CAAC;IAE1E,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,eAAe,CAAC,GAAqB,EAAE,YAAoC;IAC/F,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAoB,EAAC,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IAExE,OAAO;QACL,kBAAkB,EAAE,2BAA2B,CAAC,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC;QACvF,SAAS,EAAE;YACT,mBAAmB,EAAE,IAAA,sCAA+B,EAAC,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;SACxG;KACF,CAAC;AACJ,CAAC;AATD,0CASC"}
1
+ {"version":3,"file":"callMemeTokenIn.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callMemeTokenIn.ts"],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAwD;AAExD,+CAAyC;AACzC,oEAAiC;AAGjC,oCAA+F;AAC/F,iCAAkF;AAElF,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH,SAAS,2BAA2B,CAAC,IAAmB,EAAE,4BAAuC;IAC/F,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,0BAA0B;IACvF,IAAI,YAAY,GAAG,IAAI,oBAAO,CAAC,4BAA4B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,gCAAgC;IACzG,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,iBAAiB;IACvE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,MAAM,kBAAkB,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjE,IAAI,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACjD,YAAY,GAAG,kBAAkB,CAAC;IACpC,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvE,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,2BAAqB,CAAC,6DAA6D,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1F,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,EAAE,oBAAO,CAAC,QAAQ,CAAC,CAAC;IAE1E,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,eAAe,CAAC,GAAqB,EAAE,YAAoC;IAC/F,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAoB,EAAC,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACxE,MAAM,gCAAgC,GAAG,MAAM,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC;IAE7E,OAAO;QACL,kBAAkB,EAAE,2BAA2B,CAAC,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC;QACvF,SAAS,EAAE;YACT,mBAAmB,EAAE,IAAA,sCAA+B,EAAC,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;YACvG,eAAe,EAAE,IAAA,8BAAuB,EACtC,YAAY,CAAC,mBAAmB,EAChC,gCAAgC,aAAhC,gCAAgC,uBAAhC,gCAAgC,CAAE,SAAS,CAC5C;SACF;KACF,CAAC;AACJ,CAAC;AAdD,0CAcC"}
@@ -20,6 +20,7 @@ export declare function callMemeTokenOut(ctx: GalaChainContext, buyTokenDTO: Nat
20
20
  calculatedQuantity: string;
21
21
  extraFees: {
22
22
  reverseBondingCurve: string;
23
+ transactionFees: string;
23
24
  };
24
25
  }>;
25
26
  //# sourceMappingURL=callMemeTokenOut.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callMemeTokenOut.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callMemeTokenOut.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EAAiB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAOxE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB;;;;;GAsChG"}
1
+ {"version":3,"file":"callMemeTokenOut.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callMemeTokenOut.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EAAiB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAQxE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB;;;;;;GA2ChG"}
@@ -6,6 +6,7 @@ const bignumber_js_1 = require("bignumber.js");
6
6
  const decimal_js_1 = tslib_1.__importDefault(require("decimal.js"));
7
7
  const types_1 = require("../../api/types");
8
8
  const utils_1 = require("../utils");
9
+ const fees_1 = require("./fees");
9
10
  bignumber_js_1.BigNumber.config({
10
11
  ROUNDING_MODE: bignumber_js_1.BigNumber.ROUND_UP
11
12
  });
@@ -45,10 +46,12 @@ async function callMemeTokenOut(ctx, buyTokenDTO) {
45
46
  if (roundedResult.add(totalTokensSold).greaterThan(new decimal_js_1.default("1e+7"))) {
46
47
  roundedResult = new decimal_js_1.default("1e+7").minus(new decimal_js_1.default(totalTokensSold));
47
48
  }
49
+ const launchpadFeeAddressConfiguration = await (0, utils_1.fetchLaunchpadFeeAddress)(ctx);
48
50
  return {
49
51
  calculatedQuantity: roundedResult.toFixed(),
50
52
  extraFees: {
51
- reverseBondingCurve: "0"
53
+ reverseBondingCurve: "0",
54
+ transactionFees: (0, fees_1.calculateTransactionFee)((0, bignumber_js_1.BigNumber)(nativeTokens.toFixed()), launchpadFeeAddressConfiguration === null || launchpadFeeAddressConfiguration === void 0 ? void 0 : launchpadFeeAddressConfiguration.feeAmount)
52
55
  }
53
56
  };
54
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callMemeTokenOut.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callMemeTokenOut.ts"],"names":[],"mappings":";;;;AAeA,+CAAyC;AACzC,oEAAiC;AAEjC,2CAAwE;AACxE,oCAAqE;AAErE,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,gBAAgB,CAAC,GAAqB,EAAE,WAAmC;IAC/F,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAoB,EAAC,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,0BAA0B;IACvF,IAAI,YAAY,GAAG,IAAI,oBAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,gCAAgC;IAC5G,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,iBAAiB;IACvE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,IACE,YAAY,CAAC,GAAG,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,oBAAO,CAAC,qBAAa,CAAC,UAAU,CAAC,CAAC,EAC1G,CAAC;QACD,YAAY,GAAG,IAAI,oBAAO,CAAC,qBAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEjE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEzC,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACtD,IAAI,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,oBAAO,CAAC,UAAU,CAAC,CAAC;IAEnE,IAAI,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACxE,aAAa,GAAG,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,oBAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO;QACL,kBAAkB,EAAE,aAAa,CAAC,OAAO,EAAE;QAC3C,SAAS,EAAE;YACT,mBAAmB,EAAE,GAAG;SACzB;KACF,CAAC;AACJ,CAAC;AAtCD,4CAsCC"}
1
+ {"version":3,"file":"callMemeTokenOut.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callMemeTokenOut.ts"],"names":[],"mappings":";;;;AAeA,+CAAyC;AACzC,oEAAiC;AAEjC,2CAAwE;AACxE,oCAA+F;AAC/F,iCAAiD;AAEjD,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,gBAAgB,CAAC,GAAqB,EAAE,WAAmC;IAC/F,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAoB,EAAC,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,0BAA0B;IACvF,IAAI,YAAY,GAAG,IAAI,oBAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,gCAAgC;IAC5G,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,iBAAiB;IACvE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,IACE,YAAY,CAAC,GAAG,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,oBAAO,CAAC,qBAAa,CAAC,UAAU,CAAC,CAAC,EAC1G,CAAC;QACD,YAAY,GAAG,IAAI,oBAAO,CAAC,qBAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEjE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEzC,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACtD,IAAI,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,oBAAO,CAAC,UAAU,CAAC,CAAC;IAEnE,IAAI,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACxE,aAAa,GAAG,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,oBAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,gCAAgC,GAAG,MAAM,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC;IAC7E,OAAO;QACL,kBAAkB,EAAE,aAAa,CAAC,OAAO,EAAE;QAC3C,SAAS,EAAE;YACT,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,IAAA,8BAAuB,EACtC,IAAA,wBAAS,EAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EACjC,gCAAgC,aAAhC,gCAAgC,uBAAhC,gCAAgC,CAAE,SAAS,CAC5C;SACF;KACF,CAAC;AACJ,CAAC;AA3CD,4CA2CC"}
@@ -20,6 +20,7 @@ export declare function callNativeTokenIn(ctx: GalaChainContext, buyTokenDTO: Ex
20
20
  calculatedQuantity: string;
21
21
  extraFees: {
22
22
  reverseBondingCurve: string;
23
+ transactionFees: string;
23
24
  };
24
25
  }>;
25
26
  //# sourceMappingURL=callNativeTokenIn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callNativeTokenIn.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callNativeTokenIn.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAOxD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB;;;;;GA6BhG"}
1
+ {"version":3,"file":"callNativeTokenIn.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callNativeTokenIn.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAQxD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB;;;;;;GAmChG"}
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const bignumber_js_1 = require("bignumber.js");
6
6
  const decimal_js_1 = tslib_1.__importDefault(require("decimal.js"));
7
7
  const utils_1 = require("../utils");
8
+ const fees_1 = require("./fees");
8
9
  bignumber_js_1.BigNumber.config({
9
10
  ROUNDING_MODE: bignumber_js_1.BigNumber.ROUND_UP
10
11
  });
@@ -40,10 +41,13 @@ async function callNativeTokenIn(ctx, buyTokenDTO) {
40
41
  const constantFactor = basePrice.div(exponentFactor);
41
42
  const differenceOfExponentials = eResult1.minus(eResult2);
42
43
  const price = constantFactor.mul(differenceOfExponentials);
44
+ const launchpadFeeAddressConfiguration = await (0, utils_1.fetchLaunchpadFeeAddress)(ctx);
45
+ const roundedPrice = price.toDecimalPlaces(8, decimal_js_1.default.ROUND_UP).toFixed();
43
46
  return {
44
- calculatedQuantity: price.toDecimalPlaces(8, decimal_js_1.default.ROUND_UP).toFixed(),
47
+ calculatedQuantity: roundedPrice,
45
48
  extraFees: {
46
- reverseBondingCurve: "0"
49
+ reverseBondingCurve: "0",
50
+ transactionFees: (0, fees_1.calculateTransactionFee)((0, bignumber_js_1.BigNumber)(roundedPrice), launchpadFeeAddressConfiguration === null || launchpadFeeAddressConfiguration === void 0 ? void 0 : launchpadFeeAddressConfiguration.feeAmount)
47
51
  }
48
52
  };
49
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callNativeTokenIn.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callNativeTokenIn.ts"],"names":[],"mappings":";;;;AAeA,+CAAyC;AACzC,oEAAiC;AAGjC,oCAAqE;AAErE,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,iBAAiB,CAAC,GAAqB,EAAE,WAAkC;IAC/F,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAoB,EAAC,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAE5D,IAAI,WAAW,GAAG,IAAI,oBAAO,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,IAAI,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACtE,WAAW,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEtC,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,wBAAwB,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAE3D,OAAO;QACL,kBAAkB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,oBAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;QACxE,SAAS,EAAE;YACT,mBAAmB,EAAE,GAAG;SACzB;KACF,CAAC;AACJ,CAAC;AA7BD,8CA6BC"}
1
+ {"version":3,"file":"callNativeTokenIn.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callNativeTokenIn.ts"],"names":[],"mappings":";;;;AAeA,+CAAyC;AACzC,oEAAiC;AAGjC,oCAA+F;AAC/F,iCAAiD;AAEjD,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,iBAAiB,CAAC,GAAqB,EAAE,WAAkC;IAC/F,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAoB,EAAC,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAE5D,IAAI,WAAW,GAAG,IAAI,oBAAO,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,IAAI,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACtE,WAAW,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEtC,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,wBAAwB,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAE3D,MAAM,gCAAgC,GAAG,MAAM,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,oBAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1E,OAAO;QACL,kBAAkB,EAAE,YAAY;QAChC,SAAS,EAAE;YACT,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,IAAA,8BAAuB,EACtC,IAAA,wBAAS,EAAC,YAAY,CAAC,EACvB,gCAAgC,aAAhC,gCAAgC,uBAAhC,gCAAgC,CAAE,SAAS,CAC5C;SACF;KACF,CAAC;AACJ,CAAC;AAnCD,8CAmCC"}
@@ -21,6 +21,7 @@ export declare function callNativeTokenOut(ctx: GalaChainContext, sellTokenDTO:
21
21
  calculatedQuantity: string;
22
22
  extraFees: {
23
23
  reverseBondingCurve: string;
24
+ transactionFees: string;
24
25
  };
25
26
  }>;
26
27
  //# sourceMappingURL=callNativeTokenOut.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callNativeTokenOut.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callNativeTokenOut.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EAAE,qBAAqB,EAAiB,MAAM,iBAAiB,CAAC;AAoCvE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,qBAAqB;;;;;GASlG"}
1
+ {"version":3,"file":"callNativeTokenOut.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callNativeTokenOut.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EAAE,qBAAqB,EAAiB,MAAM,iBAAiB,CAAC;AAoCvE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,qBAAqB;;;;;;GAclG"}
@@ -49,10 +49,12 @@ function calculateNativeTokensReceived(sale, tokensToSellBn) {
49
49
  async function callNativeTokenOut(ctx, sellTokenDTO) {
50
50
  const sale = await (0, utils_1.fetchAndValidateSale)(ctx, sellTokenDTO.vaultAddress);
51
51
  const nativeTokensReceived = calculateNativeTokensReceived(sale, sellTokenDTO.tokenQuantity);
52
+ const launchpadFeeAddressConfiguration = await (0, utils_1.fetchLaunchpadFeeAddress)(ctx);
52
53
  return {
53
54
  calculatedQuantity: nativeTokensReceived,
54
55
  extraFees: {
55
- reverseBondingCurve: (0, fees_1.calculateReverseBondingCurveFee)(sale, (0, bignumber_js_1.BigNumber)(nativeTokensReceived)).toString()
56
+ reverseBondingCurve: (0, fees_1.calculateReverseBondingCurveFee)(sale, (0, bignumber_js_1.BigNumber)(nativeTokensReceived)).toString(),
57
+ transactionFees: (0, fees_1.calculateTransactionFee)((0, bignumber_js_1.BigNumber)(nativeTokensReceived), launchpadFeeAddressConfiguration === null || launchpadFeeAddressConfiguration === void 0 ? void 0 : launchpadFeeAddressConfiguration.feeAmount)
56
58
  }
57
59
  };
58
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callNativeTokenOut.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callNativeTokenOut.ts"],"names":[],"mappings":";;;;AAeA,+CAAyC;AACzC,oEAAiC;AAGjC,oCAAqE;AACrE,iCAAyD;AAEzD,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH,SAAS,6BAA6B,CAAC,IAAmB,EAAE,cAAyB;IACnF,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAE5D,IAAI,YAAY,GAAG,IAAI,oBAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,IAAI,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE7D,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,YAAY,GAAG,eAAe,CAAC;QAC/B,kBAAkB,GAAG,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEtC,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,wBAAwB,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,oBAAO,CAAC,UAAU,CAAC,CAAC;IAElE,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,kBAAkB,CAAC,GAAqB,EAAE,YAAmC;IACjG,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAoB,EAAC,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACxE,MAAM,oBAAoB,GAAG,6BAA6B,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC7F,OAAO;QACL,kBAAkB,EAAE,oBAAoB;QACxC,SAAS,EAAE;YACT,mBAAmB,EAAE,IAAA,sCAA+B,EAAC,IAAI,EAAE,IAAA,wBAAS,EAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE;SACvG;KACF,CAAC;AACJ,CAAC;AATD,gDASC"}
1
+ {"version":3,"file":"callNativeTokenOut.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/callNativeTokenOut.ts"],"names":[],"mappings":";;;;AAeA,+CAAyC;AACzC,oEAAiC;AAGjC,oCAA+F;AAC/F,iCAAkF;AAElF,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH,SAAS,6BAA6B,CAAC,IAAmB,EAAE,cAAyB;IACnF,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAE5D,IAAI,YAAY,GAAG,IAAI,oBAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,IAAI,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE7D,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,YAAY,GAAG,eAAe,CAAC;QAC/B,kBAAkB,GAAG,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEtC,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,wBAAwB,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,oBAAO,CAAC,UAAU,CAAC,CAAC;IAElE,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,kBAAkB,CAAC,GAAqB,EAAE,YAAmC;IACjG,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAoB,EAAC,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACxE,MAAM,oBAAoB,GAAG,6BAA6B,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC7F,MAAM,gCAAgC,GAAG,MAAM,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC;IAC7E,OAAO;QACL,kBAAkB,EAAE,oBAAoB;QACxC,SAAS,EAAE;YACT,mBAAmB,EAAE,IAAA,sCAA+B,EAAC,IAAI,EAAE,IAAA,wBAAS,EAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE;YACtG,eAAe,EAAE,IAAA,8BAAuB,EACtC,IAAA,wBAAS,EAAC,oBAAoB,CAAC,EAC/B,gCAAgC,aAAhC,gCAAgC,uBAAhC,gCAAgC,CAAE,SAAS,CAC5C;SACF;KACF,CAAC;AACJ,CAAC;AAdD,gDAcC"}
@@ -1,4 +1,16 @@
1
1
  import { GalaChainContext } from "@gala-chain/chaincode";
2
2
  import { ConfigureLaunchpadFeeAddressDto, LaunchpadFeeConfig } from "../../api/types";
3
+ /**
4
+ * Configures or updates the Launchpad platform fee settings.
5
+ *
6
+ * This function initializes or modifies the fee address, fee amount, and list of authorities
7
+ * responsible for managing Launchpad platform fees. Only users from the designated curator
8
+ * organization or authorized addresses are permitted to make these changes.
9
+ *
10
+ * @param ctx - The context object providing access to the GalaChain environment.
11
+ * @param dto - The data transfer object containing the new fee address, fee amount,
12
+ * and optional list of new authorities.
13
+ * @returns A promise that resolves to the updated or newly created `LaunchpadFeeConfig` object.
14
+ */
3
15
  export declare function configureLaunchpadFeeAddress(ctx: GalaChainContext, dto: ConfigureLaunchpadFeeAddressDto): Promise<LaunchpadFeeConfig>;
4
16
  //# sourceMappingURL=configureLaunchpadFeeConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configureLaunchpadFeeConfig.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/configureLaunchpadFeeConfig.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEtF,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,+BAA+B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CA6C7B"}
1
+ {"version":3,"file":"configureLaunchpadFeeConfig.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/configureLaunchpadFeeConfig.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEtF;;;;;;;;;;;GAWG;AACH,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,+BAA+B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAwD7B"}
@@ -18,15 +18,30 @@ exports.configureLaunchpadFeeAddress = void 0;
18
18
  const api_1 = require("@gala-chain/api");
19
19
  const chaincode_1 = require("@gala-chain/chaincode");
20
20
  const types_1 = require("../../api/types");
21
+ /**
22
+ * Configures or updates the Launchpad platform fee settings.
23
+ *
24
+ * This function initializes or modifies the fee address, fee amount, and list of authorities
25
+ * responsible for managing Launchpad platform fees. Only users from the designated curator
26
+ * organization or authorized addresses are permitted to make these changes.
27
+ *
28
+ * @param ctx - The context object providing access to the GalaChain environment.
29
+ * @param dto - The data transfer object containing the new fee address, fee amount,
30
+ * and optional list of new authorities.
31
+ * @returns A promise that resolves to the updated or newly created `LaunchpadFeeConfig` object.
32
+ */
21
33
  async function configureLaunchpadFeeAddress(ctx, dto) {
22
- var _a, _b, _c, _d, _e;
23
- if (!dto.newPlatformFeeAddress && !((_a = dto.newAuthorities) === null || _a === void 0 ? void 0 : _a.length)) {
34
+ var _a, _b, _c, _d, _e, _f;
35
+ // Validate input: at least one field must be present
36
+ if (!dto.newPlatformFeeAddress && !((_a = dto.newAuthorities) === null || _a === void 0 ? void 0 : _a.length) && !dto.newFeeAmount) {
24
37
  throw new api_1.ValidationFailedError("None of the input fields are present.");
25
38
  }
26
39
  const curatorOrgMsp = (_b = process.env.CURATOR_ORG_MSP) !== null && _b !== void 0 ? _b : "CuratorOrg";
27
40
  const key = ctx.stub.createCompositeKey(types_1.LaunchpadFeeConfig.INDEX_KEY, []);
41
+ // Attempt to fetch existing config from the chain
28
42
  let platformFeeAddress = await (0, chaincode_1.getObjectByKey)(ctx, types_1.LaunchpadFeeConfig, key).catch((e) => {
29
43
  const chainError = api_1.ChainError.from(e);
44
+ // Handle case where config doesn't exist yet
30
45
  if (chainError.matches(api_1.ErrorCode.NOT_FOUND)) {
31
46
  return undefined;
32
47
  }
@@ -34,19 +49,24 @@ async function configureLaunchpadFeeAddress(ctx, dto) {
34
49
  throw chainError;
35
50
  }
36
51
  });
52
+ // Authorization check
37
53
  if (ctx.clientIdentity.getMSPID() !== curatorOrgMsp) {
38
54
  if (!platformFeeAddress || !platformFeeAddress.authorities.includes(ctx.callingUser)) {
39
55
  throw new api_1.UnauthorizedError(`CallingUser ${ctx.callingUser} is not authorized to create or update`);
40
56
  }
41
57
  }
58
+ // If no existing config, this is the initial setup
42
59
  if (!platformFeeAddress) {
43
- if (!dto.newPlatformFeeAddress) {
44
- throw new api_1.ValidationFailedError("Must provide a platform fee address in the initial setup of the configuration.");
60
+ // Require both address and fee amount on initial setup
61
+ if (!dto.newPlatformFeeAddress || !dto.newFeeAmount) {
62
+ throw new api_1.ValidationFailedError("Must provide a launchpad platform fee address and fee amount in the initial setup of the configuration.");
45
63
  }
46
- platformFeeAddress = new types_1.LaunchpadFeeConfig(dto.newPlatformFeeAddress, (_c = dto.newAuthorities) !== null && _c !== void 0 ? _c : [ctx.callingUser]);
64
+ // Create new configuration
65
+ platformFeeAddress = new types_1.LaunchpadFeeConfig(dto.newPlatformFeeAddress, dto.newFeeAmount, (_c = dto.newAuthorities) !== null && _c !== void 0 ? _c : [ctx.callingUser]);
47
66
  }
48
67
  else if (platformFeeAddress && platformFeeAddress.authorities.includes(ctx.callingUser)) {
49
- platformFeeAddress.setNewFeeAddress((_d = dto.newPlatformFeeAddress) !== null && _d !== void 0 ? _d : platformFeeAddress.feeAddress, (_e = dto.newAuthorities) !== null && _e !== void 0 ? _e : platformFeeAddress.authorities);
68
+ // Caller is authorized and updating the existing config
69
+ platformFeeAddress.updateFeeConfig((_d = dto.newPlatformFeeAddress) !== null && _d !== void 0 ? _d : platformFeeAddress.feeAddress, (_e = dto.newFeeAmount) !== null && _e !== void 0 ? _e : platformFeeAddress.feeAmount, (_f = dto.newAuthorities) !== null && _f !== void 0 ? _f : platformFeeAddress.authorities);
50
70
  }
51
71
  else {
52
72
  throw new api_1.UnauthorizedError(`CallingUser ${ctx.callingUser} is not authorized to create or update`);
@@ -1 +1 @@
1
- {"version":3,"file":"configureLaunchpadFeeConfig.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/configureLaunchpadFeeConfig.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAkG;AAElG,qDAAuE;AAEvE,2CAAsF;AAE/E,KAAK,UAAU,4BAA4B,CAChD,GAAqB,EACrB,GAAoC;;IAEpC,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,CAAA,MAAA,GAAG,CAAC,cAAc,0CAAE,MAAM,CAAA,EAAE,CAAC;QAC9D,MAAM,IAAI,2BAAqB,CAAC,uCAAuC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,eAAe,mCAAI,YAAY,CAAC;IAElE,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,0BAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,kBAAkB,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,0BAAkB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACtF,MAAM,UAAU,GAAG,gBAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,OAAO,CAAC,eAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,aAAa,EAAE,CAAC;QACpD,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;YAC/B,MAAM,IAAI,2BAAqB,CAC7B,gFAAgF,CACjF,CAAC;QACJ,CAAC;QACD,kBAAkB,GAAG,IAAI,0BAAkB,CACzC,GAAG,CAAC,qBAAqB,EACzB,MAAA,GAAG,CAAC,cAAc,mCAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CACxC,CAAC;IACJ,CAAC;SAAM,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1F,kBAAkB,CAAC,gBAAgB,CACjC,MAAA,GAAG,CAAC,qBAAqB,mCAAI,kBAAkB,CAAC,UAAU,EAC1D,MAAA,GAAG,CAAC,cAAc,mCAAI,kBAAkB,CAAC,WAAW,CACrD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE9C,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAhDD,oEAgDC"}
1
+ {"version":3,"file":"configureLaunchpadFeeConfig.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/configureLaunchpadFeeConfig.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAkG;AAElG,qDAAuE;AAEvE,2CAAsF;AAEtF;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,4BAA4B,CAChD,GAAqB,EACrB,GAAoC;;IAEpC,qDAAqD;IACrD,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,CAAA,MAAA,GAAG,CAAC,cAAc,0CAAE,MAAM,CAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACnF,MAAM,IAAI,2BAAqB,CAAC,uCAAuC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,eAAe,mCAAI,YAAY,CAAC;IAElE,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,0BAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE1E,kDAAkD;IAClD,IAAI,kBAAkB,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,0BAAkB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACtF,MAAM,UAAU,GAAG,gBAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,6CAA6C;QAC7C,IAAI,UAAU,CAAC,OAAO,CAAC,eAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,aAAa,EAAE,CAAC;QACpD,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,uDAAuD;QACvD,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACpD,MAAM,IAAI,2BAAqB,CAC7B,yGAAyG,CAC1G,CAAC;QACJ,CAAC;QACD,2BAA2B;QAC3B,kBAAkB,GAAG,IAAI,0BAAkB,CACzC,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,YAAY,EAChB,MAAA,GAAG,CAAC,cAAc,mCAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CACxC,CAAC;IACJ,CAAC;SAAM,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1F,wDAAwD;QACxD,kBAAkB,CAAC,eAAe,CAChC,MAAA,GAAG,CAAC,qBAAqB,mCAAI,kBAAkB,CAAC,UAAU,EAC1D,MAAA,GAAG,CAAC,YAAY,mCAAI,kBAAkB,CAAC,SAAS,EAChD,MAAA,GAAG,CAAC,cAAc,mCAAI,kBAAkB,CAAC,WAAW,CACrD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE9C,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AA3DD,oEA2DC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSale.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/createSale.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,gBAAgB,EAMjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAyC,MAAM,iBAAiB,CAAC;AAQ9G;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,gBAAgB,EACrB,gBAAgB,EAAE,kBAAkB,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAkG3B"}
1
+ {"version":3,"file":"createSale.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/createSale.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,gBAAgB,EAMjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAyC,MAAM,iBAAiB,CAAC;AAQ9G;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,gBAAgB,EACrB,gBAAgB,EAAE,kBAAkB,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAoG3B"}
@@ -119,6 +119,8 @@ async function createSale(ctx, launchpadDetails) {
119
119
  creatorAddress: ctx.callingUser,
120
120
  collection: launchpadDetails.tokenCollection,
121
121
  category: launchpadDetails.tokenCategory,
122
+ type: launchpadDetails.tokenSymbol,
123
+ additionalKey: `${ctx.callingUser.replace(/\|/, ":")}`,
122
124
  functionName: "CreateSale",
123
125
  isFinalized: isSaleFinalized,
124
126
  tokenStringKey: tokenInstanceKey.getTokenClassKey().toStringKey(),
@@ -1 +1 @@
1
- {"version":3,"file":"createSale.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/createSale.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAoF;AACpF,qDAO+B;AAC/B,+CAAyC;AAEzC,2CAA8G;AAC9G,iDAAgE;AAChE,mDAAgD;AAEhD,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,KAAK,UAAU,UAAU,CAC9B,GAAqB,EACrB,gBAAoC;;IAEpC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,4BAA4B;IAE5B,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAClG,MAAM,IAAI,+BAAuB,CAAC,uDAAuD,CAAC,CAAC;IAC7F,CAAC;IAED,gBAAgB,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IAE1E,6BAA6B;IAC7B,MAAM,gBAAgB,GAAG,IAAI,sBAAgB,EAAE,CAAC;IAChD,gBAAgB,CAAC,UAAU,GAAG,GAAG,gBAAgB,CAAC,eAAe,EAAE,CAAC;IACpE,gBAAgB,CAAC,QAAQ,GAAG,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;IAChE,gBAAgB,CAAC,IAAI,GAAG,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAC1D,gBAAgB,CAAC,aAAa,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;IACzE,gBAAgB,CAAC,QAAQ,GAAG,IAAI,wBAAS,CAAC,CAAC,CAAC,CAAC;IAE7C,wCAAwC;IACxC,MAAM,YAAY,GAAG,IAAA,sBAAgB,EACnC,WAAW,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,YAAY,CACzE,CAAC;IACF,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,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAClF,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,mBAAa,CAAC,yDAAyD,CAAC,CAAC;IACrF,CAAC;IAED,wBAAwB;IACxB,MAAM,IAAA,4BAAgB,EAAC,GAAG,EAAE;QAC1B,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,gBAAgB,CAAC,gBAAgB,EAAE;QAC/C,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,gBAAgB,CAAC,SAAS;QAChC,MAAM,EAAE,gBAAgB,CAAC,WAAW;QACpC,WAAW,EAAE,gBAAgB,CAAC,gBAAgB;QAC9C,KAAK,EAAE,gBAAgB,CAAC,UAAU;QAClC,SAAS,EAAE,IAAI,wBAAS,CAAC,MAAM,CAAC;QAChC,WAAW,EAAE,IAAI,wBAAS,CAAC,MAAM,CAAC;QAClC,kBAAkB,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC;QACpC,WAAW,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC;QAC7B,WAAW,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC;QAC7B,WAAW,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,CAAC;KAC7C,CAAC,CAAC;IAEH,iDAAiD;IACjD,MAAM,IAAA,kCAAsB,EAAC,GAAG,EAAE;QAChC,aAAa,EAAE,gBAAgB,CAAC,gBAAgB,EAAE;QAClD,aAAa,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC;QAC/B,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,IAAI,wBAAS,CAAC,MAAM,CAAC;KAChC,CAAC,CAAC;IAEH,kFAAkF;IAClF,MAAM,IAAA,4BAAgB,EAAC,GAAG,EAAE;QAC1B,UAAU,EAAE,gBAAgB,CAAC,gBAAgB,EAAE;QAC/C,WAAW,EAAE,CAAC,YAAY,CAAC;KAC5B,CAAC,CAAC;IAEH,kCAAkC;IAClC,MAAM,SAAS,GAAG,IAAI,qBAAa,CACjC,YAAY,EACZ,gBAAgB,EAChB,MAAA,gBAAgB,CAAC,gCAAgC,0CAAE,aAAa,EAAE,EAClE,GAAG,CAAC,WAAW,CAChB,CAAC;IAEF,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAErC,IAAI,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,cAAc,GAAG,IAAI,8BAAsB,CAC/C,IAAA,sBAAgB,EAAC,SAAS,CAAC,YAAY,CAAC,EACxC,gBAAgB,CAAC,cAAc,CAChC,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAa,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC7D,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,6BAA6B;IAC7B,OAAO;QACL,KAAK,EAAE,gBAAgB,CAAC,UAAU;QAClC,SAAS,EAAE,gBAAgB,CAAC,SAAS;QACrC,MAAM,EAAE,gBAAgB,CAAC,WAAW;QACpC,WAAW,EAAE,gBAAgB,CAAC,gBAAgB;QAC9C,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC1E,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;QAC7E,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC1E,kBAAkB,EAAE,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE;QAC7D,YAAY,EAAE,YAAY;QAC1B,cAAc,EAAE,GAAG,CAAC,WAAW;QAC/B,UAAU,EAAE,gBAAgB,CAAC,eAAe;QAC5C,QAAQ,EAAE,gBAAgB,CAAC,aAAa;QACxC,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,eAAe;QAC5B,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE;QACjE,gCAAgC,EAAE,gBAAgB,CAAC,gCAAgC;KACzD,CAAC;AAC/B,CAAC;AArGD,gCAqGC"}
1
+ {"version":3,"file":"createSale.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/createSale.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,5 @@ import BigNumber from "bignumber.js";
3
3
  import { LaunchpadSale } from "../../api/types";
4
4
  export declare function calculateReverseBondingCurveFee(sale: LaunchpadSale, nativeTokensToReceive: BigNumber): BigNumber;
5
5
  export declare function payReverseBondingCurveFee(ctx: GalaChainContext, sale: LaunchpadSale, nativeTokensToReceive: BigNumber, maxAcceptableFee?: BigNumber): Promise<void>;
6
+ export declare function calculateTransactionFee(tokensBeingTraded: BigNumber, feeAmount?: number): string;
6
7
  //# sourceMappingURL=fees.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/fees.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,gBAAgB,EAMjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAsB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMpE,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,aAAa,EAAE,qBAAqB,EAAE,SAAS,aAmBpG;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,aAAa,EACnB,qBAAqB,EAAE,SAAS,EAChC,gBAAgB,CAAC,EAAE,SAAS,iBAgD7B"}
1
+ {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/fees.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,gBAAgB,EAMjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAsB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMpE,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,aAAa,EAAE,qBAAqB,EAAE,SAAS,aAmBpG;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,aAAa,EACnB,qBAAqB,EAAE,SAAS,EAChC,gBAAgB,CAAC,EAAE,SAAS,iBAgD7B;AAED,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,UAEvF"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.payReverseBondingCurveFee = exports.calculateReverseBondingCurveFee = void 0;
3
+ 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.
@@ -40,7 +40,7 @@ function calculateReverseBondingCurveFee(sale, nativeTokensToReceive) {
40
40
  }
41
41
  exports.calculateReverseBondingCurveFee = calculateReverseBondingCurveFee;
42
42
  async function payReverseBondingCurveFee(ctx, sale, nativeTokensToReceive, maxAcceptableFee) {
43
- const feeAmount = await calculateReverseBondingCurveFee(sale, nativeTokensToReceive);
43
+ const feeAmount = calculateReverseBondingCurveFee(sale, nativeTokensToReceive);
44
44
  if (feeAmount.isZero()) {
45
45
  return; // No fee
46
46
  }
@@ -82,4 +82,8 @@ async function payReverseBondingCurveFee(ctx, sale, nativeTokensToReceive, maxAc
82
82
  });
83
83
  }
84
84
  exports.payReverseBondingCurveFee = payReverseBondingCurveFee;
85
+ function calculateTransactionFee(tokensBeingTraded, feeAmount) {
86
+ return tokensBeingTraded.multipliedBy(feeAmount !== null && feeAmount !== void 0 ? feeAmount : 0).toFixed(8, bignumber_js_1.default.ROUND_UP);
87
+ }
88
+ exports.calculateTransactionFee = calculateTransactionFee;
85
89
  //# 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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"}
@@ -28,8 +28,8 @@ const utils_1 = require("../utils");
28
28
  async function finalizeSale(ctx, sale) {
29
29
  const key = ctx.stub.createCompositeKey(types_1.LaunchpadFinalizeFeeAllocation.INDEX_KEY, []);
30
30
  const feeAllocation = await (0, chaincode_1.getObjectByKey)(ctx, types_1.LaunchpadFinalizeFeeAllocation, key).catch(() => undefined);
31
- const platformFeeAddressConfiguration = await (0, utils_1.fetchLaunchpadFeeAddress)(ctx);
32
- if (!platformFeeAddressConfiguration) {
31
+ const launchpadFeeAddressConfiguration = await (0, utils_1.fetchLaunchpadFeeAddress)(ctx);
32
+ if (!launchpadFeeAddressConfiguration) {
33
33
  throw new error_1.PreConditionFailedError("Platform fee configuration is yet to be defined.");
34
34
  }
35
35
  const platformFeePercentage = feeAllocation ? feeAllocation.platformFeePercentage : 0.1;
@@ -53,7 +53,7 @@ async function finalizeSale(ctx, sale) {
53
53
  });
54
54
  await (0, chaincode_1.transferToken)(ctx, {
55
55
  from: vaultAddressAlias,
56
- to: platformFeeAddressConfiguration.feeAddress,
56
+ to: launchpadFeeAddressConfiguration.feeAddress,
57
57
  tokenInstanceKey: nativeToken,
58
58
  quantity: new bignumber_js_1.default(sale.nativeTokenQuantity)
59
59
  .times(platformFeePercentage)
@@ -1 +1 @@
1
- {"version":3,"file":"finaliseSale.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/finaliseSale.ts"],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;;GAaG;AACH,4BAA4B;AAC5B,yCAAoD;AACpD,qDAQ+B;AAC/B,yCAWyB;AACzB,wEAAqC;AACrC,oEAAiC;AAEjC,2CAAgF;AAChF,iDAAgE;AAChE,oCAAyE;AAElE,KAAK,UAAU,YAAY,CAAC,GAAqB,EAAE,IAAmB;IAC3E,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,sCAA8B,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtF,MAAM,aAAa,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,sCAA8B,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAE5G,MAAM,+BAA+B,GAAG,MAAM,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrC,MAAM,IAAI,+BAAuB,CAAC,kDAAkD,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,qBAAqB,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC;IACxF,MAAM,yBAAyB,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC;IAChG,MAAM,6BAA6B,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,CAAC,GAAG,CAAC;IAExG,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtD,MAAM,iBAAiB,GAAG,MAAM,IAAA,4BAAgB,EAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzE,MAAM,IAAA,yBAAa,EAAC,GAAG,EAAE;QACvB,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,IAAI,CAAC,SAAS;QAClB,gBAAgB,EAAE,WAAW;QAC7B,QAAQ,EAAE,IAAI,sBAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC;aAC9C,KAAK,CAAC,yBAAyB,CAAC;aAChC,aAAa,CAAC,CAAC,EAAE,sBAAS,CAAC,UAAU,CAAC;QACzC,eAAe,EAAE,EAAE;QACnB,kBAAkB,EAAE;YAClB,eAAe,EAAE,iBAAiB;YAClC,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B;KACF,CAAC,CAAC;IAEH,MAAM,IAAA,yBAAa,EAAC,GAAG,EAAE;QACvB,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,+BAA+B,CAAC,UAAU;QAC9C,gBAAgB,EAAE,WAAW;QAC7B,QAAQ,EAAE,IAAI,sBAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC;aAC9C,KAAK,CAAC,qBAAqB,CAAC;aAC5B,aAAa,CAAC,CAAC,EAAE,sBAAS,CAAC,UAAU,CAAC;QACzC,eAAe,EAAE,EAAE;QACnB,kBAAkB,EAAE;YAClB,eAAe,EAAE,iBAAiB;YAClC,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B;KACF,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpF,MAAM,mBAAmB,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAElF,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,IAAA,gBAAU,EAC/C,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,6BAAuB,CAAC,CACzE,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,4BAA4B,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,IAAI,mBAAa,CAC/B,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,EAC5D,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,EAC5D,IAAI,EACJ,SAAS,CACV,CAAC;IAEF,gDAAgD;IAChD,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAW,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAA,gBAAU,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAQ,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE9C,sEAAsE;IACtE,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACrG,MAAM,2BAA2B,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAC/E,6BAA6B,CAC9B,CAAC;IACF,MAAM,0BAA0B,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC/E,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEhF,6CAA6C;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAC5E,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAE5E,MAAM,eAAe,GAAG,gBAAgB;QACtC,CAAC,CAAC,2BAA2B;QAC7B,CAAC,CAAC,0BAA0B;YAC1B,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,2BAA2B,CAAC;IAElC,MAAM,UAAU,GAAG,gBAAgB;QACjC,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,0BAA0B;YAC1B,CAAC,CAAC,CAAC,eAAe;YAClB,CAAC,CAAC,eAAe,CAAC;IAEtB,MAAM,gBAAgB,GAAG,IAAI,kCAA4B,CACvD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,eAAe,EACf,CAAC,MAAM,EACP,MAAM,EACN,UAAU,CACX,CAAC;IAEF,MAAM,oBAAoB,GAAG,MAAM,IAAA,+BAAyB,EAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEpF,MAAM,OAAO,GAAG,IAAI,sBAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,sBAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvE,MAAM,WAAW,GAAG,IAAI,qBAAe,CACrC,MAAM,EACN,MAAM,EACN,IAAI,EACJ,CAAC,MAAM,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EACxB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EACxB,SAAS,CACV,CAAC;IACF,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IAErD,MAAM,IAAA,kBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAExD,6BAA6B;IAC7B,MAAM,kBAAkB,GAAG,MAAM,IAAA,gCAAoB,EAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACzF,MAAM,wBAAwB,GAAG,IAAI,uBAAiB,EAAE,CAAC;IACzD,wBAAwB,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACtD,wBAAwB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;IAE1E,MAAM,IAAA,sBAAU,EAAC,GAAG,EAAE;QACpB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,CAAC,wBAAwB,CAAC;QAClC,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,iBAAiB,GAAG,MAAM,IAAA,gCAAoB,EAAC,GAAG,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC1F,MAAM,uBAAuB,GAAG,IAAI,uBAAiB,EAAE,CAAC;IACxD,uBAAuB,CAAC,gBAAgB,GAAG,WAAW,CAAC;IACvD,uBAAuB,CAAC,QAAQ,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;IAExE,IAAI,uBAAuB,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAA,sBAAU,EAAC,GAAG,EAAE;YACpB,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,CAAC,uBAAuB,CAAC;YACjC,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACpB,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAvJD,oCAuJC;AAED,SAAS,4BAA4B,CACnC,IAAmB,EACnB,eAAwB;IAExB,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACvG,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEjD,OAAO;QACL,UAAU,EAAE,IAAI,sBAAS,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjF,SAAS,EAAE,IAAI,sBAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"finaliseSale.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/finaliseSale.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,5 @@ export * from "./finalizeTokenAllocation";
12
12
  export * from "./sellWithNative";
13
13
  export * from "./configureLaunchpadFeeConfig";
14
14
  export * from "./fetchLaunchpadAdressConfig";
15
+ export * from "./launchpadBatchSubmitAuthorizations";
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/index.ts"],"names":[],"mappings":"AAcA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/index.ts"],"names":[],"mappings":"AAcA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC"}
@@ -29,4 +29,5 @@ tslib_1.__exportStar(require("./finalizeTokenAllocation"), exports);
29
29
  tslib_1.__exportStar(require("./sellWithNative"), exports);
30
30
  tslib_1.__exportStar(require("./configureLaunchpadFeeConfig"), exports);
31
31
  tslib_1.__exportStar(require("./fetchLaunchpadAdressConfig"), exports);
32
+ tslib_1.__exportStar(require("./launchpadBatchSubmitAuthorizations"), exports);
32
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,0DAAgC;AAChC,0DAAgC;AAChC,4DAAkC;AAClC,6DAAmC;AACnC,8DAAoC;AACpC,+DAAqC;AACrC,uDAA6B;AAC7B,6DAAmC;AACnC,+DAAqC;AACrC,2DAAiC;AACjC,oEAA0C;AAC1C,2DAAiC;AACjC,wEAA8C;AAC9C,uEAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,0DAAgC;AAChC,0DAAgC;AAChC,4DAAkC;AAClC,6DAAmC;AACnC,8DAAoC;AACpC,+DAAqC;AACrC,uDAA6B;AAC7B,6DAAmC;AACnC,+DAAqC;AACrC,2DAAiC;AACjC,oEAA0C;AAC1C,2DAAiC;AACjC,wEAA8C;AAC9C,uEAA6C;AAC7C,+EAAqD"}
@@ -0,0 +1,24 @@
1
+ import { GalaChainContext } from "@gala-chain/chaincode";
2
+ import { AuthorizeBatchSubmitterDto, BatchSubmitAuthoritiesResDto, DeauthorizeBatchSubmitterDto, FetchBatchSubmitAuthoritiesDto, LaunchpadBatchSubmitAuthorities } from "../../api";
3
+ /**
4
+ * Fetches the batch submit authorities from the chain.
5
+ */
6
+ export declare function fetchLaunchpadBatchSubmitAuthorities(ctx: GalaChainContext): Promise<LaunchpadBatchSubmitAuthorities>;
7
+ /**
8
+ * Authorizes users to call BatchSubmit operations.
9
+ * Only existing authorized users can add new authorizations.
10
+ */
11
+ export declare function authorizeLaunchpadBatchSubmitter(ctx: GalaChainContext, dto: AuthorizeBatchSubmitterDto): Promise<BatchSubmitAuthoritiesResDto>;
12
+ /**
13
+ * Deauthorizes a user from calling BatchSubmit operations.
14
+ */
15
+ export declare function deauthorizeLaunchpadBatchSubmitter(ctx: GalaChainContext, dto: DeauthorizeBatchSubmitterDto): Promise<BatchSubmitAuthoritiesResDto>;
16
+ /**
17
+ * Fetches the current batch submit authorizations.
18
+ */
19
+ export declare function getLaunchpadBatchSubmitAuthorities(ctx: GalaChainContext, dto: FetchBatchSubmitAuthoritiesDto): Promise<BatchSubmitAuthoritiesResDto>;
20
+ /**
21
+ * Checks if the calling user is authorized to perform batch submit operations.
22
+ */
23
+ export declare function isAuthorizedForLaunchpadBatchSubmit(ctx: GalaChainContext): Promise<boolean>;
24
+ //# sourceMappingURL=launchpadBatchSubmitAuthorizations.d.ts.map