@gala-chain/launchpad 1.0.1 → 1.0.3

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 (110) hide show
  1. package/lib/package.json +2 -2
  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 +14 -0
  7. package/lib/src/api/types/LaunchpadDtos.d.ts.map +1 -1
  8. package/lib/src/api/types/LaunchpadDtos.js +45 -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 +15 -6
  13. package/lib/src/api/types/LaunchpadFeeConfig.js.map +1 -1
  14. package/lib/src/api/types/LaunchpadFinalizeAllocation.js +1 -2
  15. package/lib/src/api/types/LaunchpadFinalizeAllocation.js.map +1 -1
  16. package/lib/src/api/types/LaunchpadSale.js +1 -2
  17. package/lib/src/api/types/LaunchpadSale.js.map +1 -1
  18. package/lib/src/api/types/index.d.ts +1 -0
  19. package/lib/src/api/types/index.d.ts.map +1 -1
  20. package/lib/src/api/types/index.js +1 -0
  21. package/lib/src/api/types/index.js.map +1 -1
  22. package/lib/src/api/validators/decorators.js.map +1 -1
  23. package/lib/src/chaincode/LaunchpadContract.d.ts +6 -1
  24. package/lib/src/chaincode/LaunchpadContract.d.ts.map +1 -1
  25. package/lib/src/chaincode/LaunchpadContract.js +97 -0
  26. package/lib/src/chaincode/LaunchpadContract.js.map +1 -1
  27. package/lib/src/chaincode/launchpad/buyExactToken.d.ts.map +1 -1
  28. package/lib/src/chaincode/launchpad/buyExactToken.js +22 -9
  29. package/lib/src/chaincode/launchpad/buyExactToken.js.map +1 -1
  30. package/lib/src/chaincode/launchpad/buyWithNative.d.ts.map +1 -1
  31. package/lib/src/chaincode/launchpad/buyWithNative.js +31 -9
  32. package/lib/src/chaincode/launchpad/buyWithNative.js.map +1 -1
  33. package/lib/src/chaincode/launchpad/callMemeTokenIn.d.ts +1 -0
  34. package/lib/src/chaincode/launchpad/callMemeTokenIn.d.ts.map +1 -1
  35. package/lib/src/chaincode/launchpad/callMemeTokenIn.js +3 -5
  36. package/lib/src/chaincode/launchpad/callMemeTokenIn.js.map +1 -1
  37. package/lib/src/chaincode/launchpad/callMemeTokenOut.d.ts +1 -0
  38. package/lib/src/chaincode/launchpad/callMemeTokenOut.d.ts.map +1 -1
  39. package/lib/src/chaincode/launchpad/callMemeTokenOut.js +5 -5
  40. package/lib/src/chaincode/launchpad/callMemeTokenOut.js.map +1 -1
  41. package/lib/src/chaincode/launchpad/callNativeTokenIn.d.ts +1 -0
  42. package/lib/src/chaincode/launchpad/callNativeTokenIn.d.ts.map +1 -1
  43. package/lib/src/chaincode/launchpad/callNativeTokenIn.js +7 -6
  44. package/lib/src/chaincode/launchpad/callNativeTokenIn.js.map +1 -1
  45. package/lib/src/chaincode/launchpad/callNativeTokenOut.d.ts +1 -0
  46. package/lib/src/chaincode/launchpad/callNativeTokenOut.d.ts.map +1 -1
  47. package/lib/src/chaincode/launchpad/callNativeTokenOut.js +4 -5
  48. package/lib/src/chaincode/launchpad/callNativeTokenOut.js.map +1 -1
  49. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.d.ts +12 -0
  50. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.d.ts.map +1 -1
  51. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.js +26 -6
  52. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.js.map +1 -1
  53. package/lib/src/chaincode/launchpad/createSale.d.ts.map +1 -1
  54. package/lib/src/chaincode/launchpad/createSale.js +10 -12
  55. package/lib/src/chaincode/launchpad/createSale.js.map +1 -1
  56. package/lib/src/chaincode/launchpad/fees.d.ts +1 -0
  57. package/lib/src/chaincode/launchpad/fees.d.ts.map +1 -1
  58. package/lib/src/chaincode/launchpad/fees.js +6 -2
  59. package/lib/src/chaincode/launchpad/fees.js.map +1 -1
  60. package/lib/src/chaincode/launchpad/fetchLaunchpadAdressConfig.js.map +1 -1
  61. package/lib/src/chaincode/launchpad/fetchSaleDetails.d.ts.map +1 -1
  62. package/lib/src/chaincode/launchpad/fetchSaleDetails.js +0 -4
  63. package/lib/src/chaincode/launchpad/fetchSaleDetails.js.map +1 -1
  64. package/lib/src/chaincode/launchpad/finaliseSale.js +3 -3
  65. package/lib/src/chaincode/launchpad/finaliseSale.js.map +1 -1
  66. package/lib/src/chaincode/launchpad/finalizeTokenAllocation.js.map +1 -1
  67. package/lib/src/chaincode/launchpad/index.d.ts +1 -0
  68. package/lib/src/chaincode/launchpad/index.d.ts.map +1 -1
  69. package/lib/src/chaincode/launchpad/index.js +1 -0
  70. package/lib/src/chaincode/launchpad/index.js.map +1 -1
  71. package/lib/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.d.ts +24 -0
  72. package/lib/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.d.ts.map +1 -0
  73. package/lib/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.js +84 -0
  74. package/lib/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.js.map +1 -0
  75. package/lib/src/chaincode/launchpad/preMintCalculation.d.ts.map +1 -1
  76. package/lib/src/chaincode/launchpad/preMintCalculation.js +0 -4
  77. package/lib/src/chaincode/launchpad/preMintCalculation.js.map +1 -1
  78. package/lib/src/chaincode/launchpad/sellExactToken.d.ts.map +1 -1
  79. package/lib/src/chaincode/launchpad/sellExactToken.js +27 -11
  80. package/lib/src/chaincode/launchpad/sellExactToken.js.map +1 -1
  81. package/lib/src/chaincode/launchpad/sellWithNative.d.ts.map +1 -1
  82. package/lib/src/chaincode/launchpad/sellWithNative.js +30 -8
  83. package/lib/src/chaincode/launchpad/sellWithNative.js.map +1 -1
  84. package/lib/src/chaincode/utils/launchpadSaleUtils.js +2 -2
  85. package/lib/src/chaincode/utils/launchpadSaleUtils.js.map +1 -1
  86. package/lib/src/cli.js.map +1 -1
  87. package/lib/tsconfig.tsbuildinfo +1 -1
  88. package/package.json +3 -3
  89. package/src/api/types/LaunchpadBatchSubmitAuthorities.ts +53 -0
  90. package/src/api/types/LaunchpadDtos.ts +38 -0
  91. package/src/api/types/LaunchpadFeeConfig.ts +13 -4
  92. package/src/api/types/index.ts +1 -0
  93. package/src/chaincode/LaunchpadContract.ts +104 -1
  94. package/src/chaincode/launchpad/buyExactToken.ts +18 -6
  95. package/src/chaincode/launchpad/buyWithNative.ts +29 -6
  96. package/src/chaincode/launchpad/callMemeTokenIn.ts +9 -8
  97. package/src/chaincode/launchpad/callMemeTokenOut.ts +9 -7
  98. package/src/chaincode/launchpad/callNativeTokenIn.ts +11 -8
  99. package/src/chaincode/launchpad/callNativeTokenOut.ts +9 -8
  100. package/src/chaincode/launchpad/configureLaunchpadFeeConfig.ts +27 -4
  101. package/src/chaincode/launchpad/createSale.ts +1 -5
  102. package/src/chaincode/launchpad/fees.ts +5 -1
  103. package/src/chaincode/launchpad/fetchSaleDetails.ts +0 -5
  104. package/src/chaincode/launchpad/finaliseSale.ts +3 -3
  105. package/src/chaincode/launchpad/index.ts +1 -0
  106. package/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.spec.ts +185 -0
  107. package/src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.ts +105 -0
  108. package/src/chaincode/launchpad/preMintCalculation.ts +0 -5
  109. package/src/chaincode/launchpad/sellExactToken.ts +30 -15
  110. package/src/chaincode/launchpad/sellWithNative.ts +31 -7
