@gala-chain/launchpad 1.0.0

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 (200) hide show
  1. package/.dev-env +7 -0
  2. package/.dockerignore +9 -0
  3. package/.eslintignore +4 -0
  4. package/.eslintrc.json +37 -0
  5. package/.github/workflows/publish-on-tag.yml +72 -0
  6. package/.github/workflows/test-on-push.yml +32 -0
  7. package/.nvmrc +1 -0
  8. package/.prettierignore +4 -0
  9. package/.prettierrc +12 -0
  10. package/Dockerfile +31 -0
  11. package/LICENSE +201 -0
  12. package/README.md +2 -0
  13. package/api-config.json +16 -0
  14. package/e2e/__snapshots__/api.spec.ts.snap +2482 -0
  15. package/e2e/api-config.json +17 -0
  16. package/e2e/api.spec.ts +48 -0
  17. package/e2e/jest.config.js +42 -0
  18. package/e2e/tsconfig.json +10 -0
  19. package/jest.config.ts +27 -0
  20. package/lib/jest.config.d.ts +13 -0
  21. package/lib/jest.config.d.ts.map +1 -0
  22. package/lib/jest.config.js +28 -0
  23. package/lib/jest.config.js.map +1 -0
  24. package/lib/package.json +54 -0
  25. package/lib/src/api/index.d.ts +4 -0
  26. package/lib/src/api/index.d.ts.map +1 -0
  27. package/lib/src/api/index.js +21 -0
  28. package/lib/src/api/index.js.map +1 -0
  29. package/lib/src/api/types/LaunchpadDtos.d.ts +102 -0
  30. package/lib/src/api/types/LaunchpadDtos.d.ts.map +1 -0
  31. package/lib/src/api/types/LaunchpadDtos.js +410 -0
  32. package/lib/src/api/types/LaunchpadDtos.js.map +1 -0
  33. package/lib/src/api/types/LaunchpadFeeConfig.d.ts +9 -0
  34. package/lib/src/api/types/LaunchpadFeeConfig.d.ts.map +1 -0
  35. package/lib/src/api/types/LaunchpadFeeConfig.js +56 -0
  36. package/lib/src/api/types/LaunchpadFeeConfig.js.map +1 -0
  37. package/lib/src/api/types/LaunchpadFinalizeAllocation.d.ts +10 -0
  38. package/lib/src/api/types/LaunchpadFinalizeAllocation.d.ts.map +1 -0
  39. package/lib/src/api/types/LaunchpadFinalizeAllocation.js +70 -0
  40. package/lib/src/api/types/LaunchpadFinalizeAllocation.js.map +1 -0
  41. package/lib/src/api/types/LaunchpadSale.d.ts +35 -0
  42. package/lib/src/api/types/LaunchpadSale.d.ts.map +1 -0
  43. package/lib/src/api/types/LaunchpadSale.js +195 -0
  44. package/lib/src/api/types/LaunchpadSale.js.map +1 -0
  45. package/lib/src/api/types/index.d.ts +5 -0
  46. package/lib/src/api/types/index.d.ts.map +1 -0
  47. package/lib/src/api/types/index.js +22 -0
  48. package/lib/src/api/types/index.js.map +1 -0
  49. package/lib/src/api/utils/error.d.ts +20 -0
  50. package/lib/src/api/utils/error.d.ts.map +1 -0
  51. package/lib/src/api/utils/error.js +35 -0
  52. package/lib/src/api/utils/error.js.map +1 -0
  53. package/lib/src/api/utils/index.d.ts +2 -0
  54. package/lib/src/api/utils/index.d.ts.map +1 -0
  55. package/lib/src/api/utils/index.js +19 -0
  56. package/lib/src/api/utils/index.js.map +1 -0
  57. package/lib/src/api/validators/decorators.d.ts +19 -0
  58. package/lib/src/api/validators/decorators.d.ts.map +1 -0
  59. package/lib/src/api/validators/decorators.js +391 -0
  60. package/lib/src/api/validators/decorators.js.map +1 -0
  61. package/lib/src/api/validators/index.d.ts +2 -0
  62. package/lib/src/api/validators/index.d.ts.map +1 -0
  63. package/lib/src/api/validators/index.js +19 -0
  64. package/lib/src/api/validators/index.js.map +1 -0
  65. package/lib/src/chaincode/LaunchpadContract.d.ts +20 -0
  66. package/lib/src/chaincode/LaunchpadContract.d.ts.map +1 -0
  67. package/lib/src/chaincode/LaunchpadContract.js +217 -0
  68. package/lib/src/chaincode/LaunchpadContract.js.map +1 -0
  69. package/lib/src/chaincode/dexLaunchpadFeeGate.d.ts +14 -0
  70. package/lib/src/chaincode/dexLaunchpadFeeGate.d.ts.map +1 -0
  71. package/lib/src/chaincode/dexLaunchpadFeeGate.js +47 -0
  72. package/lib/src/chaincode/dexLaunchpadFeeGate.js.map +1 -0
  73. package/lib/src/chaincode/index.d.ts +2 -0
  74. package/lib/src/chaincode/index.d.ts.map +1 -0
  75. package/lib/src/chaincode/index.js +19 -0
  76. package/lib/src/chaincode/index.js.map +1 -0
  77. package/lib/src/chaincode/launchpad/buyExactToken.d.ts +20 -0
  78. package/lib/src/chaincode/launchpad/buyExactToken.d.ts.map +1 -0
  79. package/lib/src/chaincode/launchpad/buyExactToken.js +113 -0
  80. package/lib/src/chaincode/launchpad/buyExactToken.js.map +1 -0
  81. package/lib/src/chaincode/launchpad/buyWithNative.d.ts +22 -0
  82. package/lib/src/chaincode/launchpad/buyWithNative.d.ts.map +1 -0
  83. package/lib/src/chaincode/launchpad/buyWithNative.js +106 -0
  84. package/lib/src/chaincode/launchpad/buyWithNative.js.map +1 -0
  85. package/lib/src/chaincode/launchpad/callMemeTokenIn.d.ts +27 -0
  86. package/lib/src/chaincode/launchpad/callMemeTokenIn.d.ts.map +1 -0
  87. package/lib/src/chaincode/launchpad/callMemeTokenIn.js +76 -0
  88. package/lib/src/chaincode/launchpad/callMemeTokenIn.js.map +1 -0
  89. package/lib/src/chaincode/launchpad/callMemeTokenOut.d.ts +25 -0
  90. package/lib/src/chaincode/launchpad/callMemeTokenOut.d.ts.map +1 -0
  91. package/lib/src/chaincode/launchpad/callMemeTokenOut.js +56 -0
  92. package/lib/src/chaincode/launchpad/callMemeTokenOut.js.map +1 -0
  93. package/lib/src/chaincode/launchpad/callNativeTokenIn.d.ts +25 -0
  94. package/lib/src/chaincode/launchpad/callNativeTokenIn.d.ts.map +1 -0
  95. package/lib/src/chaincode/launchpad/callNativeTokenIn.js +51 -0
  96. package/lib/src/chaincode/launchpad/callNativeTokenIn.js.map +1 -0
  97. package/lib/src/chaincode/launchpad/callNativeTokenOut.d.ts +26 -0
  98. package/lib/src/chaincode/launchpad/callNativeTokenOut.d.ts.map +1 -0
  99. package/lib/src/chaincode/launchpad/callNativeTokenOut.js +60 -0
  100. package/lib/src/chaincode/launchpad/callNativeTokenOut.js.map +1 -0
  101. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.d.ts +4 -0
  102. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.d.ts.map +1 -0
  103. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.js +58 -0
  104. package/lib/src/chaincode/launchpad/configureLaunchpadFeeConfig.js.map +1 -0
  105. package/lib/src/chaincode/launchpad/createSale.d.ts +26 -0
  106. package/lib/src/chaincode/launchpad/createSale.d.ts.map +1 -0
  107. package/lib/src/chaincode/launchpad/createSale.js +129 -0
  108. package/lib/src/chaincode/launchpad/createSale.js.map +1 -0
  109. package/lib/src/chaincode/launchpad/fees.d.ts +6 -0
  110. package/lib/src/chaincode/launchpad/fees.d.ts.map +1 -0
  111. package/lib/src/chaincode/launchpad/fees.js +85 -0
  112. package/lib/src/chaincode/launchpad/fees.js.map +1 -0
  113. package/lib/src/chaincode/launchpad/fetchLaunchpadAdressConfig.d.ts +4 -0
  114. package/lib/src/chaincode/launchpad/fetchLaunchpadAdressConfig.d.ts.map +1 -0
  115. package/lib/src/chaincode/launchpad/fetchLaunchpadAdressConfig.js +36 -0
  116. package/lib/src/chaincode/launchpad/fetchLaunchpadAdressConfig.js.map +1 -0
  117. package/lib/src/chaincode/launchpad/fetchSaleDetails.d.ts +19 -0
  118. package/lib/src/chaincode/launchpad/fetchSaleDetails.d.ts.map +1 -0
  119. package/lib/src/chaincode/launchpad/fetchSaleDetails.js +49 -0
  120. package/lib/src/chaincode/launchpad/fetchSaleDetails.js.map +1 -0
  121. package/lib/src/chaincode/launchpad/finaliseSale.d.ts +4 -0
  122. package/lib/src/chaincode/launchpad/finaliseSale.d.ts.map +1 -0
  123. package/lib/src/chaincode/launchpad/finaliseSale.js +144 -0
  124. package/lib/src/chaincode/launchpad/finaliseSale.js.map +1 -0
  125. package/lib/src/chaincode/launchpad/finalizeTokenAllocation.d.ts +4 -0
  126. package/lib/src/chaincode/launchpad/finalizeTokenAllocation.d.ts.map +1 -0
  127. package/lib/src/chaincode/launchpad/finalizeTokenAllocation.js +43 -0
  128. package/lib/src/chaincode/launchpad/finalizeTokenAllocation.js.map +1 -0
  129. package/lib/src/chaincode/launchpad/index.d.ts +15 -0
  130. package/lib/src/chaincode/launchpad/index.d.ts.map +1 -0
  131. package/lib/src/chaincode/launchpad/index.js +32 -0
  132. package/lib/src/chaincode/launchpad/index.js.map +1 -0
  133. package/lib/src/chaincode/launchpad/preMintCalculation.d.ts +17 -0
  134. package/lib/src/chaincode/launchpad/preMintCalculation.d.ts.map +1 -0
  135. package/lib/src/chaincode/launchpad/preMintCalculation.js +56 -0
  136. package/lib/src/chaincode/launchpad/preMintCalculation.js.map +1 -0
  137. package/lib/src/chaincode/launchpad/sellExactToken.d.ts +22 -0
  138. package/lib/src/chaincode/launchpad/sellExactToken.d.ts.map +1 -0
  139. package/lib/src/chaincode/launchpad/sellExactToken.js +102 -0
  140. package/lib/src/chaincode/launchpad/sellExactToken.js.map +1 -0
  141. package/lib/src/chaincode/launchpad/sellWithNative.d.ts +23 -0
  142. package/lib/src/chaincode/launchpad/sellWithNative.d.ts.map +1 -0
  143. package/lib/src/chaincode/launchpad/sellWithNative.js +97 -0
  144. package/lib/src/chaincode/launchpad/sellWithNative.js.map +1 -0
  145. package/lib/src/chaincode/utils/index.d.ts +2 -0
  146. package/lib/src/chaincode/utils/index.d.ts.map +1 -0
  147. package/lib/src/chaincode/utils/index.js +19 -0
  148. package/lib/src/chaincode/utils/index.js.map +1 -0
  149. package/lib/src/chaincode/utils/launchpadSaleUtils.d.ts +11 -0
  150. package/lib/src/chaincode/utils/launchpadSaleUtils.d.ts.map +1 -0
  151. package/lib/src/chaincode/utils/launchpadSaleUtils.js +65 -0
  152. package/lib/src/chaincode/utils/launchpadSaleUtils.js.map +1 -0
  153. package/lib/src/cli.d.ts +3 -0
  154. package/lib/src/cli.d.ts.map +1 -0
  155. package/lib/src/cli.js +41 -0
  156. package/lib/src/cli.js.map +1 -0
  157. package/lib/src/index.d.ts +14 -0
  158. package/lib/src/index.d.ts.map +1 -0
  159. package/lib/src/index.js +32 -0
  160. package/lib/src/index.js.map +1 -0
  161. package/lib/tsconfig.tsbuildinfo +1 -0
  162. package/package.json +54 -0
  163. package/src/api/index.ts +18 -0
  164. package/src/api/types/LaunchpadDtos.ts +362 -0
  165. package/src/api/types/LaunchpadFeeConfig.ts +45 -0
  166. package/src/api/types/LaunchpadFinalizeAllocation.ts +65 -0
  167. package/src/api/types/LaunchpadSale.ts +200 -0
  168. package/src/api/types/index.ts +19 -0
  169. package/src/api/utils/error.ts +32 -0
  170. package/src/api/utils/index.ts +16 -0
  171. package/src/api/validators/decorators.spec.ts +277 -0
  172. package/src/api/validators/decorators.ts +401 -0
  173. package/src/api/validators/index.ts +16 -0
  174. package/src/chaincode/LaunchpadContract.ts +211 -0
  175. package/src/chaincode/dexLaunchpadFeeGate.ts +43 -0
  176. package/src/chaincode/index.ts +16 -0
  177. package/src/chaincode/launchpad/buyExactToken.ts +128 -0
  178. package/src/chaincode/launchpad/buyWithNative.ts +120 -0
  179. package/src/chaincode/launchpad/callMemeTokenIn.ts +82 -0
  180. package/src/chaincode/launchpad/callMemeTokenOut.ts +80 -0
  181. package/src/chaincode/launchpad/callNativeTokenIn.ts +71 -0
  182. package/src/chaincode/launchpad/callNativeTokenOut.ts +81 -0
  183. package/src/chaincode/launchpad/configureLaunchpadFeeConfig.ts +69 -0
  184. package/src/chaincode/launchpad/createSale.ts +157 -0
  185. package/src/chaincode/launchpad/fees.ts +105 -0
  186. package/src/chaincode/launchpad/fetchLaunchpadAdressConfig.ts +38 -0
  187. package/src/chaincode/launchpad/fetchSaleDetails.ts +53 -0
  188. package/src/chaincode/launchpad/finaliseSale.ts +217 -0
  189. package/src/chaincode/launchpad/finalizeTokenAllocation.ts +47 -0
  190. package/src/chaincode/launchpad/index.ts +28 -0
  191. package/src/chaincode/launchpad/preMintCalculation.ts +61 -0
  192. package/src/chaincode/launchpad/sellExactToken.ts +122 -0
  193. package/src/chaincode/launchpad/sellWithNative.ts +112 -0
  194. package/src/chaincode/utils/index.ts +15 -0
  195. package/src/chaincode/utils/launchpadSaleUtils.ts +68 -0
  196. package/src/cli.ts +63 -0
  197. package/src/index.ts +32 -0
  198. package/tsconfig.base.json +29 -0
  199. package/tsconfig.json +19 -0
  200. package/tsconfig.spec.json +11 -0
