create-veil-app 0.3.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.
- package/README.md +135 -0
- package/dist/chunk-QGM4M3NI.js +37 -0
- package/dist/chunk-QWU7D5FV.js +2052 -0
- package/dist/dist-7HFJSUBN.js +7743 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +221 -0
- package/dist/templates-TJ2JYQDS.js +55 -0
- package/package.json +64 -0
package/README.md
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# create-veil-app
|
|
2
|
+
|
|
3
|
+
Privacy-first project scaffolding CLI for Solana. Create production-ready apps with the complete Veil + ShadowWire privacy stack.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx create-veil-app my-app
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or install globally:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g create-veil-app
|
|
15
|
+
veil init my-app
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Features
|
|
19
|
+
|
|
20
|
+
- **15 Templates** — DEX, Lending, Wallet, Gaming, NFT, Social, and more
|
|
21
|
+
- **Full Privacy Stack** — Identity, Recovery, Voting, Staking, Multisig
|
|
22
|
+
- **ShadowPay Integration** — Mainnet private payments via @radr/shadowwire
|
|
23
|
+
- **Framework Choice** — Next.js or Vite
|
|
24
|
+
- **Helius RPC** — Pre-configured for optimal Solana performance
|
|
25
|
+
|
|
26
|
+
## Templates
|
|
27
|
+
|
|
28
|
+
| Category | Templates |
|
|
29
|
+
|----------|-----------|
|
|
30
|
+
| **DeFi** | `dex`, `lending`, `yield`, `pool` |
|
|
31
|
+
| **DApp** | `gaming`, `nft`, `social`, `governance` |
|
|
32
|
+
| **Exchange** | `cex`, `aggregator`, `trading` |
|
|
33
|
+
| **Wallet** | `wallet`, `portfolio`, `payments` |
|
|
34
|
+
| **Starter** | `basic` |
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
|
|
38
|
+
### Interactive Mode
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
veil init
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Prompts for:
|
|
45
|
+
1. Project name
|
|
46
|
+
2. Template category & type
|
|
47
|
+
3. Framework (Next.js / Vite)
|
|
48
|
+
4. Helius RPC (recommended)
|
|
49
|
+
5. ShadowPay mode (App / Wallet / Skip)
|
|
50
|
+
6. Network (devnet / localnet)
|
|
51
|
+
|
|
52
|
+
### Non-Interactive Mode
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
veil init my-dex \
|
|
56
|
+
--template=dex \
|
|
57
|
+
--framework=nextjs \
|
|
58
|
+
--network=devnet \
|
|
59
|
+
--shadow-pay
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### List Templates
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
veil templates
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Generated Project Structure
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
my-app/
|
|
72
|
+
├── app/ # Frontend application
|
|
73
|
+
│ ├── components/ # UI components
|
|
74
|
+
│ ├── layout.tsx # Root layout
|
|
75
|
+
│ ├── page.tsx # Home page
|
|
76
|
+
│ └── providers.tsx # Wallet providers
|
|
77
|
+
├── lib/
|
|
78
|
+
│ ├── privacy/ # Login, recovery, access control
|
|
79
|
+
│ ├── veil/ # RPC, Helius integration
|
|
80
|
+
│ ├── voting/ # Commit-reveal voting
|
|
81
|
+
│ ├── staking/ # Pedersen staking
|
|
82
|
+
│ ├── multisig/ # Stealth signers
|
|
83
|
+
│ └── shadowpay/ # Mainnet private transfers (if enabled)
|
|
84
|
+
├── hooks/ # React hooks for Veil SDK
|
|
85
|
+
├── contexts/ # Provider contexts
|
|
86
|
+
├── types/ # TypeScript definitions
|
|
87
|
+
├── veil.config.ts # Veil configuration
|
|
88
|
+
└── .env.example # Environment template
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Network Configuration
|
|
92
|
+
|
|
93
|
+
| Network | Purpose |
|
|
94
|
+
|---------|---------|
|
|
95
|
+
| **Devnet** | Veil features (voting, staking, multisig) |
|
|
96
|
+
| **Mainnet** | ShadowPay private payments |
|
|
97
|
+
|
|
98
|
+
## Commands
|
|
99
|
+
|
|
100
|
+
| Command | Description |
|
|
101
|
+
|---------|-------------|
|
|
102
|
+
| `veil init [name]` | Create new project |
|
|
103
|
+
| `veil templates` | List available templates |
|
|
104
|
+
| `veil add` | Add Veil to existing project |
|
|
105
|
+
| `veil --help` | Show help |
|
|
106
|
+
|
|
107
|
+
## Options
|
|
108
|
+
|
|
109
|
+
| Flag | Description |
|
|
110
|
+
|------|-------------|
|
|
111
|
+
| `-t, --template <type>` | Template type |
|
|
112
|
+
| `-f, --framework <fw>` | nextjs or vite |
|
|
113
|
+
| `--shadow-pay` | Enable ShadowPay (mainnet) |
|
|
114
|
+
| `--no-shadow-pay` | Disable ShadowPay |
|
|
115
|
+
| `--helius` | Enable Helius RPC |
|
|
116
|
+
| `--no-helius` | Disable Helius RPC |
|
|
117
|
+
| `--network <net>` | devnet or localnet |
|
|
118
|
+
|
|
119
|
+
## Privacy Stack
|
|
120
|
+
|
|
121
|
+
Every generated project includes:
|
|
122
|
+
|
|
123
|
+
| Feature | Description | Cryptography |
|
|
124
|
+
|---------|-------------|--------------|
|
|
125
|
+
| **Identity** | ZK authentication | Poseidon hash |
|
|
126
|
+
| **Recovery** | Social recovery | Shamir secret sharing |
|
|
127
|
+
| **Voting** | Private voting | Commit-reveal |
|
|
128
|
+
| **Staking** | Hidden amounts | Pedersen commitments |
|
|
129
|
+
| **Multisig** | Anonymous signers | Stealth addresses |
|
|
130
|
+
| **ShadowPay** | Private transfers | @radr/shadowwire |
|
|
131
|
+
|
|
132
|
+
## License
|
|
133
|
+
|
|
134
|
+
MIT © Veil Protocol
|
|
135
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
8
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
9
|
+
}) : x)(function(x) {
|
|
10
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
11
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
12
|
+
});
|
|
13
|
+
var __commonJS = (cb, mod) => function __require2() {
|
|
14
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
25
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
27
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
30
|
+
mod
|
|
31
|
+
));
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
__require,
|
|
35
|
+
__commonJS,
|
|
36
|
+
__toESM
|
|
37
|
+
};
|