@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
package/dist/idl.json ADDED
@@ -0,0 +1,1347 @@
1
+ {
2
+ "address": "3yMjzAeXXc5FZRUrJ1YqP4YMPhPd5bBxHQ6npNSPCUwB",
3
+ "metadata": {
4
+ "name": "cloaked",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0",
7
+ "description": "Cloaked - Trustless spending accounts for AI agents on Solana"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "close_cloaked_agent",
12
+ "docs": [
13
+ "Close agent and return all funds to owner (standard mode)"
14
+ ],
15
+ "discriminator": [
16
+ 2,
17
+ 187,
18
+ 201,
19
+ 28,
20
+ 97,
21
+ 107,
22
+ 223,
23
+ 113
24
+ ],
25
+ "accounts": [
26
+ {
27
+ "name": "cloaked_agent_state",
28
+ "writable": true
29
+ },
30
+ {
31
+ "name": "vault",
32
+ "writable": true,
33
+ "pda": {
34
+ "seeds": [
35
+ {
36
+ "kind": "const",
37
+ "value": [
38
+ 118,
39
+ 97,
40
+ 117,
41
+ 108,
42
+ 116
43
+ ]
44
+ },
45
+ {
46
+ "kind": "account",
47
+ "path": "cloaked_agent_state"
48
+ }
49
+ ]
50
+ }
51
+ },
52
+ {
53
+ "name": "owner",
54
+ "docs": [
55
+ "Owner signing the transaction (verified in instruction)"
56
+ ],
57
+ "writable": true,
58
+ "signer": true
59
+ },
60
+ {
61
+ "name": "system_program",
62
+ "address": "11111111111111111111111111111111"
63
+ }
64
+ ],
65
+ "args": []
66
+ },
67
+ {
68
+ "name": "close_cloaked_agent_private",
69
+ "docs": [
70
+ "Close agent with ZK proof (private mode)"
71
+ ],
72
+ "discriminator": [
73
+ 228,
74
+ 20,
75
+ 18,
76
+ 140,
77
+ 171,
78
+ 179,
79
+ 63,
80
+ 229
81
+ ],
82
+ "accounts": [
83
+ {
84
+ "name": "cloaked_agent_state",
85
+ "writable": true
86
+ },
87
+ {
88
+ "name": "vault",
89
+ "writable": true,
90
+ "pda": {
91
+ "seeds": [
92
+ {
93
+ "kind": "const",
94
+ "value": [
95
+ 118,
96
+ 97,
97
+ 117,
98
+ 108,
99
+ 116
100
+ ]
101
+ },
102
+ {
103
+ "kind": "account",
104
+ "path": "cloaked_agent_state"
105
+ }
106
+ ]
107
+ }
108
+ },
109
+ {
110
+ "name": "destination",
111
+ "docs": [
112
+ "Destination for remaining vault funds"
113
+ ],
114
+ "writable": true
115
+ },
116
+ {
117
+ "name": "fee_recipient",
118
+ "docs": [
119
+ "Fee recipient (relayer) - gets operation fee + account rent on close"
120
+ ],
121
+ "writable": true
122
+ },
123
+ {
124
+ "name": "zk_verifier",
125
+ "docs": [
126
+ "ZK Verifier program for proof validation"
127
+ ]
128
+ },
129
+ {
130
+ "name": "system_program",
131
+ "address": "11111111111111111111111111111111"
132
+ }
133
+ ],
134
+ "args": [
135
+ {
136
+ "name": "proof_bytes",
137
+ "type": "bytes"
138
+ },
139
+ {
140
+ "name": "witness_bytes",
141
+ "type": "bytes"
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ "name": "create_cloaked_agent",
147
+ "docs": [
148
+ "Create a new Cloaked Agent with constraints (standard mode)"
149
+ ],
150
+ "discriminator": [
151
+ 117,
152
+ 255,
153
+ 98,
154
+ 150,
155
+ 198,
156
+ 101,
157
+ 4,
158
+ 18
159
+ ],
160
+ "accounts": [
161
+ {
162
+ "name": "cloaked_agent_state",
163
+ "writable": true,
164
+ "pda": {
165
+ "seeds": [
166
+ {
167
+ "kind": "const",
168
+ "value": [
169
+ 99,
170
+ 108,
171
+ 111,
172
+ 97,
173
+ 107,
174
+ 101,
175
+ 100,
176
+ 95,
177
+ 97,
178
+ 103,
179
+ 101,
180
+ 110,
181
+ 116,
182
+ 95,
183
+ 115,
184
+ 116,
185
+ 97,
186
+ 116,
187
+ 101
188
+ ]
189
+ },
190
+ {
191
+ "kind": "account",
192
+ "path": "delegate"
193
+ }
194
+ ]
195
+ }
196
+ },
197
+ {
198
+ "name": "vault",
199
+ "docs": [
200
+ "Vault PDA to hold funds"
201
+ ],
202
+ "pda": {
203
+ "seeds": [
204
+ {
205
+ "kind": "const",
206
+ "value": [
207
+ 118,
208
+ 97,
209
+ 117,
210
+ 108,
211
+ 116
212
+ ]
213
+ },
214
+ {
215
+ "kind": "account",
216
+ "path": "cloaked_agent_state"
217
+ }
218
+ ]
219
+ }
220
+ },
221
+ {
222
+ "name": "owner",
223
+ "docs": [
224
+ "Owner of the agent (human wallet)"
225
+ ],
226
+ "signer": true
227
+ },
228
+ {
229
+ "name": "delegate",
230
+ "docs": [
231
+ "Delegate key (agent's public key)"
232
+ ]
233
+ },
234
+ {
235
+ "name": "payer",
236
+ "docs": [
237
+ "Pays for account creation"
238
+ ],
239
+ "writable": true,
240
+ "signer": true
241
+ },
242
+ {
243
+ "name": "system_program",
244
+ "address": "11111111111111111111111111111111"
245
+ }
246
+ ],
247
+ "args": [
248
+ {
249
+ "name": "max_per_tx",
250
+ "type": "u64"
251
+ },
252
+ {
253
+ "name": "daily_limit",
254
+ "type": "u64"
255
+ },
256
+ {
257
+ "name": "total_limit",
258
+ "type": "u64"
259
+ },
260
+ {
261
+ "name": "expires_at",
262
+ "type": "i64"
263
+ }
264
+ ]
265
+ },
266
+ {
267
+ "name": "create_cloaked_agent_private",
268
+ "docs": [
269
+ "Create a new Cloaked Agent in private mode (no wallet linked on-chain)"
270
+ ],
271
+ "discriminator": [
272
+ 16,
273
+ 61,
274
+ 195,
275
+ 124,
276
+ 202,
277
+ 121,
278
+ 44,
279
+ 232
280
+ ],
281
+ "accounts": [
282
+ {
283
+ "name": "cloaked_agent_state",
284
+ "writable": true,
285
+ "pda": {
286
+ "seeds": [
287
+ {
288
+ "kind": "const",
289
+ "value": [
290
+ 99,
291
+ 108,
292
+ 111,
293
+ 97,
294
+ 107,
295
+ 101,
296
+ 100,
297
+ 95,
298
+ 97,
299
+ 103,
300
+ 101,
301
+ 110,
302
+ 116,
303
+ 95,
304
+ 115,
305
+ 116,
306
+ 97,
307
+ 116,
308
+ 101
309
+ ]
310
+ },
311
+ {
312
+ "kind": "account",
313
+ "path": "delegate"
314
+ }
315
+ ]
316
+ }
317
+ },
318
+ {
319
+ "name": "vault",
320
+ "docs": [
321
+ "Vault PDA to hold funds"
322
+ ],
323
+ "pda": {
324
+ "seeds": [
325
+ {
326
+ "kind": "const",
327
+ "value": [
328
+ 118,
329
+ 97,
330
+ 117,
331
+ 108,
332
+ 116
333
+ ]
334
+ },
335
+ {
336
+ "kind": "account",
337
+ "path": "cloaked_agent_state"
338
+ }
339
+ ]
340
+ }
341
+ },
342
+ {
343
+ "name": "delegate",
344
+ "docs": [
345
+ "Delegate key (agent's public key)"
346
+ ]
347
+ },
348
+ {
349
+ "name": "payer",
350
+ "docs": [
351
+ "Pays for account creation"
352
+ ],
353
+ "writable": true,
354
+ "signer": true
355
+ },
356
+ {
357
+ "name": "system_program",
358
+ "address": "11111111111111111111111111111111"
359
+ }
360
+ ],
361
+ "args": [
362
+ {
363
+ "name": "owner_commitment",
364
+ "type": {
365
+ "array": [
366
+ "u8",
367
+ 32
368
+ ]
369
+ }
370
+ },
371
+ {
372
+ "name": "max_per_tx",
373
+ "type": "u64"
374
+ },
375
+ {
376
+ "name": "daily_limit",
377
+ "type": "u64"
378
+ },
379
+ {
380
+ "name": "total_limit",
381
+ "type": "u64"
382
+ },
383
+ {
384
+ "name": "expires_at",
385
+ "type": "i64"
386
+ }
387
+ ]
388
+ },
389
+ {
390
+ "name": "deposit",
391
+ "docs": [
392
+ "Deposit SOL to agent vault (anyone can call)"
393
+ ],
394
+ "discriminator": [
395
+ 242,
396
+ 35,
397
+ 198,
398
+ 137,
399
+ 82,
400
+ 225,
401
+ 242,
402
+ 182
403
+ ],
404
+ "accounts": [
405
+ {
406
+ "name": "cloaked_agent_state",
407
+ "docs": [
408
+ "Agent state (to derive vault PDA)"
409
+ ]
410
+ },
411
+ {
412
+ "name": "vault",
413
+ "docs": [
414
+ "Vault PDA to receive funds"
415
+ ],
416
+ "writable": true,
417
+ "pda": {
418
+ "seeds": [
419
+ {
420
+ "kind": "const",
421
+ "value": [
422
+ 118,
423
+ 97,
424
+ 117,
425
+ 108,
426
+ 116
427
+ ]
428
+ },
429
+ {
430
+ "kind": "account",
431
+ "path": "cloaked_agent_state"
432
+ }
433
+ ]
434
+ }
435
+ },
436
+ {
437
+ "name": "depositor",
438
+ "docs": [
439
+ "Source of funds"
440
+ ],
441
+ "writable": true,
442
+ "signer": true
443
+ },
444
+ {
445
+ "name": "system_program",
446
+ "address": "11111111111111111111111111111111"
447
+ }
448
+ ],
449
+ "args": [
450
+ {
451
+ "name": "amount",
452
+ "type": "u64"
453
+ }
454
+ ]
455
+ },
456
+ {
457
+ "name": "freeze",
458
+ "docs": [
459
+ "Freeze agent (owner only, standard mode) - emergency stop"
460
+ ],
461
+ "discriminator": [
462
+ 255,
463
+ 91,
464
+ 207,
465
+ 84,
466
+ 251,
467
+ 194,
468
+ 254,
469
+ 63
470
+ ],
471
+ "accounts": [
472
+ {
473
+ "name": "cloaked_agent_state",
474
+ "writable": true
475
+ },
476
+ {
477
+ "name": "owner",
478
+ "docs": [
479
+ "Owner signing the transaction (verified in instruction)"
480
+ ],
481
+ "signer": true
482
+ }
483
+ ],
484
+ "args": []
485
+ },
486
+ {
487
+ "name": "freeze_private",
488
+ "docs": [
489
+ "Freeze agent with ZK proof (private mode)"
490
+ ],
491
+ "discriminator": [
492
+ 12,
493
+ 97,
494
+ 232,
495
+ 227,
496
+ 67,
497
+ 11,
498
+ 216,
499
+ 76
500
+ ],
501
+ "accounts": [
502
+ {
503
+ "name": "cloaked_agent_state",
504
+ "writable": true
505
+ },
506
+ {
507
+ "name": "vault",
508
+ "writable": true,
509
+ "pda": {
510
+ "seeds": [
511
+ {
512
+ "kind": "const",
513
+ "value": [
514
+ 118,
515
+ 97,
516
+ 117,
517
+ 108,
518
+ 116
519
+ ]
520
+ },
521
+ {
522
+ "kind": "account",
523
+ "path": "cloaked_agent_state"
524
+ }
525
+ ]
526
+ }
527
+ },
528
+ {
529
+ "name": "fee_recipient",
530
+ "writable": true
531
+ },
532
+ {
533
+ "name": "zk_verifier",
534
+ "docs": [
535
+ "ZK Verifier program for proof validation"
536
+ ]
537
+ },
538
+ {
539
+ "name": "system_program",
540
+ "address": "11111111111111111111111111111111"
541
+ }
542
+ ],
543
+ "args": [
544
+ {
545
+ "name": "proof_bytes",
546
+ "type": "bytes"
547
+ },
548
+ {
549
+ "name": "witness_bytes",
550
+ "type": "bytes"
551
+ }
552
+ ]
553
+ },
554
+ {
555
+ "name": "spend",
556
+ "docs": [
557
+ "Spend from vault to destination (delegate only, enforces constraints)",
558
+ "Fee payer fronts tx fee and is reimbursed from vault"
559
+ ],
560
+ "discriminator": [
561
+ 242,
562
+ 205,
563
+ 255,
564
+ 87,
565
+ 101,
566
+ 217,
567
+ 245,
568
+ 57
569
+ ],
570
+ "accounts": [
571
+ {
572
+ "name": "cloaked_agent_state",
573
+ "writable": true,
574
+ "pda": {
575
+ "seeds": [
576
+ {
577
+ "kind": "const",
578
+ "value": [
579
+ 99,
580
+ 108,
581
+ 111,
582
+ 97,
583
+ 107,
584
+ 101,
585
+ 100,
586
+ 95,
587
+ 97,
588
+ 103,
589
+ 101,
590
+ 110,
591
+ 116,
592
+ 95,
593
+ 115,
594
+ 116,
595
+ 97,
596
+ 116,
597
+ 101
598
+ ]
599
+ },
600
+ {
601
+ "kind": "account",
602
+ "path": "delegate"
603
+ }
604
+ ]
605
+ }
606
+ },
607
+ {
608
+ "name": "vault",
609
+ "writable": true,
610
+ "pda": {
611
+ "seeds": [
612
+ {
613
+ "kind": "const",
614
+ "value": [
615
+ 118,
616
+ 97,
617
+ 117,
618
+ 108,
619
+ 116
620
+ ]
621
+ },
622
+ {
623
+ "kind": "account",
624
+ "path": "cloaked_agent_state"
625
+ }
626
+ ]
627
+ }
628
+ },
629
+ {
630
+ "name": "delegate",
631
+ "docs": [
632
+ "Must match cloaked_agent_state.delegate"
633
+ ],
634
+ "signer": true,
635
+ "relations": [
636
+ "cloaked_agent_state"
637
+ ]
638
+ },
639
+ {
640
+ "name": "fee_payer",
641
+ "docs": [
642
+ "Fee payer - fronts tx fee, gets reimbursed from vault"
643
+ ],
644
+ "writable": true,
645
+ "signer": true
646
+ },
647
+ {
648
+ "name": "destination",
649
+ "docs": [
650
+ "Destination for funds"
651
+ ],
652
+ "writable": true
653
+ },
654
+ {
655
+ "name": "system_program",
656
+ "address": "11111111111111111111111111111111"
657
+ }
658
+ ],
659
+ "args": [
660
+ {
661
+ "name": "amount",
662
+ "type": "u64"
663
+ }
664
+ ]
665
+ },
666
+ {
667
+ "name": "unfreeze",
668
+ "docs": [
669
+ "Unfreeze agent (owner only, standard mode)"
670
+ ],
671
+ "discriminator": [
672
+ 133,
673
+ 160,
674
+ 68,
675
+ 253,
676
+ 80,
677
+ 232,
678
+ 218,
679
+ 247
680
+ ],
681
+ "accounts": [
682
+ {
683
+ "name": "cloaked_agent_state",
684
+ "writable": true
685
+ },
686
+ {
687
+ "name": "owner",
688
+ "docs": [
689
+ "Owner signing the transaction (verified in instruction)"
690
+ ],
691
+ "signer": true
692
+ }
693
+ ],
694
+ "args": []
695
+ },
696
+ {
697
+ "name": "unfreeze_private",
698
+ "docs": [
699
+ "Unfreeze agent with ZK proof (private mode)"
700
+ ],
701
+ "discriminator": [
702
+ 92,
703
+ 107,
704
+ 130,
705
+ 96,
706
+ 204,
707
+ 220,
708
+ 77,
709
+ 179
710
+ ],
711
+ "accounts": [
712
+ {
713
+ "name": "cloaked_agent_state",
714
+ "writable": true
715
+ },
716
+ {
717
+ "name": "vault",
718
+ "writable": true,
719
+ "pda": {
720
+ "seeds": [
721
+ {
722
+ "kind": "const",
723
+ "value": [
724
+ 118,
725
+ 97,
726
+ 117,
727
+ 108,
728
+ 116
729
+ ]
730
+ },
731
+ {
732
+ "kind": "account",
733
+ "path": "cloaked_agent_state"
734
+ }
735
+ ]
736
+ }
737
+ },
738
+ {
739
+ "name": "fee_recipient",
740
+ "writable": true
741
+ },
742
+ {
743
+ "name": "zk_verifier",
744
+ "docs": [
745
+ "ZK Verifier program for proof validation"
746
+ ]
747
+ },
748
+ {
749
+ "name": "system_program",
750
+ "address": "11111111111111111111111111111111"
751
+ }
752
+ ],
753
+ "args": [
754
+ {
755
+ "name": "proof_bytes",
756
+ "type": "bytes"
757
+ },
758
+ {
759
+ "name": "witness_bytes",
760
+ "type": "bytes"
761
+ }
762
+ ]
763
+ },
764
+ {
765
+ "name": "update_constraints",
766
+ "docs": [
767
+ "Update agent constraints (owner only, standard mode)"
768
+ ],
769
+ "discriminator": [
770
+ 211,
771
+ 134,
772
+ 135,
773
+ 62,
774
+ 4,
775
+ 255,
776
+ 24,
777
+ 52
778
+ ],
779
+ "accounts": [
780
+ {
781
+ "name": "cloaked_agent_state",
782
+ "writable": true
783
+ },
784
+ {
785
+ "name": "owner",
786
+ "docs": [
787
+ "Owner signing the transaction (verified in instruction)"
788
+ ],
789
+ "signer": true
790
+ }
791
+ ],
792
+ "args": [
793
+ {
794
+ "name": "max_per_tx",
795
+ "type": {
796
+ "option": "u64"
797
+ }
798
+ },
799
+ {
800
+ "name": "daily_limit",
801
+ "type": {
802
+ "option": "u64"
803
+ }
804
+ },
805
+ {
806
+ "name": "total_limit",
807
+ "type": {
808
+ "option": "u64"
809
+ }
810
+ },
811
+ {
812
+ "name": "expires_at",
813
+ "type": {
814
+ "option": "i64"
815
+ }
816
+ }
817
+ ]
818
+ },
819
+ {
820
+ "name": "update_constraints_private",
821
+ "docs": [
822
+ "Update agent constraints with ZK proof (private mode)"
823
+ ],
824
+ "discriminator": [
825
+ 54,
826
+ 63,
827
+ 7,
828
+ 215,
829
+ 136,
830
+ 239,
831
+ 74,
832
+ 204
833
+ ],
834
+ "accounts": [
835
+ {
836
+ "name": "cloaked_agent_state",
837
+ "writable": true
838
+ },
839
+ {
840
+ "name": "vault",
841
+ "writable": true,
842
+ "pda": {
843
+ "seeds": [
844
+ {
845
+ "kind": "const",
846
+ "value": [
847
+ 118,
848
+ 97,
849
+ 117,
850
+ 108,
851
+ 116
852
+ ]
853
+ },
854
+ {
855
+ "kind": "account",
856
+ "path": "cloaked_agent_state"
857
+ }
858
+ ]
859
+ }
860
+ },
861
+ {
862
+ "name": "fee_recipient",
863
+ "writable": true
864
+ },
865
+ {
866
+ "name": "zk_verifier",
867
+ "docs": [
868
+ "ZK Verifier program for proof validation"
869
+ ]
870
+ },
871
+ {
872
+ "name": "system_program",
873
+ "address": "11111111111111111111111111111111"
874
+ }
875
+ ],
876
+ "args": [
877
+ {
878
+ "name": "proof_bytes",
879
+ "type": "bytes"
880
+ },
881
+ {
882
+ "name": "witness_bytes",
883
+ "type": "bytes"
884
+ },
885
+ {
886
+ "name": "max_per_tx",
887
+ "type": {
888
+ "option": "u64"
889
+ }
890
+ },
891
+ {
892
+ "name": "daily_limit",
893
+ "type": {
894
+ "option": "u64"
895
+ }
896
+ },
897
+ {
898
+ "name": "total_limit",
899
+ "type": {
900
+ "option": "u64"
901
+ }
902
+ },
903
+ {
904
+ "name": "expires_at",
905
+ "type": {
906
+ "option": "i64"
907
+ }
908
+ }
909
+ ]
910
+ },
911
+ {
912
+ "name": "withdraw",
913
+ "docs": [
914
+ "Withdraw from vault to any destination (owner only, standard mode, no constraints)",
915
+ "Works even if agent is frozen or expired - owner has full control"
916
+ ],
917
+ "discriminator": [
918
+ 183,
919
+ 18,
920
+ 70,
921
+ 156,
922
+ 148,
923
+ 109,
924
+ 161,
925
+ 34
926
+ ],
927
+ "accounts": [
928
+ {
929
+ "name": "cloaked_agent_state",
930
+ "pda": {
931
+ "seeds": [
932
+ {
933
+ "kind": "const",
934
+ "value": [
935
+ 99,
936
+ 108,
937
+ 111,
938
+ 97,
939
+ 107,
940
+ 101,
941
+ 100,
942
+ 95,
943
+ 97,
944
+ 103,
945
+ 101,
946
+ 110,
947
+ 116,
948
+ 95,
949
+ 115,
950
+ 116,
951
+ 97,
952
+ 116,
953
+ 101
954
+ ]
955
+ },
956
+ {
957
+ "kind": "account",
958
+ "path": "cloaked_agent_state.delegate",
959
+ "account": "CloakedAgentState"
960
+ }
961
+ ]
962
+ }
963
+ },
964
+ {
965
+ "name": "vault",
966
+ "writable": true,
967
+ "pda": {
968
+ "seeds": [
969
+ {
970
+ "kind": "const",
971
+ "value": [
972
+ 118,
973
+ 97,
974
+ 117,
975
+ 108,
976
+ 116
977
+ ]
978
+ },
979
+ {
980
+ "kind": "account",
981
+ "path": "cloaked_agent_state"
982
+ }
983
+ ]
984
+ }
985
+ },
986
+ {
987
+ "name": "owner",
988
+ "docs": [
989
+ "Owner signing the transaction (verified in instruction)"
990
+ ],
991
+ "signer": true
992
+ },
993
+ {
994
+ "name": "destination",
995
+ "docs": [
996
+ "Destination for funds"
997
+ ],
998
+ "writable": true
999
+ },
1000
+ {
1001
+ "name": "system_program",
1002
+ "address": "11111111111111111111111111111111"
1003
+ }
1004
+ ],
1005
+ "args": [
1006
+ {
1007
+ "name": "amount",
1008
+ "type": "u64"
1009
+ }
1010
+ ]
1011
+ },
1012
+ {
1013
+ "name": "withdraw_private",
1014
+ "docs": [
1015
+ "Withdraw with ZK proof (private mode, bypasses constraints)"
1016
+ ],
1017
+ "discriminator": [
1018
+ 190,
1019
+ 147,
1020
+ 132,
1021
+ 10,
1022
+ 185,
1023
+ 24,
1024
+ 63,
1025
+ 213
1026
+ ],
1027
+ "accounts": [
1028
+ {
1029
+ "name": "cloaked_agent_state",
1030
+ "pda": {
1031
+ "seeds": [
1032
+ {
1033
+ "kind": "const",
1034
+ "value": [
1035
+ 99,
1036
+ 108,
1037
+ 111,
1038
+ 97,
1039
+ 107,
1040
+ 101,
1041
+ 100,
1042
+ 95,
1043
+ 97,
1044
+ 103,
1045
+ 101,
1046
+ 110,
1047
+ 116,
1048
+ 95,
1049
+ 115,
1050
+ 116,
1051
+ 97,
1052
+ 116,
1053
+ 101
1054
+ ]
1055
+ },
1056
+ {
1057
+ "kind": "account",
1058
+ "path": "cloaked_agent_state.delegate",
1059
+ "account": "CloakedAgentState"
1060
+ }
1061
+ ]
1062
+ }
1063
+ },
1064
+ {
1065
+ "name": "vault",
1066
+ "writable": true,
1067
+ "pda": {
1068
+ "seeds": [
1069
+ {
1070
+ "kind": "const",
1071
+ "value": [
1072
+ 118,
1073
+ 97,
1074
+ 117,
1075
+ 108,
1076
+ 116
1077
+ ]
1078
+ },
1079
+ {
1080
+ "kind": "account",
1081
+ "path": "cloaked_agent_state"
1082
+ }
1083
+ ]
1084
+ }
1085
+ },
1086
+ {
1087
+ "name": "destination",
1088
+ "docs": [
1089
+ "Destination for funds"
1090
+ ],
1091
+ "writable": true
1092
+ },
1093
+ {
1094
+ "name": "fee_recipient",
1095
+ "writable": true
1096
+ },
1097
+ {
1098
+ "name": "zk_verifier",
1099
+ "docs": [
1100
+ "ZK Verifier program for proof validation"
1101
+ ]
1102
+ },
1103
+ {
1104
+ "name": "system_program",
1105
+ "address": "11111111111111111111111111111111"
1106
+ }
1107
+ ],
1108
+ "args": [
1109
+ {
1110
+ "name": "proof_bytes",
1111
+ "type": "bytes"
1112
+ },
1113
+ {
1114
+ "name": "witness_bytes",
1115
+ "type": "bytes"
1116
+ },
1117
+ {
1118
+ "name": "amount",
1119
+ "type": "u64"
1120
+ }
1121
+ ]
1122
+ }
1123
+ ],
1124
+ "accounts": [
1125
+ {
1126
+ "name": "CloakedAgentState",
1127
+ "discriminator": [
1128
+ 27,
1129
+ 31,
1130
+ 167,
1131
+ 250,
1132
+ 251,
1133
+ 17,
1134
+ 219,
1135
+ 189
1136
+ ]
1137
+ }
1138
+ ],
1139
+ "errors": [
1140
+ {
1141
+ "code": 6000,
1142
+ "name": "InsufficientBalance",
1143
+ "msg": "Insufficient balance in agent"
1144
+ },
1145
+ {
1146
+ "code": 6001,
1147
+ "name": "InvalidFee",
1148
+ "msg": "Fee exceeds amount"
1149
+ },
1150
+ {
1151
+ "code": 6002,
1152
+ "name": "Overflow",
1153
+ "msg": "Arithmetic overflow"
1154
+ },
1155
+ {
1156
+ "code": 6003,
1157
+ "name": "AgentFrozen",
1158
+ "msg": "Agent is frozen"
1159
+ },
1160
+ {
1161
+ "code": 6004,
1162
+ "name": "AgentExpired",
1163
+ "msg": "Agent has expired"
1164
+ },
1165
+ {
1166
+ "code": 6005,
1167
+ "name": "ExceedsPerTxLimit",
1168
+ "msg": "Amount exceeds per-transaction limit"
1169
+ },
1170
+ {
1171
+ "code": 6006,
1172
+ "name": "ExceedsDailyLimit",
1173
+ "msg": "Amount exceeds daily limit"
1174
+ },
1175
+ {
1176
+ "code": 6007,
1177
+ "name": "ExceedsTotalLimit",
1178
+ "msg": "Amount exceeds total limit"
1179
+ },
1180
+ {
1181
+ "code": 6008,
1182
+ "name": "NotOwner",
1183
+ "msg": "Unauthorized: not owner"
1184
+ },
1185
+ {
1186
+ "code": 6009,
1187
+ "name": "NotDelegate",
1188
+ "msg": "Unauthorized: not delegate"
1189
+ },
1190
+ {
1191
+ "code": 6010,
1192
+ "name": "NameTooLong",
1193
+ "msg": "Invalid name: too long"
1194
+ },
1195
+ {
1196
+ "code": 6011,
1197
+ "name": "IsPrivateMode",
1198
+ "msg": "Agent is in private mode - use ZK proof instructions"
1199
+ },
1200
+ {
1201
+ "code": 6012,
1202
+ "name": "NotPrivateMode",
1203
+ "msg": "Agent is not in private mode"
1204
+ },
1205
+ {
1206
+ "code": 6013,
1207
+ "name": "CommitmentMismatch",
1208
+ "msg": "Commitment mismatch in ZK proof"
1209
+ },
1210
+ {
1211
+ "code": 6014,
1212
+ "name": "InvalidProof",
1213
+ "msg": "Invalid ZK proof"
1214
+ },
1215
+ {
1216
+ "code": 6015,
1217
+ "name": "ProofVerificationFailed",
1218
+ "msg": "ZK proof verification failed"
1219
+ },
1220
+ {
1221
+ "code": 6016,
1222
+ "name": "InvalidVerifierProgram",
1223
+ "msg": "Invalid ZK verifier program"
1224
+ },
1225
+ {
1226
+ "code": 6017,
1227
+ "name": "InsufficientBalanceForFee",
1228
+ "msg": "Insufficient balance for operation fee"
1229
+ }
1230
+ ],
1231
+ "types": [
1232
+ {
1233
+ "name": "CloakedAgentState",
1234
+ "docs": [
1235
+ "Cloaked Agent state - stores constraints and spending tracking",
1236
+ "",
1237
+ "Supports two ownership modes:",
1238
+ "- Standard mode: owner = Some(wallet), owner_commitment = [0; 32]",
1239
+ "- Private mode: owner = None, owner_commitment = hash(secret)"
1240
+ ],
1241
+ "type": {
1242
+ "kind": "struct",
1243
+ "fields": [
1244
+ {
1245
+ "name": "owner",
1246
+ "docs": [
1247
+ "Human wallet - full control over agent (None for private mode)"
1248
+ ],
1249
+ "type": {
1250
+ "option": "pubkey"
1251
+ }
1252
+ },
1253
+ {
1254
+ "name": "owner_commitment",
1255
+ "docs": [
1256
+ "Commitment hash for private mode ownership (zeros for standard mode)",
1257
+ "In private mode: commitment = poseidon(agent_secret)"
1258
+ ],
1259
+ "type": {
1260
+ "array": [
1261
+ "u8",
1262
+ 32
1263
+ ]
1264
+ }
1265
+ },
1266
+ {
1267
+ "name": "delegate",
1268
+ "docs": [
1269
+ "Agent key - can spend within limits"
1270
+ ],
1271
+ "type": "pubkey"
1272
+ },
1273
+ {
1274
+ "name": "max_per_tx",
1275
+ "docs": [
1276
+ "Max lamports per transaction (0 = unlimited)"
1277
+ ],
1278
+ "type": "u64"
1279
+ },
1280
+ {
1281
+ "name": "daily_limit",
1282
+ "docs": [
1283
+ "Max lamports per day (0 = unlimited)"
1284
+ ],
1285
+ "type": "u64"
1286
+ },
1287
+ {
1288
+ "name": "total_limit",
1289
+ "docs": [
1290
+ "Max lifetime lamports (0 = unlimited)"
1291
+ ],
1292
+ "type": "u64"
1293
+ },
1294
+ {
1295
+ "name": "expires_at",
1296
+ "docs": [
1297
+ "Unix timestamp expiration (0 = never)"
1298
+ ],
1299
+ "type": "i64"
1300
+ },
1301
+ {
1302
+ "name": "frozen",
1303
+ "docs": [
1304
+ "Emergency stop"
1305
+ ],
1306
+ "type": "bool"
1307
+ },
1308
+ {
1309
+ "name": "total_spent",
1310
+ "docs": [
1311
+ "Lifetime spending"
1312
+ ],
1313
+ "type": "u64"
1314
+ },
1315
+ {
1316
+ "name": "daily_spent",
1317
+ "docs": [
1318
+ "Today's spending"
1319
+ ],
1320
+ "type": "u64"
1321
+ },
1322
+ {
1323
+ "name": "last_day",
1324
+ "docs": [
1325
+ "Day tracker for reset (unix_timestamp / 86400)"
1326
+ ],
1327
+ "type": "i64"
1328
+ },
1329
+ {
1330
+ "name": "bump",
1331
+ "docs": [
1332
+ "PDA bump"
1333
+ ],
1334
+ "type": "u8"
1335
+ },
1336
+ {
1337
+ "name": "created_at",
1338
+ "docs": [
1339
+ "Creation timestamp"
1340
+ ],
1341
+ "type": "i64"
1342
+ }
1343
+ ]
1344
+ }
1345
+ }
1346
+ ]
1347
+ }