@@ -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;QAClF,MAAM,IAAI,2BAAqB,CAAC,uCAAuC,CAAC,CAAC;KAC1E;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;YAC3C,OAAO,SAAS,CAAC;SAClB;aAAM;YACL,MAAM,UAAU,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,aAAa,EAAE;QACnD,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACpF,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;SACrG;KACF;IAED,mDAAmD;IACnD,IAAI,CAAC,kBAAkB,EAAE;QACvB,uDAAuD;QACvD,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,MAAM,IAAI,2BAAqB,CAC7B,yGAAyG,CAC1G,CAAC;SACH;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;KACH;SAAM,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACzF,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;KACH;SAAM;QACL,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;KACrG;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,CAoG3B"}
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;AAI9G;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,gBAAgB,EACrB,gBAAgB,EAAE,kBAAkB,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAoG3B"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createSale = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  /*
5
6
  * Copyright (c) Gala Games Inc. All rights reserved.
6
7
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,13 +18,10 @@ exports.createSale = void 0;
17
18
  */
18
19
  const api_1 = require("@gala-chain/api");
19
20
  const chaincode_1 = require("@gala-chain/chaincode");
20
- const bignumber_js_1 = require("bignumber.js");
21
+ const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
21
22
  const types_1 = require("../../api/types");