@@ -0,0 +1,17 @@
1
+ {
2
+ "channels": [
3
+ {
4
+ "pathFragment": "product",
5
+ "channelName": "product-channel",
6
+ "asLocalHost": true,
7
+ "contracts": [
8
+ {
9
+ "pathFragment": "launchpad",
10
+ "chaincodeName": "basic-product",
11
+ "contractName": "Launchpad"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
17
+
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Copyright (c) Gala Games Inc. All rights reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+ import { commonContractAPI } from "@gala-chain/api";
16
+ import { AdminChainClients, TestClients, transactionSuccess } from "@gala-chain/test";
17
+
18
+ jest.setTimeout(30000);
19
+
20
+ describe("API snapshots", () => {
21
+ const contractConfig = {
22
+ launchpad: {
23
+ channel: "product-channel",
24
+ chaincode: "basic-product",
25
+ contract: "Launchpad",
26
+ api: commonContractAPI
27
+ }
28
+ };
29
+
30
+ let client: AdminChainClients<typeof contractConfig>;
31
+
32
+ beforeAll(async () => {
33
+ client = await TestClients.createForAdmin(contractConfig);
34
+ });
35
+
36
+ afterAll(async () => {
37
+ await client.disconnect();
38
+ });
39
+
40
+ test(`Api of ${contractConfig.launchpad.contract}`, async () => {
41
+ // When
42
+ const response = await client.launchpad.GetContractAPI();
43
+
44
+ // Then
45
+ expect(response).toEqual(transactionSuccess());
46
+ expect({ ...response.Data, contractVersion: "?.?.?" }).toMatchSnapshot();
47
+ });
48
+ });
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright (c) Gala Games Inc. All rights reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+
16
+ require("dotenv/config"); // see https://github.com/motdotla/dotenv#how-do-i-use-dotenv-with-import
17
+
18
+ if (process.env.GALA_NETWORK_ROOT_PATH === undefined) {
19
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
20
+ const path = require("path");
21
+ const networkRoot = path.resolve(__dirname, "../test-network");
22
+ process.env.GALA_NETWORK_ROOT_PATH = networkRoot;
23
+ }
24
+
25
+ // Force less information in logs.
26
+ // We want this, because while running tests from command line Fabric produces
27
+ // a lot of logs, and it's hard to see the actual test output.
28
+ // Also, we need to add it in Jest config file, to change it early enough, since
29
+ // the log level for chaincodes is configured during import resolution.
30
+ process.env.CORE_CHAINCODE_LOGGING_LEVEL = "error";
31
+ process.env.LOG_LEVEL = "error";
32
+
33
+ // Use role-based access control (RBAC) for tests.
34
+ process.env.USE_RBAC = "true";
35
+
36
+ /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
37
+ module.exports = {
38
+ preset: "ts-jest",
39
+ moduleFileExtensions: ["js", "json", "ts"],
40
+ rootDir: ".",
41
+ testEnvironment: "node"
42
+ };
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "rootDir": ".",
5
+ "noEmit": true,
6
+ "strictNullChecks": true,
7
+ "declarationMap": true,
8
+ "sourceMap": true
9
+ }
10
+ }
package/jest.config.ts ADDED
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright (c) Gala Games Inc. All rights reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+
16
+ // use role-based access control (RBAC) for tests.
17
+ process.env.USE_RBAC = "true";
18
+
19
+ export default {
20
+ displayName: "chaincode-template",
21
+ testEnvironment: "node",
22
+ transform: {
23
+ "^.+\\.[tj]s$": ["ts-jest", { tsconfig: "<rootDir>/tsconfig.spec.json" }]
24
+ },
25
+ moduleFileExtensions: ["ts", "js"],
26
+ modulePathIgnorePatterns: ["lib", "e2e"]
27
+ };
@@ -0,0 +1,13 @@
1
+ declare const _default: {
2
+ displayName: string;
3
+ testEnvironment: string;
4
+ transform: {
5
+ "^.+\\.[tj]s$": (string | {
6
+ tsconfig: string;
7
+ })[];
8
+ };
9
+ moduleFileExtensions: string[];
10
+ modulePathIgnorePatterns: string[];
11
+ };
12
+ export default _default;
13
+ //# sourceMappingURL=jest.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.config.d.ts","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";;;;;;;;;;;AAkBA,wBAQE"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) Gala Games Inc. All rights reserved.
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // use role-based access control (RBAC) for tests.
18
+ process.env.USE_RBAC = "true";
19
+ exports.default = {
20
+ displayName: "chaincode-template",
21
+ testEnvironment: "node",
22
+ transform: {
23
+ "^.+\\.[tj]s$": ["ts-jest", { tsconfig: "<rootDir>/tsconfig.spec.json" }]
24
+ },
25
+ moduleFileExtensions: ["ts", "js"],
26
+ modulePathIgnorePatterns: ["lib", "e2e"]
27
+ };
28
+ //# sourceMappingURL=jest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAEH,kDAAkD;AAClD,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC;AAE9B,kBAAe;IACb,WAAW,EAAE,oBAAoB;IACjC,eAAe,EAAE,MAAM;IACvB,SAAS,EAAE;QACT,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,8BAA8B,EAAE,CAAC;KAC1E;IACD,oBAAoB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IAClC,wBAAwB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACzC,CAAC"}
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@gala-chain/launchpad",
3
+ "version": "1.0.0",
4
+ "description": "GalaChain Launchpad Chaincode",
5
+ "main": "lib/src/index.js",
6
+ "types": "lib/src/index.d.ts",
7
+ "scripts": {
8
+ "start": "node lib/src/cli.js start",
9
+ "clean": "tsc -b --clean",
10
+ "build": "tsc -p tsconfig.json",
11
+ "build:watch": "tsc -p tsconfig.json -w",
12
+ "lint": "eslint . --ext .ts,.js",
13
+ "fix": "eslint . --ext .ts,.js --fix",
14
+ "format": "prettier --config .prettierrc 'src/**/*.ts' 'e2e/**/*.ts' --write",
15
+ "prepublishOnly": "npm run format && npm run build && npm run lint && npm run test",
16
+ "network:start": "galachain network:up -C=product-channel -t=curator -n=basic-product -d=./ --envConfig=./.dev-env --watch",
17
+ "network:up": "galachain network:up -C=product-channel -t=curator -n=basic-product -d=./ --envConfig=./.dev-env --contracts=$(node lib/src/cli.js get-contract-names | tail -n 1)",
18
+ "network:prune": "galachain network:prune",
19
+ "network:recreate": "npm run network:prune && rm -rf ./test-network && npm run network:start",
20
+ "test": "jest",
21
+ "test:e2e": "jest --config=e2e/jest.config.js --runInBand",
22
+ "test:e2e-mocked": "env $(grep -v '^#' .dev-env | grep -v '^$' | xargs) CURATORORG_MOCKED_CHAINCODE_DIR=./ jest --config=e2e/jest.config.js --runInBand",
23
+ "update-snapshot": "jest --updateSnapshot"
24
+ },
25
+ "dependencies": {
26
+ "@gala-chain/api": "2.3.1",
27
+ "@gala-chain/chaincode": "2.3.1",
28
+ "@gala-chain/dex": "1.0.1",
29
+ "@grpc/grpc-js": "1.10.10",
30
+ "decimal.js": "^10.5.0",
31
+ "dotenv": "^16.0.1",
32
+ "fabric-contract-api": "2.5.6",
33
+ "fabric-shim": "2.5.6"
34
+ },
35
+ "devDependencies": {
36
+ "@gala-chain/cli": "2.3.1",
37
+ "@gala-chain/client": "2.3.1",
38
+ "@gala-chain/test": "2.3.1",
39
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0",
40
+ "@types/jest": "^29.5.12",
41
+ "@types/node": "18.11.9",
42
+ "@typescript-eslint/eslint-plugin": "^5.47.1",
43
+ "@typescript-eslint/parser": "^5.47.1",
44
+ "eslint": "^8.30.0",
45
+ "eslint-config-prettier": "^8.5.0",
46
+ "eslint-plugin-prettier": "^5.0.1",
47
+ "eslint-prettier-config": "^1.0.1",
48
+ "jest": "^29.7.0",
49
+ "prettier": "^3.1.1",
50
+ "ts-jest": "^29.1.2",
51
+ "ts-node": "^10.9.1",
52
+ "typescript": "^5.3.3"
53
+ }
54
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./types";
2
+ export * from "./utils";
3
+ export * from "./validators";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAeA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) Gala Games Inc. All rights reserved.
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ const tslib_1 = require("tslib");
18
+ tslib_1.__exportStar(require("./types"), exports);
19
+ tslib_1.__exportStar(require("./utils"), exports);
20
+ tslib_1.__exportStar(require("./validators"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,kDAAwB;AACxB,kDAAwB;AACxB,uDAA6B"}
@@ -0,0 +1,102 @@
1
+ import { ChainCallDTO, ChainObject, SubmitCallDTO, TokenBalance, UserAlias } from "@gala-chain/api";
2
+ import BigNumber from "bignumber.js";
3
+ export declare class ReverseBondingCurveConfigurationChainObject extends ChainObject {
4
+ minFeePortion: BigNumber;
5
+ maxFeePortion: BigNumber;
6
+ constructor(minFeePortion: BigNumber, maxFeePortion: BigNumber);
7
+ }
8
+ export declare class ReverseBondingCurveConfigurationDto extends ChainCallDTO {
9
+ minFeePortion: BigNumber;
10
+ maxFeePortion: BigNumber;
11
+ toChainObject(): ReverseBondingCurveConfigurationChainObject;
12
+ }
13
+ export declare class CreateTokenSaleDTO extends SubmitCallDTO {
14
+ tokenName: string;
15
+ tokenSymbol: string;
16
+ tokenDescription: string;
17
+ tokenCollection: string;
18
+ tokenCategory: string;
19
+ tokenImage: string;
20
+ preBuyQuantity: BigNumber;
21
+ websiteUrl?: string;
22
+ telegramUrl?: string;
23
+ twitterUrl?: string;
24
+ reverseBondingCurveConfiguration?: ReverseBondingCurveConfigurationDto;
25
+ constructor(tokenName: string, tokenSymbol: string, tokenDescription: string, tokenImage: string, preBuyQuantity: BigNumber, tokenCollection: string, tokenCategory: string, reverseBondingCurveConfiguration?: ReverseBondingCurveConfigurationDto);
26
+ }
27
+ export declare class CreateSaleResDto {
28
+ image: string;
29
+ tokenName: string;
30
+ symbol: string;
31
+ description: string;
32
+ websiteUrl?: string;
33
+ telegramUrl?: string;
34
+ twitterUrl?: string;
35
+ initialBuyQuantity: string;
36
+ vaultAddress: UserAlias;
37
+ creatorAddress: UserAlias;
38
+ collection: string;
39
+ category: string;
40
+ functionName: string;
41
+ isFinalized: boolean;
42
+ tokenStringKey: string;
43
+ reverseBondingCurveConfiguration?: ReverseBondingCurveConfigurationDto;
44
+ }
45
+ export declare class TokenExtraFeesDto {
46
+ maxAcceptableReverseBondingCurveFee?: BigNumber;
47
+ }
48
+ export declare class ExactTokenQuantityDto extends SubmitCallDTO {
49
+ vaultAddress: UserAlias;
50
+ tokenQuantity: BigNumber;
51
+ expectedNativeToken?: BigNumber;
52
+ extraFees?: TokenExtraFeesDto;
53
+ constructor(vaultAddress: UserAlias, tokenQuantity?: BigNumber);
54
+ }
55
+ export declare class NativeTokenQuantityDto extends SubmitCallDTO {
56
+ vaultAddress: UserAlias;
57
+ nativeTokenQuantity: BigNumber;
58
+ expectedToken?: BigNumber;
59
+ extraFees?: TokenExtraFeesDto;
60
+ constructor(vaultAddress: UserAlias, nativeTokenQuantity?: BigNumber);
61
+ }
62
+ export declare class TradeResDto {
63
+ tokenBalance?: TokenBalance;
64
+ nativeTokenBalance?: TokenBalance;
65
+ tokenQuantity?: string;
66
+ nativeTokenAmount?: string;
67
+ inputQuantity: string;
68
+ outputQuantity: string;
69
+ tokenName: string;
70
+ tradeType: string;
71
+ vaultAddress: UserAlias;
72
+ userAddress: UserAlias;
73
+ isFinalized: boolean;
74
+ functionName: string;
75
+ }
76
+ export declare class FetchSaleDto extends ChainCallDTO {
77
+ vaultAddress: UserAlias;
78
+ constructor(vaultAddress: UserAlias);
79
+ }
80
+ export declare class PreMintCalculationDto extends ChainCallDTO {
81
+ nativeTokenQuantity: BigNumber;
82
+ constructor(nativeTokenQuantity?: BigNumber);
83
+ }
84
+ export declare class ConfigureLaunchpadFeeAddressDto extends SubmitCallDTO {
85
+ newPlatformFeeAddress?: UserAlias;
86
+ newAuthorities?: UserAlias[];
87
+ }
88
+ export declare class FinalizeTokenAllocationDto extends SubmitCallDTO {
89
+ platformFeePercentage: number;
90
+ ownerFeePercentage: number;
91
+ }
92
+ export declare class CollectFeeAddressDto extends ChainCallDTO {
93
+ platformFeeCollectAddress: UserAlias;
94
+ }
95
+ export declare class TradeCalculationResFeesDto {
96
+ reverseBondingCurve: string;
97
+ }
98
+ export declare class TradeCalculationResDto {
99
+ calculatedQuantity: string;
100
+ extraFees: TradeCalculationResFeesDto;
101
+ }
102
+ //# sourceMappingURL=LaunchpadDtos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LaunchpadDtos.d.ts","sourceRoot":"","sources":["../../../../src/api/types/LaunchpadDtos.ts"],"names":[],"mappings":"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"}