@cloakedagent/sdk 0.1.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 (72) hide show
  1. package/README.md +90 -0
  2. package/dist/agent.d.ts +321 -0
  3. package/dist/agent.d.ts.map +1 -0
  4. package/dist/agent.js +877 -0
  5. package/dist/agent.js.map +1 -0
  6. package/dist/config.d.ts +33 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +64 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/constants.d.ts +4 -0
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/constants.js +9 -0
  13. package/dist/constants.js.map +1 -0
  14. package/dist/idl.json +1347 -0
  15. package/dist/index.d.ts +10 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +66 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/mcp/index.d.ts +7 -0
  20. package/dist/mcp/index.d.ts.map +1 -0
  21. package/dist/mcp/index.js +374 -0
  22. package/dist/mcp/index.js.map +1 -0
  23. package/dist/mcp/tools.d.ts +26 -0
  24. package/dist/mcp/tools.d.ts.map +1 -0
  25. package/dist/mcp/tools.js +320 -0
  26. package/dist/mcp/tools.js.map +1 -0
  27. package/dist/mcp/types.d.ts +61 -0
  28. package/dist/mcp/types.d.ts.map +1 -0
  29. package/dist/mcp/types.js +4 -0
  30. package/dist/mcp/types.js.map +1 -0
  31. package/dist/relayer.d.ts +130 -0
  32. package/dist/relayer.d.ts.map +1 -0
  33. package/dist/relayer.js +225 -0
  34. package/dist/relayer.js.map +1 -0
  35. package/dist/signer.d.ts +18 -0
  36. package/dist/signer.d.ts.map +1 -0
  37. package/dist/signer.js +34 -0
  38. package/dist/signer.js.map +1 -0
  39. package/dist/token.d.ts +320 -0
  40. package/dist/token.d.ts.map +1 -0
  41. package/dist/token.js +896 -0
  42. package/dist/token.js.map +1 -0
  43. package/dist/types.d.ts +66 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/dist/types.js +3 -0
  46. package/dist/types.js.map +1 -0
  47. package/dist/zk/browser-prover.d.ts +85 -0
  48. package/dist/zk/browser-prover.d.ts.map +1 -0
  49. package/dist/zk/browser-prover.js +260 -0
  50. package/dist/zk/browser-prover.js.map +1 -0
  51. package/dist/zk/discovery.d.ts +65 -0
  52. package/dist/zk/discovery.d.ts.map +1 -0
  53. package/dist/zk/discovery.js +143 -0
  54. package/dist/zk/discovery.js.map +1 -0
  55. package/dist/zk/index.d.ts +14 -0
  56. package/dist/zk/index.d.ts.map +1 -0
  57. package/dist/zk/index.js +47 -0
  58. package/dist/zk/index.js.map +1 -0
  59. package/dist/zk/ownership_proof.json +1 -0
  60. package/dist/zk/poseidon.d.ts +31 -0
  61. package/dist/zk/poseidon.d.ts.map +1 -0
  62. package/dist/zk/poseidon.js +103 -0
  63. package/dist/zk/poseidon.js.map +1 -0
  64. package/dist/zk/prover.d.ts +49 -0
  65. package/dist/zk/prover.d.ts.map +1 -0
  66. package/dist/zk/prover.js +120 -0
  67. package/dist/zk/prover.js.map +1 -0
  68. package/dist/zk/secrets.d.ts +62 -0
  69. package/dist/zk/secrets.d.ts.map +1 -0
  70. package/dist/zk/secrets.js +98 -0
  71. package/dist/zk/secrets.js.map +1 -0
  72. package/package.json +74 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ /** Cloaked Agent state from on-chain account */