22
23
  const error_1 = require("../../api/utils/error");
23
24
  const buyWithNative_1 = require("./buyWithNative");
24
- bignumber_js_1.BigNumber.config({
25
- ROUNDING_MODE: bignumber_js_1.BigNumber.ROUND_UP
26
- });
27
25
  /**
28
26
  * Creates a new token sale (Launchpad) in the GalaChain environment.
29
27
  *
@@ -60,7 +58,7 @@ async function createSale(ctx, launchpadDetails) {
60
58
  tokenInstanceKey.category = `${launchpadDetails.tokenCategory}`;
61
59
  tokenInstanceKey.type = `${launchpadDetails.tokenSymbol}`;
62
60
  tokenInstanceKey.additionalKey = `${ctx.callingUser.replace(/\|/, ":")}`;
63
- tokenInstanceKey.instance = new bignumber_js_1.BigNumber(0);
61
+ tokenInstanceKey.instance = new bignumber_js_1.default(0);
64
62
  // Validate uniqueness of sale and token
65
63
  const vaultAddress = (0, api_1.asValidUserAlias)(`service|${tokenInstanceKey.getTokenClassKey().toStringKey()}$launchpad`);
66
64
  const key = ctx.stub.createCompositeKey(types_1.LaunchpadSale.INDEX_KEY, [vaultAddress]);
@@ -78,19 +76,19 @@ async function createSale(ctx, launchpadDetails) {
78
76
  symbol: launchpadDetails.tokenSymbol,
79
77
  description: launchpadDetails.tokenDescription,
80
78
  image: launchpadDetails.tokenImage,
81
- maxSupply: new bignumber_js_1.BigNumber("2e+7"),
82
- maxCapacity: new bignumber_js_1.BigNumber("2e+7"),
83
- totalMintAllowance: new bignumber_js_1.BigNumber(0),
84
- totalSupply: new bignumber_js_1.BigNumber(0),
85
- totalBurned: new bignumber_js_1.BigNumber(0),
79
+ maxSupply: new bignumber_js_1.default("2e+7"),
80
+ maxCapacity: new bignumber_js_1.default("2e+7"),
81
+ totalMintAllowance: new bignumber_js_1.default(0),
82
+ totalSupply: new bignumber_js_1.default(0),
83
+ totalBurned: new bignumber_js_1.default(0),
86
84
  authorities: [vaultAddress, ctx.callingUser]
87
85
  });
88
86
  // Mint tokens using the calling user's allowance
89
87
  await (0, chaincode_1.mintTokenWithAllowance)(ctx, {
90
88
  tokenClassKey: tokenInstanceKey.getTokenClassKey(),
91
- tokenInstance: new bignumber_js_1.BigNumber(0),
89
+ tokenInstance: new bignumber_js_1.default(0),
92
90
  owner: vaultAddress,
93
- quantity: new bignumber_js_1.BigNumber("2e+7")
91
+ quantity: new bignumber_js_1.default("2e+7")
94
92
  });
95
93
  //Update token class to remove the calling user as an authority in the token class
96
94
  await (0, chaincode_1.updateTokenClass)(ctx, {
@@ -1 +1 @@
1
- {"version":3,"file":"createSale.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/createSale.ts"],"names":[],"mappings":"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"}
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchLaunchpadAdressConfig.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/fetchLaunchpadAdressConfig.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAmE;AAInE,oCAAoD;AAE7C,KAAK,UAAU,uBAAuB,CAAC,GAAqB;;IACjE,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,eAAe,mCAAI,YAAY,CAAC;IAElE,MAAM,kBAAkB,GAAG,MAAM,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC;IAE/D,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,aAAa,EAAE,CAAC;QACpD,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;IACtG,CAAC;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,mBAAa,CACrB,8FAA8F,CAC/F,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAjBD,0DAiBC"}
1
+ {"version":3,"file":"fetchLaunchpadAdressConfig.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/fetchLaunchpadAdressConfig.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAmE;AAInE,oCAAoD;AAE7C,KAAK,UAAU,uBAAuB,CAAC,GAAqB;;IACjE,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,eAAe,mCAAI,YAAY,CAAC;IAElE,MAAM,kBAAkB,GAAG,MAAM,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC;IAE/D,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,aAAa,EAAE;QACnD,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;KACrG;IAED,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,mBAAa,CACrB,8FAA8F,CAC/F,CAAC;KACH;SAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACpE,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;KACrG;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAjBD,0DAiBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchSaleDetails.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/fetchSaleDetails.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAGzE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAM9D;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,gBAAgB,EACrB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,aAAa,CAAC,CAUxB"}
1
+ {"version":3,"file":"fetchSaleDetails.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/fetchSaleDetails.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,gBAAgB,EACrB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,aAAa,CAAC,CAUxB"}
@@ -17,11 +17,7 @@ exports.fetchSaleDetails = void 0;
17
17
  */
