reputrans 0.1.0 → 0.1.1
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 +167 -114
- package/dist/cli/src/commands/inspect.js +3 -3
- package/dist/cli/src/commands/inspect.js.map +1 -1
- package/dist/cli/src/commands/issue.js +3 -3
- package/dist/cli/src/commands/issue.js.map +1 -1
- package/dist/cli/src/commands/keygen.js +1 -1
- package/dist/cli/src/commands/keygen.js.map +1 -1
- package/dist/cli/src/commands/prove.js +3 -3
- package/dist/cli/src/commands/prove.js.map +1 -1
- package/dist/cli/src/commands/verify.js +1 -1
- package/dist/cli/src/commands/verify.js.map +1 -1
- package/package.json +41 -41
package/README.md
CHANGED
|
@@ -1,114 +1,167 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
npx
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
npx
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
1
|
+
# REPUTRANS
|
|
2
|
+
|
|
3
|
+
Prove things about yourself without revealing the underlying data.
|
|
4
|
+
|
|
5
|
+
A university signs your degree. You want to prove you studied Computer Science - but not reveal your name, GPA, or graduation year. REPUTRANS lets you do exactly that: generate a cryptographic proof that discloses only the fields you choose, and a verifier can check it without ever seeing the original credential.
|
|
6
|
+
|
|
7
|
+
You can also prove things about hidden values. "My GPA is at least 3.0" - the verifier sees that the statement is true, but never learns the actual number.
|
|
8
|
+
|
|
9
|
+
Two proof types:
|
|
10
|
+
- **Selective disclosure** - reveal specific fields, hide the rest
|
|
11
|
+
- **Range proofs** - prove a numeric field meets a threshold (`>=` or `<=`) without revealing the value
|
|
12
|
+
|
|
13
|
+
Everything runs locally on your machine. No blockchain, no server, no accounts. Real cryptography built on [Noir](https://noir-lang.org/) zero-knowledge circuits with Barretenberg UltraHonk proofs.
|
|
14
|
+
|
|
15
|
+
## Quick Start
|
|
16
|
+
|
|
17
|
+
**Prerequisites:** Node.js 18+
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx reputrans keygen
|
|
21
|
+
npx reputrans issue
|
|
22
|
+
npx reputrans inspect
|
|
23
|
+
npx reputrans prove --disclose field_of_study
|
|
24
|
+
npx reputrans verify
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Five commands, zero config. Each command auto-detects output files from the previous step, so you don't need to pass file paths.
|
|
28
|
+
|
|
29
|
+
| Command | What it does |
|
|
30
|
+
|---|---|
|
|
31
|
+
| `keygen` | Generate an issuer keypair (e.g. a university or employer) |
|
|
32
|
+
| `issue` | Sign claims into a verifiable credential. Without `--claims`, uses an example |
|
|
33
|
+
| `inspect` | Show credential fields and what proof types each supports |
|
|
34
|
+
| `prove` | Generate a zero-knowledge proof (see syntax below) |
|
|
35
|
+
| `verify` | Check a proof mathematically - no trust, no credential needed |
|
|
36
|
+
|
|
37
|
+
### Prove syntax
|
|
38
|
+
|
|
39
|
+
The `prove` command supports two flags:
|
|
40
|
+
|
|
41
|
+
**`--disclose`** - reveal specific fields, hide the rest:
|
|
42
|
+
```bash
|
|
43
|
+
npx reputrans prove --disclose field_of_study
|
|
44
|
+
# Verifier sees: field_of_study = "Computer Science"
|
|
45
|
+
# Verifier does NOT see: name, gpa, graduation_year
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**`--range`** - prove a numeric value meets a threshold without revealing it:
|
|
49
|
+
```bash
|
|
50
|
+
npx reputrans prove --range gpa:gte:3.0
|
|
51
|
+
# Verifier sees: gpa >= 3.0 (TRUE)
|
|
52
|
+
# Verifier does NOT see: the actual GPA value
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Range format is `field:operator:threshold` where:
|
|
56
|
+
- **`gte`** = greater than or equal to (>=)
|
|
57
|
+
- **`lte`** = less than or equal to (<=)
|
|
58
|
+
|
|
59
|
+
**Combine both** in a single proof:
|
|
60
|
+
```bash
|
|
61
|
+
npx reputrans prove --disclose department --range clearance:gte:2
|
|
62
|
+
# Verifier sees: department = "R&D", clearance >= 2
|
|
63
|
+
# Verifier does NOT see: the actual clearance level, role, or any other fields
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Custom Credentials
|
|
67
|
+
|
|
68
|
+
Create a `claims.json` with any fields you want:
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"role": "engineer",
|
|
73
|
+
"clearance": "3",
|
|
74
|
+
"department": "R&D",
|
|
75
|
+
"years_experience": "7"
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Then:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npx reputrans keygen --name "Acme Corp"
|
|
83
|
+
npx reputrans issue --key acme-corp-key.json --claims claims.json
|
|
84
|
+
npx reputrans inspect
|
|
85
|
+
npx reputrans prove --disclose department --range clearance:gte:2
|
|
86
|
+
npx reputrans verify
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Numeric fields (like `clearance` and `years_experience`) automatically support range proofs. String fields support selective disclosure.
|
|
90
|
+
|
|
91
|
+
## Install Globally (optional)
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm install -g reputrans
|
|
95
|
+
reputrans keygen
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## How It Works
|
|
99
|
+
|
|
100
|
+
REPUTRANS uses three roles:
|
|
101
|
+
|
|
102
|
+
1. **Issuer** - generates a keypair and signs claims into a credential. The credential is a Poseidon Merkle tree of field hashes, signed with an EdDSA signature over BabyJubjub
|
|
103
|
+
2. **Provar** (credential holder) - generates a ZK proof revealing only selected fields. The proof is computed inside a Noir circuit that verifies the issuer's signature, validates Merkle paths for disclosed fields, and checks range constraints - all in zero knowledge
|
|
104
|
+
3. **Arbiter** (verifier) - checks the proof. This is pure math - no trust required, no contact with the issuer, no access to the original credential
|
|
105
|
+
|
|
106
|
+
The proof is portable. Verify it on any machine, via the included REST API, or on-chain. No blockchain required for the basic flow.
|
|
107
|
+
|
|
108
|
+
## Architecture
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
reputrans/
|
|
112
|
+
circuits/ 7 Noir circuits (compiled to Barretenberg UltraHonk)
|
|
113
|
+
sdk/src/ TypeScript SDK (poseidon, eddsa, encoder, identity, prover, verifier)
|
|
114
|
+
cli/src/ CLI commands (keygen, issue, inspect, prove, verify)
|
|
115
|
+
verifier/ REST verifier service with DID resolution
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Circuits
|
|
119
|
+
|
|
120
|
+
| Circuit | Purpose | Used by CLI |
|
|
121
|
+
|---|---|---|
|
|
122
|
+
| `composite` | EdDSA signature verify + Merkle selective disclosure + range proof | Yes - the main circuit |
|
|
123
|
+
| `field_disclosure` | Standalone selective disclosure | No |
|
|
124
|
+
| `range_proof` | Standalone range check | No |
|
|
125
|
+
| `set_membership` | Merkle tree membership proof | No |
|
|
126
|
+
| `signature_verify` | Standalone EdDSA verification | No |
|
|
127
|
+
| `poseidon_compat` | Cross-boundary hash validation | Testing only |
|
|
128
|
+
| `map_to_curve` | BabyJubjub point mapping | Optimization, not required |
|
|
129
|
+
|
|
130
|
+
The CLI uses the `composite` circuit for everything. The standalone circuits exist for modularity and testing.
|
|
131
|
+
|
|
132
|
+
## CLI Reference
|
|
133
|
+
|
|
134
|
+
| Command | Required args | Optional args | Auto-detects |
|
|
135
|
+
|---|---|---|---|
|
|
136
|
+
| `keygen` | none | `--name`, `--out` | - |
|
|
137
|
+
| `issue` | none | `--key`, `--claims`, `--out` | `*-key.json` |
|
|
138
|
+
| `inspect` | none | `--credential` | `credential-*.json` |
|
|
139
|
+
| `prove` | `--disclose` or `--range` | `--credential`, `--out` | `credential-*.json` |
|
|
140
|
+
| `verify` | none | `--proof` | `proof-*.json` |
|
|
141
|
+
|
|
142
|
+
Range format: `field:operator:threshold`
|
|
143
|
+
- `gte` = greater than or equal to (>=)
|
|
144
|
+
- `lte` = less than or equal to (<=)
|
|
145
|
+
- Examples: `gpa:gte:3` (GPA is at least 3), `age:lte:65` (age is at most 65)
|
|
146
|
+
|
|
147
|
+
## Development
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
git clone https://github.com/danielabrahamx/reputrans-core.git
|
|
151
|
+
cd reputrans-core
|
|
152
|
+
npm install
|
|
153
|
+
npm run build
|
|
154
|
+
npm test # 91 tests, including real ZK proof generation
|
|
155
|
+
npm run test:e2e # full CLI lifecycle test
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Protocol Roles
|
|
159
|
+
|
|
160
|
+
- **Provar** - the credential holder who generates proofs
|
|
161
|
+
- **Arbiter** - the verifier who checks proofs
|
|
162
|
+
|
|
163
|
+
Anyone can be an issuer. The Provar does not need their own keys - the credential file contains everything needed for proof generation. Anonymous identity (master secret, nullifiers) is available in the [Enterprise](https://github.com/danielabrahamx/reputrans-enterprise) product.
|
|
164
|
+
|
|
165
|
+
## License
|
|
166
|
+
|
|
167
|
+
MIT
|
|
@@ -6,7 +6,7 @@ export async function inspect(opts) {
|
|
|
6
6
|
if (!credPath) {
|
|
7
7
|
const found = await findCredentialFile();
|
|
8
8
|
if (!found) {
|
|
9
|
-
console.error('No credential file found. Run "
|
|
9
|
+
console.error('No credential file found. Run "reputrans issue" first.');
|
|
10
10
|
process.exit(1);
|
|
11
11
|
}
|
|
12
12
|
credPath = found;
|
|
@@ -34,10 +34,10 @@ export async function inspect(opts) {
|
|
|
34
34
|
}
|
|
35
35
|
console.log();
|
|
36
36
|
console.log('Next:');
|
|
37
|
-
console.log(`
|
|
37
|
+
console.log(` reputrans prove --disclose ${sortedKeys[0]}`);
|
|
38
38
|
if (sortedKeys.some((k) => /^-?\d+(\.\d+)?$/.test(claims[k]))) {
|
|
39
39
|
const numericKey = sortedKeys.find((k) => /^-?\d+(\.\d+)?$/.test(claims[k]));
|
|
40
|
-
console.log(`
|
|
40
|
+
console.log(` reputrans prove --range ${numericKey}:gte:${claims[numericKey]}`);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
//# sourceMappingURL=inspect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../../cli/src/commands/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAMvD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAoB;IAChD,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../../cli/src/commands/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAMvD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAoB;IAChD,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,QAAQ,GAAG,KAAK,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgC,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,KAAK,GAAG,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,6BAA6B,UAAU,QAAQ,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC"}
|
|
@@ -15,7 +15,7 @@ export async function issue(opts) {
|
|
|
15
15
|
if (!keyPath) {
|
|
16
16
|
const found = await findKeyFile();
|
|
17
17
|
if (!found) {
|
|
18
|
-
console.error('No key file found. Run "
|
|
18
|
+
console.error('No key file found. Run "reputrans keygen" first.');
|
|
19
19
|
process.exit(1);
|
|
20
20
|
}
|
|
21
21
|
keyPath = found;
|
|
@@ -46,7 +46,7 @@ export async function issue(opts) {
|
|
|
46
46
|
catch {
|
|
47
47
|
console.error('Invalid JSON in --claims. Use a file instead:');
|
|
48
48
|
console.error(' echo \'{"role":"engineer"}\' > claims.json');
|
|
49
|
-
console.error('
|
|
49
|
+
console.error(' reputrans issue --claims claims.json');
|
|
50
50
|
process.exit(1);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -102,6 +102,6 @@ export async function issue(opts) {
|
|
|
102
102
|
console.log(`Credential issued by "${keyData.name}"`);
|
|
103
103
|
console.log(` Fields: ${fieldNames.join(', ')}`);
|
|
104
104
|
console.log(` Saved to: ${outPath}`);
|
|
105
|
-
console.log(`\nNext:
|
|
105
|
+
console.log(`\nNext: reputrans inspect`);
|
|
106
106
|
}
|
|
107
107
|
//# sourceMappingURL=issue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../cli/src/commands/issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,OAAO;IACb,cAAc,EAAE,kBAAkB;IAClC,eAAe,EAAE,MAAM;IACvB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAkB;IAC5C,uBAAuB;IACvB,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../cli/src/commands/issue.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,6 @@ export async function keygen(opts) {
|
|
|
34
34
|
console.log(` Saved to: ${outPath}`);
|
|
35
35
|
console.log(` Public key X: ${publicKey.x.toString().slice(0, 20)}...`);
|
|
36
36
|
console.log(` Public key Y: ${publicKey.y.toString().slice(0, 20)}...`);
|
|
37
|
-
console.log(`\nNext:
|
|
37
|
+
console.log(`\nNext: reputrans issue --claims '{"field":"value"}'`);
|
|
38
38
|
}
|
|
39
39
|
//# sourceMappingURL=keygen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keygen.js","sourceRoot":"","sources":["../../../../cli/src/commands/keygen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAOjE,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAmB;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;IAEnC,uDAAuD;IACvD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,UAAU,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC;IAE5C,oBAAoB;IACpB,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,KAAK;QACd,IAAI;QACJ,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;QACjC,SAAS,EAAE;YACT,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;YACzB,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;SAC1B;QACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjE,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,wDAAwD;IACxD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"keygen.js","sourceRoot":"","sources":["../../../../cli/src/commands/keygen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAOjE,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAmB;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;IAEnC,uDAAuD;IACvD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,UAAU,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC;IAE5C,oBAAoB;IACpB,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,KAAK;QACd,IAAI;QACJ,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;QACjC,SAAS,EAAE;YACT,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;YACzB,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;SAC1B;QACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjE,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,wDAAwD;IACxD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -8,7 +8,7 @@ export async function prove(opts) {
|
|
|
8
8
|
if (!credPath) {
|
|
9
9
|
const found = await findCredentialFile();
|
|
10
10
|
if (!found) {
|
|
11
|
-
console.error('No credential file found. Run "
|
|
11
|
+
console.error('No credential file found. Run "reputrans issue" first.');
|
|
12
12
|
process.exit(1);
|
|
13
13
|
}
|
|
14
14
|
credPath = found;
|
|
@@ -18,7 +18,7 @@ export async function prove(opts) {
|
|
|
18
18
|
console.error('Specify what to prove:');
|
|
19
19
|
console.error(' --disclose field_name Reveal a specific field');
|
|
20
20
|
console.error(' --range field:gte:threshold Prove a field meets a threshold');
|
|
21
|
-
console.error('\nRun "
|
|
21
|
+
console.error('\nRun "reputrans inspect" to see available fields.');
|
|
22
22
|
process.exit(1);
|
|
23
23
|
}
|
|
24
24
|
// Load credential
|
|
@@ -134,6 +134,6 @@ export async function prove(opts) {
|
|
|
134
134
|
if (opts.range) {
|
|
135
135
|
console.log(` Range: ${rangeFieldName} ${rangeComparisonType === '0' ? '>=' : '<='} ${rangeThreshold}`);
|
|
136
136
|
}
|
|
137
|
-
console.log(`\nNext:
|
|
137
|
+
console.log(`\nNext: reputrans verify`);
|
|
138
138
|
}
|
|
139
139
|
//# sourceMappingURL=prove.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prove.js","sourceRoot":"","sources":["../../../../cli/src/commands/prove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AASvD,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAkB;IAC5C,yBAAyB;IACzB,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"prove.js","sourceRoot":"","sources":["../../../../cli/src/commands/prove.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export async function verify(opts) {
|
|
|
8
8
|
if (!proofPath) {
|
|
9
9
|
const found = await findProofFile();
|
|
10
10
|
if (!found) {
|
|
11
|
-
console.error('No proof file found. Run "
|
|
11
|
+
console.error('No proof file found. Run "reputrans prove" first.');
|
|
12
12
|
process.exit(1);
|
|
13
13
|
}
|
|
14
14
|
proofPath = found;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../../cli/src/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMlD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAmB;IAC9C,yBAAyB;IACzB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../../cli/src/commands/verify.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "reputrans",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Zero-knowledge credential toolkit - issue, prove, and verify credentials without revealing private data",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"private": false,
|
|
7
|
-
"type": "module",
|
|
8
|
-
"bin": {
|
|
9
|
-
"reputrans": "./dist/cli/src/index.js"
|
|
10
|
-
},
|
|
11
|
-
"files": [
|
|
12
|
-
"dist/",
|
|
13
|
-
"circuits/*/target/*.json"
|
|
14
|
-
],
|
|
15
|
-
"scripts": {
|
|
16
|
-
"build": "tsc && node scripts/add-shebang.js",
|
|
17
|
-
"test": "vitest run",
|
|
18
|
-
"test:watch": "vitest",
|
|
19
|
-
"test:e2e": "node test/e2e-cli.js",
|
|
20
|
-
"reputrans": "npx tsx cli/src/index.ts"
|
|
21
|
-
},
|
|
22
|
-
"dependencies": {
|
|
23
|
-
"@noble/curves": "^2.0.1",
|
|
24
|
-
"@noble/hashes": "^1.7.1",
|
|
25
|
-
"@noir-lang/backend_barretenberg": "0.36.0",
|
|
26
|
-
"@noir-lang/noir_js": "0.36.0",
|
|
27
|
-
"commander": "^14.0.3",
|
|
28
|
-
"cors": "^2.8.5",
|
|
29
|
-
"express": "^4.19.2",
|
|
30
|
-
"express-rate-limit": "^8.3.2",
|
|
31
|
-
"poseidon-lite": "^0.3.0"
|
|
32
|
-
},
|
|
33
|
-
"devDependencies": {
|
|
34
|
-
"@types/cors": "^2.8.17",
|
|
35
|
-
"@types/express": "^4.17.21",
|
|
36
|
-
"@types/supertest": "^6.0.2",
|
|
37
|
-
"supertest": "^7.0.0",
|
|
38
|
-
"typescript": "^5.5.0",
|
|
39
|
-
"vitest": "^3.1.1"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "reputrans",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Zero-knowledge credential toolkit - issue, prove, and verify credentials without revealing private data",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"private": false,
|
|
7
|
+
"type": "module",
|
|
8
|
+
"bin": {
|
|
9
|
+
"reputrans": "./dist/cli/src/index.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist/",
|
|
13
|
+
"circuits/*/target/*.json"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc && node scripts/add-shebang.js",
|
|
17
|
+
"test": "vitest run",
|
|
18
|
+
"test:watch": "vitest",
|
|
19
|
+
"test:e2e": "node test/e2e-cli.js",
|
|
20
|
+
"reputrans": "npx tsx cli/src/index.ts"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@noble/curves": "^2.0.1",
|
|
24
|
+
"@noble/hashes": "^1.7.1",
|
|
25
|
+
"@noir-lang/backend_barretenberg": "0.36.0",
|
|
26
|
+
"@noir-lang/noir_js": "0.36.0",
|
|
27
|
+
"commander": "^14.0.3",
|
|
28
|
+
"cors": "^2.8.5",
|
|
29
|
+
"express": "^4.19.2",
|
|
30
|
+
"express-rate-limit": "^8.3.2",
|
|
31
|
+
"poseidon-lite": "^0.3.0"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/cors": "^2.8.17",
|
|
35
|
+
"@types/express": "^4.17.21",
|
|
36
|
+
"@types/supertest": "^6.0.2",
|
|
37
|
+
"supertest": "^7.0.0",
|
|
38
|
+
"typescript": "^5.5.0",
|
|
39
|
+
"vitest": "^3.1.1"
|
|
40
|
+
}
|
|
41
|
+
}
|