@agent-shield/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 (41) hide show
  1. package/dist/accounts.d.ts +15 -0
  2. package/dist/accounts.d.ts.map +1 -0
  3. package/dist/accounts.js +59 -0
  4. package/dist/accounts.js.map +1 -0
  5. package/dist/client.d.ts +85 -0
  6. package/dist/client.d.ts.map +1 -0
  7. package/dist/client.js +233 -0
  8. package/dist/client.js.map +1 -0
  9. package/dist/composer.d.ts +21 -0
  10. package/dist/composer.d.ts.map +1 -0
  11. package/dist/composer.js +51 -0
  12. package/dist/composer.js.map +1 -0
  13. package/dist/idl-json.d.ts +1299 -0
  14. package/dist/idl-json.d.ts.map +1 -0
  15. package/dist/idl-json.js +2486 -0
  16. package/dist/idl-json.js.map +1 -0
  17. package/dist/idl.d.ts +2475 -0
  18. package/dist/idl.d.ts.map +1 -0
  19. package/dist/idl.js +3 -0
  20. package/dist/idl.js.map +1 -0
  21. package/dist/index.d.ts +9 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +63 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/instructions.d.ts +1130 -0
  26. package/dist/instructions.d.ts.map +1 -0
  27. package/dist/instructions.js +127 -0
  28. package/dist/instructions.js.map +1 -0
  29. package/dist/integrations/flash-trade.d.ts +130 -0
  30. package/dist/integrations/flash-trade.d.ts.map +1 -0
  31. package/dist/integrations/flash-trade.js +170 -0
  32. package/dist/integrations/flash-trade.js.map +1 -0
  33. package/dist/integrations/jupiter.d.ts +131 -0
  34. package/dist/integrations/jupiter.d.ts.map +1 -0
  35. package/dist/integrations/jupiter.js +178 -0
  36. package/dist/integrations/jupiter.js.map +1 -0
  37. package/dist/types.d.ts +129 -0
  38. package/dist/types.d.ts.map +1 -0
  39. package/dist/types.js +6 -0
  40. package/dist/types.js.map +1 -0
  41. package/package.json +36 -0