18
18
  const api_1 = require("@gala-chain/api");
19
19
  const chaincode_1 = require("@gala-chain/chaincode");
20
- const bignumber_js_1 = require("bignumber.js");
21
20
  const types_1 = require("../../api/types");
22
- bignumber_js_1.BigNumber.config({
23
- ROUNDING_MODE: bignumber_js_1.BigNumber.ROUND_UP
24
- });
25
21
  /**
26
22
  * Fetches the details of a specific token sale (LaunchpadSale) using its sale address.
27
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"fetchSaleDetails.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/fetchSaleDetails.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAgD;AAChD,qDAAyE;AACzE,+CAAyC;AAEzC,2CAA8D;AAE9D,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,gBAAgB,CACpC,GAAqB,EACrB,YAA0B;IAE1B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAa,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IAE9F,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,qBAAa,EAAE,GAAG,CAAC,CAAC;IAE3D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,mBAAa,CAAC,wBAAwB,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAbD,4CAaC"}
1
+ {"version":3,"file":"fetchSaleDetails.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/fetchSaleDetails.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAgD;AAChD,qDAAyE;AAEzE,2CAA8D;AAE9D;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,gBAAgB,CACpC,GAAqB,EACrB,YAA0B;IAE1B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAa,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IAE9F,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,qBAAa,EAAE,GAAG,CAAC,CAAC;IAE3D,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,MAAM,IAAI,mBAAa,CAAC,wBAAwB,CAAC,CAAC;KACnD;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAbD,4CAaC"}
@@ -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":"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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":"finalizeTokenAllocation.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/finalizeTokenAllocation.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAoD;AAEpD,qDAAuE;AAEvE,2CAA6F;AAC7F,iDAAgE;AAChE,oCAAoD;AAE7C,KAAK,UAAU,uBAAuB,CAC3C,GAAqB,EACrB,GAA+B;IAE/B,MAAM,kBAAkB,GAAG,MAAM,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,+BAAuB,CAC/B,8FAA8F,CAC/F,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,sCAA8B,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtF,IAAI,aAAa,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,sCAA8B,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAE1G,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,IAAI,sCAA8B,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxG,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACzC,OAAO,aAAa,CAAC;AACvB,CAAC;AAxBD,0DAwBC"}
1
+ {"version":3,"file":"finalizeTokenAllocation.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/finalizeTokenAllocation.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAoD;AAEpD,qDAAuE;AAEvE,2CAA6F;AAC7F,iDAAgE;AAChE,oCAAoD;AAE7C,KAAK,UAAU,uBAAuB,CAC3C,GAAqB,EACrB,GAA+B;IAE/B,MAAM,kBAAkB,GAAG,MAAM,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,+BAAuB,CAC/B,8FAA8F,CAC/F,CAAC;KACH;SAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACpE,MAAM,IAAI,uBAAiB,CAAC,eAAe,GAAG,CAAC,WAAW,wCAAwC,CAAC,CAAC;KACrG;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,sCAA8B,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtF,IAAI,aAAa,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,sCAA8B,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAE1G,IAAI,CAAC,aAAa,EAAE;QAClB,aAAa,GAAG,IAAI,sCAA8B,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;KACvG;SAAM;QACL,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;KAChF;IAED,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACzC,OAAO,aAAa,CAAC;AACvB,CAAC;AAxBD,0DAwBC"}
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launchpadBatchSubmitAuthorizations.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAkC,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAE5B,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,wBAAsB,oCAAoC,CACxD,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,+BAA+B,CAAC,CAI1C;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,0BAA0B,GAC9B,OAAO,CAAC,4BAA4B,CAAC,CAqBvC;AAED;;GAEG;AACH,wBAAsB,kCAAkC,CACtD,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,4BAA4B,GAChC,OAAO,CAAC,4BAA4B,CAAC,CASvC;AAED;;GAEG;AACH,wBAAsB,kCAAkC,CACtD,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,8BAA8B,GAClC,OAAO,CAAC,4BAA4B,CAAC,CAMvC;AAED;;GAEG;AACH,wBAAsB,mCAAmC,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjG"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAuthorizedForLaunchpadBatchSubmit = exports.getLaunchpadBatchSubmitAuthorities = exports.deauthorizeLaunchpadBatchSubmitter = exports.authorizeLaunchpadBatchSubmitter = exports.fetchLaunchpadBatchSubmitAuthorities = void 0;
4
+ /*
5
+ * Copyright (c) Gala Games Inc. All rights reserved.
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ const api_1 = require("@gala-chain/api");
19
+ const chaincode_1 = require("@gala-chain/chaincode");
20
+ const api_2 = require("../../api");
21
+ /**
22
+ * Fetches the batch submit authorities from the chain.
23
+ */
24
+ async function fetchLaunchpadBatchSubmitAuthorities(ctx) {
25
+ const key = ctx.stub.createCompositeKey(api_2.LaunchpadBatchSubmitAuthorities.INDEX_KEY, []);
26
+ return await (0, chaincode_1.getObjectByKey)(ctx, api_2.LaunchpadBatchSubmitAuthorities, key);
27
+ }
28
+ exports.fetchLaunchpadBatchSubmitAuthorities = fetchLaunchpadBatchSubmitAuthorities;
29
+ /**
30
+ * Authorizes users to call BatchSubmit operations.
31
+ * Only existing authorized users can add new authorizations.
32
+ */
33
+ async function authorizeLaunchpadBatchSubmitter(ctx, dto) {
34
+ const key = ctx.stub.createCompositeKey(api_2.LaunchpadBatchSubmitAuthorities.INDEX_KEY, []);
35
+ const authorities = await (0, chaincode_1.getObjectByKey)(ctx, api_2.LaunchpadBatchSubmitAuthorities, key).catch((e) => {
36
+ const chainError = api_1.ChainError.from(e);
37
+ if (chainError.matches(api_2.ErrorCode.NOT_FOUND)) {
38
+ return new api_2.LaunchpadBatchSubmitAuthorities([]);
39
+ }
40
+ else {
41
+ throw chainError;
42
+ }
43
+ });
44
+ // Add new authorities
45
+ for (const authority of dto.authorities) {
46
+ authorities.addAuthority(authority);
47
+ }
48
+ await (0, chaincode_1.putChainObject)(ctx, authorities);
49
+ const result = new api_2.BatchSubmitAuthoritiesResDto();
50
+ result.authorities = authorities.getAuthorities();
51
+ return result;
52
+ }
53
+ exports.authorizeLaunchpadBatchSubmitter = authorizeLaunchpadBatchSubmitter;
54
+ /**
55
+ * Deauthorizes a user from calling BatchSubmit operations.
56
+ */
57
+ async function deauthorizeLaunchpadBatchSubmitter(ctx, dto) {
58
+ const authorities = await fetchLaunchpadBatchSubmitAuthorities(ctx);
59
+ authorities.removeAuthority(dto.authority);
60
+ await (0, chaincode_1.putChainObject)(ctx, authorities);
61
+ const result = new api_2.BatchSubmitAuthoritiesResDto();
62
+ result.authorities = authorities.getAuthorities();
63
+ return result;
64
+ }
65
+ exports.deauthorizeLaunchpadBatchSubmitter = deauthorizeLaunchpadBatchSubmitter;
66
+ /**
67
+ * Fetches the current batch submit authorizations.
68
+ */
69
+ async function getLaunchpadBatchSubmitAuthorities(ctx, dto) {
70
+ const authorities = await fetchLaunchpadBatchSubmitAuthorities(ctx);
71
+ const result = new api_2.BatchSubmitAuthoritiesResDto();
72
+ result.authorities = authorities.getAuthorities();
73
+ return result;
74
+ }
75
+ exports.getLaunchpadBatchSubmitAuthorities = getLaunchpadBatchSubmitAuthorities;
76
+ /**
77
+ * Checks if the calling user is authorized to perform batch submit operations.
78
+ */
79
+ async function isAuthorizedForLaunchpadBatchSubmit(ctx) {
80
+ const authorities = await fetchLaunchpadBatchSubmitAuthorities(ctx);
81
+ return authorities.isAuthorized(ctx.callingUser);
82
+ }
83
+ exports.isAuthorizedForLaunchpadBatchSubmit = isAuthorizedForLaunchpadBatchSubmit;
84
+ //# sourceMappingURL=launchpadBatchSubmitAuthorizations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launchpadBatchSubmitAuthorizations.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/launchpadBatchSubmitAuthorizations.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAA6C;AAC7C,qDAAyF;AAEzF,mCAOmB;AAEnB;;GAEG;AACI,KAAK,UAAU,oCAAoC,CACxD,GAAqB;IAErB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,qCAA+B,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEvF,OAAO,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,qCAA+B,EAAE,GAAG,CAAC,CAAC;AACzE,CAAC;AAND,oFAMC;AAED;;;GAGG;AACI,KAAK,UAAU,gCAAgC,CACpD,GAAqB,EACrB,GAA+B;IAE/B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,qCAA+B,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,qCAA+B,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9F,MAAM,UAAU,GAAG,gBAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,OAAO,CAAC,eAAS,CAAC,SAAS,CAAC,EAAE;YAC3C,OAAO,IAAI,qCAA+B,CAAC,EAAE,CAAC,CAAC;SAChD;aAAM;YACL,MAAM,UAAU,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE;QACvC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;KACrC;IAED,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,kCAA4B,EAAE,CAAC;IAClD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC;AAxBD,4EAwBC;AAED;;GAEG;AACI,KAAK,UAAU,kCAAkC,CACtD,GAAqB,EACrB,GAAiC;IAEjC,MAAM,WAAW,GAAG,MAAM,oCAAoC,CAAC,GAAG,CAAC,CAAC;IAEpE,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,kCAA4B,EAAE,CAAC;IAClD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,gFAYC;AAED;;GAEG;AACI,KAAK,UAAU,kCAAkC,CACtD,GAAqB,EACrB,GAAmC;IAEnC,MAAM,WAAW,GAAG,MAAM,oCAAoC,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,IAAI,kCAA4B,EAAE,CAAC;IAElD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC;AATD,gFASC;AAED;;GAEG;AACI,KAAK,UAAU,mCAAmC,CAAC,GAAqB;IAC7E,MAAM,WAAW,GAAG,MAAM,oCAAoC,CAAC,GAAG,CAAC,CAAC;IACpE,OAAO,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACnD,CAAC;AAHD,kFAGC"}
@@ -1 +1 @@
1
- {"version":3,"file":"preMintCalculation.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/preMintCalculation.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAiB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAOvE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBhG"}
1
+ {"version":3,"file":"preMintCalculation.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/preMintCalculation.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAiB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGvE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBhG"}
@@ -16,13 +16,9 @@ const tslib_1 = require("tslib");
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- const bignumber_js_1 = require("bignumber.js");
20
19
  const decimal_js_1 = tslib_1.__importDefault(require("decimal.js"));