3
+ export interface CloakedAgentState {
4
+ address: PublicKey;
5
+ /** Owner pubkey (null for Cloaked Agents) */
6
+ owner: PublicKey | null;
7
+ /** Owner commitment for private mode (zeros for standard mode) */
8
+ ownerCommitment: Uint8Array;
9
+ delegate: PublicKey;
10
+ balance: number;
11
+ constraints: {
12
+ maxPerTx: number;
13
+ dailyLimit: number;
14
+ totalLimit: number;
15
+ expiresAt: Date | null;
16
+ frozen: boolean;
17
+ };
18
+ spending: {
19
+ totalSpent: number;
20
+ dailySpent: number;
21
+ dailyRemaining: number;
22
+ totalRemaining: number;
23
+ };
24
+ status: "active" | "frozen" | "expired";
25
+ createdAt: Date;
26
+ /** Whether this is a Cloaked Agent (private mode) */
27
+ isPrivate: boolean;
28
+ }
29
+ /** Options for creating a new Cloaked Agent */
30
+ export interface CreateAgentOptions {
31
+ /** Optional - SDK generates a new delegate keypair if not provided */
32
+ delegate?: PublicKey;
33
+ maxPerTx?: number;
34
+ dailyLimit?: number;
35
+ totalLimit?: number;
36
+ expiresAt?: Date | null;
37
+ initialDeposit?: number;
38
+ }
39
+ /** Options for updating constraints */
40
+ export interface ConstraintOptions {
41
+ maxPerTx?: number;
42
+ dailyLimit?: number;
43
+ totalLimit?: number;
44
+ expiresAt?: Date | null;
45
+ }
46
+ /** Options for spending */
47
+ export interface SpendOptions {
48
+ destination: PublicKey;
49
+ amount: number;
50
+ /**
51
+ * Optional fee payer signer. If provided, this wallet pays the tx fee directly
52
+ * (no relayer involved, no 10k lamport overhead). If not provided, the relayer
53
+ * pays and gets reimbursed from the vault (10k lamports).
54
+ *
55
+ * For standard mode: pass the user's connected wallet to pay directly
56
+ * For agent/MCP mode: leave undefined to use relayer
57
+ */
58
+ feePayer?: any;
59
+ }
60
+ /** Result of spend operation */
61
+ export interface SpendResult {
62
+ signature: string;
63
+ remainingBalance: number;
64
+ dailyRemaining: number;
65
+ }
66
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,SAAS,CAAC;IACnB,6CAA6C;IAC7C,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,kEAAkE;IAClE,eAAe,EAAE,UAAU,CAAC;IAC5B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IAEF,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC;IAChB,qDAAqD;IACrD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,SAAS,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Browser-based ZK proof generation using bb.js
3
+ *
4
+ * Generates UltraHonk proofs in the browser - secret never leaves the client.
5
+ * This is the secure alternative to the backend prover.
6
+ *
7
+ * NOTE: Uses non-ZK UltraHonk proofs (457 fields) because Sunspot's recursive
8
+ * verifier does not support ZK proofs (508 fields). The inner circuit still
9
+ * provides privacy for the agent_secret - the proof format difference only
10
+ * affects the recursive verification layer.
11
+ */
12
+ /** Browser proof result from UltraHonk */
13
+ export interface BrowserProof {
14
+ /** Raw proof bytes */
15
+ proof: Uint8Array;
16
+ /** Public inputs (commitment) */
17
+ publicInputs: string[];
18
+ }
19
+ /** Recursive proof artifacts for Solana submission */
20
+ export interface RecursiveArtifacts {
21
+ /** Proof as field elements */
22
+ proofAsFields: string[];
23
+ /** Verification key as field elements */
24
+ vkAsFields: string[];
25
+ /** Verification key hash */
26
+ vkHash: string;
27
+ }
28
+ /**
29
+ * Initialize the browser prover (lazy initialization)
30
+ * Call this early to warm up WASM loading
31
+ */
32
+ export declare function initBrowserProver(): Promise<void>;
33
+ /**
34
+ * Check if browser prover is available
35
+ * (always true in browser environment with SharedArrayBuffer)
36
+ */
37
+ export declare function isBrowserProverAvailable(): boolean;
38
+ /**
39
+ * Generate UltraHonk ownership proof in the browser
40
+ *
41
+ * Proves knowledge of agent_secret where poseidon(agent_secret) == commitment
42
+ * without revealing the secret. Secret stays in browser memory.
43
+ *
44
+ * @param agentSecret - The private agent secret (bigint)
45
+ * @param commitment - The public commitment (bigint)
46
+ * @returns Browser proof with proof bytes and public inputs
47
+ */
48
+ export declare function generateOwnershipProofBrowser(agentSecret: bigint, commitment: bigint): Promise<BrowserProof>;
49
+ /**
50
+ * Generate recursive proof artifacts for Solana submission
51
+ *
52
+ * Converts the UltraHonk proof into a format suitable for
53
+ * recursive verification on Solana via Sunspot.
54
+ *
55
+ * Note: bb.js 3.x has a known issue where generateRecursiveProofArtifacts
56
+ * returns empty proofAsFields. We work around this by manually converting
57
+ * the proof bytes to fields.
58
+ *
59
+ * @param proof - Raw proof bytes from generateOwnershipProofBrowser
60
+ * @param numPublicInputs - Number of public inputs in the proof (unused, kept for API compat)
61
+ * @returns Recursive artifacts with proof as fields and VK hash
62
+ */
63
+ export declare function generateRecursiveArtifacts(proof: Uint8Array, numPublicInputs?: number): Promise<RecursiveArtifacts>;
64
+ /**
65
+ * Verify a proof locally (for testing)
66
+ *
67
+ * @param proof - Proof bytes
68
+ * @param publicInputs - Public inputs
69
+ * @returns True if valid
70
+ */
71
+ export declare function verifyProofBrowser(proof: Uint8Array, publicInputs: string[]): Promise<boolean>;
72
+ /**
73
+ * Verify Poseidon hash compatibility between SDK and Noir circuit
74
+ *
75
+ * Runs a test with known values to ensure the hash functions match.
76
+ * Call this at app startup to detect Poseidon mismatches early.
77
+ *
78
+ * @returns True if hashes match, throws if they don't
79
+ */
80
+ export declare function verifyPoseidonCompatibility(): Promise<boolean>;
81
+ /**
82
+ * Cleanup resources
83
+ */
84
+ export declare function destroyBrowserProver(): Promise<void>;
85
+ //# sourceMappingURL=browser-prover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-prover.d.ts","sourceRoot":"","sources":["../../src/zk/browser-prover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,iCAAiC;IACjC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,yCAAyC;IACzC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAOD;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAevD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CASlD;AAED;;;;;;;;;GASG;AACH,wBAAsB,6BAA6B,CACjD,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CAiDvB;AA0BD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,UAAU,EAEjB,eAAe,GAAE,MAAU,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAsB7B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC,CAgCpE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO1D"}
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+ /**
3
+ * Browser-based ZK proof generation using bb.js
4
+ *
5
+ * Generates UltraHonk proofs in the browser - secret never leaves the client.
6
+ * This is the secure alternative to the backend prover.
7
+ *
8
+ * NOTE: Uses non-ZK UltraHonk proofs (457 fields) because Sunspot's recursive
9
+ * verifier does not support ZK proofs (508 fields). The inner circuit still
10
+ * provides privacy for the agent_secret - the proof format difference only
11
+ * affects the recursive verification layer.
12
+ */
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || (function () {
30
+ var ownKeys = function(o) {
31
+ ownKeys = Object.getOwnPropertyNames || function (o) {
32
+ var ar = [];
33
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
+ return ar;
35
+ };
36
+ return ownKeys(o);
37
+ };
38
+ return function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ })();
46
+ var __importDefault = (this && this.__importDefault) || function (mod) {
47
+ return (mod && mod.__esModule) ? mod : { "default": mod };
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.initBrowserProver = initBrowserProver;
51
+ exports.isBrowserProverAvailable = isBrowserProverAvailable;
52
+ exports.generateOwnershipProofBrowser = generateOwnershipProofBrowser;
53
+ exports.generateRecursiveArtifacts = generateRecursiveArtifacts;
54
+ exports.verifyProofBrowser = verifyProofBrowser;
55
+ exports.verifyPoseidonCompatibility = verifyPoseidonCompatibility;
56
+ exports.destroyBrowserProver = destroyBrowserProver;
57
+ const bb_js_1 = require("@aztec/bb.js");
58
+ const noir_js_1 = require("@noir-lang/noir_js");
59
+ const ownership_proof_json_1 = __importDefault(require("./ownership_proof.json"));
60
+ // Cached instances for performance
61
+ let cachedApi = null;
62
+ let cachedBackend = null;
63
+ let cachedNoir = null;
64
+ /**
65
+ * Initialize the browser prover (lazy initialization)
66
+ * Call this early to warm up WASM loading
67
+ */
68
+ async function initBrowserProver() {
69
+ if (!cachedApi) {
70
+ // Initialize Barretenberg with single thread for Node.js compatibility
71
+ cachedApi = await bb_js_1.Barretenberg.new({ threads: 1 });
72
+ }
73
+ if (!cachedBackend) {
74
+ cachedBackend = new bb_js_1.UltraHonkBackend(ownership_proof_json_1.default.bytecode, cachedApi);
75
+ }
76
+ if (!cachedNoir) {
77
+ cachedNoir = new noir_js_1.Noir(ownership_proof_json_1.default);
78
+ await cachedNoir.init();
79
+ }
80
+ }
81
+ /**
82
+ * Check if browser prover is available
83
+ * (always true in browser environment with SharedArrayBuffer)
84
+ */
85
+ function isBrowserProverAvailable() {
86
+ // Check if we're in a browser-like environment
87
+ const isBrowser = typeof globalThis !== "undefined" &&
88
+ typeof globalThis.document !== "undefined";
89
+ // Check if SharedArrayBuffer is available (required for multi-threading)
90
+ const hasSharedArrayBuffer = typeof SharedArrayBuffer !== "undefined";
91
+ return isBrowser && hasSharedArrayBuffer;
92
+ }
93
+ /**
94
+ * Generate UltraHonk ownership proof in the browser
95
+ *
96
+ * Proves knowledge of agent_secret where poseidon(agent_secret) == commitment
97
+ * without revealing the secret. Secret stays in browser memory.
98
+ *
99
+ * @param agentSecret - The private agent secret (bigint)
100
+ * @param commitment - The public commitment (bigint)
101
+ * @returns Browser proof with proof bytes and public inputs
102
+ */
103
+ async function generateOwnershipProofBrowser(agentSecret, commitment) {
104
+ // Lazy initialize
105
+ if (!cachedBackend || !cachedNoir) {
106
+ await initBrowserProver();
107
+ }
108
+ const backend = cachedBackend;
109
+ const noir = cachedNoir;
110
+ // Format commitment as hex string with 0x prefix
111
+ const commitmentHex = "0x" + commitment.toString(16).padStart(64, "0");
112
+ // Generate witness - this is where the circuit assertion happens
113
+ let witness;
114
+ try {
115
+ const result = await noir.execute({
116
+ agent_secret: agentSecret.toString(),
117
+ commitment: commitmentHex,
118
+ });
119
+ witness = result.witness;
120
+ }
121
+ catch (error) {
122
+ // Circuit assertion failed - commitment doesn't match poseidon(agentSecret)
123
+ console.error("[browser-prover] Circuit execution failed:", error);
124
+ console.error("[browser-prover] This usually means poseidon(agentSecret) != commitment");
125
+ console.error("[browser-prover] agentSecret:", agentSecret.toString().slice(0, 20) + "...");
126
+ console.error("[browser-prover] commitment:", commitmentHex);
127
+ throw new Error(`ZK proof failed: commitment mismatch. The agent secret doesn't match the stored commitment. ` +
128
+ `This can happen if the master secret is different. Original error: ${error instanceof Error ? error.message : error}`);
129
+ }
130
+ // Generate UltraHonk proof with verifierTarget for recursive proving
131
+ let proofData;
132
+ try {
133
+ proofData = await backend.generateProof(witness, {
134
+ verifierTarget: "noir-recursive-no-zk",
135
+ });
136
+ }
137
+ catch (error) {
138
+ console.error("[browser-prover] Proof generation failed:", error);
139
+ throw new Error(`ZK proof generation failed: ${error instanceof Error ? error.message : error}`);
140
+ }
141
+ return {
142
+ proof: proofData.proof,
143
+ publicInputs: proofData.publicInputs,
144
+ };
145
+ }
146
+ /**
147
+ * Convert proof bytes to field elements
148
+ *
149
+ * UltraHonk proofs are already field-aligned (32 bytes per field).
150
+ * This is a workaround for bb.js returning empty proofAsFields.
151
+ * See: https://github.com/noir-lang/noir/issues/5661
152
+ */
153
+ function proofBytesToFields(proof) {
154
+ if (proof.length % 32 !== 0) {
155
+ throw new Error(`Proof length ${proof.length} is not 32-byte aligned`);
156
+ }
157
+ const fields = [];
158
+ for (let i = 0; i < proof.length; i += 32) {
159
+ const chunk = proof.slice(i, i + 32);
160
+ // Convert to 0x-prefixed hex string (big-endian)
161
+ const hex = "0x" + Array.from(chunk)
162
+ .map(b => b.toString(16).padStart(2, "0"))
163
+ .join("");
164
+ fields.push(hex);
165
+ }
166
+ return fields;
167
+ }
168
+ /**
169
+ * Generate recursive proof artifacts for Solana submission
170
+ *
171
+ * Converts the UltraHonk proof into a format suitable for
172
+ * recursive verification on Solana via Sunspot.
173
+ *
174
+ * Note: bb.js 3.x has a known issue where generateRecursiveProofArtifacts
175
+ * returns empty proofAsFields. We work around this by manually converting
176
+ * the proof bytes to fields.
177
+ *
178
+ * @param proof - Raw proof bytes from generateOwnershipProofBrowser
179
+ * @param numPublicInputs - Number of public inputs in the proof (unused, kept for API compat)
180
+ * @returns Recursive artifacts with proof as fields and VK hash
181
+ */
182
+ async function generateRecursiveArtifacts(proof,
183
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
184
+ numPublicInputs = 1) {
185
+ if (!cachedBackend) {
186
+ await initBrowserProver();
187
+ }
188
+ const backend = cachedBackend;
189
+ // Get VK artifacts from bb.js (these work correctly)
190
+ const artifacts = await backend.generateRecursiveProofArtifacts(proof, numPublicInputs, { verifierTarget: "noir-recursive-no-zk" });
191
+ // Manually convert proof bytes to fields (workaround for bb.js issue)
192
+ const proofAsFields = proofBytesToFields(proof);
193
+ return {
194
+ proofAsFields,
195
+ vkAsFields: artifacts.vkAsFields,
196
+ vkHash: artifacts.vkHash,
197
+ };
198
+ }
199
+ /**
200
+ * Verify a proof locally (for testing)
201
+ *
202
+ * @param proof - Proof bytes
203
+ * @param publicInputs - Public inputs
204
+ * @returns True if valid
205
+ */
206
+ async function verifyProofBrowser(proof, publicInputs) {
207
+ if (!cachedBackend) {
208
+ await initBrowserProver();
209
+ }
210
+ const backend = cachedBackend;
211
+ return backend.verifyProof({ proof, publicInputs }, { verifierTarget: "noir-recursive-no-zk" });
212
+ }
213
+ /**
214
+ * Verify Poseidon hash compatibility between SDK and Noir circuit
215
+ *
216
+ * Runs a test with known values to ensure the hash functions match.
217
+ * Call this at app startup to detect Poseidon mismatches early.
218
+ *
219
+ * @returns True if hashes match, throws if they don't
220
+ */
221
+ async function verifyPoseidonCompatibility() {
222
+ // Lazy initialize
223
+ if (!cachedNoir) {
224
+ await initBrowserProver();
225
+ }
226
+ const noir = cachedNoir;
227
+ // Test with a known value - if this fails, Poseidon implementations don't match
228
+ const testSecret = BigInt("12345");
229
+ // Import poseidon from SDK
230
+ const { poseidon } = await Promise.resolve().then(() => __importStar(require("./poseidon")));
231
+ const sdkCommitment = await poseidon([testSecret]);
232
+ const commitmentHex = "0x" + sdkCommitment.toString(16).padStart(64, "0");
233
+ try {
234
+ await noir.execute({
235
+ agent_secret: testSecret.toString(),
236
+ commitment: commitmentHex,
237
+ });
238
+ return true;
239
+ }
240
+ catch (error) {
241
+ console.error("[browser-prover] POSEIDON MISMATCH DETECTED!");
242
+ console.error("[browser-prover] SDK and Noir use different Poseidon implementations");
243
+ console.error("[browser-prover] Test secret:", testSecret.toString());
244
+ console.error("[browser-prover] SDK commitment:", commitmentHex);
245
+ throw new Error("Poseidon hash mismatch: SDK and Noir circuit use incompatible Poseidon implementations. " +
246
+ "This is a build/version issue that needs to be fixed.");
247
+ }
248
+ }
249
+ /**
250
+ * Cleanup resources
251
+ */
252
+ async function destroyBrowserProver() {
253
+ if (cachedApi) {
254
+ await cachedApi.destroy();
255
+ cachedApi = null;
256
+ cachedBackend = null;
257
+ cachedNoir = null;
258
+ }
259
+ }
260
+ //# sourceMappingURL=browser-prover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-prover.js","sourceRoot":"","sources":["../../src/zk/browser-prover.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Private agent discovery
3
+ *
4
+ * Discovers private agents by scanning the blockchain for matching
5
+ * owner_commitment values derived from the user's master secret.
6
+ */
7
+ import { Connection, PublicKey } from "@solana/web3.js";
8
+ /** Discovered private agent */
9
+ export interface DiscoveredPrivateAgent {
10
+ /** Cloaked Agent state account address */
11
+ address: PublicKey;
12
+ /** Delegate public key */
13
+ delegate: PublicKey;
14
+ /** Vault balance in lamports */
15
+ balance: number;
16
+ /** Whether frozen */
17
+ frozen: boolean;
18
+ /** The nonce used to derive this agent */
19
+ nonce: number;
20
+ /** Agent secret (for generating proofs) */
21
+ agentSecret: bigint;
22
+ /** Commitment stored on-chain */
23
+ commitment: bigint;
24
+ }
25
+ /**
26
+ * Find an agent by its owner commitment
27
+ *
28
+ * @param commitment - The commitment to search for
29
+ * @param connection - Solana connection
30
+ * @returns Agent state account or null if not found
31
+ */
32
+ export declare function findAgentByCommitment(commitment: bigint, connection: Connection): Promise<{
33
+ address: PublicKey;
34
+ delegate: PublicKey;
35
+ balance: number;
36
+ frozen: boolean;
37
+ } | null>;
38
+ /**
39
+ * Discover all private agents for a master secret
40
+ *
41
+ * Scans through nonces 0..MAX_AGENTS to find all agents
42
+ * owned by this master secret.
43
+ *
44
+ * @param masterSecret - Master secret from wallet signature
45
+ * @param connection - Solana connection
46
+ * @returns Array of discovered private agents
47
+ */
48
+ export declare function discoverPrivateAgents(masterSecret: bigint, connection: Connection): Promise<DiscoveredPrivateAgent[]>;
49
+ /**
50
+ * Get the next available nonce for creating a new private agent
51
+ *
52
+ * @param masterSecret - Master secret from wallet signature
53
+ * @param connection - Solana connection
54
+ * @returns Next available nonce
55
+ */
56
+ export declare function getNextPrivateNonce(masterSecret: bigint, connection: Connection): Promise<number>;
57
+ /**
58
+ * Check if an agent exists for a specific commitment
59
+ *
60
+ * @param commitment - The commitment to check
61
+ * @param connection - Solana connection
62
+ * @returns True if agent exists
63
+ */
64
+ export declare function agentExistsForCommitment(commitment: bigint, connection: Connection): Promise<boolean>;
65
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/zk/discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAUxD,+BAA+B;AAC/B,MAAM,WAAW,sBAAsB;IACrC,0CAA0C;IAC1C,OAAO,EAAE,SAAS,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AAyBD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC;IACT,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,IAAI,CAAC,CA2CR;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAyBnC;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,OAAO,CAAC,CAGlB"}