@@ -0,0 +1,1299 @@
1
+ export declare const IDL: {
2
+ readonly address: "4ZeVCqnjUgUtFrHHPG7jELUxvJeoVGHhGNgPrhBPwrHL";
3
+ readonly metadata: {
4
+ readonly name: "agent_shield";
5
+ readonly version: "0.1.0";
6
+ readonly spec: "0.1.0";
7
+ readonly description: "AI Agent Financial Middleware for Solana - Permission controls, spending limits, and audit infrastructure for autonomous agents";
8
+ };
9
+ readonly instructions: readonly [{
10
+ readonly name: "close_vault";
11
+ readonly docs: readonly ["Close the vault entirely. Withdraws all remaining funds and closes all PDAs.", "Reclaims rent. Vault must have no open positions. Only the owner can call this."];
12
+ readonly discriminator: readonly [141, 103, 17, 126, 72, 75, 29, 29];
13
+ readonly accounts: readonly [{
14
+ readonly name: "owner";
15
+ readonly writable: true;
16
+ readonly signer: true;
17
+ readonly relations: readonly ["vault"];
18
+ }, {
19
+ readonly name: "vault";
20
+ readonly writable: true;
21
+ readonly pda: {
22
+ readonly seeds: readonly [{
23
+ readonly kind: "const";
24
+ readonly value: readonly [118, 97, 117, 108, 116];
25
+ }, {
26
+ readonly kind: "account";
27
+ readonly path: "owner";
28
+ }, {
29
+ readonly kind: "account";
30
+ readonly path: "vault.vault_id";
31
+ readonly account: "AgentVault";
32
+ }];
33
+ };
34
+ readonly relations: readonly ["policy", "tracker"];
35
+ }, {
36
+ readonly name: "policy";
37
+ readonly writable: true;
38
+ readonly pda: {
39
+ readonly seeds: readonly [{
40
+ readonly kind: "const";
41
+ readonly value: readonly [112, 111, 108, 105, 99, 121];
42
+ }, {
43
+ readonly kind: "account";
44
+ readonly path: "vault";
45
+ }];
46
+ };
47
+ }, {
48
+ readonly name: "tracker";
49
+ readonly writable: true;
50
+ readonly pda: {
51
+ readonly seeds: readonly [{
52
+ readonly kind: "const";
53
+ readonly value: readonly [116, 114, 97, 99, 107, 101, 114];
54
+ }, {
55
+ readonly kind: "account";
56
+ readonly path: "vault";
57
+ }];
58
+ };
59
+ }, {
60
+ readonly name: "system_program";
61
+ readonly address: "11111111111111111111111111111111";
62
+ }];
63
+ readonly args: readonly [];
64
+ }, {
65
+ readonly name: "deposit_funds";
66
+ readonly docs: readonly ["Deposit SPL tokens into the vault's PDA-controlled token account.", "Only the owner can call this."];
67
+ readonly discriminator: readonly [202, 39, 52, 211, 53, 20, 250, 88];
68
+ readonly accounts: readonly [{
69
+ readonly name: "owner";
70
+ readonly writable: true;
71
+ readonly signer: true;
72
+ readonly relations: readonly ["vault"];
73
+ }, {
74
+ readonly name: "vault";
75
+ readonly pda: {
76
+ readonly seeds: readonly [{
77
+ readonly kind: "const";
78
+ readonly value: readonly [118, 97, 117, 108, 116];
79
+ }, {
80
+ readonly kind: "account";
81
+ readonly path: "owner";
82
+ }, {
83
+ readonly kind: "account";
84
+ readonly path: "vault.vault_id";
85
+ readonly account: "AgentVault";
86
+ }];
87
+ };
88
+ }, {
89
+ readonly name: "mint";
90
+ }, {
91
+ readonly name: "owner_token_account";
92
+ readonly docs: readonly ["Owner's token account to transfer from"];
93
+ readonly writable: true;
94
+ readonly pda: {
95
+ readonly seeds: readonly [{
96
+ readonly kind: "account";
97
+ readonly path: "owner";
98
+ }, {
99
+ readonly kind: "const";
100
+ readonly value: readonly [6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169];
101
+ }, {
102
+ readonly kind: "account";
103
+ readonly path: "mint";
104
+ }];
105
+ readonly program: {
106
+ readonly kind: "const";
107
+ readonly value: readonly [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
108
+ };
109
+ };
110
+ }, {
111
+ readonly name: "vault_token_account";
112
+ readonly docs: readonly ["Vault's PDA-controlled token account"];
113
+ readonly writable: true;
114
+ readonly pda: {
115
+ readonly seeds: readonly [{
116
+ readonly kind: "account";
117
+ readonly path: "vault";
118
+ }, {
119
+ readonly kind: "const";
120
+ readonly value: readonly [6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169];
121
+ }, {
122
+ readonly kind: "account";
123
+ readonly path: "mint";
124
+ }];
125
+ readonly program: {
126
+ readonly kind: "const";
127
+ readonly value: readonly [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
128
+ };
129
+ };
130
+ }, {
131
+ readonly name: "token_program";
132
+ readonly address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
133
+ }, {
134
+ readonly name: "associated_token_program";
135
+ readonly address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
136
+ }, {
137
+ readonly name: "system_program";
138
+ readonly address: "11111111111111111111111111111111";
139
+ }];
140
+ readonly args: readonly [{
141
+ readonly name: "amount";
142
+ readonly type: "u64";
143
+ }];
144
+ }, {
145
+ readonly name: "finalize_session";
146
+ readonly docs: readonly ["Finalize a session after the DeFi action completes.", "Closes the SessionAuthority PDA and records the transaction in the audit log.", "Can be called by the agent or permissionlessly (for cleanup of expired sessions)."];
147
+ readonly discriminator: readonly [34, 148, 144, 47, 37, 130, 206, 161];
148
+ readonly accounts: readonly [{
149
+ readonly name: "payer";
150
+ readonly writable: true;
151
+ readonly signer: true;
152
+ }, {
153
+ readonly name: "vault";
154
+ readonly writable: true;
155
+ readonly pda: {
156
+ readonly seeds: readonly [{
157
+ readonly kind: "const";
158
+ readonly value: readonly [118, 97, 117, 108, 116];
159
+ }, {
160
+ readonly kind: "account";
161
+ readonly path: "vault.owner";
162
+ readonly account: "AgentVault";
163
+ }, {
164
+ readonly kind: "account";
165
+ readonly path: "vault.vault_id";
166
+ readonly account: "AgentVault";
167
+ }];
168
+ };
169
+ readonly relations: readonly ["policy", "tracker", "session"];
170
+ }, {
171
+ readonly name: "policy";
172
+ readonly pda: {
173
+ readonly seeds: readonly [{
174
+ readonly kind: "const";
175
+ readonly value: readonly [112, 111, 108, 105, 99, 121];
176
+ }, {
177
+ readonly kind: "account";
178
+ readonly path: "vault";
179
+ }];
180
+ };
181
+ }, {
182
+ readonly name: "tracker";
183
+ readonly writable: true;
184
+ readonly pda: {
185
+ readonly seeds: readonly [{
186
+ readonly kind: "const";
187
+ readonly value: readonly [116, 114, 97, 99, 107, 101, 114];
188
+ }, {
189
+ readonly kind: "account";
190
+ readonly path: "vault";
191
+ }];
192
+ };
193
+ }, {
194
+ readonly name: "session";
195
+ readonly writable: true;
196
+ readonly pda: {
197
+ readonly seeds: readonly [{
198
+ readonly kind: "const";
199
+ readonly value: readonly [115, 101, 115, 115, 105, 111, 110];
200
+ }, {
201
+ readonly kind: "account";
202
+ readonly path: "vault";
203
+ }, {
204
+ readonly kind: "account";
205
+ readonly path: "session.agent";
206
+ readonly account: "SessionAuthority";
207
+ }];
208
+ };
209
+ }, {
210
+ readonly name: "vault_token_account";
211
+ readonly docs: readonly ["Vault's PDA token account for the session's token (fee source)"];
212
+ readonly writable: true;
213
+ readonly optional: true;
214
+ }, {
215
+ readonly name: "fee_destination_token_account";
216
+ readonly docs: readonly ["Fee destination token account — must match vault.fee_destination"];
217
+ readonly writable: true;
218
+ readonly optional: true;
219
+ }, {
220
+ readonly name: "token_program";
221
+ readonly address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
222
+ }, {
223
+ readonly name: "system_program";
224
+ readonly address: "11111111111111111111111111111111";
225
+ }];
226
+ readonly args: readonly [{
227
+ readonly name: "success";
228
+ readonly type: "bool";
229
+ }];
230
+ }, {
231
+ readonly name: "initialize_vault";
232
+ readonly docs: readonly ["Initialize a new agent vault with policy configuration.", "Only the owner can call this. Creates vault PDA, policy PDA, and spend tracker PDA."];
233
+ readonly discriminator: readonly [48, 191, 163, 44, 71, 129, 63, 164];
234
+ readonly accounts: readonly [{
235
+ readonly name: "owner";
236
+ readonly writable: true;
237
+ readonly signer: true;
238
+ }, {
239
+ readonly name: "vault";
240
+ readonly writable: true;
241
+ readonly pda: {
242
+ readonly seeds: readonly [{
243
+ readonly kind: "const";
244
+ readonly value: readonly [118, 97, 117, 108, 116];
245
+ }, {
246
+ readonly kind: "account";
247
+ readonly path: "owner";
248
+ }, {
249
+ readonly kind: "arg";
250
+ readonly path: "vault_id";
251
+ }];
252
+ };
253
+ }, {
254
+ readonly name: "policy";
255
+ readonly writable: true;
256
+ readonly pda: {
257
+ readonly seeds: readonly [{
258
+ readonly kind: "const";
259
+ readonly value: readonly [112, 111, 108, 105, 99, 121];
260
+ }, {
261
+ readonly kind: "account";
262
+ readonly path: "vault";
263
+ }];
264
+ };
265
+ }, {
266
+ readonly name: "tracker";
267
+ readonly writable: true;
268
+ readonly pda: {
269
+ readonly seeds: readonly [{
270
+ readonly kind: "const";
271
+ readonly value: readonly [116, 114, 97, 99, 107, 101, 114];
272
+ }, {
273
+ readonly kind: "account";
274
+ readonly path: "vault";
275
+ }];
276
+ };
277
+ }, {
278
+ readonly name: "fee_destination";
279
+ readonly docs: readonly ["The protocol treasury that receives fees"];
280
+ }, {
281
+ readonly name: "system_program";
282
+ readonly address: "11111111111111111111111111111111";
283
+ }];
284
+ readonly args: readonly [{
285
+ readonly name: "vault_id";
286
+ readonly type: "u64";
287
+ }, {
288
+ readonly name: "daily_spending_cap";
289
+ readonly type: "u64";
290
+ }, {
291
+ readonly name: "max_transaction_size";
292
+ readonly type: "u64";
293
+ }, {
294
+ readonly name: "allowed_tokens";
295
+ readonly type: {
296
+ readonly vec: "pubkey";
297
+ };
298
+ }, {
299
+ readonly name: "allowed_protocols";
300
+ readonly type: {
301
+ readonly vec: "pubkey";
302
+ };
303
+ }, {
304
+ readonly name: "max_leverage_bps";
305
+ readonly type: "u16";
306
+ }, {
307
+ readonly name: "max_concurrent_positions";
308
+ readonly type: "u8";
309
+ }];
310
+ }, {
311
+ readonly name: "reactivate_vault";
312
+ readonly docs: readonly ["Reactivate a frozen vault. Optionally rotate the agent key.", "Only the owner can call this."];
313
+ readonly discriminator: readonly [245, 50, 143, 70, 114, 220, 25, 251];
314
+ readonly accounts: readonly [{
315
+ readonly name: "owner";
316
+ readonly signer: true;
317
+ readonly relations: readonly ["vault"];
318
+ }, {
319
+ readonly name: "vault";
320
+ readonly writable: true;
321
+ readonly pda: {
322
+ readonly seeds: readonly [{
323
+ readonly kind: "const";
324
+ readonly value: readonly [118, 97, 117, 108, 116];
325
+ }, {
326
+ readonly kind: "account";
327
+ readonly path: "owner";
328
+ }, {
329
+ readonly kind: "account";
330
+ readonly path: "vault.vault_id";
331
+ readonly account: "AgentVault";
332
+ }];
333
+ };
334
+ }];
335
+ readonly args: readonly [{
336
+ readonly name: "new_agent";
337
+ readonly type: {
338
+ readonly option: "pubkey";
339
+ };
340
+ }];
341
+ }, {
342
+ readonly name: "register_agent";
343
+ readonly docs: readonly ["Register an agent's signing key to this vault.", "Only the owner can call this. One agent per vault."];
344
+ readonly discriminator: readonly [135, 157, 66, 195, 2, 113, 175, 30];
345
+ readonly accounts: readonly [{
346
+ readonly name: "owner";
347
+ readonly signer: true;
348
+ readonly relations: readonly ["vault"];
349
+ }, {
350
+ readonly name: "vault";
351
+ readonly writable: true;
352
+ readonly pda: {
353
+ readonly seeds: readonly [{
354
+ readonly kind: "const";
355
+ readonly value: readonly [118, 97, 117, 108, 116];
356
+ }, {
357
+ readonly kind: "account";
358
+ readonly path: "owner";
359
+ }, {
360
+ readonly kind: "account";
361
+ readonly path: "vault.vault_id";
362
+ readonly account: "AgentVault";
363
+ }];
364
+ };
365
+ }];
366
+ readonly args: readonly [{
367
+ readonly name: "agent";
368
+ readonly type: "pubkey";
369
+ }];
370
+ }, {
371
+ readonly name: "revoke_agent";
372
+ readonly docs: readonly ["Kill switch. Immediately freezes the vault, preventing all agent actions.", "Only the owner can call this. Funds can still be withdrawn by the owner."];
373
+ readonly discriminator: readonly [227, 60, 209, 125, 240, 117, 163, 73];
374
+ readonly accounts: readonly [{
375
+ readonly name: "owner";
376
+ readonly signer: true;
377
+ readonly relations: readonly ["vault"];
378
+ }, {
379
+ readonly name: "vault";
380
+ readonly writable: true;
381
+ readonly pda: {
382
+ readonly seeds: readonly [{
383
+ readonly kind: "const";
384
+ readonly value: readonly [118, 97, 117, 108, 116];
385
+ }, {
386
+ readonly kind: "account";
387
+ readonly path: "owner";
388
+ }, {
389
+ readonly kind: "account";
390
+ readonly path: "vault.vault_id";
391
+ readonly account: "AgentVault";
392
+ }];
393
+ };
394
+ }];
395
+ readonly args: readonly [];
396
+ }, {
397
+ readonly name: "update_policy";
398
+ readonly docs: readonly ["Update the policy configuration for a vault.", "Only the owner can call this. Cannot be called by the agent."];
399
+ readonly discriminator: readonly [212, 245, 246, 7, 163, 151, 18, 57];
400
+ readonly accounts: readonly [{
401
+ readonly name: "owner";
402
+ readonly signer: true;
403
+ readonly relations: readonly ["vault"];
404
+ }, {
405
+ readonly name: "vault";
406
+ readonly pda: {
407
+ readonly seeds: readonly [{
408
+ readonly kind: "const";
409
+ readonly value: readonly [118, 97, 117, 108, 116];
410
+ }, {
411
+ readonly kind: "account";
412
+ readonly path: "owner";
413
+ }, {
414
+ readonly kind: "account";
415
+ readonly path: "vault.vault_id";
416
+ readonly account: "AgentVault";
417
+ }];
418
+ };
419
+ readonly relations: readonly ["policy"];
420
+ }, {
421
+ readonly name: "policy";
422
+ readonly writable: true;
423
+ readonly pda: {
424
+ readonly seeds: readonly [{
425
+ readonly kind: "const";
426
+ readonly value: readonly [112, 111, 108, 105, 99, 121];
427
+ }, {
428
+ readonly kind: "account";
429
+ readonly path: "vault";
430
+ }];
431
+ };
432
+ }];
433
+ readonly args: readonly [{
434
+ readonly name: "daily_spending_cap";
435
+ readonly type: {
436
+ readonly option: "u64";
437
+ };
438
+ }, {
439
+ readonly name: "max_transaction_size";
440
+ readonly type: {
441
+ readonly option: "u64";
442
+ };
443
+ }, {
444
+ readonly name: "allowed_tokens";
445
+ readonly type: {
446
+ readonly option: {
447
+ readonly vec: "pubkey";
448
+ };
449
+ };
450
+ }, {
451
+ readonly name: "allowed_protocols";
452
+ readonly type: {
453
+ readonly option: {
454
+ readonly vec: "pubkey";
455
+ };
456
+ };
457
+ }, {
458
+ readonly name: "max_leverage_bps";
459
+ readonly type: {
460
+ readonly option: "u16";
461
+ };
462
+ }, {
463
+ readonly name: "can_open_positions";
464
+ readonly type: {
465
+ readonly option: "bool";
466
+ };
467
+ }, {
468
+ readonly name: "max_concurrent_positions";
469
+ readonly type: {
470
+ readonly option: "u8";
471
+ };
472
+ }];
473
+ }, {
474
+ readonly name: "validate_and_authorize";
475
+ readonly docs: readonly ["Core permission check. Called by the agent before a DeFi action.", "Validates the action against all policy constraints.", "If approved, creates a SessionAuthority PDA and updates spend tracking.", "If denied, reverts the entire transaction (including subsequent DeFi instructions)."];
476
+ readonly discriminator: readonly [22, 183, 48, 222, 218, 11, 197, 152];
477
+ readonly accounts: readonly [{
478
+ readonly name: "agent";
479
+ readonly writable: true;
480
+ readonly signer: true;
481
+ }, {
482
+ readonly name: "vault";
483
+ readonly writable: true;
484
+ readonly pda: {
485
+ readonly seeds: readonly [{
486
+ readonly kind: "const";
487
+ readonly value: readonly [118, 97, 117, 108, 116];
488
+ }, {
489
+ readonly kind: "account";
490
+ readonly path: "vault.owner";
491
+ readonly account: "AgentVault";
492
+ }, {
493
+ readonly kind: "account";
494
+ readonly path: "vault.vault_id";
495
+ readonly account: "AgentVault";
496
+ }];
497
+ };
498
+ readonly relations: readonly ["policy", "tracker"];
499
+ }, {
500
+ readonly name: "policy";
501
+ readonly pda: {
502
+ readonly seeds: readonly [{
503
+ readonly kind: "const";
504
+ readonly value: readonly [112, 111, 108, 105, 99, 121];
505
+ }, {
506
+ readonly kind: "account";
507
+ readonly path: "vault";
508
+ }];
509
+ };
510
+ }, {
511
+ readonly name: "tracker";
512
+ readonly writable: true;
513
+ readonly pda: {
514
+ readonly seeds: readonly [{
515
+ readonly kind: "const";
516
+ readonly value: readonly [116, 114, 97, 99, 107, 101, 114];
517
+ }, {
518
+ readonly kind: "account";
519
+ readonly path: "vault";
520
+ }];
521
+ };
522
+ }, {
523
+ readonly name: "session";
524
+ readonly docs: readonly ["Ephemeral session PDA — `init` ensures no double-authorization"];
525
+ readonly writable: true;
526
+ readonly pda: {
527
+ readonly seeds: readonly [{
528
+ readonly kind: "const";
529
+ readonly value: readonly [115, 101, 115, 115, 105, 111, 110];
530
+ }, {
531
+ readonly kind: "account";
532
+ readonly path: "vault";
533
+ }, {
534
+ readonly kind: "account";
535
+ readonly path: "agent";
536
+ }];
537
+ };
538
+ }, {
539
+ readonly name: "system_program";
540
+ readonly address: "11111111111111111111111111111111";
541
+ }];
542
+ readonly args: readonly [{
543
+ readonly name: "action_type";
544
+ readonly type: {
545
+ readonly defined: {
546
+ readonly name: "ActionType";
547
+ };
548
+ };
549
+ }, {
550
+ readonly name: "token_mint";
551
+ readonly type: "pubkey";
552
+ }, {
553
+ readonly name: "amount";
554
+ readonly type: "u64";
555
+ }, {
556
+ readonly name: "target_protocol";
557
+ readonly type: "pubkey";
558
+ }, {
559
+ readonly name: "leverage_bps";
560
+ readonly type: {
561
+ readonly option: "u16";
562
+ };
563
+ }];
564
+ }, {
565
+ readonly name: "withdraw_funds";
566
+ readonly docs: readonly ["Withdraw tokens from the vault back to the owner.", "Works in any vault status (Active or Frozen). Only the owner can call this."];
567
+ readonly discriminator: readonly [241, 36, 29, 111, 208, 31, 104, 217];
568
+ readonly accounts: readonly [{
569
+ readonly name: "owner";
570
+ readonly writable: true;
571
+ readonly signer: true;
572
+ readonly relations: readonly ["vault"];
573
+ }, {
574
+ readonly name: "vault";
575
+ readonly pda: {
576
+ readonly seeds: readonly [{
577
+ readonly kind: "const";
578
+ readonly value: readonly [118, 97, 117, 108, 116];
579
+ }, {
580
+ readonly kind: "account";
581
+ readonly path: "owner";
582
+ }, {
583
+ readonly kind: "account";
584
+ readonly path: "vault.vault_id";
585
+ readonly account: "AgentVault";
586
+ }];
587
+ };
588
+ }, {
589
+ readonly name: "mint";
590
+ }, {
591
+ readonly name: "vault_token_account";
592
+ readonly docs: readonly ["Vault's PDA-controlled token account"];
593
+ readonly writable: true;
594
+ readonly pda: {
595
+ readonly seeds: readonly [{
596
+ readonly kind: "account";
597
+ readonly path: "vault";
598
+ }, {
599
+ readonly kind: "const";
600
+ readonly value: readonly [6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169];
601
+ }, {
602
+ readonly kind: "account";
603
+ readonly path: "mint";
604
+ }];
605
+ readonly program: {
606
+ readonly kind: "const";
607
+ readonly value: readonly [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
608
+ };
609
+ };
610
+ }, {
611
+ readonly name: "owner_token_account";
612
+ readonly docs: readonly ["Owner's token account to receive funds"];
613
+ readonly writable: true;
614
+ readonly pda: {
615
+ readonly seeds: readonly [{
616
+ readonly kind: "account";
617
+ readonly path: "owner";
618
+ }, {
619
+ readonly kind: "const";
620
+ readonly value: readonly [6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169];
621
+ }, {
622
+ readonly kind: "account";
623
+ readonly path: "mint";
624
+ }];
625
+ readonly program: {
626
+ readonly kind: "const";
627
+ readonly value: readonly [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
628
+ };
629
+ };
630
+ }, {
631
+ readonly name: "token_program";
632
+ readonly address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
633
+ }];
634
+ readonly args: readonly [{
635
+ readonly name: "amount";
636
+ readonly type: "u64";
637
+ }];
638
+ }];
639
+ readonly accounts: readonly [{
640
+ readonly name: "AgentVault";
641
+ readonly discriminator: readonly [232, 220, 237, 164, 157, 9, 215, 194];
642
+ }, {
643
+ readonly name: "PolicyConfig";
644
+ readonly discriminator: readonly [219, 7, 79, 84, 175, 51, 148, 146];
645
+ }, {
646
+ readonly name: "SessionAuthority";
647
+ readonly discriminator: readonly [48, 9, 30, 120, 134, 35, 172, 170];
648
+ }, {
649
+ readonly name: "SpendTracker";
650
+ readonly discriminator: readonly [180, 17, 195, 180, 162, 207, 239, 205];
651
+ }];
652
+ readonly events: readonly [{
653
+ readonly name: "ActionAuthorized";
654
+ readonly discriminator: readonly [85, 90, 59, 218, 126, 8, 179, 63];
655
+ }, {
656
+ readonly name: "ActionDenied";
657
+ readonly discriminator: readonly [243, 239, 240, 51, 151, 100, 10, 100];
658
+ }, {
659
+ readonly name: "AgentRegistered";
660
+ readonly discriminator: readonly [191, 78, 217, 54, 232, 100, 189, 85];
661
+ }, {
662
+ readonly name: "AgentRevoked";
663
+ readonly discriminator: readonly [12, 251, 249, 166, 122, 83, 162, 116];
664
+ }, {
665
+ readonly name: "FeesCollected";
666
+ readonly discriminator: readonly [233, 23, 117, 225, 107, 178, 254, 8];
667
+ }, {
668
+ readonly name: "FundsDeposited";
669
+ readonly discriminator: readonly [157, 209, 100, 95, 59, 100, 3, 68];
670
+ }, {
671
+ readonly name: "FundsWithdrawn";
672
+ readonly discriminator: readonly [56, 130, 230, 154, 35, 92, 11, 118];
673
+ }, {
674
+ readonly name: "PolicyUpdated";
675
+ readonly discriminator: readonly [225, 112, 112, 67, 95, 236, 245, 161];
676
+ }, {
677
+ readonly name: "SessionFinalized";
678
+ readonly discriminator: readonly [33, 12, 242, 91, 206, 42, 163, 235];
679
+ }, {
680
+ readonly name: "VaultClosed";
681
+ readonly discriminator: readonly [238, 129, 38, 228, 227, 118, 249, 215];
682
+ }, {
683
+ readonly name: "VaultCreated";
684
+ readonly discriminator: readonly [117, 25, 120, 254, 75, 236, 78, 115];
685
+ }, {
686
+ readonly name: "VaultReactivated";
687
+ readonly discriminator: readonly [197, 52, 160, 147, 159, 89, 90, 28];
688
+ }];
689
+ readonly errors: readonly [{
690
+ readonly code: 6000;
691
+ readonly name: "VaultNotActive";
692
+ readonly msg: "Vault is not active";
693
+ }, {
694
+ readonly code: 6001;
695
+ readonly name: "UnauthorizedAgent";
696
+ readonly msg: "Unauthorized: signer is not the registered agent";
697
+ }, {
698
+ readonly code: 6002;
699
+ readonly name: "UnauthorizedOwner";
700
+ readonly msg: "Unauthorized: signer is not the vault owner";
701
+ }, {
702
+ readonly code: 6003;
703
+ readonly name: "TokenNotAllowed";
704
+ readonly msg: "Token not in allowed list";
705
+ }, {
706
+ readonly code: 6004;
707
+ readonly name: "ProtocolNotAllowed";
708
+ readonly msg: "Protocol not in allowed list";
709
+ }, {
710
+ readonly code: 6005;
711
+ readonly name: "TransactionTooLarge";
712
+ readonly msg: "Transaction exceeds maximum single transaction size";
713
+ }, {
714
+ readonly code: 6006;
715
+ readonly name: "DailyCapExceeded";
716
+ readonly msg: "Daily spending cap would be exceeded";
717
+ }, {
718
+ readonly code: 6007;
719
+ readonly name: "LeverageTooHigh";
720
+ readonly msg: "Leverage exceeds maximum allowed";
721
+ }, {
722
+ readonly code: 6008;
723
+ readonly name: "TooManyPositions";
724
+ readonly msg: "Maximum concurrent open positions reached";
725
+ }, {
726
+ readonly code: 6009;
727
+ readonly name: "PositionOpeningDisallowed";
728
+ readonly msg: "Cannot open new positions (policy disallows)";
729
+ }, {
730
+ readonly code: 6010;
731
+ readonly name: "SessionExpired";
732
+ readonly msg: "Session has expired";
733
+ }, {
734
+ readonly code: 6011;
735
+ readonly name: "SessionNotAuthorized";
736
+ readonly msg: "Session not authorized";
737
+ }, {
738
+ readonly code: 6012;
739
+ readonly name: "InvalidSession";
740
+ readonly msg: "Invalid session: does not belong to this vault";
741
+ }, {
742
+ readonly code: 6013;
743
+ readonly name: "OpenPositionsExist";
744
+ readonly msg: "Vault has open positions, cannot close";
745
+ }, {
746
+ readonly code: 6014;
747
+ readonly name: "TooManyAllowedTokens";
748
+ readonly msg: "Policy configuration invalid: too many allowed tokens";
749
+ }, {
750
+ readonly code: 6015;
751
+ readonly name: "TooManyAllowedProtocols";
752
+ readonly msg: "Policy configuration invalid: too many allowed protocols";
753
+ }, {
754
+ readonly code: 6016;
755
+ readonly name: "AgentAlreadyRegistered";
756
+ readonly msg: "Agent already registered for this vault";
757
+ }, {
758
+ readonly code: 6017;
759
+ readonly name: "NoAgentRegistered";
760
+ readonly msg: "No agent registered for this vault";
761
+ }, {
762
+ readonly code: 6018;
763
+ readonly name: "VaultNotFrozen";
764
+ readonly msg: "Vault is not frozen (expected frozen for reactivation)";
765
+ }, {
766
+ readonly code: 6019;
767
+ readonly name: "VaultAlreadyClosed";
768
+ readonly msg: "Vault is already closed";
769
+ }, {
770
+ readonly code: 6020;
771
+ readonly name: "InsufficientBalance";
772
+ readonly msg: "Insufficient vault balance for withdrawal";
773
+ }, {
774
+ readonly code: 6021;
775
+ readonly name: "FeeBpsTooHigh";
776
+ readonly msg: "Fee basis points exceed maximum (500 bps / 5%)";
777
+ }, {
778
+ readonly code: 6022;
779
+ readonly name: "InvalidFeeDestination";
780
+ readonly msg: "Fee destination account invalid";
781
+ }, {
782
+ readonly code: 6023;
783
+ readonly name: "Overflow";
784
+ readonly msg: "Arithmetic overflow";
785
+ }];
786
+ readonly types: readonly [{
787
+ readonly name: "ActionAuthorized";
788
+ readonly type: {
789
+ readonly kind: "struct";
790
+ readonly fields: readonly [{
791
+ readonly name: "vault";
792
+ readonly type: "pubkey";
793
+ }, {
794
+ readonly name: "agent";
795
+ readonly type: "pubkey";
796
+ }, {
797
+ readonly name: "action_type";
798
+ readonly type: {
799
+ readonly defined: {
800
+ readonly name: "ActionType";
801
+ };
802
+ };
803
+ }, {
804
+ readonly name: "token_mint";
805
+ readonly type: "pubkey";
806
+ }, {
807
+ readonly name: "amount";
808
+ readonly type: "u64";
809
+ }, {
810
+ readonly name: "protocol";
811
+ readonly type: "pubkey";
812
+ }, {
813
+ readonly name: "rolling_spend_after";
814
+ readonly type: "u64";
815
+ }, {
816
+ readonly name: "daily_cap";
817
+ readonly type: "u64";
818
+ }, {
819
+ readonly name: "timestamp";
820
+ readonly type: "i64";
821
+ }];
822
+ };
823
+ }, {
824
+ readonly name: "ActionDenied";
825
+ readonly type: {
826
+ readonly kind: "struct";
827
+ readonly fields: readonly [{
828
+ readonly name: "vault";
829
+ readonly type: "pubkey";
830
+ }, {
831
+ readonly name: "agent";
832
+ readonly type: "pubkey";
833
+ }, {
834
+ readonly name: "reason";
835
+ readonly type: "string";
836
+ }, {
837
+ readonly name: "timestamp";
838
+ readonly type: "i64";
839
+ }];
840
+ };
841
+ }, {
842
+ readonly name: "ActionType";
843
+ readonly docs: readonly ["Action types that agents can request"];
844
+ readonly type: {
845
+ readonly kind: "enum";
846
+ readonly variants: readonly [{
847
+ readonly name: "Swap";
848
+ }, {
849
+ readonly name: "OpenPosition";
850
+ }, {
851
+ readonly name: "ClosePosition";
852
+ }, {
853
+ readonly name: "IncreasePosition";
854
+ }, {
855
+ readonly name: "DecreasePosition";
856
+ }, {
857
+ readonly name: "Deposit";
858
+ }, {
859
+ readonly name: "Withdraw";
860
+ }];
861
+ };
862
+ }, {
863
+ readonly name: "AgentRegistered";
864
+ readonly type: {
865
+ readonly kind: "struct";
866
+ readonly fields: readonly [{
867
+ readonly name: "vault";
868
+ readonly type: "pubkey";
869
+ }, {
870
+ readonly name: "agent";
871
+ readonly type: "pubkey";
872
+ }, {
873
+ readonly name: "timestamp";
874
+ readonly type: "i64";
875
+ }];
876
+ };
877
+ }, {
878
+ readonly name: "AgentRevoked";
879
+ readonly type: {
880
+ readonly kind: "struct";
881
+ readonly fields: readonly [{
882
+ readonly name: "vault";
883
+ readonly type: "pubkey";
884
+ }, {
885
+ readonly name: "agent";
886
+ readonly type: "pubkey";
887
+ }, {
888
+ readonly name: "timestamp";
889
+ readonly type: "i64";
890
+ }];
891
+ };
892
+ }, {
893
+ readonly name: "AgentVault";
894
+ readonly type: {
895
+ readonly kind: "struct";
896
+ readonly fields: readonly [{
897
+ readonly name: "owner";
898
+ readonly docs: readonly ["The owner who created this vault (has full authority)"];
899
+ readonly type: "pubkey";
900
+ }, {
901
+ readonly name: "agent";
902
+ readonly docs: readonly ["The registered agent's signing key (Pubkey::default() if not yet registered)"];
903
+ readonly type: "pubkey";
904
+ }, {
905
+ readonly name: "fee_destination";
906
+ readonly docs: readonly ["Protocol fee destination — the AgentShield treasury wallet that receives", "basis-point fees on every finalized transaction. Set at vault creation,", "immutable after initialization."];
907
+ readonly type: "pubkey";
908
+ }, {
909
+ readonly name: "vault_id";
910
+ readonly docs: readonly ["Unique vault identifier (allows one owner to have multiple vaults)"];
911
+ readonly type: "u64";
912
+ }, {
913
+ readonly name: "status";
914
+ readonly docs: readonly ["Vault status: Active, Frozen, or Closed"];
915
+ readonly type: {
916
+ readonly defined: {
917
+ readonly name: "VaultStatus";
918
+ };
919
+ };
920
+ }, {
921
+ readonly name: "bump";
922
+ readonly docs: readonly ["Bump seed for PDA derivation"];
923
+ readonly type: "u8";
924
+ }, {
925
+ readonly name: "created_at";
926
+ readonly docs: readonly ["Unix timestamp of vault creation"];
927
+ readonly type: "i64";
928
+ }, {
929
+ readonly name: "total_transactions";
930
+ readonly docs: readonly ["Total number of agent transactions executed through this vault"];
931
+ readonly type: "u64";
932
+ }, {
933
+ readonly name: "total_volume";
934
+ readonly docs: readonly ["Total volume processed in token base units"];
935
+ readonly type: "u64";
936
+ }, {
937
+ readonly name: "open_positions";
938
+ readonly docs: readonly ["Number of currently open positions (for perps tracking)"];
939
+ readonly type: "u8";
940
+ }, {
941
+ readonly name: "total_fees_collected";
942
+ readonly docs: readonly ["Cumulative protocol fees collected from this vault (token base units)"];
943
+ readonly type: "u64";
944
+ }];
945
+ };
946
+ }, {
947
+ readonly name: "FeesCollected";
948
+ readonly type: {
949
+ readonly kind: "struct";
950
+ readonly fields: readonly [{
951
+ readonly name: "vault";
952
+ readonly type: "pubkey";
953
+ }, {
954
+ readonly name: "token_mint";
955
+ readonly type: "pubkey";
956
+ }, {
957
+ readonly name: "fee_amount";
958
+ readonly type: "u64";
959
+ }, {
960
+ readonly name: "fee_bps";
961
+ readonly type: "u16";
962
+ }, {
963
+ readonly name: "transaction_amount";
964
+ readonly type: "u64";
965
+ }, {
966
+ readonly name: "fee_destination";
967
+ readonly type: "pubkey";
968
+ }, {
969
+ readonly name: "cumulative_fees";
970
+ readonly type: "u64";
971
+ }, {
972
+ readonly name: "timestamp";
973
+ readonly type: "i64";
974
+ }];
975
+ };
976
+ }, {
977
+ readonly name: "FundsDeposited";
978
+ readonly type: {
979
+ readonly kind: "struct";
980
+ readonly fields: readonly [{
981
+ readonly name: "vault";
982
+ readonly type: "pubkey";
983
+ }, {
984
+ readonly name: "token_mint";
985
+ readonly type: "pubkey";
986
+ }, {
987
+ readonly name: "amount";
988
+ readonly type: "u64";
989
+ }, {
990
+ readonly name: "timestamp";
991
+ readonly type: "i64";
992
+ }];
993
+ };
994
+ }, {
995
+ readonly name: "FundsWithdrawn";
996
+ readonly type: {
997
+ readonly kind: "struct";
998
+ readonly fields: readonly [{
999
+ readonly name: "vault";
1000
+ readonly type: "pubkey";
1001
+ }, {
1002
+ readonly name: "token_mint";
1003
+ readonly type: "pubkey";
1004
+ }, {
1005
+ readonly name: "amount";
1006
+ readonly type: "u64";
1007
+ }, {
1008
+ readonly name: "destination";
1009
+ readonly type: "pubkey";
1010
+ }, {
1011
+ readonly name: "timestamp";
1012
+ readonly type: "i64";
1013
+ }];
1014
+ };
1015
+ }, {
1016
+ readonly name: "PolicyConfig";
1017
+ readonly type: {
1018
+ readonly kind: "struct";
1019
+ readonly fields: readonly [{
1020
+ readonly name: "vault";
1021
+ readonly docs: readonly ["Associated vault pubkey"];
1022
+ readonly type: "pubkey";
1023
+ }, {
1024
+ readonly name: "daily_spending_cap";
1025
+ readonly docs: readonly ["Maximum spend per rolling 24h period (in token base units)"];
1026
+ readonly type: "u64";
1027
+ }, {
1028
+ readonly name: "max_transaction_size";
1029
+ readonly docs: readonly ["Maximum single transaction size (in token base units)"];
1030
+ readonly type: "u64";
1031
+ }, {
1032
+ readonly name: "allowed_tokens";
1033
+ readonly docs: readonly ["Allowed token mints the agent can interact with", "Bounded to MAX_ALLOWED_TOKENS entries"];
1034
+ readonly type: {
1035
+ readonly vec: "pubkey";
1036
+ };
1037
+ }, {
1038
+ readonly name: "allowed_protocols";
1039
+ readonly docs: readonly ["Allowed program IDs the agent can call (Jupiter, Flash Trade, etc.)", "Bounded to MAX_ALLOWED_PROTOCOLS entries"];
1040
+ readonly type: {
1041
+ readonly vec: "pubkey";
1042
+ };
1043
+ }, {
1044
+ readonly name: "max_leverage_bps";
1045
+ readonly docs: readonly ["Maximum leverage multiplier in basis points (e.g., 10000 = 100x, 1000 = 10x)", "Set to 0 to disallow leveraged positions entirely"];
1046
+ readonly type: "u16";
1047
+ }, {
1048
+ readonly name: "can_open_positions";
1049
+ readonly docs: readonly ["Whether the agent can open new positions (vs only close existing)"];
1050
+ readonly type: "bool";
1051
+ }, {
1052
+ readonly name: "max_concurrent_positions";
1053
+ readonly docs: readonly ["Maximum number of concurrent open positions"];
1054
+ readonly type: "u8";
1055
+ }, {
1056
+ readonly name: "fee_bps";
1057
+ readonly docs: readonly ["Protocol fee in basis points (1 bps = 0.01%). Applied to every finalized", "transaction. Fee deducted from vault, transferred to fee_destination.", "Max MAX_FEE_BPS (500 = 5%). Set to 0 for no fee."];
1058
+ readonly type: "u16";
1059
+ }, {
1060
+ readonly name: "bump";
1061
+ readonly docs: readonly ["Bump seed for PDA"];
1062
+ readonly type: "u8";
1063
+ }];
1064
+ };
1065
+ }, {
1066
+ readonly name: "PolicyUpdated";
1067
+ readonly type: {
1068
+ readonly kind: "struct";
1069
+ readonly fields: readonly [{
1070
+ readonly name: "vault";
1071
+ readonly type: "pubkey";
1072
+ }, {
1073
+ readonly name: "daily_cap";
1074
+ readonly type: "u64";
1075
+ }, {
1076
+ readonly name: "max_transaction_size";
1077
+ readonly type: "u64";
1078
+ }, {
1079
+ readonly name: "allowed_tokens_count";
1080
+ readonly type: "u8";
1081
+ }, {
1082
+ readonly name: "allowed_protocols_count";
1083
+ readonly type: "u8";
1084
+ }, {
1085
+ readonly name: "max_leverage_bps";
1086
+ readonly type: "u16";
1087
+ }, {
1088
+ readonly name: "timestamp";
1089
+ readonly type: "i64";
1090
+ }];
1091
+ };
1092
+ }, {
1093
+ readonly name: "SessionAuthority";
1094
+ readonly type: {
1095
+ readonly kind: "struct";
1096
+ readonly fields: readonly [{
1097
+ readonly name: "vault";
1098
+ readonly docs: readonly ["Associated vault"];
1099
+ readonly type: "pubkey";
1100
+ }, {
1101
+ readonly name: "agent";
1102
+ readonly docs: readonly ["The agent who initiated this session"];
1103
+ readonly type: "pubkey";
1104
+ }, {
1105
+ readonly name: "authorized";
1106
+ readonly docs: readonly ["Whether this session has been authorized by the permission check"];
1107
+ readonly type: "bool";
1108
+ }, {
1109
+ readonly name: "authorized_amount";
1110
+ readonly docs: readonly ["Authorized action details (for verification in finalize)"];
1111
+ readonly type: "u64";
1112
+ }, {
1113
+ readonly name: "authorized_token";
1114
+ readonly type: "pubkey";
1115
+ }, {
1116
+ readonly name: "authorized_protocol";
1117
+ readonly type: "pubkey";
1118
+ }, {
1119
+ readonly name: "action_type";
1120
+ readonly docs: readonly ["The action type that was authorized (stored so finalize can record it)"];
1121
+ readonly type: {
1122
+ readonly defined: {
1123
+ readonly name: "ActionType";
1124
+ };
1125
+ };
1126
+ }, {
1127
+ readonly name: "expires_at_slot";
1128
+ readonly docs: readonly ["Slot-based expiry: session is valid until this slot"];
1129
+ readonly type: "u64";
1130
+ }, {
1131
+ readonly name: "bump";
1132
+ readonly docs: readonly ["Bump seed for PDA"];
1133
+ readonly type: "u8";
1134
+ }];
1135
+ };
1136
+ }, {
1137
+ readonly name: "SessionFinalized";
1138
+ readonly type: {
1139
+ readonly kind: "struct";
1140
+ readonly fields: readonly [{
1141
+ readonly name: "vault";
1142
+ readonly type: "pubkey";
1143
+ }, {
1144
+ readonly name: "agent";
1145
+ readonly type: "pubkey";
1146
+ }, {
1147
+ readonly name: "success";
1148
+ readonly type: "bool";
1149
+ }, {
1150
+ readonly name: "timestamp";
1151
+ readonly type: "i64";
1152
+ }];
1153
+ };
1154
+ }, {
1155
+ readonly name: "SpendEntry";
1156
+ readonly type: {
1157
+ readonly kind: "struct";
1158
+ readonly fields: readonly [{
1159
+ readonly name: "token_mint";
1160
+ readonly type: "pubkey";
1161
+ }, {
1162
+ readonly name: "amount_spent";
1163
+ readonly type: "u64";
1164
+ }, {
1165
+ readonly name: "timestamp";
1166
+ readonly type: "i64";
1167
+ }];
1168
+ };
1169
+ }, {
1170
+ readonly name: "SpendTracker";
1171
+ readonly type: {
1172
+ readonly kind: "struct";
1173
+ readonly fields: readonly [{
1174
+ readonly name: "vault";
1175
+ readonly docs: readonly ["Associated vault pubkey"];
1176
+ readonly type: "pubkey";
1177
+ }, {
1178
+ readonly name: "rolling_spends";
1179
+ readonly docs: readonly ["Rolling spend entries: (token_mint, amount, timestamp)", "Entries older than ROLLING_WINDOW_SECONDS are pruned on each access"];
1180
+ readonly type: {
1181
+ readonly vec: {
1182
+ readonly defined: {
1183
+ readonly name: "SpendEntry";
1184
+ };
1185
+ };
1186
+ };
1187
+ }, {
1188
+ readonly name: "recent_transactions";
1189
+ readonly docs: readonly ["Recent transaction log for on-chain audit trail", "Bounded to MAX_RECENT_TRANSACTIONS, oldest entries evicted (ring buffer)"];
1190
+ readonly type: {
1191
+ readonly vec: {
1192
+ readonly defined: {
1193
+ readonly name: "TransactionRecord";
1194
+ };
1195
+ };
1196
+ };
1197
+ }, {
1198
+ readonly name: "bump";
1199
+ readonly docs: readonly ["Bump seed for PDA"];
1200
+ readonly type: "u8";
1201
+ }];
1202
+ };
1203
+ }, {
1204
+ readonly name: "TransactionRecord";
1205
+ readonly type: {
1206
+ readonly kind: "struct";
1207
+ readonly fields: readonly [{
1208
+ readonly name: "timestamp";
1209
+ readonly type: "i64";
1210
+ }, {
1211
+ readonly name: "action_type";
1212
+ readonly type: {
1213
+ readonly defined: {
1214
+ readonly name: "ActionType";
1215
+ };
1216
+ };
1217
+ }, {
1218
+ readonly name: "token_mint";
1219
+ readonly type: "pubkey";
1220
+ }, {
1221
+ readonly name: "amount";
1222
+ readonly type: "u64";
1223
+ }, {
1224
+ readonly name: "protocol";
1225
+ readonly type: "pubkey";
1226
+ }, {
1227
+ readonly name: "success";
1228
+ readonly type: "bool";
1229
+ }, {
1230
+ readonly name: "slot";
1231
+ readonly type: "u64";
1232
+ }];
1233
+ };
1234
+ }, {
1235
+ readonly name: "VaultClosed";
1236
+ readonly type: {
1237
+ readonly kind: "struct";
1238
+ readonly fields: readonly [{
1239
+ readonly name: "vault";
1240
+ readonly type: "pubkey";
1241
+ }, {
1242
+ readonly name: "owner";
1243
+ readonly type: "pubkey";
1244
+ }, {
1245
+ readonly name: "timestamp";
1246
+ readonly type: "i64";
1247
+ }];
1248
+ };
1249
+ }, {
1250
+ readonly name: "VaultCreated";
1251
+ readonly type: {
1252
+ readonly kind: "struct";
1253
+ readonly fields: readonly [{
1254
+ readonly name: "vault";
1255
+ readonly type: "pubkey";
1256
+ }, {
1257
+ readonly name: "owner";
1258
+ readonly type: "pubkey";
1259
+ }, {
1260
+ readonly name: "vault_id";
1261
+ readonly type: "u64";
1262
+ }, {
1263
+ readonly name: "timestamp";
1264
+ readonly type: "i64";
1265
+ }];
1266
+ };
1267
+ }, {
1268
+ readonly name: "VaultReactivated";
1269
+ readonly type: {
1270
+ readonly kind: "struct";
1271
+ readonly fields: readonly [{
1272
+ readonly name: "vault";
1273
+ readonly type: "pubkey";
1274
+ }, {
1275
+ readonly name: "new_agent";
1276
+ readonly type: {
1277
+ readonly option: "pubkey";
1278
+ };
1279
+ }, {
1280
+ readonly name: "timestamp";
1281
+ readonly type: "i64";
1282
+ }];
1283
+ };
1284
+ }, {
1285
+ readonly name: "VaultStatus";
1286
+ readonly docs: readonly ["Vault status enum"];
1287
+ readonly type: {
1288
+ readonly kind: "enum";
1289
+ readonly variants: readonly [{
1290
+ readonly name: "Active";
1291
+ }, {
1292
+ readonly name: "Frozen";
1293
+ }, {
1294
+ readonly name: "Closed";
1295
+ }];
1296
+ };
1297
+ }];
1298
+ };
1299
+ //# sourceMappingURL=idl-json.d.ts.map