21
20
  const types_1 = require("../../api/types");
22
21
  const utils_1 = require("../utils");
23
- bignumber_js_1.BigNumber.config({
24
- ROUNDING_MODE: bignumber_js_1.BigNumber.ROUND_UP
25
- });
26
22
  /**
27
23
  * Calculates the number of tokens that can be purchased using a specified amount
28
24
  * of native tokens based on a bonding curve mechanism.
@@ -1 +1 @@
1
- {"version":3,"file":"preMintCalculation.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/preMintCalculation.ts"],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;;GAaG;AACH,+CAAyC;AACzC,oEAAiC;AAEjC,2CAAuE;AACvE,oCAA+C;AAE/C,wBAAS,CAAC,MAAM,CAAC;IACf,aAAa,EAAE,wBAAS,CAAC,QAAQ;CAClC,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,sBAAsB,CAAC,WAAkC;IAC7E,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAClE,MAAM,YAAY,GAAG,IAAI,oBAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,gCAAgC;IAC9G,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,qBAAa,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB;IAC1E,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,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,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,oBAAO,CAAC,UAAU,CAAC,CAAC;IAErE,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;AAClC,CAAC;AAtBD,wDAsBC"}
1
+ {"version":3,"file":"preMintCalculation.js","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/preMintCalculation.ts"],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;;GAaG;AACH,oEAAiC;AAEjC,2CAAuE;AACvE,oCAA+C;AAE/C;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,sBAAsB,CAAC,WAAkC;IAC7E,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAClE,MAAM,YAAY,GAAG,IAAI,oBAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,gCAAgC;IAC9G,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,qBAAa,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB;IAC1E,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAElE,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,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,oBAAO,CAAC,UAAU,CAAC,CAAC;IAErE,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;AAClC,CAAC;AAtBD,wDAsBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sellExactToken.d.ts","sourceRoot":"","sources":["../../../../src/chaincode/launchpad/sellExactToken.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAkD,MAAM,uBAAuB,CAAC;AAGzG,OAAO,EAAE,qBAAqB,EAA0B,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAW7F;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,gBAAgB,EACrB,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,WAAW,CAAC,CAwEtB"}
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,CA2FtB"}
@@ -15,17 +15,13 @@ exports.sellExactToken = void 0;
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
+ const api_1 = require("@gala-chain/api");
18
19
  const chaincode_1 = require("@gala-chain/chaincode");
19
20
  const bignumber_js_1 = require("bignumber.js");
20
- const types_1 = require("../../api/types");
21
21
  const error_1 = require("../../api/utils/error");
22
22
  const utils_1 = require("../utils");
23
- const callMemeTokenIn_1 = require("./callMemeTokenIn");
24
23
  const callNativeTokenOut_1 = require("./callNativeTokenOut");
25
24
  const fees_1 = require("./fees");
26
- bignumber_js_1.BigNumber.config({
27
- ROUNDING_MODE: bignumber_js_1.BigNumber.ROUND_UP
28
- });
29
25
  /**
30
26
  * Executes the sale of an exact amount of tokens for native tokens (e.g., GALA).
31
27
  *
@@ -45,19 +41,21 @@ bignumber_js_1.BigNumber.config({
45
41
  * @throws DefaultError if the expected native tokens exceed the actual amount to be provided.
46
42
  */
