create-mn-app 0.3.7 → 0.3.8

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.
@@ -32,7 +32,7 @@ class WalletGenerator {
32
32
  # Generated on ${new Date().toISOString()}
33
33
 
34
34
  # Network Configuration
35
- MIDNIGHT_NETWORK=testnet
35
+ MIDNIGHT_NETWORK=preprod
36
36
  PROOF_SERVER_URL=http://127.0.0.1:6300
37
37
 
38
38
  # Wallet Configuration (KEEP PRIVATE!)
@@ -57,7 +57,7 @@ AUTO_START_PROOF_SERVER=true
57
57
  # Copy this file to .env and fill in your values
58
58
 
59
59
  # Network Configuration
60
- MIDNIGHT_NETWORK=testnet
60
+ MIDNIGHT_NETWORK=preprod
61
61
  PROOF_SERVER_URL=http://127.0.0.1:6300
62
62
 
63
63
  # Wallet Configuration (KEEP PRIVATE!)
@@ -1 +1 @@
1
- {"version":3,"file":"setup-guide.d.ts","sourceRoot":"","sources":["../../src/utils/setup-guide.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,GAC7B,IAAI;IAYP;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IA4DzC;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAY3D"}
1
+ {"version":3,"file":"setup-guide.d.ts","sourceRoot":"","sources":["../../src/utils/setup-guide.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,GAC7B,IAAI;IAYP;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IA6DzC;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAY3D"}
@@ -59,16 +59,15 @@ class SetupGuide {
59
59
  console.log();
60
60
  console.log(chalk_1.default.bold("[" + chalk_1.default.magenta("i") + "] Proof Server\n"));
61
61
  console.log(chalk_1.default.gray(" $ ") +
62
- chalk_1.default.cyan("docker run -p 6300:6300 midnightnetwork/proof-server -- 'midnight-proof-server --network testnet'"));
62
+ chalk_1.default.cyan("docker run -p 6300:6300 midnightntwrk/proof-server -- 'midnight-proof-server -v'"));
63
63
  console.log(chalk_1.default.gray(" keep this terminal running"));
64
64
  console.log();
65
65
  console.log(chalk_1.default.bold("[" + chalk_1.default.green("▶") + "] Run Application\n"));
66
- console.log(chalk_1.default.gray(" $ ") +
67
- chalk_1.default.cyan(`cd counter-cli && ${runCmd} start-testnet-remote`));
66
+ console.log(chalk_1.default.gray(" $ ") + chalk_1.default.cyan(`cd counter-cli && ${runCmd} start`));
68
67
  console.log();
69
68
  console.log(chalk_1.default.bold("[" + chalk_1.default.yellow("!") + "] Important\n"));
70
69
  console.log(chalk_1.default.gray(" • create wallet and fund from faucet"));
71
- console.log(chalk_1.default.gray(" • testnet faucet: https://midnight.network/test-faucet"));
70
+ console.log(chalk_1.default.gray(" • Preprod faucet: https://faucet.preprod.midnight.network/"));
72
71
  console.log(chalk_1.default.gray(" • funding takes 2-3 minutes"));
73
72
  console.log(chalk_1.default.gray(" • see README.md for detailed guide"));
74
73
  console.log();
@@ -1 +1 @@
1
- {"version":3,"file":"setup-guide.js","sourceRoot":"","sources":["../../src/utils/setup-guide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-guide.js","sourceRoot":"","sources":["../../src/utils/setup-guide.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-mn-app",
3
- "version": "0.3.7",
3
+ "version": "0.3.8",
4
4
  "description": "Create Midnight Network applications with zero configuration",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -26,7 +26,7 @@ A Midnight Network application created with `create-mn-app`.
26
26
 
27
27
  - Compile your Compact contract
28
28
  - Build TypeScript to JavaScript
29
- - Deploy contract to the testnet
29
+ - Deploy contract to Preprod
30
30
 
31
31
  3. **Interact with your contract**:
32
32
  ```bash
@@ -38,7 +38,7 @@ A Midnight Network application created with `create-mn-app`.
38
38
  - `npm run setup` - Compile, build, and deploy contract
39
39
  - `npm run compile` - Compile Compact contract
40
40
  - `npm run build` - Build TypeScript
41
- - `npm run deploy` - Deploy contract to testnet
41
+ - `npm run deploy` - Deploy contract to Preprod
42
42
  - `npm run cli` - Interactive CLI for contract
43
43
  - `npm run check-balance` - Check wallet balance
44
44
  - `npm run reset` - Reset all compiled/built files
@@ -49,7 +49,7 @@ A Midnight Network application created with `create-mn-app`.
49
49
  Copy `.env.example` to `.env` and configure:
50
50
 
51
51
  - `WALLET_SEED` - Your 64-character wallet seed (auto-generated)
52
- - `MIDNIGHT_NETWORK` - Network to use (testnet)
52
+ - `MIDNIGHT_NETWORK` - Network to use (preprod)
53
53
  - `PROOF_SERVER_URL` - Proof server URL
54
54
  - `CONTRACT_NAME` - Contract name
55
55
 
@@ -70,11 +70,11 @@ Copy `.env.example` to `.env` and configure:
70
70
  └── package.json
71
71
  ```
72
72
 
73
- ### Getting Testnet Tokens
73
+ ### Getting Preprod Tokens
74
74
 
75
75
  1. Run `npm run deploy` to see your wallet address
76
- 2. Visit [https://midnight.network/test-faucet](https://midnight.network/test-faucet)
77
- 3. Enter your address to receive test tokens
76
+ 2. Visit [https://faucet.preprod.midnight.network/](https://faucet.preprod.midnight.network/)
77
+ 3. Enter your address to receive test tokens (tNight)
78
78
 
79
79
  ### Learn More
80
80
 
@@ -18,7 +18,7 @@
18
18
  "reset": "rm -rf contracts/managed deployment.json dist && npm run compile",
19
19
  "validate": "tsc --noEmit && npm run compile",
20
20
  "clean": "rm -rf dist contracts/managed deployment.json",
21
- "proof-server": "docker run -p 6300:6300 midnightnetwork/proof-server -- 'midnight-proof-server --network testnet'",
21
+ "proof-server": "docker run -p 6300:6300 midnightntwrk/proof-server -- 'midnight-proof-server -v'",
22
22
  "test": "echo \"Error: no test specified\" && exit 1"
23
23
  },
24
24
  "dependencies": {
@@ -1,11 +1,6 @@
1
1
  import "dotenv/config";
2
2
  import { WalletBuilder } from "@midnight-ntwrk/wallet";
3
- import {
4
- NetworkId,
5
- setNetworkId,
6
- getZswapNetworkId,
7
- getLedgerNetworkId,
8
- } from "@midnight-ntwrk/midnight-js-network-id";
3
+ import { getZswapNetworkId } from "@midnight-ntwrk/midnight-js-network-id";
9
4
  import { nativeToken } from "@midnight-ntwrk/ledger";
10
5
  import { WebSocket } from "ws";
11
6
  import * as Rx from "rxjs";
@@ -16,8 +11,8 @@ import { EnvironmentManager } from "./utils/environment.js";
16
11
  // @ts-ignore
17
12
  globalThis.WebSocket = WebSocket;
18
13
 
19
- // Configure for Midnight Testnet
20
- setNetworkId(NetworkId.TestNet);
14
+ // Initialize network from environment config
15
+ const networkConfig = EnvironmentManager.initializeNetwork();
21
16
 
22
17
  async function checkBalance() {
23
18
  try {
@@ -27,17 +22,13 @@ async function checkBalance() {
27
22
  console.log(chalk.blue.bold("━".repeat(60)));
28
23
  console.log();
29
24
 
30
- const seed = process.env.WALLET_SEED;
31
- if (!seed) {
32
- throw new Error("WALLET_SEED not found in .env file");
33
- }
25
+ // Validate environment (checks WALLET_SEED)
26
+ EnvironmentManager.validateEnvironment();
27
+ const seed = process.env.WALLET_SEED!;
34
28
 
35
29
  console.log(chalk.gray("Building wallet..."));
36
30
  console.log();
37
31
 
38
- // Get network configuration
39
- const networkConfig = EnvironmentManager.getNetworkConfig();
40
-
41
32
  // Build wallet from seed
42
33
  const wallet = await WalletBuilder.buildFromSeed(
43
34
  networkConfig.indexer,
@@ -68,7 +59,7 @@ async function checkBalance() {
68
59
  console.log(chalk.magenta.bold("📝 How to Get Test Tokens:"));
69
60
  console.log(chalk.magenta.bold("━".repeat(60)));
70
61
  console.log();
71
- console.log(chalk.white(" 1. ") + chalk.cyan("Visit: ") + chalk.underline("https://midnight.network/test-faucet"));
62
+ console.log(chalk.white(" 1. ") + chalk.cyan("Visit: ") + chalk.underline(networkConfig.faucetUrl));
72
63
  console.log(chalk.white(" 2. ") + chalk.cyan("Paste your wallet address (shown above)"));
73
64
  console.log(chalk.white(" 3. ") + chalk.cyan("Request tokens from the faucet"));
74
65
  console.log(chalk.white(" 4. ") + chalk.cyan("Wait 2-5 minutes for processing"));
@@ -3,8 +3,6 @@ import * as readline from "readline/promises";
3
3
  import { WalletBuilder } from "@midnight-ntwrk/wallet";
4
4
  import { findDeployedContract } from "@midnight-ntwrk/midnight-js-contracts";
5
5
  import {
6
- NetworkId,
7
- setNetworkId,
8
6
  getZswapNetworkId,
9
7
  getLedgerNetworkId,
10
8
  } from "@midnight-ntwrk/midnight-js-network-id";
@@ -22,8 +20,8 @@ import { EnvironmentManager } from "./utils/environment.js";
22
20
  // @ts-ignore
23
21
  globalThis.WebSocket = WebSocket;
24
22
 
25
- // Configure for Midnight Testnet
26
- setNetworkId(NetworkId.TestNet);
23
+ // Initialize network from environment config
24
+ const networkConfig = EnvironmentManager.initializeNetwork();
27
25
 
28
26
  async function main() {
29
27
  const rl = readline.createInterface({
@@ -46,7 +44,6 @@ async function main() {
46
44
  const deployment = JSON.parse(fs.readFileSync("deployment.json", "utf-8"));
47
45
  console.log(`Contract: ${deployment.contractAddress}\n`);
48
46
 
49
- const networkConfig = EnvironmentManager.getNetworkConfig();
50
47
  const contractName =
51
48
  deployment.contractName || process.env.CONTRACT_NAME || "hello-world";
52
49
  const walletSeed = process.env.WALLET_SEED!;
@@ -6,8 +6,6 @@ import { indexerPublicDataProvider } from "@midnight-ntwrk/midnight-js-indexer-p
6
6
  import { NodeZkConfigProvider } from "@midnight-ntwrk/midnight-js-node-zk-config-provider";
7
7
  import { levelPrivateStateProvider } from "@midnight-ntwrk/midnight-js-level-private-state-provider";
8
8
  import {
9
- NetworkId,
10
- setNetworkId,
11
9
  getZswapNetworkId,
12
10
  getLedgerNetworkId,
13
11
  } from "@midnight-ntwrk/midnight-js-network-id";
@@ -27,8 +25,8 @@ import { EnvironmentManager } from "./utils/environment.js";
27
25
  // @ts-ignore
28
26
  globalThis.WebSocket = WebSocket;
29
27
 
30
- // Configure for Midnight Testnet
31
- setNetworkId(NetworkId.TestNet);
28
+ // Initialize network from environment config
29
+ const networkConfig = EnvironmentManager.initializeNetwork();
32
30
 
33
31
  const waitForFunds = (wallet: Wallet) =>
34
32
  Rx.firstValueFrom(
@@ -58,7 +56,6 @@ async function main() {
58
56
  // Validate environment
59
57
  EnvironmentManager.validateEnvironment();
60
58
 
61
- const networkConfig = EnvironmentManager.getNetworkConfig();
62
59
  const contractName = process.env.CONTRACT_NAME || "hello-world";
63
60
 
64
61
  // Check if contract is compiled
@@ -99,7 +96,7 @@ async function main() {
99
96
  console.log(chalk.magenta.bold("📝 How to Get Test Tokens:"));
100
97
  console.log(chalk.magenta.bold("━".repeat(60)));
101
98
  console.log();
102
- console.log(chalk.white(" 1. ") + chalk.cyan("Visit: ") + chalk.underline("https://midnight.network/test-faucet"));
99
+ console.log(chalk.white(" 1. ") + chalk.cyan("Visit: ") + chalk.underline(networkConfig.faucetUrl));
103
100
  console.log(chalk.white(" 2. ") + chalk.cyan("Paste your wallet address (shown above)"));
104
101
  console.log(chalk.white(" 3. ") + chalk.cyan("Request tokens from the faucet"));
105
102
  console.log();
@@ -4,12 +4,16 @@ import { indexerPublicDataProvider } from "@midnight-ntwrk/midnight-js-indexer-p
4
4
  import { NodeZkConfigProvider } from "@midnight-ntwrk/midnight-js-node-zk-config-provider";
5
5
  import { httpClientProofProvider } from "@midnight-ntwrk/midnight-js-http-client-proof-provider";
6
6
 
7
+ import { NetworkId } from "@midnight-ntwrk/midnight-js-network-id";
8
+
7
9
  export interface NetworkConfig {
8
10
  indexer: string;
9
11
  indexerWS: string;
10
12
  node: string;
11
13
  proofServer: string;
12
14
  name: string;
15
+ faucetUrl: string;
16
+ networkId: NetworkId;
13
17
  }
14
18
 
15
19
  export interface ProviderConfig {
@@ -1,23 +1,46 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
+ import { NetworkId, setNetworkId } from "@midnight-ntwrk/midnight-js-network-id";
3
4
  import { NetworkConfig } from "../providers/midnight-providers.js";
4
5
 
6
+ const SUPPORTED_NETWORKS = ["preprod"] as const;
7
+ type SupportedNetwork = (typeof SUPPORTED_NETWORKS)[number];
8
+
5
9
  export class EnvironmentManager {
10
+ private static networkConfig: NetworkConfig | null = null;
11
+
6
12
  static getNetworkConfig(): NetworkConfig {
7
- const network = process.env.MIDNIGHT_NETWORK || "testnet";
8
-
9
- const networks = {
10
- testnet: {
11
- indexer: "https://indexer.testnet-02.midnight.network/api/v1/graphql",
12
- indexerWS:
13
- "wss://indexer.testnet-02.midnight.network/api/v1/graphql/ws",
14
- node: "https://rpc.testnet-02.midnight.network",
13
+ if (this.networkConfig) return this.networkConfig;
14
+
15
+ const network = process.env.MIDNIGHT_NETWORK || "preprod";
16
+
17
+ if (!SUPPORTED_NETWORKS.includes(network as SupportedNetwork)) {
18
+ console.warn(
19
+ `Warning: Unknown network "${network}", falling back to "preprod". ` +
20
+ `Supported networks: ${SUPPORTED_NETWORKS.join(", ")}`
21
+ );
22
+ }
23
+
24
+ const networks: Record<SupportedNetwork, NetworkConfig> = {
25
+ preprod: {
26
+ indexer: "https://indexer.preprod.midnight.network/api/v3/graphql",
27
+ indexerWS: "wss://indexer.preprod.midnight.network/api/v3/graphql/ws",
28
+ node: "https://rpc.preprod.midnight.network",
15
29
  proofServer: process.env.PROOF_SERVER_URL || "http://127.0.0.1:6300",
16
- name: "Testnet",
30
+ name: "Preprod",
31
+ faucetUrl: "https://faucet.preprod.midnight.network/",
32
+ networkId: NetworkId.TestNet,
17
33
  },
18
34
  };
19
35
 
20
- return networks[network as keyof typeof networks] || networks.testnet;
36
+ this.networkConfig = networks[network as SupportedNetwork] || networks.preprod;
37
+ return this.networkConfig;
38
+ }
39
+
40
+ static initializeNetwork(): NetworkConfig {
41
+ const config = this.getNetworkConfig();
42
+ setNetworkId(config.networkId);
43
+ return config;
21
44
  }
22
45
 
23
46
  static validateEnvironment(): void {