@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.
- package/README.md +90 -0
- package/dist/agent.d.ts +321 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +877 -0
- package/dist/agent.js.map +1 -0
- package/dist/config.d.ts +33 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +64 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +9 -0
- package/dist/constants.js.map +1 -0
- package/dist/idl.json +1347 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +66 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +7 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +374 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/tools.d.ts +26 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +320 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +61 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +4 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/relayer.d.ts +130 -0
- package/dist/relayer.d.ts.map +1 -0
- package/dist/relayer.js +225 -0
- package/dist/relayer.js.map +1 -0
- package/dist/signer.d.ts +18 -0
- package/dist/signer.d.ts.map +1 -0
- package/dist/signer.js +34 -0
- package/dist/signer.js.map +1 -0
- package/dist/token.d.ts +320 -0
- package/dist/token.d.ts.map +1 -0
- package/dist/token.js +896 -0
- package/dist/token.js.map +1 -0
- package/dist/types.d.ts +66 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/zk/browser-prover.d.ts +85 -0
- package/dist/zk/browser-prover.d.ts.map +1 -0
- package/dist/zk/browser-prover.js +260 -0
- package/dist/zk/browser-prover.js.map +1 -0
- package/dist/zk/discovery.d.ts +65 -0
- package/dist/zk/discovery.d.ts.map +1 -0
- package/dist/zk/discovery.js +143 -0
- package/dist/zk/discovery.js.map +1 -0
- package/dist/zk/index.d.ts +14 -0
- package/dist/zk/index.d.ts.map +1 -0
- package/dist/zk/index.js +47 -0
- package/dist/zk/index.js.map +1 -0
- package/dist/zk/ownership_proof.json +1 -0
- package/dist/zk/poseidon.d.ts +31 -0
- package/dist/zk/poseidon.d.ts.map +1 -0
- package/dist/zk/poseidon.js +103 -0
- package/dist/zk/poseidon.js.map +1 -0
- package/dist/zk/prover.d.ts +49 -0
- package/dist/zk/prover.d.ts.map +1 -0
- package/dist/zk/prover.js +120 -0
- package/dist/zk/prover.js.map +1 -0
- package/dist/zk/secrets.d.ts +62 -0
- package/dist/zk/secrets.d.ts.map +1 -0
- package/dist/zk/secrets.js +98 -0
- package/dist/zk/secrets.js.map +1 -0
- 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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"}
|
package/dist/types.d.ts
ADDED
|
@@ -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 @@
|
|
|
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"}
|