47
43
  async function sellExactToken(ctx, sellTokenDTO) {
48
- var _a;
44
+ var _a, _b, _c;
45
+ // Fetch and validate the current sale object
49
46
  const sale = await (0, utils_1.fetchAndValidateSale)(ctx, sellTokenDTO.vaultAddress);
47
+ // Determine how much native token (e.g., GALA) the user will receive for the exact token quantity
50
48
  const callNativeTokenOutResult = await (0, callNativeTokenOut_1.callNativeTokenOut)(ctx, sellTokenDTO);
51
- let nativeTokensToProvide = new bignumber_js_1.BigNumber(callNativeTokenOutResult.calculatedQuantity);
49
+ const nativeTokensToProvide = new bignumber_js_1.BigNumber(callNativeTokenOutResult.calculatedQuantity);
50
+ const transactionFees = callNativeTokenOutResult.extraFees.transactionFees;
52
51
  const nativeTokensLeftInVault = new bignumber_js_1.BigNumber(sale.nativeTokenQuantity);
53
52
  const nativeToken = sale.fetchNativeTokenInstanceKey();
54
53
  const memeToken = sale.fetchSellingTokenInstanceKey();
54
+ // Abort if the vault doesn't have enough native tokens to pay the user
55
55
  if (nativeTokensLeftInVault.comparedTo(nativeTokensToProvide) < 0) {
56
- nativeTokensToProvide = nativeTokensLeftInVault;
57
- const nativeTokensBeingSoldDto = new types_1.NativeTokenQuantityDto(sellTokenDTO.vaultAddress, nativeTokensToProvide);
58
- const callMemeTokenInResult = await (0, callMemeTokenIn_1.callMemeTokenIn)(ctx, nativeTokensBeingSoldDto);
59
- sellTokenDTO.tokenQuantity = new bignumber_js_1.BigNumber(callMemeTokenInResult.calculatedQuantity);
56
+ throw new api_1.ValidationFailedError("Not enough GALA in sale contract to carry out this operation.");
60
57
  }
58
+ // Enforce slippage tolerance: expected amount must not be greater than what will actually be received
61
59
  if (sellTokenDTO.expectedNativeToken &&
62
60
  sellTokenDTO.expectedNativeToken.comparedTo(nativeTokensToProvide) > 0) {
63
61
  throw new error_1.SlippageToleranceExceededError("Expected Gala tokens from this operation exceeds the actual amount that will be provided.");
@@ -65,6 +63,19 @@ async function sellExactToken(ctx, sellTokenDTO) {
65
63
  // The fee must be paid BEFORE the sale can happen.
66
64
  // That means you cannot pay the fee using proceeds from the sale.
67
65
  await (0, fees_1.payReverseBondingCurveFee)(ctx, sale, nativeTokensToProvide, (_a = sellTokenDTO.extraFees) === null || _a === void 0 ? void 0 : _a.maxAcceptableReverseBondingCurveFee);
66
+ // 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
+ }
78
+ // Transfer meme tokens from user to vault
68
79
  await (0, chaincode_1.transferToken)(ctx, {
69
80
  from: ctx.callingUser,
70
81
  to: sellTokenDTO.vaultAddress,
@@ -73,6 +84,7 @@ async function sellExactToken(ctx, sellTokenDTO) {
73
84
  allowancesToUse: [],
74
85
  authorizedOnBehalf: undefined
75
86
  });
87
+ // Transfer native tokens from vault to user
76
88
  await (0, chaincode_1.transferToken)(ctx, {
77
89
  from: sellTokenDTO.vaultAddress,
78
90
  to: ctx.callingUser,
@@ -84,11 +96,15 @@ async function sellExactToken(ctx, sellTokenDTO) {
84
96
  callingUser: ctx.callingUser
85
97
  }
86
98
  });
99
+ // Update sale state with this transaction
87
100
  sale.sellToken(sellTokenDTO.tokenQuantity, nativeTokensToProvide);
88
101
  await (0, chaincode_1.putChainObject)(ctx, sale);
89
102
  const token = await (0, chaincode_1.fetchTokenClass)(ctx, sale.sellingToken);
90
103
  return {
91
104
  inputQuantity: sellTokenDTO.tokenQuantity.toFixed(),
105
+ totalFees: new bignumber_js_1.BigNumber(transactionFees)
106
+ .plus((_c = (_b = sellTokenDTO.extraFees) === null || _b === void 0 ? void 0 : _b.maxAcceptableReverseBondingCurveFee) !== null && _c !== void 0 ? _c : 0)
107
+ .toFixed(),
92
108
  outputQuantity: nativeTokensToProvide.toFixed(),
93
109
  tokenName: token.name,
94
110
  tradeType: "Sell",