@brainai/satp-client 2.0.6 → 2.0.8
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/LICENSE +201 -0
- package/README.md +63 -35
- package/idls/v3/attestations_v3.json +439 -0
- package/idls/v3/escrow_v3.json +972 -0
- package/idls/v3/identity_v3.json +1344 -0
- package/idls/v3/reputation_v3.json +140 -0
- package/idls/v3/reviews_v3.json +300 -0
- package/idls/v3/validation_v3.json +146 -0
- package/package.json +12 -4
- package/src/attestation-request.js +176 -0
- package/src/index.d.ts +221 -0
- package/src/index.js +12 -1
- package/src/runtime-authorization-evidence.js +350 -0
- package/src/runtime-policy-adapter.js +335 -5
- package/examples/adoption-quickstarts.js +0 -173
- package/examples/integration-patterns.js +0 -495
- package/examples/runtime-policy-adapter.js +0 -107
- package/examples/x402-discovery-evidence-lookup.js +0 -66
- package/examples/x402-reputation-evidence-lookup-client.js +0 -182
|
@@ -0,0 +1,1344 @@
|
|
|
1
|
+
{
|
|
2
|
+
"address": "",
|
|
3
|
+
"metadata": {
|
|
4
|
+
"name": "identity_v3",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"spec": "0.1.0",
|
|
7
|
+
"description": "SATP Identity Registry V3 — agent_id-seeded, wallet-independent identity"
|
|
8
|
+
},
|
|
9
|
+
"instructions": [
|
|
10
|
+
{
|
|
11
|
+
"name": "create_identity",
|
|
12
|
+
"docs": [
|
|
13
|
+
"Create a Genesis Record for an agent.",
|
|
14
|
+
"PDA seed: `[b\"genesis\", agent_id_hash]`",
|
|
15
|
+
"Called at registration — face fields start empty (agent is \"unborn\")."
|
|
16
|
+
],
|
|
17
|
+
"discriminator": [
|
|
18
|
+
12,
|
|
19
|
+
253,
|
|
20
|
+
209,
|
|
21
|
+
41,
|
|
22
|
+
176,
|
|
23
|
+
51,
|
|
24
|
+
195,
|
|
25
|
+
179
|
|
26
|
+
],
|
|
27
|
+
"accounts": [
|
|
28
|
+
{
|
|
29
|
+
"name": "genesis",
|
|
30
|
+
"writable": true
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "creator",
|
|
34
|
+
"writable": true,
|
|
35
|
+
"signer": true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "system_program"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"args": [
|
|
42
|
+
{
|
|
43
|
+
"name": "agent_id_hash",
|
|
44
|
+
"type": {
|
|
45
|
+
"array": [
|
|
46
|
+
"u8",
|
|
47
|
+
32
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "name",
|
|
53
|
+
"type": "string"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "description",
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "category",
|
|
61
|
+
"type": "string"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "capabilities",
|
|
65
|
+
"type": {
|
|
66
|
+
"vec": "string"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "metadata_uri",
|
|
71
|
+
"type": "string"
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "burn_to_become",
|
|
77
|
+
"docs": [
|
|
78
|
+
"Burn-to-become: set the agent's permanent face.",
|
|
79
|
+
"This is the agent's \"birth event\" — irreversible.",
|
|
80
|
+
"After this, face_image and face_mint are immutable."
|
|
81
|
+
],
|
|
82
|
+
"discriminator": [
|
|
83
|
+
76,
|
|
84
|
+
240,
|
|
85
|
+
170,
|
|
86
|
+
88,
|
|
87
|
+
79,
|
|
88
|
+
189,
|
|
89
|
+
192,
|
|
90
|
+
10
|
|
91
|
+
],
|
|
92
|
+
"accounts": [
|
|
93
|
+
{
|
|
94
|
+
"name": "genesis",
|
|
95
|
+
"writable": true
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "authority",
|
|
99
|
+
"signer": true
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"args": [
|
|
103
|
+
{
|
|
104
|
+
"name": "face_image",
|
|
105
|
+
"type": "string"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"name": "face_mint",
|
|
109
|
+
"type": "pubkey"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "face_burn_tx",
|
|
113
|
+
"type": "string"
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "update_identity",
|
|
119
|
+
"docs": [
|
|
120
|
+
"Update identity metadata (authority only).",
|
|
121
|
+
"Face fields are immutable after burn-to-become."
|
|
122
|
+
],
|
|
123
|
+
"discriminator": [
|
|
124
|
+
130,
|
|
125
|
+
54,
|
|
126
|
+
88,
|
|
127
|
+
104,
|
|
128
|
+
222,
|
|
129
|
+
124,
|
|
130
|
+
238,
|
|
131
|
+
252
|
|
132
|
+
],
|
|
133
|
+
"accounts": [
|
|
134
|
+
{
|
|
135
|
+
"name": "genesis",
|
|
136
|
+
"writable": true
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "authority",
|
|
140
|
+
"signer": true
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"args": [
|
|
144
|
+
{
|
|
145
|
+
"name": "name",
|
|
146
|
+
"type": {
|
|
147
|
+
"option": "string"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"name": "description",
|
|
152
|
+
"type": {
|
|
153
|
+
"option": "string"
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "category",
|
|
158
|
+
"type": {
|
|
159
|
+
"option": "string"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "capabilities",
|
|
164
|
+
"type": {
|
|
165
|
+
"option": {
|
|
166
|
+
"vec": "string"
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"name": "metadata_uri",
|
|
172
|
+
"type": {
|
|
173
|
+
"option": "string"
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "propose_authority",
|
|
180
|
+
"discriminator": [
|
|
181
|
+
20,
|
|
182
|
+
148,
|
|
183
|
+
236,
|
|
184
|
+
198,
|
|
185
|
+
76,
|
|
186
|
+
119,
|
|
187
|
+
99,
|
|
188
|
+
142
|
|
189
|
+
],
|
|
190
|
+
"accounts": [
|
|
191
|
+
{
|
|
192
|
+
"name": "genesis",
|
|
193
|
+
"writable": true
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"name": "authority",
|
|
197
|
+
"signer": true
|
|
198
|
+
}
|
|
199
|
+
],
|
|
200
|
+
"args": [
|
|
201
|
+
{
|
|
202
|
+
"name": "new_authority",
|
|
203
|
+
"type": "pubkey"
|
|
204
|
+
}
|
|
205
|
+
]
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"name": "accept_authority",
|
|
209
|
+
"discriminator": [
|
|
210
|
+
107,
|
|
211
|
+
86,
|
|
212
|
+
198,
|
|
213
|
+
91,
|
|
214
|
+
33,
|
|
215
|
+
12,
|
|
216
|
+
107,
|
|
217
|
+
160
|
|
218
|
+
],
|
|
219
|
+
"accounts": [
|
|
220
|
+
{
|
|
221
|
+
"name": "genesis",
|
|
222
|
+
"writable": true
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"name": "new_authority",
|
|
226
|
+
"signer": true
|
|
227
|
+
}
|
|
228
|
+
],
|
|
229
|
+
"args": []
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"name": "cancel_authority_transfer",
|
|
233
|
+
"discriminator": [
|
|
234
|
+
94,
|
|
235
|
+
131,
|
|
236
|
+
125,
|
|
237
|
+
184,
|
|
238
|
+
183,
|
|
239
|
+
24,
|
|
240
|
+
125,
|
|
241
|
+
229
|
|
242
|
+
],
|
|
243
|
+
"accounts": [
|
|
244
|
+
{
|
|
245
|
+
"name": "genesis",
|
|
246
|
+
"writable": true
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "authority",
|
|
250
|
+
"signer": true
|
|
251
|
+
}
|
|
252
|
+
],
|
|
253
|
+
"args": []
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"name": "link_wallet",
|
|
257
|
+
"discriminator": [
|
|
258
|
+
86,
|
|
259
|
+
92,
|
|
260
|
+
31,
|
|
261
|
+
146,
|
|
262
|
+
228,
|
|
263
|
+
51,
|
|
264
|
+
209,
|
|
265
|
+
230
|
|
266
|
+
],
|
|
267
|
+
"accounts": [
|
|
268
|
+
{
|
|
269
|
+
"name": "genesis"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"name": "linked_wallet",
|
|
273
|
+
"writable": true
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"name": "authority",
|
|
277
|
+
"writable": true,
|
|
278
|
+
"signer": true
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "system_program"
|
|
282
|
+
}
|
|
283
|
+
],
|
|
284
|
+
"args": [
|
|
285
|
+
{
|
|
286
|
+
"name": "wallet",
|
|
287
|
+
"type": "pubkey"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"name": "chain",
|
|
291
|
+
"type": "string"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"name": "label",
|
|
295
|
+
"type": "string"
|
|
296
|
+
}
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"name": "unlink_wallet",
|
|
301
|
+
"discriminator": [
|
|
302
|
+
220,
|
|
303
|
+
121,
|
|
304
|
+
97,
|
|
305
|
+
13,
|
|
306
|
+
193,
|
|
307
|
+
137,
|
|
308
|
+
209,
|
|
309
|
+
159
|
|
310
|
+
],
|
|
311
|
+
"accounts": [
|
|
312
|
+
{
|
|
313
|
+
"name": "genesis"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"name": "linked_wallet",
|
|
317
|
+
"writable": true
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"name": "authority",
|
|
321
|
+
"signer": true
|
|
322
|
+
}
|
|
323
|
+
],
|
|
324
|
+
"args": []
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"name": "update_reputation",
|
|
328
|
+
"docs": [
|
|
329
|
+
"Update reputation score — CPI-only via authorized program PDA.",
|
|
330
|
+
"The caller_authority must be a PDA derived from an authorized program.",
|
|
331
|
+
"Direct wallet calls are rejected by verifying the caller is a PDA",
|
|
332
|
+
"(not on the ed25519 curve)."
|
|
333
|
+
],
|
|
334
|
+
"discriminator": [
|
|
335
|
+
194,
|
|
336
|
+
220,
|
|
337
|
+
43,
|
|
338
|
+
201,
|
|
339
|
+
54,
|
|
340
|
+
209,
|
|
341
|
+
49,
|
|
342
|
+
178
|
|
343
|
+
],
|
|
344
|
+
"accounts": [
|
|
345
|
+
{
|
|
346
|
+
"name": "genesis",
|
|
347
|
+
"writable": true
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"name": "caller_authority",
|
|
351
|
+
"docs": [
|
|
352
|
+
"Caller must be a PDA signer — enforces CPI-only access.",
|
|
353
|
+
"The reputation program signs with its PDA [b\"reputation_v3_authority\"].",
|
|
354
|
+
"Direct wallet calls will fail because wallets can't sign as a PDA."
|
|
355
|
+
],
|
|
356
|
+
"signer": true
|
|
357
|
+
}
|
|
358
|
+
],
|
|
359
|
+
"args": [
|
|
360
|
+
{
|
|
361
|
+
"name": "score",
|
|
362
|
+
"type": "u64"
|
|
363
|
+
}
|
|
364
|
+
]
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"name": "update_verification",
|
|
368
|
+
"docs": [
|
|
369
|
+
"Update verification level — CPI-only via authorized program PDA."
|
|
370
|
+
],
|
|
371
|
+
"discriminator": [
|
|
372
|
+
81,
|
|
373
|
+
184,
|
|
374
|
+
217,
|
|
375
|
+
235,
|
|
376
|
+
163,
|
|
377
|
+
170,
|
|
378
|
+
228,
|
|
379
|
+
38
|
|
380
|
+
],
|
|
381
|
+
"accounts": [
|
|
382
|
+
{
|
|
383
|
+
"name": "genesis",
|
|
384
|
+
"writable": true
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"name": "caller_authority",
|
|
388
|
+
"docs": [
|
|
389
|
+
"Caller must be a PDA signer — enforces CPI-only access.",
|
|
390
|
+
"The validation program signs with its PDA [b\"validation_v3_authority\"]."
|
|
391
|
+
],
|
|
392
|
+
"signer": true
|
|
393
|
+
}
|
|
394
|
+
],
|
|
395
|
+
"args": [
|
|
396
|
+
{
|
|
397
|
+
"name": "level",
|
|
398
|
+
"type": "u8"
|
|
399
|
+
}
|
|
400
|
+
]
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"name": "update_score_and_level",
|
|
404
|
+
"docs": [
|
|
405
|
+
"Update both score and level — CPI-only via attestations program PDA.",
|
|
406
|
+
"Called by attestations_v3::recompute_score after attestation changes.",
|
|
407
|
+
"Attestation-weighted score (0..1_000_000) and threshold-based level (0..5)."
|
|
408
|
+
],
|
|
409
|
+
"discriminator": [
|
|
410
|
+
208,
|
|
411
|
+
80,
|
|
412
|
+
207,
|
|
413
|
+
58,
|
|
414
|
+
167,
|
|
415
|
+
27,
|
|
416
|
+
205,
|
|
417
|
+
107
|
|
418
|
+
],
|
|
419
|
+
"accounts": [
|
|
420
|
+
{
|
|
421
|
+
"name": "genesis",
|
|
422
|
+
"writable": true
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"name": "caller_authority",
|
|
426
|
+
"docs": [
|
|
427
|
+
"Caller must be the attestations program's PDA [b\"attestations_v3_authority\"]."
|
|
428
|
+
],
|
|
429
|
+
"signer": true
|
|
430
|
+
}
|
|
431
|
+
],
|
|
432
|
+
"args": [
|
|
433
|
+
{
|
|
434
|
+
"name": "score",
|
|
435
|
+
"type": "u64"
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"name": "level",
|
|
439
|
+
"type": "u8"
|
|
440
|
+
}
|
|
441
|
+
]
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"name": "init_mint_tracker",
|
|
445
|
+
"discriminator": [
|
|
446
|
+
176,
|
|
447
|
+
203,
|
|
448
|
+
116,
|
|
449
|
+
40,
|
|
450
|
+
206,
|
|
451
|
+
205,
|
|
452
|
+
156,
|
|
453
|
+
145
|
|
454
|
+
],
|
|
455
|
+
"accounts": [
|
|
456
|
+
{
|
|
457
|
+
"name": "genesis"
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"name": "mint_tracker",
|
|
461
|
+
"writable": true
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"name": "authority",
|
|
465
|
+
"writable": true,
|
|
466
|
+
"signer": true
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"name": "system_program"
|
|
470
|
+
}
|
|
471
|
+
],
|
|
472
|
+
"args": []
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"name": "record_mint",
|
|
476
|
+
"discriminator": [
|
|
477
|
+
162,
|
|
478
|
+
92,
|
|
479
|
+
105,
|
|
480
|
+
126,
|
|
481
|
+
18,
|
|
482
|
+
1,
|
|
483
|
+
158,
|
|
484
|
+
242
|
|
485
|
+
],
|
|
486
|
+
"accounts": [
|
|
487
|
+
{
|
|
488
|
+
"name": "genesis"
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"name": "mint_tracker",
|
|
492
|
+
"writable": true
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
"name": "authority",
|
|
496
|
+
"signer": true
|
|
497
|
+
}
|
|
498
|
+
],
|
|
499
|
+
"args": []
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"name": "deactivate_identity",
|
|
503
|
+
"docs": [
|
|
504
|
+
"Deactivate an identity. Authority only.",
|
|
505
|
+
"Deactivated identities cannot perform actions",
|
|
506
|
+
"but remain on-chain for historical reference."
|
|
507
|
+
],
|
|
508
|
+
"discriminator": [
|
|
509
|
+
58,
|
|
510
|
+
175,
|
|
511
|
+
10,
|
|
512
|
+
246,
|
|
513
|
+
145,
|
|
514
|
+
179,
|
|
515
|
+
1,
|
|
516
|
+
179
|
|
517
|
+
],
|
|
518
|
+
"accounts": [
|
|
519
|
+
{
|
|
520
|
+
"name": "genesis",
|
|
521
|
+
"writable": true
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"name": "authority",
|
|
525
|
+
"signer": true
|
|
526
|
+
}
|
|
527
|
+
],
|
|
528
|
+
"args": []
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"name": "reactivate_identity",
|
|
532
|
+
"docs": [
|
|
533
|
+
"Reactivate a previously deactivated identity."
|
|
534
|
+
],
|
|
535
|
+
"discriminator": [
|
|
536
|
+
200,
|
|
537
|
+
24,
|
|
538
|
+
123,
|
|
539
|
+
17,
|
|
540
|
+
93,
|
|
541
|
+
88,
|
|
542
|
+
85,
|
|
543
|
+
23
|
|
544
|
+
],
|
|
545
|
+
"accounts": [
|
|
546
|
+
{
|
|
547
|
+
"name": "genesis",
|
|
548
|
+
"writable": true
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
"name": "authority",
|
|
552
|
+
"signer": true
|
|
553
|
+
}
|
|
554
|
+
],
|
|
555
|
+
"args": []
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"name": "register_name",
|
|
559
|
+
"docs": [
|
|
560
|
+
"Register a unique name for an agent identity.",
|
|
561
|
+
"PDA seed: `[b\"name_registry\", name_hash]` where name_hash = SHA-256(lowercase(name))",
|
|
562
|
+
"Once claimed, no other identity can use the same name (case-insensitive)."
|
|
563
|
+
],
|
|
564
|
+
"discriminator": [
|
|
565
|
+
101,
|
|
566
|
+
120,
|
|
567
|
+
221,
|
|
568
|
+
151,
|
|
569
|
+
68,
|
|
570
|
+
123,
|
|
571
|
+
191,
|
|
572
|
+
103
|
|
573
|
+
],
|
|
574
|
+
"accounts": [
|
|
575
|
+
{
|
|
576
|
+
"name": "genesis",
|
|
577
|
+
"writable": true
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"name": "name_registry",
|
|
581
|
+
"writable": true
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"name": "authority",
|
|
585
|
+
"writable": true,
|
|
586
|
+
"signer": true
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"name": "system_program"
|
|
590
|
+
}
|
|
591
|
+
],
|
|
592
|
+
"args": [
|
|
593
|
+
{
|
|
594
|
+
"name": "name",
|
|
595
|
+
"type": "string"
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"name": "name_hash",
|
|
599
|
+
"type": {
|
|
600
|
+
"array": [
|
|
601
|
+
"u8",
|
|
602
|
+
32
|
|
603
|
+
]
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
]
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"name": "release_name",
|
|
610
|
+
"docs": [
|
|
611
|
+
"Release a registered name. Authority only.",
|
|
612
|
+
"Frees the name for others to claim."
|
|
613
|
+
],
|
|
614
|
+
"discriminator": [
|
|
615
|
+
3,
|
|
616
|
+
68,
|
|
617
|
+
17,
|
|
618
|
+
217,
|
|
619
|
+
57,
|
|
620
|
+
53,
|
|
621
|
+
123,
|
|
622
|
+
164
|
|
623
|
+
],
|
|
624
|
+
"accounts": [
|
|
625
|
+
{
|
|
626
|
+
"name": "genesis"
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"name": "name_registry",
|
|
630
|
+
"writable": true
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"name": "authority",
|
|
634
|
+
"signer": true
|
|
635
|
+
}
|
|
636
|
+
],
|
|
637
|
+
"args": []
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"name": "migrate_v2_to_v3",
|
|
641
|
+
"docs": [
|
|
642
|
+
"Migrate a V2 identity to a V3 Genesis Record.",
|
|
643
|
+
"The V2 authority must sign to prove ownership.",
|
|
644
|
+
"Creates a new V3 PDA seeded by agent_id_hash.",
|
|
645
|
+
"V2 account is NOT closed (stays as historical reference).",
|
|
646
|
+
"",
|
|
647
|
+
"Caller must provide metadata fields since V2 → V3 field mapping",
|
|
648
|
+
"requires agent_id (which V2 doesn't store as a string)."
|
|
649
|
+
],
|
|
650
|
+
"discriminator": [
|
|
651
|
+
25,
|
|
652
|
+
157,
|
|
653
|
+
17,
|
|
654
|
+
205,
|
|
655
|
+
179,
|
|
656
|
+
34,
|
|
657
|
+
196,
|
|
658
|
+
207
|
|
659
|
+
],
|
|
660
|
+
"accounts": [
|
|
661
|
+
{
|
|
662
|
+
"name": "genesis",
|
|
663
|
+
"writable": true
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"name": "v2_authority",
|
|
667
|
+
"docs": [
|
|
668
|
+
"V2 authority wallet — must sign to prove V2 identity ownership.",
|
|
669
|
+
"V2 identity account can be passed as remaining_accounts[0] for verification."
|
|
670
|
+
],
|
|
671
|
+
"writable": true,
|
|
672
|
+
"signer": true
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"name": "system_program"
|
|
676
|
+
}
|
|
677
|
+
],
|
|
678
|
+
"args": [
|
|
679
|
+
{
|
|
680
|
+
"name": "agent_id_hash",
|
|
681
|
+
"type": {
|
|
682
|
+
"array": [
|
|
683
|
+
"u8",
|
|
684
|
+
32
|
|
685
|
+
]
|
|
686
|
+
}
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
"name": "name",
|
|
690
|
+
"type": "string"
|
|
691
|
+
},
|
|
692
|
+
{
|
|
693
|
+
"name": "description",
|
|
694
|
+
"type": "string"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"name": "category",
|
|
698
|
+
"type": "string"
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"name": "capabilities",
|
|
702
|
+
"type": {
|
|
703
|
+
"vec": "string"
|
|
704
|
+
}
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"name": "metadata_uri",
|
|
708
|
+
"type": "string"
|
|
709
|
+
}
|
|
710
|
+
]
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
"name": "admin_set_born",
|
|
714
|
+
"docs": [
|
|
715
|
+
"Admin-only: set genesis_record (birth timestamp) for an agent.",
|
|
716
|
+
"Can only be called by the program's upgrade authority.",
|
|
717
|
+
"Used for agents who already have face data but genesis_record == 0.",
|
|
718
|
+
"Does NOT overwrite face fields — only sets genesis_record if currently 0."
|
|
719
|
+
],
|
|
720
|
+
"discriminator": [
|
|
721
|
+
150,
|
|
722
|
+
145,
|
|
723
|
+
121,
|
|
724
|
+
204,
|
|
725
|
+
30,
|
|
726
|
+
129,
|
|
727
|
+
182,
|
|
728
|
+
99
|
|
729
|
+
],
|
|
730
|
+
"accounts": [
|
|
731
|
+
{
|
|
732
|
+
"name": "genesis",
|
|
733
|
+
"writable": true
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
"name": "upgrade_authority",
|
|
737
|
+
"docs": [
|
|
738
|
+
"The upgrade authority of this program — must be signer"
|
|
739
|
+
],
|
|
740
|
+
"signer": true
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"name": "program",
|
|
744
|
+
"docs": [
|
|
745
|
+
"The executable identity_v3 program account."
|
|
746
|
+
]
|
|
747
|
+
},
|
|
748
|
+
{
|
|
749
|
+
"name": "program_data",
|
|
750
|
+
"docs": [
|
|
751
|
+
"The program's programdata account — used to verify upgrade authority"
|
|
752
|
+
]
|
|
753
|
+
}
|
|
754
|
+
],
|
|
755
|
+
"args": []
|
|
756
|
+
},
|
|
757
|
+
{
|
|
758
|
+
"name": "admin_set_face",
|
|
759
|
+
"docs": [
|
|
760
|
+
"Admin-only: set face data on a born agent whose face fields are empty.",
|
|
761
|
+
"This fixes the V2→V3 migration gap where agents were born via admin_set_born",
|
|
762
|
+
"without carrying over face data from V2 records.",
|
|
763
|
+
"Guards:",
|
|
764
|
+
"- face_image must be currently empty (cannot overwrite existing face data)",
|
|
765
|
+
"- genesis_record must be > 0 (agent must be born)",
|
|
766
|
+
"- Only upgrade authority can call",
|
|
767
|
+
"Does NOT modify: authority, scores, genesis_record, is_active."
|
|
768
|
+
],
|
|
769
|
+
"discriminator": [
|
|
770
|
+
159,
|
|
771
|
+
60,
|
|
772
|
+
220,
|
|
773
|
+
130,
|
|
774
|
+
122,
|
|
775
|
+
7,
|
|
776
|
+
199,
|
|
777
|
+
226
|
|
778
|
+
],
|
|
779
|
+
"accounts": [
|
|
780
|
+
{
|
|
781
|
+
"name": "genesis",
|
|
782
|
+
"writable": true
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
"name": "upgrade_authority",
|
|
786
|
+
"docs": [
|
|
787
|
+
"The upgrade authority of this program — must be signer"
|
|
788
|
+
],
|
|
789
|
+
"writable": true,
|
|
790
|
+
"signer": true
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"name": "program",
|
|
794
|
+
"docs": [
|
|
795
|
+
"The executable identity_v3 program account."
|
|
796
|
+
]
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
"name": "program_data",
|
|
800
|
+
"docs": [
|
|
801
|
+
"The program's programdata account — used to verify upgrade authority"
|
|
802
|
+
]
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"name": "system_program"
|
|
806
|
+
}
|
|
807
|
+
],
|
|
808
|
+
"args": [
|
|
809
|
+
{
|
|
810
|
+
"name": "face_image",
|
|
811
|
+
"type": "string"
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"name": "face_mint",
|
|
815
|
+
"type": "pubkey"
|
|
816
|
+
},
|
|
817
|
+
{
|
|
818
|
+
"name": "face_burn_tx",
|
|
819
|
+
"type": "string"
|
|
820
|
+
}
|
|
821
|
+
]
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"name": "admin_unbirth",
|
|
825
|
+
"docs": [
|
|
826
|
+
"Admin-only: reset an agent's birth status to unborn.",
|
|
827
|
+
"Sets genesis_record = 0 and clears face fields.",
|
|
828
|
+
"Used for agents who were incorrectly marked as born without going",
|
|
829
|
+
"through burn-to-become (e.g., admin_set_born used prematurely).",
|
|
830
|
+
"Guards:",
|
|
831
|
+
"- Only upgrade authority can call",
|
|
832
|
+
"- Face fields must be empty (no real burn-to-become happened)",
|
|
833
|
+
"- If face data exists, use a different fix — this prevents",
|
|
834
|
+
"accidentally unbirting agents who have real soulbound NFTs"
|
|
835
|
+
],
|
|
836
|
+
"discriminator": [
|
|
837
|
+
184,
|
|
838
|
+
19,
|
|
839
|
+
82,
|
|
840
|
+
66,
|
|
841
|
+
150,
|
|
842
|
+
88,
|
|
843
|
+
1,
|
|
844
|
+
97
|
|
845
|
+
],
|
|
846
|
+
"accounts": [
|
|
847
|
+
{
|
|
848
|
+
"name": "genesis",
|
|
849
|
+
"writable": true
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"name": "upgrade_authority",
|
|
853
|
+
"signer": true
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"name": "program",
|
|
857
|
+
"docs": [
|
|
858
|
+
"The executable identity_v3 program account."
|
|
859
|
+
]
|
|
860
|
+
},
|
|
861
|
+
{
|
|
862
|
+
"name": "program_data"
|
|
863
|
+
}
|
|
864
|
+
],
|
|
865
|
+
"args": []
|
|
866
|
+
},
|
|
867
|
+
{
|
|
868
|
+
"name": "admin_close_stale",
|
|
869
|
+
"docs": [
|
|
870
|
+
"Admin-only: close a stale/deactivated genesis account and reclaim rent.",
|
|
871
|
+
"Guards:",
|
|
872
|
+
"- Only upgrade authority can call",
|
|
873
|
+
"- Account must be owned by this program",
|
|
874
|
+
"- Account must NOT be the canonical active V3 record (size != 1384 OR is_active == false)",
|
|
875
|
+
"- For V3 accounts (1384 bytes): must have is_active == false",
|
|
876
|
+
"- For V2 accounts (1383 bytes or other): can be closed unconditionally (legacy)",
|
|
877
|
+
"Lamports are sent to the rent_recipient."
|
|
878
|
+
],
|
|
879
|
+
"discriminator": [
|
|
880
|
+
24,
|
|
881
|
+
85,
|
|
882
|
+
249,
|
|
883
|
+
213,
|
|
884
|
+
62,
|
|
885
|
+
192,
|
|
886
|
+
22,
|
|
887
|
+
231
|
|
888
|
+
],
|
|
889
|
+
"accounts": [
|
|
890
|
+
{
|
|
891
|
+
"name": "stale_account",
|
|
892
|
+
"docs": [
|
|
893
|
+
"The stale account to close. Must be owned by this program."
|
|
894
|
+
],
|
|
895
|
+
"writable": true
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
"name": "rent_recipient",
|
|
899
|
+
"docs": [
|
|
900
|
+
"Receives the reclaimed lamports (typically the upgrade authority)"
|
|
901
|
+
],
|
|
902
|
+
"writable": true
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
"name": "upgrade_authority",
|
|
906
|
+
"docs": [
|
|
907
|
+
"The upgrade authority of this program — must be signer"
|
|
908
|
+
],
|
|
909
|
+
"signer": true
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"name": "program",
|
|
913
|
+
"docs": [
|
|
914
|
+
"The executable identity_v3 program account."
|
|
915
|
+
]
|
|
916
|
+
},
|
|
917
|
+
{
|
|
918
|
+
"name": "program_data",
|
|
919
|
+
"docs": [
|
|
920
|
+
"The program's programdata account — used to verify upgrade authority"
|
|
921
|
+
]
|
|
922
|
+
}
|
|
923
|
+
],
|
|
924
|
+
"args": []
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
"name": "admin_delete_identity",
|
|
928
|
+
"docs": [
|
|
929
|
+
"Admin-only: delete (close) any genesis record regardless of active status.",
|
|
930
|
+
"Use case: cleaning up test/spam registrations on-chain.",
|
|
931
|
+
"Unlike admin_close_stale, this does NOT require the account to be deactivated.",
|
|
932
|
+
"Guards:",
|
|
933
|
+
"- Only upgrade authority can call (verified via programdata)",
|
|
934
|
+
"- Account must be owned by this program",
|
|
935
|
+
"Emits: IdentityDeleted event"
|
|
936
|
+
],
|
|
937
|
+
"discriminator": [
|
|
938
|
+
212,
|
|
939
|
+
226,
|
|
940
|
+
85,
|
|
941
|
+
160,
|
|
942
|
+
183,
|
|
943
|
+
57,
|
|
944
|
+
116,
|
|
945
|
+
145
|
|
946
|
+
],
|
|
947
|
+
"accounts": [
|
|
948
|
+
{
|
|
949
|
+
"name": "target_account",
|
|
950
|
+
"docs": [
|
|
951
|
+
"The account to delete. Must be owned by this program."
|
|
952
|
+
],
|
|
953
|
+
"writable": true
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
"name": "rent_recipient",
|
|
957
|
+
"docs": [
|
|
958
|
+
"Receives the reclaimed lamports"
|
|
959
|
+
],
|
|
960
|
+
"writable": true
|
|
961
|
+
},
|
|
962
|
+
{
|
|
963
|
+
"name": "upgrade_authority",
|
|
964
|
+
"docs": [
|
|
965
|
+
"The upgrade authority of this program — must be signer"
|
|
966
|
+
],
|
|
967
|
+
"signer": true
|
|
968
|
+
},
|
|
969
|
+
{
|
|
970
|
+
"name": "program",
|
|
971
|
+
"docs": [
|
|
972
|
+
"The executable identity_v3 program account."
|
|
973
|
+
]
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
"name": "program_data",
|
|
977
|
+
"docs": [
|
|
978
|
+
"The program's programdata account — used to verify upgrade authority"
|
|
979
|
+
]
|
|
980
|
+
}
|
|
981
|
+
],
|
|
982
|
+
"args": []
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
"name": "admin_set_authority",
|
|
986
|
+
"docs": [
|
|
987
|
+
"Admin-only: force-set authority on a genesis record.",
|
|
988
|
+
"Use case: agent keypair is lost/inaccessible, cannot complete propose/accept flow.",
|
|
989
|
+
"Guards:",
|
|
990
|
+
"- Only upgrade authority can call",
|
|
991
|
+
"- Agent must be active",
|
|
992
|
+
"- Clears any pending_authority"
|
|
993
|
+
],
|
|
994
|
+
"discriminator": [
|
|
995
|
+
7,
|
|
996
|
+
72,
|
|
997
|
+
233,
|
|
998
|
+
189,
|
|
999
|
+
124,
|
|
1000
|
+
10,
|
|
1001
|
+
225,
|
|
1002
|
+
76
|
|
1003
|
+
],
|
|
1004
|
+
"accounts": [
|
|
1005
|
+
{
|
|
1006
|
+
"name": "genesis",
|
|
1007
|
+
"writable": true
|
|
1008
|
+
},
|
|
1009
|
+
{
|
|
1010
|
+
"name": "upgrade_authority",
|
|
1011
|
+
"docs": [
|
|
1012
|
+
"The upgrade authority of this program — must be signer"
|
|
1013
|
+
],
|
|
1014
|
+
"signer": true
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
"name": "program",
|
|
1018
|
+
"docs": [
|
|
1019
|
+
"The executable identity_v3 program account."
|
|
1020
|
+
]
|
|
1021
|
+
},
|
|
1022
|
+
{
|
|
1023
|
+
"name": "program_data"
|
|
1024
|
+
}
|
|
1025
|
+
],
|
|
1026
|
+
"args": [
|
|
1027
|
+
{
|
|
1028
|
+
"name": "new_authority",
|
|
1029
|
+
"type": "pubkey"
|
|
1030
|
+
}
|
|
1031
|
+
]
|
|
1032
|
+
},
|
|
1033
|
+
{
|
|
1034
|
+
"name": "admin_set_score",
|
|
1035
|
+
"docs": [
|
|
1036
|
+
"Admin-only: directly set reputation score and verification level.",
|
|
1037
|
+
"Use case: correcting scores after recompute CPI set wrong values,",
|
|
1038
|
+
"or syncing on-chain state with authoritative DB values.",
|
|
1039
|
+
"Guards:",
|
|
1040
|
+
"- Only upgrade authority can call (verified via programdata)",
|
|
1041
|
+
"- Score must be 0..=1_000_000",
|
|
1042
|
+
"- Level must be 0..=5",
|
|
1043
|
+
"- Agent must be active",
|
|
1044
|
+
"Emits: ScoreSet event"
|
|
1045
|
+
],
|
|
1046
|
+
"discriminator": [
|
|
1047
|
+
9,
|
|
1048
|
+
246,
|
|
1049
|
+
158,
|
|
1050
|
+
3,
|
|
1051
|
+
55,
|
|
1052
|
+
42,
|
|
1053
|
+
5,
|
|
1054
|
+
172
|
|
1055
|
+
],
|
|
1056
|
+
"accounts": [
|
|
1057
|
+
{
|
|
1058
|
+
"name": "genesis",
|
|
1059
|
+
"writable": true
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
"name": "upgrade_authority",
|
|
1063
|
+
"docs": [
|
|
1064
|
+
"The upgrade authority of this program — must be signer"
|
|
1065
|
+
],
|
|
1066
|
+
"signer": true
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"name": "program",
|
|
1070
|
+
"docs": [
|
|
1071
|
+
"The executable identity_v3 program account."
|
|
1072
|
+
]
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
"name": "program_data"
|
|
1076
|
+
}
|
|
1077
|
+
],
|
|
1078
|
+
"args": [
|
|
1079
|
+
{
|
|
1080
|
+
"name": "score",
|
|
1081
|
+
"type": "u64"
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
"name": "level",
|
|
1085
|
+
"type": "u8"
|
|
1086
|
+
}
|
|
1087
|
+
]
|
|
1088
|
+
}
|
|
1089
|
+
],
|
|
1090
|
+
"accounts": [
|
|
1091
|
+
{
|
|
1092
|
+
"name": "identity_v3::GenesisRecord",
|
|
1093
|
+
"discriminator": [
|
|
1094
|
+
22,
|
|
1095
|
+
160,
|
|
1096
|
+
245,
|
|
1097
|
+
112,
|
|
1098
|
+
178,
|
|
1099
|
+
126,
|
|
1100
|
+
177,
|
|
1101
|
+
106
|
|
1102
|
+
]
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"name": "identity_v3::LinkedWallet",
|
|
1106
|
+
"discriminator": [
|
|
1107
|
+
43,
|
|
1108
|
+
44,
|
|
1109
|
+
217,
|
|
1110
|
+
238,
|
|
1111
|
+
93,
|
|
1112
|
+
127,
|
|
1113
|
+
166,
|
|
1114
|
+
59
|
|
1115
|
+
]
|
|
1116
|
+
},
|
|
1117
|
+
{
|
|
1118
|
+
"name": "identity_v3::MintTracker",
|
|
1119
|
+
"discriminator": [
|
|
1120
|
+
217,
|
|
1121
|
+
230,
|
|
1122
|
+
22,
|
|
1123
|
+
187,
|
|
1124
|
+
250,
|
|
1125
|
+
88,
|
|
1126
|
+
11,
|
|
1127
|
+
174
|
|
1128
|
+
]
|
|
1129
|
+
},
|
|
1130
|
+
{
|
|
1131
|
+
"name": "identity_v3::NameRegistry",
|
|
1132
|
+
"discriminator": [
|
|
1133
|
+
169,
|
|
1134
|
+
63,
|
|
1135
|
+
83,
|
|
1136
|
+
240,
|
|
1137
|
+
198,
|
|
1138
|
+
158,
|
|
1139
|
+
53,
|
|
1140
|
+
11
|
|
1141
|
+
]
|
|
1142
|
+
}
|
|
1143
|
+
],
|
|
1144
|
+
"types": [
|
|
1145
|
+
{
|
|
1146
|
+
"name": "identity_v3::GenesisRecord",
|
|
1147
|
+
"type": {
|
|
1148
|
+
"kind": "struct",
|
|
1149
|
+
"fields": [
|
|
1150
|
+
{
|
|
1151
|
+
"name": "agent_id_hash",
|
|
1152
|
+
"type": {
|
|
1153
|
+
"array": [
|
|
1154
|
+
"u8",
|
|
1155
|
+
32
|
|
1156
|
+
]
|
|
1157
|
+
}
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"name": "agent_name",
|
|
1161
|
+
"type": "string"
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
"name": "description",
|
|
1165
|
+
"type": "string"
|
|
1166
|
+
},
|
|
1167
|
+
{
|
|
1168
|
+
"name": "category",
|
|
1169
|
+
"type": "string"
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
"name": "capabilities",
|
|
1173
|
+
"type": {
|
|
1174
|
+
"vec": "string"
|
|
1175
|
+
}
|
|
1176
|
+
},
|
|
1177
|
+
{
|
|
1178
|
+
"name": "metadata_uri",
|
|
1179
|
+
"type": "string"
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
"name": "face_image",
|
|
1183
|
+
"type": "string"
|
|
1184
|
+
},
|
|
1185
|
+
{
|
|
1186
|
+
"name": "face_mint",
|
|
1187
|
+
"type": "pubkey"
|
|
1188
|
+
},
|
|
1189
|
+
{
|
|
1190
|
+
"name": "face_burn_tx",
|
|
1191
|
+
"type": "string"
|
|
1192
|
+
},
|
|
1193
|
+
{
|
|
1194
|
+
"name": "genesis_record",
|
|
1195
|
+
"type": "i64"
|
|
1196
|
+
},
|
|
1197
|
+
{
|
|
1198
|
+
"name": "is_active",
|
|
1199
|
+
"type": "bool"
|
|
1200
|
+
},
|
|
1201
|
+
{
|
|
1202
|
+
"name": "authority",
|
|
1203
|
+
"type": "pubkey"
|
|
1204
|
+
},
|
|
1205
|
+
{
|
|
1206
|
+
"name": "pending_authority",
|
|
1207
|
+
"type": {
|
|
1208
|
+
"option": "pubkey"
|
|
1209
|
+
}
|
|
1210
|
+
},
|
|
1211
|
+
{
|
|
1212
|
+
"name": "reputation_score",
|
|
1213
|
+
"type": "u64"
|
|
1214
|
+
},
|
|
1215
|
+
{
|
|
1216
|
+
"name": "verification_level",
|
|
1217
|
+
"type": "u8"
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"name": "reputation_updated_at",
|
|
1221
|
+
"type": "i64"
|
|
1222
|
+
},
|
|
1223
|
+
{
|
|
1224
|
+
"name": "verification_updated_at",
|
|
1225
|
+
"type": "i64"
|
|
1226
|
+
},
|
|
1227
|
+
{
|
|
1228
|
+
"name": "created_at",
|
|
1229
|
+
"type": "i64"
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"name": "updated_at",
|
|
1233
|
+
"type": "i64"
|
|
1234
|
+
},
|
|
1235
|
+
{
|
|
1236
|
+
"name": "bump",
|
|
1237
|
+
"type": "u8"
|
|
1238
|
+
}
|
|
1239
|
+
]
|
|
1240
|
+
}
|
|
1241
|
+
},
|
|
1242
|
+
{
|
|
1243
|
+
"name": "identity_v3::LinkedWallet",
|
|
1244
|
+
"type": {
|
|
1245
|
+
"kind": "struct",
|
|
1246
|
+
"fields": [
|
|
1247
|
+
{
|
|
1248
|
+
"name": "identity",
|
|
1249
|
+
"type": "pubkey"
|
|
1250
|
+
},
|
|
1251
|
+
{
|
|
1252
|
+
"name": "wallet",
|
|
1253
|
+
"type": "pubkey"
|
|
1254
|
+
},
|
|
1255
|
+
{
|
|
1256
|
+
"name": "chain",
|
|
1257
|
+
"type": "string"
|
|
1258
|
+
},
|
|
1259
|
+
{
|
|
1260
|
+
"name": "label",
|
|
1261
|
+
"type": "string"
|
|
1262
|
+
},
|
|
1263
|
+
{
|
|
1264
|
+
"name": "verified_at",
|
|
1265
|
+
"type": "i64"
|
|
1266
|
+
},
|
|
1267
|
+
{
|
|
1268
|
+
"name": "is_active",
|
|
1269
|
+
"type": "bool"
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
"name": "bump",
|
|
1273
|
+
"type": "u8"
|
|
1274
|
+
}
|
|
1275
|
+
]
|
|
1276
|
+
}
|
|
1277
|
+
},
|
|
1278
|
+
{
|
|
1279
|
+
"name": "identity_v3::MintTracker",
|
|
1280
|
+
"type": {
|
|
1281
|
+
"kind": "struct",
|
|
1282
|
+
"fields": [
|
|
1283
|
+
{
|
|
1284
|
+
"name": "identity",
|
|
1285
|
+
"type": "pubkey"
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
"name": "mint_count",
|
|
1289
|
+
"type": "u8"
|
|
1290
|
+
},
|
|
1291
|
+
{
|
|
1292
|
+
"name": "last_mint_timestamp",
|
|
1293
|
+
"type": "i64"
|
|
1294
|
+
},
|
|
1295
|
+
{
|
|
1296
|
+
"name": "bump",
|
|
1297
|
+
"type": "u8"
|
|
1298
|
+
}
|
|
1299
|
+
]
|
|
1300
|
+
}
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
"name": "identity_v3::NameRegistry",
|
|
1304
|
+
"type": {
|
|
1305
|
+
"kind": "struct",
|
|
1306
|
+
"fields": [
|
|
1307
|
+
{
|
|
1308
|
+
"name": "name",
|
|
1309
|
+
"type": "string"
|
|
1310
|
+
},
|
|
1311
|
+
{
|
|
1312
|
+
"name": "name_hash",
|
|
1313
|
+
"type": {
|
|
1314
|
+
"array": [
|
|
1315
|
+
"u8",
|
|
1316
|
+
32
|
|
1317
|
+
]
|
|
1318
|
+
}
|
|
1319
|
+
},
|
|
1320
|
+
{
|
|
1321
|
+
"name": "identity",
|
|
1322
|
+
"type": "pubkey"
|
|
1323
|
+
},
|
|
1324
|
+
{
|
|
1325
|
+
"name": "authority",
|
|
1326
|
+
"type": "pubkey"
|
|
1327
|
+
},
|
|
1328
|
+
{
|
|
1329
|
+
"name": "registered_at",
|
|
1330
|
+
"type": "i64"
|
|
1331
|
+
},
|
|
1332
|
+
{
|
|
1333
|
+
"name": "is_active",
|
|
1334
|
+
"type": "bool"
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
"name": "bump",
|
|
1338
|
+
"type": "u8"
|
|
1339
|
+
}
|
|
1340
|
+
]
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
]
|
|
1344
|
+
}
|