nebulon-escrow-cli 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.
@@ -0,0 +1,4320 @@
1
+ {
2
+ "address": "6UqkmQ2iCkf3acBB71DdXtVd49EyuaftMz8V3E74USbC",
3
+ "metadata": {
4
+ "name": "nebulon",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0",
7
+ "description": "Nebulon smart contract"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "add_milestone",
12
+ "discriminator": [
13
+ 165,
14
+ 18,
15
+ 177,
16
+ 128,
17
+ 204,
18
+ 172,
19
+ 23,
20
+ 249
21
+ ],
22
+ "accounts": [
23
+ {
24
+ "name": "actor",
25
+ "writable": true,
26
+ "signer": true
27
+ },
28
+ {
29
+ "name": "escrow",
30
+ "writable": true,
31
+ "pda": {
32
+ "seeds": [
33
+ {
34
+ "kind": "const",
35
+ "value": [
36
+ 101,
37
+ 115,
38
+ 99,
39
+ 114,
40
+ 111,
41
+ 119
42
+ ]
43
+ },
44
+ {
45
+ "kind": "account",
46
+ "path": "escrow.client",
47
+ "account": "Escrow"
48
+ },
49
+ {
50
+ "kind": "arg",
51
+ "path": "escrow_id"
52
+ }
53
+ ]
54
+ }
55
+ },
56
+ {
57
+ "name": "milestone",
58
+ "writable": true
59
+ },
60
+ {
61
+ "name": "system_program",
62
+ "address": "11111111111111111111111111111111"
63
+ }
64
+ ],
65
+ "args": [
66
+ {
67
+ "name": "escrow_id",
68
+ "type": "u64"
69
+ },
70
+ {
71
+ "name": "index",
72
+ "type": "u8"
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "name": "approve_milestone",
78
+ "discriminator": [
79
+ 145,
80
+ 85,
81
+ 92,
82
+ 60,
83
+ 50,
84
+ 130,
85
+ 219,
86
+ 106
87
+ ],
88
+ "accounts": [
89
+ {
90
+ "name": "client",
91
+ "writable": true,
92
+ "signer": true
93
+ },
94
+ {
95
+ "name": "escrow",
96
+ "writable": true,
97
+ "pda": {
98
+ "seeds": [
99
+ {
100
+ "kind": "const",
101
+ "value": [
102
+ 101,
103
+ 115,
104
+ 99,
105
+ 114,
106
+ 111,
107
+ 119
108
+ ]
109
+ },
110
+ {
111
+ "kind": "account",
112
+ "path": "client"
113
+ },
114
+ {
115
+ "kind": "arg",
116
+ "path": "escrow_id"
117
+ }
118
+ ]
119
+ }
120
+ },
121
+ {
122
+ "name": "milestone",
123
+ "writable": true
124
+ }
125
+ ],
126
+ "args": [
127
+ {
128
+ "name": "escrow_id",
129
+ "type": "u64"
130
+ },
131
+ {
132
+ "name": "index",
133
+ "type": "u8"
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "name": "claim_funds",
139
+ "discriminator": [
140
+ 145,
141
+ 36,
142
+ 143,
143
+ 242,
144
+ 168,
145
+ 66,
146
+ 200,
147
+ 155
148
+ ],
149
+ "accounts": [
150
+ {
151
+ "name": "contractor",
152
+ "writable": true,
153
+ "signer": true
154
+ },
155
+ {
156
+ "name": "creator",
157
+ "writable": true
158
+ },
159
+ {
160
+ "name": "escrow",
161
+ "writable": true,
162
+ "pda": {
163
+ "seeds": [
164
+ {
165
+ "kind": "const",
166
+ "value": [
167
+ 101,
168
+ 115,
169
+ 99,
170
+ 114,
171
+ 111,
172
+ 119
173
+ ]
174
+ },
175
+ {
176
+ "kind": "account",
177
+ "path": "escrow.client",
178
+ "account": "Escrow"
179
+ },
180
+ {
181
+ "kind": "arg",
182
+ "path": "escrow_id"
183
+ }
184
+ ]
185
+ }
186
+ },
187
+ {
188
+ "name": "contractor_token",
189
+ "writable": true
190
+ },
191
+ {
192
+ "name": "vault_token",
193
+ "writable": true
194
+ },
195
+ {
196
+ "name": "token_program",
197
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
198
+ }
199
+ ],
200
+ "args": [
201
+ {
202
+ "name": "escrow_id",
203
+ "type": "u64"
204
+ }
205
+ ]
206
+ },
207
+ {
208
+ "name": "claim_timeout_funds",
209
+ "docs": [
210
+ "Contractor claim when timeout flag is set."
211
+ ],
212
+ "discriminator": [
213
+ 170,
214
+ 25,
215
+ 128,
216
+ 53,
217
+ 164,
218
+ 200,
219
+ 27,
220
+ 110
221
+ ],
222
+ "accounts": [
223
+ {
224
+ "name": "contractor",
225
+ "writable": true,
226
+ "signer": true
227
+ },
228
+ {
229
+ "name": "creator",
230
+ "writable": true
231
+ },
232
+ {
233
+ "name": "escrow",
234
+ "writable": true,
235
+ "pda": {
236
+ "seeds": [
237
+ {
238
+ "kind": "const",
239
+ "value": [
240
+ 101,
241
+ 115,
242
+ 99,
243
+ 114,
244
+ 111,
245
+ 119
246
+ ]
247
+ },
248
+ {
249
+ "kind": "account",
250
+ "path": "escrow.client",
251
+ "account": "Escrow"
252
+ },
253
+ {
254
+ "kind": "arg",
255
+ "path": "escrow_id"
256
+ }
257
+ ]
258
+ }
259
+ },
260
+ {
261
+ "name": "contractor_token",
262
+ "writable": true
263
+ },
264
+ {
265
+ "name": "vault_token",
266
+ "writable": true
267
+ },
268
+ {
269
+ "name": "token_program",
270
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
271
+ }
272
+ ],
273
+ "args": [
274
+ {
275
+ "name": "escrow_id",
276
+ "type": "u64"
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ "name": "claim_timeout_refund",
282
+ "docs": [
283
+ "Client refund when timeout flag is set (no dispute)."
284
+ ],
285
+ "discriminator": [
286
+ 223,
287
+ 7,
288
+ 30,
289
+ 48,
290
+ 35,
291
+ 13,
292
+ 15,
293
+ 75
294
+ ],
295
+ "accounts": [
296
+ {
297
+ "name": "client",
298
+ "writable": true,
299
+ "signer": true
300
+ },
301
+ {
302
+ "name": "creator",
303
+ "writable": true
304
+ },
305
+ {
306
+ "name": "escrow",
307
+ "writable": true,
308
+ "pda": {
309
+ "seeds": [
310
+ {
311
+ "kind": "const",
312
+ "value": [
313
+ 101,
314
+ 115,
315
+ 99,
316
+ 114,
317
+ 111,
318
+ 119
319
+ ]
320
+ },
321
+ {
322
+ "kind": "account",
323
+ "path": "client"
324
+ },
325
+ {
326
+ "kind": "arg",
327
+ "path": "escrow_id"
328
+ }
329
+ ]
330
+ }
331
+ },
332
+ {
333
+ "name": "client_token",
334
+ "writable": true
335
+ },
336
+ {
337
+ "name": "vault_token",
338
+ "writable": true
339
+ },
340
+ {
341
+ "name": "token_program",
342
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
343
+ }
344
+ ],
345
+ "args": [
346
+ {
347
+ "name": "escrow_id",
348
+ "type": "u64"
349
+ }
350
+ ]
351
+ },
352
+ {
353
+ "name": "close_escrow",
354
+ "discriminator": [
355
+ 139,
356
+ 171,
357
+ 94,
358
+ 146,
359
+ 191,
360
+ 91,
361
+ 144,
362
+ 50
363
+ ],
364
+ "accounts": [
365
+ {
366
+ "name": "creator",
367
+ "writable": true,
368
+ "signer": true
369
+ },
370
+ {
371
+ "name": "escrow",
372
+ "writable": true
373
+ }
374
+ ],
375
+ "args": [
376
+ {
377
+ "name": "escrow_id",
378
+ "type": "u64"
379
+ }
380
+ ]
381
+ },
382
+ {
383
+ "name": "commit_account",
384
+ "docs": [
385
+ "Manual commit any delegated PDA in ER."
386
+ ],
387
+ "discriminator": [
388
+ 158,
389
+ 250,
390
+ 53,
391
+ 28,
392
+ 25,
393
+ 111,
394
+ 26,
395
+ 155
396
+ ],
397
+ "accounts": [
398
+ {
399
+ "name": "payer",
400
+ "writable": true,
401
+ "signer": true
402
+ },
403
+ {
404
+ "name": "pda",
405
+ "writable": true
406
+ },
407
+ {
408
+ "name": "magic_program",
409
+ "address": "Magic11111111111111111111111111111111111111"
410
+ },
411
+ {
412
+ "name": "magic_context",
413
+ "writable": true,
414
+ "address": "MagicContext1111111111111111111111111111111"
415
+ }
416
+ ],
417
+ "args": []
418
+ },
419
+ {
420
+ "name": "commit_and_undelegate_permission",
421
+ "docs": [
422
+ "Commit and undelegate a permissioned account back to Solana L1."
423
+ ],
424
+ "discriminator": [
425
+ 67,
426
+ 87,
427
+ 223,
428
+ 139,
429
+ 187,
430
+ 5,
431
+ 93,
432
+ 241
433
+ ],
434
+ "accounts": [
435
+ {
436
+ "name": "permissioned_account",
437
+ "writable": true
438
+ },
439
+ {
440
+ "name": "permission",
441
+ "writable": true
442
+ },
443
+ {
444
+ "name": "authority",
445
+ "signer": true
446
+ },
447
+ {
448
+ "name": "permission_program",
449
+ "address": "ACLseoPoyC3cBqoUtkbjZ4aDrkurZW86v19pXz2XQnp1"
450
+ },
451
+ {
452
+ "name": "magic_program"
453
+ },
454
+ {
455
+ "name": "magic_context"
456
+ }
457
+ ],
458
+ "args": [
459
+ {
460
+ "name": "account_type",
461
+ "type": {
462
+ "defined": {
463
+ "name": "AccountType"
464
+ }
465
+ }
466
+ }
467
+ ]
468
+ },
469
+ {
470
+ "name": "commit_escrow",
471
+ "docs": [
472
+ "Manual commit of escrow account in ER."
473
+ ],
474
+ "discriminator": [
475
+ 21,
476
+ 80,
477
+ 181,
478
+ 59,
479
+ 196,
480
+ 138,
481
+ 223,
482
+ 15
483
+ ],
484
+ "accounts": [
485
+ {
486
+ "name": "payer",
487
+ "writable": true,
488
+ "signer": true
489
+ },
490
+ {
491
+ "name": "escrow",
492
+ "writable": true
493
+ },
494
+ {
495
+ "name": "magic_program",
496
+ "address": "Magic11111111111111111111111111111111111111"
497
+ },
498
+ {
499
+ "name": "magic_context",
500
+ "writable": true,
501
+ "address": "MagicContext1111111111111111111111111111111"
502
+ }
503
+ ],
504
+ "args": []
505
+ },
506
+ {
507
+ "name": "commit_milestones",
508
+ "docs": [
509
+ "Commit milestone hash into the escrow (PER-auth)."
510
+ ],
511
+ "discriminator": [
512
+ 102,
513
+ 119,
514
+ 73,
515
+ 51,
516
+ 217,
517
+ 99,
518
+ 126,
519
+ 219
520
+ ],
521
+ "accounts": [
522
+ {
523
+ "name": "user"
524
+ },
525
+ {
526
+ "name": "payer",
527
+ "writable": true,
528
+ "signer": true
529
+ },
530
+ {
531
+ "name": "session_token",
532
+ "optional": true
533
+ },
534
+ {
535
+ "name": "escrow",
536
+ "writable": true,
537
+ "pda": {
538
+ "seeds": [
539
+ {
540
+ "kind": "const",
541
+ "value": [
542
+ 101,
543
+ 115,
544
+ 99,
545
+ 114,
546
+ 111,
547
+ 119
548
+ ]
549
+ },
550
+ {
551
+ "kind": "account",
552
+ "path": "escrow.client",
553
+ "account": "Escrow"
554
+ },
555
+ {
556
+ "kind": "arg",
557
+ "path": "escrow_id"
558
+ }
559
+ ]
560
+ }
561
+ }
562
+ ],
563
+ "args": [
564
+ {
565
+ "name": "escrow_id",
566
+ "type": "u64"
567
+ },
568
+ {
569
+ "name": "milestones_hash",
570
+ "type": {
571
+ "array": [
572
+ "u8",
573
+ 32
574
+ ]
575
+ }
576
+ }
577
+ ]
578
+ },
579
+ {
580
+ "name": "commit_public_milestones",
581
+ "docs": [
582
+ "Commit public milestone hash into the escrow (L1 only)."
583
+ ],
584
+ "discriminator": [
585
+ 152,
586
+ 87,
587
+ 161,
588
+ 200,
589
+ 16,
590
+ 182,
591
+ 68,
592
+ 139
593
+ ],
594
+ "accounts": [
595
+ {
596
+ "name": "user",
597
+ "writable": true,
598
+ "signer": true
599
+ },
600
+ {
601
+ "name": "escrow",
602
+ "writable": true,
603
+ "pda": {
604
+ "seeds": [
605
+ {
606
+ "kind": "const",
607
+ "value": [
608
+ 101,
609
+ 115,
610
+ 99,
611
+ 114,
612
+ 111,
613
+ 119
614
+ ]
615
+ },
616
+ {
617
+ "kind": "account",
618
+ "path": "escrow.client",
619
+ "account": "Escrow"
620
+ },
621
+ {
622
+ "kind": "arg",
623
+ "path": "escrow_id"
624
+ }
625
+ ]
626
+ }
627
+ }
628
+ ],
629
+ "args": [
630
+ {
631
+ "name": "escrow_id",
632
+ "type": "u64"
633
+ },
634
+ {
635
+ "name": "milestones_hash",
636
+ "type": {
637
+ "array": [
638
+ "u8",
639
+ 32
640
+ ]
641
+ }
642
+ }
643
+ ]
644
+ },
645
+ {
646
+ "name": "commit_public_terms",
647
+ "docs": [
648
+ "Commit signed public terms into the escrow (L1 only)."
649
+ ],
650
+ "discriminator": [
651
+ 220,
652
+ 81,
653
+ 30,
654
+ 20,
655
+ 224,
656
+ 170,
657
+ 57,
658
+ 56
659
+ ],
660
+ "accounts": [
661
+ {
662
+ "name": "user",
663
+ "writable": true,
664
+ "signer": true
665
+ },
666
+ {
667
+ "name": "escrow",
668
+ "writable": true,
669
+ "pda": {
670
+ "seeds": [
671
+ {
672
+ "kind": "const",
673
+ "value": [
674
+ 101,
675
+ 115,
676
+ 99,
677
+ 114,
678
+ 111,
679
+ 119
680
+ ]
681
+ },
682
+ {
683
+ "kind": "account",
684
+ "path": "escrow.client",
685
+ "account": "Escrow"
686
+ },
687
+ {
688
+ "kind": "arg",
689
+ "path": "escrow_id"
690
+ }
691
+ ]
692
+ }
693
+ },
694
+ {
695
+ "name": "terms",
696
+ "pda": {
697
+ "seeds": [
698
+ {
699
+ "kind": "const",
700
+ "value": [
701
+ 116,
702
+ 101,
703
+ 114,
704
+ 109,
705
+ 115
706
+ ]
707
+ },
708
+ {
709
+ "kind": "account",
710
+ "path": "escrow"
711
+ }
712
+ ]
713
+ }
714
+ }
715
+ ],
716
+ "args": [
717
+ {
718
+ "name": "escrow_id",
719
+ "type": "u64"
720
+ }
721
+ ]
722
+ },
723
+ {
724
+ "name": "commit_terms",
725
+ "docs": [
726
+ "Commit signed terms into the escrow (PER-auth)."
727
+ ],
728
+ "discriminator": [
729
+ 74,
730
+ 147,
731
+ 78,
732
+ 203,
733
+ 240,
734
+ 76,
735
+ 89,
736
+ 96
737
+ ],
738
+ "accounts": [
739
+ {
740
+ "name": "user"
741
+ },
742
+ {
743
+ "name": "payer",
744
+ "writable": true,
745
+ "signer": true
746
+ },
747
+ {
748
+ "name": "session_token",
749
+ "optional": true
750
+ },
751
+ {
752
+ "name": "escrow",
753
+ "writable": true,
754
+ "pda": {
755
+ "seeds": [
756
+ {
757
+ "kind": "const",
758
+ "value": [
759
+ 101,
760
+ 115,
761
+ 99,
762
+ 114,
763
+ 111,
764
+ 119
765
+ ]
766
+ },
767
+ {
768
+ "kind": "account",
769
+ "path": "escrow.client",
770
+ "account": "Escrow"
771
+ },
772
+ {
773
+ "kind": "arg",
774
+ "path": "escrow_id"
775
+ }
776
+ ]
777
+ }
778
+ },
779
+ {
780
+ "name": "terms",
781
+ "pda": {
782
+ "seeds": [
783
+ {
784
+ "kind": "const",
785
+ "value": [
786
+ 116,
787
+ 101,
788
+ 114,
789
+ 109,
790
+ 115
791
+ ]
792
+ },
793
+ {
794
+ "kind": "account",
795
+ "path": "escrow"
796
+ }
797
+ ]
798
+ }
799
+ }
800
+ ],
801
+ "args": [
802
+ {
803
+ "name": "escrow_id",
804
+ "type": "u64"
805
+ }
806
+ ]
807
+ },
808
+ {
809
+ "name": "create_escrow",
810
+ "discriminator": [
811
+ 253,
812
+ 215,
813
+ 165,
814
+ 116,
815
+ 36,
816
+ 108,
817
+ 68,
818
+ 80
819
+ ],
820
+ "accounts": [
821
+ {
822
+ "name": "payer",
823
+ "writable": true,
824
+ "signer": true
825
+ },
826
+ {
827
+ "name": "client"
828
+ },
829
+ {
830
+ "name": "contractor"
831
+ },
832
+ {
833
+ "name": "mint"
834
+ },
835
+ {
836
+ "name": "escrow",
837
+ "writable": true,
838
+ "pda": {
839
+ "seeds": [
840
+ {
841
+ "kind": "const",
842
+ "value": [
843
+ 101,
844
+ 115,
845
+ 99,
846
+ 114,
847
+ 111,
848
+ 119
849
+ ]
850
+ },
851
+ {
852
+ "kind": "account",
853
+ "path": "client"
854
+ },
855
+ {
856
+ "kind": "arg",
857
+ "path": "escrow_id"
858
+ }
859
+ ]
860
+ }
861
+ },
862
+ {
863
+ "name": "per_vault",
864
+ "writable": true,
865
+ "pda": {
866
+ "seeds": [
867
+ {
868
+ "kind": "const",
869
+ "value": [
870
+ 112,
871
+ 101,
872
+ 114,
873
+ 45,
874
+ 118,
875
+ 97,
876
+ 117,
877
+ 108,
878
+ 116
879
+ ]
880
+ },
881
+ {
882
+ "kind": "account",
883
+ "path": "escrow"
884
+ }
885
+ ]
886
+ }
887
+ },
888
+ {
889
+ "name": "vault_token",
890
+ "writable": true,
891
+ "pda": {
892
+ "seeds": [
893
+ {
894
+ "kind": "account",
895
+ "path": "escrow"
896
+ },
897
+ {
898
+ "kind": "const",
899
+ "value": [
900
+ 6,
901
+ 221,
902
+ 246,
903
+ 225,
904
+ 215,
905
+ 101,
906
+ 161,
907
+ 147,
908
+ 217,
909
+ 203,
910
+ 225,
911
+ 70,
912
+ 206,
913
+ 235,
914
+ 121,
915
+ 172,
916
+ 28,
917
+ 180,
918
+ 133,
919
+ 237,
920
+ 95,
921
+ 91,
922
+ 55,
923
+ 145,
924
+ 58,
925
+ 140,
926
+ 245,
927
+ 133,
928
+ 126,
929
+ 255,
930
+ 0,
931
+ 169
932
+ ]
933
+ },
934
+ {
935
+ "kind": "account",
936
+ "path": "mint"
937
+ }
938
+ ],
939
+ "program": {
940
+ "kind": "const",
941
+ "value": [
942
+ 140,
943
+ 151,
944
+ 37,
945
+ 143,
946
+ 78,
947
+ 36,
948
+ 137,
949
+ 241,
950
+ 187,
951
+ 61,
952
+ 16,
953
+ 41,
954
+ 20,
955
+ 142,
956
+ 13,
957
+ 131,
958
+ 11,
959
+ 90,
960
+ 19,
961
+ 153,
962
+ 218,
963
+ 255,
964
+ 16,
965
+ 132,
966
+ 4,
967
+ 142,
968
+ 123,
969
+ 216,
970
+ 219,
971
+ 233,
972
+ 248,
973
+ 89
974
+ ]
975
+ }
976
+ }
977
+ },
978
+ {
979
+ "name": "token_program",
980
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
981
+ },
982
+ {
983
+ "name": "associated_token_program",
984
+ "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
985
+ },
986
+ {
987
+ "name": "system_program",
988
+ "address": "11111111111111111111111111111111"
989
+ }
990
+ ],
991
+ "args": [
992
+ {
993
+ "name": "escrow_id",
994
+ "type": "u64"
995
+ },
996
+ {
997
+ "name": "_judge",
998
+ "type": "pubkey"
999
+ }
1000
+ ]
1001
+ },
1002
+ {
1003
+ "name": "create_permission",
1004
+ "docs": [
1005
+ "Create a permission for a given account type and member list."
1006
+ ],
1007
+ "discriminator": [
1008
+ 190,
1009
+ 182,
1010
+ 26,
1011
+ 164,
1012
+ 156,
1013
+ 221,
1014
+ 8,
1015
+ 0
1016
+ ],
1017
+ "accounts": [
1018
+ {
1019
+ "name": "permissioned_account"
1020
+ },
1021
+ {
1022
+ "name": "permission",
1023
+ "writable": true
1024
+ },
1025
+ {
1026
+ "name": "payer",
1027
+ "writable": true,
1028
+ "signer": true
1029
+ },
1030
+ {
1031
+ "name": "permission_program",
1032
+ "address": "ACLseoPoyC3cBqoUtkbjZ4aDrkurZW86v19pXz2XQnp1"
1033
+ },
1034
+ {
1035
+ "name": "system_program",
1036
+ "address": "11111111111111111111111111111111"
1037
+ }
1038
+ ],
1039
+ "args": [
1040
+ {
1041
+ "name": "account_type",
1042
+ "type": {
1043
+ "defined": {
1044
+ "name": "AccountType"
1045
+ }
1046
+ }
1047
+ },
1048
+ {
1049
+ "name": "members",
1050
+ "type": {
1051
+ "option": {
1052
+ "vec": {
1053
+ "defined": {
1054
+ "name": "Member"
1055
+ }
1056
+ }
1057
+ }
1058
+ }
1059
+ }
1060
+ ]
1061
+ },
1062
+ {
1063
+ "name": "create_private_milestone",
1064
+ "docs": [
1065
+ "Create a private milestone (PER-only). Stores sensitive milestone details off L1."
1066
+ ],
1067
+ "discriminator": [
1068
+ 57,
1069
+ 203,
1070
+ 222,
1071
+ 1,
1072
+ 104,
1073
+ 182,
1074
+ 159,
1075
+ 215
1076
+ ],
1077
+ "accounts": [
1078
+ {
1079
+ "name": "user"
1080
+ },
1081
+ {
1082
+ "name": "payer",
1083
+ "writable": true,
1084
+ "signer": true
1085
+ },
1086
+ {
1087
+ "name": "session_token",
1088
+ "optional": true
1089
+ },
1090
+ {
1091
+ "name": "escrow",
1092
+ "pda": {
1093
+ "seeds": [
1094
+ {
1095
+ "kind": "const",
1096
+ "value": [
1097
+ 101,
1098
+ 115,
1099
+ 99,
1100
+ 114,
1101
+ 111,
1102
+ 119
1103
+ ]
1104
+ },
1105
+ {
1106
+ "kind": "account",
1107
+ "path": "escrow.client",
1108
+ "account": "Escrow"
1109
+ },
1110
+ {
1111
+ "kind": "arg",
1112
+ "path": "escrow_id"
1113
+ }
1114
+ ]
1115
+ }
1116
+ },
1117
+ {
1118
+ "name": "private_milestone",
1119
+ "writable": true
1120
+ },
1121
+ {
1122
+ "name": "per_vault",
1123
+ "writable": true,
1124
+ "pda": {
1125
+ "seeds": [
1126
+ {
1127
+ "kind": "const",
1128
+ "value": [
1129
+ 112,
1130
+ 101,
1131
+ 114,
1132
+ 45,
1133
+ 118,
1134
+ 97,
1135
+ 117,
1136
+ 108,
1137
+ 116
1138
+ ]
1139
+ },
1140
+ {
1141
+ "kind": "account",
1142
+ "path": "escrow"
1143
+ }
1144
+ ]
1145
+ }
1146
+ },
1147
+ {
1148
+ "name": "system_program",
1149
+ "address": "11111111111111111111111111111111"
1150
+ }
1151
+ ],
1152
+ "args": [
1153
+ {
1154
+ "name": "escrow_id",
1155
+ "type": "u64"
1156
+ },
1157
+ {
1158
+ "name": "index",
1159
+ "type": "u8"
1160
+ },
1161
+ {
1162
+ "name": "description_hash",
1163
+ "type": {
1164
+ "array": [
1165
+ "u8",
1166
+ 32
1167
+ ]
1168
+ }
1169
+ },
1170
+ {
1171
+ "name": "encrypted_details",
1172
+ "type": "bytes"
1173
+ }
1174
+ ]
1175
+ },
1176
+ {
1177
+ "name": "create_private_terms",
1178
+ "docs": [
1179
+ "Create private terms (PER-only). Intended to run on PER and not be committed to L1."
1180
+ ],
1181
+ "discriminator": [
1182
+ 225,
1183
+ 103,
1184
+ 250,
1185
+ 143,
1186
+ 175,
1187
+ 28,
1188
+ 201,
1189
+ 152
1190
+ ],
1191
+ "accounts": [
1192
+ {
1193
+ "name": "user"
1194
+ },
1195
+ {
1196
+ "name": "payer",
1197
+ "writable": true,
1198
+ "signer": true
1199
+ },
1200
+ {
1201
+ "name": "session_token",
1202
+ "optional": true
1203
+ },
1204
+ {
1205
+ "name": "escrow",
1206
+ "pda": {
1207
+ "seeds": [
1208
+ {
1209
+ "kind": "const",
1210
+ "value": [
1211
+ 101,
1212
+ 115,
1213
+ 99,
1214
+ 114,
1215
+ 111,
1216
+ 119
1217
+ ]
1218
+ },
1219
+ {
1220
+ "kind": "account",
1221
+ "path": "escrow.client",
1222
+ "account": "Escrow"
1223
+ },
1224
+ {
1225
+ "kind": "arg",
1226
+ "path": "escrow_id"
1227
+ }
1228
+ ]
1229
+ }
1230
+ },
1231
+ {
1232
+ "name": "terms",
1233
+ "writable": true,
1234
+ "pda": {
1235
+ "seeds": [
1236
+ {
1237
+ "kind": "const",
1238
+ "value": [
1239
+ 116,
1240
+ 101,
1241
+ 114,
1242
+ 109,
1243
+ 115
1244
+ ]
1245
+ },
1246
+ {
1247
+ "kind": "account",
1248
+ "path": "escrow"
1249
+ }
1250
+ ]
1251
+ }
1252
+ },
1253
+ {
1254
+ "name": "per_vault",
1255
+ "writable": true,
1256
+ "pda": {
1257
+ "seeds": [
1258
+ {
1259
+ "kind": "const",
1260
+ "value": [
1261
+ 112,
1262
+ 101,
1263
+ 114,
1264
+ 45,
1265
+ 118,
1266
+ 97,
1267
+ 117,
1268
+ 108,
1269
+ 116
1270
+ ]
1271
+ },
1272
+ {
1273
+ "kind": "account",
1274
+ "path": "escrow"
1275
+ }
1276
+ ]
1277
+ }
1278
+ },
1279
+ {
1280
+ "name": "system_program",
1281
+ "address": "11111111111111111111111111111111"
1282
+ }
1283
+ ],
1284
+ "args": [
1285
+ {
1286
+ "name": "escrow_id",
1287
+ "type": "u64"
1288
+ },
1289
+ {
1290
+ "name": "terms_hash",
1291
+ "type": {
1292
+ "array": [
1293
+ "u8",
1294
+ 32
1295
+ ]
1296
+ }
1297
+ },
1298
+ {
1299
+ "name": "total_payment",
1300
+ "type": "u64"
1301
+ },
1302
+ {
1303
+ "name": "deadline",
1304
+ "type": "i64"
1305
+ },
1306
+ {
1307
+ "name": "encrypted_terms",
1308
+ "type": "bytes"
1309
+ }
1310
+ ]
1311
+ },
1312
+ {
1313
+ "name": "delegate_account",
1314
+ "docs": [
1315
+ "Delegate any account type to an ER validator for PER execution."
1316
+ ],
1317
+ "discriminator": [
1318
+ 149,
1319
+ 150,
1320
+ 170,
1321
+ 9,
1322
+ 177,
1323
+ 52,
1324
+ 163,
1325
+ 180
1326
+ ],
1327
+ "accounts": [
1328
+ {
1329
+ "name": "payer",
1330
+ "writable": true,
1331
+ "signer": true
1332
+ },
1333
+ {
1334
+ "name": "buffer_pda",
1335
+ "writable": true,
1336
+ "pda": {
1337
+ "seeds": [
1338
+ {
1339
+ "kind": "const",
1340
+ "value": [
1341
+ 98,
1342
+ 117,
1343
+ 102,
1344
+ 102,
1345
+ 101,
1346
+ 114
1347
+ ]
1348
+ },
1349
+ {
1350
+ "kind": "account",
1351
+ "path": "pda"
1352
+ }
1353
+ ],
1354
+ "program": {
1355
+ "kind": "const",
1356
+ "value": [
1357
+ 81,
1358
+ 108,
1359
+ 62,
1360
+ 82,
1361
+ 235,
1362
+ 139,
1363
+ 235,
1364
+ 66,
1365
+ 185,
1366
+ 22,
1367
+ 235,
1368
+ 214,
1369
+ 30,
1370
+ 160,
1371
+ 17,
1372
+ 32,
1373
+ 222,
1374
+ 103,
1375
+ 55,
1376
+ 26,
1377
+ 232,
1378
+ 105,
1379
+ 82,
1380
+ 7,
1381
+ 124,
1382
+ 89,
1383
+ 203,
1384
+ 228,
1385
+ 209,
1386
+ 172,
1387
+ 7,
1388
+ 171
1389
+ ]
1390
+ }
1391
+ }
1392
+ },
1393
+ {
1394
+ "name": "delegation_record_pda",
1395
+ "writable": true,
1396
+ "pda": {
1397
+ "seeds": [
1398
+ {
1399
+ "kind": "const",
1400
+ "value": [
1401
+ 100,
1402
+ 101,
1403
+ 108,
1404
+ 101,
1405
+ 103,
1406
+ 97,
1407
+ 116,
1408
+ 105,
1409
+ 111,
1410
+ 110
1411
+ ]
1412
+ },
1413
+ {
1414
+ "kind": "account",
1415
+ "path": "pda"
1416
+ }
1417
+ ],
1418
+ "program": {
1419
+ "kind": "account",
1420
+ "path": "delegation_program"
1421
+ }
1422
+ }
1423
+ },
1424
+ {
1425
+ "name": "delegation_metadata_pda",
1426
+ "writable": true,
1427
+ "pda": {
1428
+ "seeds": [
1429
+ {
1430
+ "kind": "const",
1431
+ "value": [
1432
+ 100,
1433
+ 101,
1434
+ 108,
1435
+ 101,
1436
+ 103,
1437
+ 97,
1438
+ 116,
1439
+ 105,
1440
+ 111,
1441
+ 110,
1442
+ 45,
1443
+ 109,
1444
+ 101,
1445
+ 116,
1446
+ 97,
1447
+ 100,
1448
+ 97,
1449
+ 116,
1450
+ 97
1451
+ ]
1452
+ },
1453
+ {
1454
+ "kind": "account",
1455
+ "path": "pda"
1456
+ }
1457
+ ],
1458
+ "program": {
1459
+ "kind": "account",
1460
+ "path": "delegation_program"
1461
+ }
1462
+ }
1463
+ },
1464
+ {
1465
+ "name": "pda",
1466
+ "writable": true
1467
+ },
1468
+ {
1469
+ "name": "owner_program",
1470
+ "address": "6UqkmQ2iCkf3acBB71DdXtVd49EyuaftMz8V3E74USbC"
1471
+ },
1472
+ {
1473
+ "name": "delegation_program",
1474
+ "address": "DELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh"
1475
+ },
1476
+ {
1477
+ "name": "system_program",
1478
+ "address": "11111111111111111111111111111111"
1479
+ }
1480
+ ],
1481
+ "args": [
1482
+ {
1483
+ "name": "account_type",
1484
+ "type": {
1485
+ "defined": {
1486
+ "name": "AccountType"
1487
+ }
1488
+ }
1489
+ }
1490
+ ]
1491
+ },
1492
+ {
1493
+ "name": "delegate_escrow",
1494
+ "docs": [
1495
+ "Delegate escrow account to an ER validator for PER execution."
1496
+ ],
1497
+ "discriminator": [
1498
+ 85,
1499
+ 42,
1500
+ 67,
1501
+ 11,
1502
+ 205,
1503
+ 0,
1504
+ 187,
1505
+ 96
1506
+ ],
1507
+ "accounts": [
1508
+ {
1509
+ "name": "payer",
1510
+ "writable": true,
1511
+ "signer": true
1512
+ },
1513
+ {
1514
+ "name": "buffer_pda",
1515
+ "writable": true,
1516
+ "pda": {
1517
+ "seeds": [
1518
+ {
1519
+ "kind": "const",
1520
+ "value": [
1521
+ 98,
1522
+ 117,
1523
+ 102,
1524
+ 102,
1525
+ 101,
1526
+ 114
1527
+ ]
1528
+ },
1529
+ {
1530
+ "kind": "account",
1531
+ "path": "pda"
1532
+ }
1533
+ ],
1534
+ "program": {
1535
+ "kind": "const",
1536
+ "value": [
1537
+ 81,
1538
+ 108,
1539
+ 62,
1540
+ 82,
1541
+ 235,
1542
+ 139,
1543
+ 235,
1544
+ 66,
1545
+ 185,
1546
+ 22,
1547
+ 235,
1548
+ 214,
1549
+ 30,
1550
+ 160,
1551
+ 17,
1552
+ 32,
1553
+ 222,
1554
+ 103,
1555
+ 55,
1556
+ 26,
1557
+ 232,
1558
+ 105,
1559
+ 82,
1560
+ 7,
1561
+ 124,
1562
+ 89,
1563
+ 203,
1564
+ 228,
1565
+ 209,
1566
+ 172,
1567
+ 7,
1568
+ 171
1569
+ ]
1570
+ }
1571
+ }
1572
+ },
1573
+ {
1574
+ "name": "delegation_record_pda",
1575
+ "writable": true,
1576
+ "pda": {
1577
+ "seeds": [
1578
+ {
1579
+ "kind": "const",
1580
+ "value": [
1581
+ 100,
1582
+ 101,
1583
+ 108,
1584
+ 101,
1585
+ 103,
1586
+ 97,
1587
+ 116,
1588
+ 105,
1589
+ 111,
1590
+ 110
1591
+ ]
1592
+ },
1593
+ {
1594
+ "kind": "account",
1595
+ "path": "pda"
1596
+ }
1597
+ ],
1598
+ "program": {
1599
+ "kind": "account",
1600
+ "path": "delegation_program"
1601
+ }
1602
+ }
1603
+ },
1604
+ {
1605
+ "name": "delegation_metadata_pda",
1606
+ "writable": true,
1607
+ "pda": {
1608
+ "seeds": [
1609
+ {
1610
+ "kind": "const",
1611
+ "value": [
1612
+ 100,
1613
+ 101,
1614
+ 108,
1615
+ 101,
1616
+ 103,
1617
+ 97,
1618
+ 116,
1619
+ 105,
1620
+ 111,
1621
+ 110,
1622
+ 45,
1623
+ 109,
1624
+ 101,
1625
+ 116,
1626
+ 97,
1627
+ 100,
1628
+ 97,
1629
+ 116,
1630
+ 97
1631
+ ]
1632
+ },
1633
+ {
1634
+ "kind": "account",
1635
+ "path": "pda"
1636
+ }
1637
+ ],
1638
+ "program": {
1639
+ "kind": "account",
1640
+ "path": "delegation_program"
1641
+ }
1642
+ }
1643
+ },
1644
+ {
1645
+ "name": "pda",
1646
+ "writable": true
1647
+ },
1648
+ {
1649
+ "name": "client"
1650
+ },
1651
+ {
1652
+ "name": "owner_program",
1653
+ "address": "6UqkmQ2iCkf3acBB71DdXtVd49EyuaftMz8V3E74USbC"
1654
+ },
1655
+ {
1656
+ "name": "delegation_program",
1657
+ "address": "DELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh"
1658
+ },
1659
+ {
1660
+ "name": "system_program",
1661
+ "address": "11111111111111111111111111111111"
1662
+ }
1663
+ ],
1664
+ "args": [
1665
+ {
1666
+ "name": "escrow_id",
1667
+ "type": "u64"
1668
+ }
1669
+ ]
1670
+ },
1671
+ {
1672
+ "name": "disable_milestone",
1673
+ "discriminator": [
1674
+ 222,
1675
+ 196,
1676
+ 110,
1677
+ 1,
1678
+ 157,
1679
+ 198,
1680
+ 21,
1681
+ 89
1682
+ ],
1683
+ "accounts": [
1684
+ {
1685
+ "name": "actor",
1686
+ "writable": true,
1687
+ "signer": true
1688
+ },
1689
+ {
1690
+ "name": "escrow",
1691
+ "writable": true,
1692
+ "pda": {
1693
+ "seeds": [
1694
+ {
1695
+ "kind": "const",
1696
+ "value": [
1697
+ 101,
1698
+ 115,
1699
+ 99,
1700
+ 114,
1701
+ 111,
1702
+ 119
1703
+ ]
1704
+ },
1705
+ {
1706
+ "kind": "account",
1707
+ "path": "escrow.client",
1708
+ "account": "Escrow"
1709
+ },
1710
+ {
1711
+ "kind": "arg",
1712
+ "path": "escrow_id"
1713
+ }
1714
+ ]
1715
+ }
1716
+ },
1717
+ {
1718
+ "name": "milestone",
1719
+ "writable": true
1720
+ }
1721
+ ],
1722
+ "args": [
1723
+ {
1724
+ "name": "escrow_id",
1725
+ "type": "u64"
1726
+ },
1727
+ {
1728
+ "name": "index",
1729
+ "type": "u8"
1730
+ }
1731
+ ]
1732
+ },
1733
+ {
1734
+ "name": "fund_escrow",
1735
+ "discriminator": [
1736
+ 155,
1737
+ 18,
1738
+ 218,
1739
+ 141,
1740
+ 182,
1741
+ 213,
1742
+ 69,
1743
+ 201
1744
+ ],
1745
+ "accounts": [
1746
+ {
1747
+ "name": "client",
1748
+ "writable": true,
1749
+ "signer": true
1750
+ },
1751
+ {
1752
+ "name": "escrow",
1753
+ "writable": true,
1754
+ "pda": {
1755
+ "seeds": [
1756
+ {
1757
+ "kind": "const",
1758
+ "value": [
1759
+ 101,
1760
+ 115,
1761
+ 99,
1762
+ 114,
1763
+ 111,
1764
+ 119
1765
+ ]
1766
+ },
1767
+ {
1768
+ "kind": "account",
1769
+ "path": "client"
1770
+ },
1771
+ {
1772
+ "kind": "arg",
1773
+ "path": "escrow_id"
1774
+ }
1775
+ ]
1776
+ }
1777
+ },
1778
+ {
1779
+ "name": "client_token",
1780
+ "writable": true
1781
+ },
1782
+ {
1783
+ "name": "fee_receiver_token",
1784
+ "writable": true
1785
+ },
1786
+ {
1787
+ "name": "vault_token",
1788
+ "writable": true
1789
+ },
1790
+ {
1791
+ "name": "token_program",
1792
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
1793
+ }
1794
+ ],
1795
+ "args": [
1796
+ {
1797
+ "name": "escrow_id",
1798
+ "type": "u64"
1799
+ },
1800
+ {
1801
+ "name": "amount",
1802
+ "type": "u64"
1803
+ }
1804
+ ]
1805
+ },
1806
+ {
1807
+ "name": "init_private_milestone_stub",
1808
+ "docs": [
1809
+ "Initialize a private milestone account on L1 with empty data so it can be delegated to PER."
1810
+ ],
1811
+ "discriminator": [
1812
+ 139,
1813
+ 238,
1814
+ 42,
1815
+ 63,
1816
+ 46,
1817
+ 69,
1818
+ 174,
1819
+ 116
1820
+ ],
1821
+ "accounts": [
1822
+ {
1823
+ "name": "payer",
1824
+ "writable": true,
1825
+ "signer": true
1826
+ },
1827
+ {
1828
+ "name": "escrow"
1829
+ },
1830
+ {
1831
+ "name": "private_milestone",
1832
+ "writable": true
1833
+ },
1834
+ {
1835
+ "name": "system_program",
1836
+ "address": "11111111111111111111111111111111"
1837
+ }
1838
+ ],
1839
+ "args": [
1840
+ {
1841
+ "name": "escrow_id",
1842
+ "type": "u64"
1843
+ },
1844
+ {
1845
+ "name": "index",
1846
+ "type": "u8"
1847
+ }
1848
+ ]
1849
+ },
1850
+ {
1851
+ "name": "init_private_terms_stub",
1852
+ "docs": [
1853
+ "Initialize a private terms account on L1 with empty data so it can be delegated to PER."
1854
+ ],
1855
+ "discriminator": [
1856
+ 14,
1857
+ 99,
1858
+ 8,
1859
+ 97,
1860
+ 107,
1861
+ 84,
1862
+ 215,
1863
+ 135
1864
+ ],
1865
+ "accounts": [
1866
+ {
1867
+ "name": "payer",
1868
+ "writable": true,
1869
+ "signer": true
1870
+ },
1871
+ {
1872
+ "name": "escrow"
1873
+ },
1874
+ {
1875
+ "name": "terms",
1876
+ "writable": true,
1877
+ "pda": {
1878
+ "seeds": [
1879
+ {
1880
+ "kind": "const",
1881
+ "value": [
1882
+ 116,
1883
+ 101,
1884
+ 114,
1885
+ 109,
1886
+ 115
1887
+ ]
1888
+ },
1889
+ {
1890
+ "kind": "account",
1891
+ "path": "escrow"
1892
+ }
1893
+ ]
1894
+ }
1895
+ },
1896
+ {
1897
+ "name": "system_program",
1898
+ "address": "11111111111111111111111111111111"
1899
+ }
1900
+ ],
1901
+ "args": [
1902
+ {
1903
+ "name": "escrow_id",
1904
+ "type": "u64"
1905
+ }
1906
+ ]
1907
+ },
1908
+ {
1909
+ "name": "initialize_profile",
1910
+ "discriminator": [
1911
+ 32,
1912
+ 145,
1913
+ 77,
1914
+ 213,
1915
+ 58,
1916
+ 39,
1917
+ 251,
1918
+ 234
1919
+ ],
1920
+ "accounts": [
1921
+ {
1922
+ "name": "profile",
1923
+ "writable": true,
1924
+ "pda": {
1925
+ "seeds": [
1926
+ {
1927
+ "kind": "const",
1928
+ "value": [
1929
+ 112,
1930
+ 114,
1931
+ 111,
1932
+ 102,
1933
+ 105,
1934
+ 108,
1935
+ 101
1936
+ ]
1937
+ },
1938
+ {
1939
+ "kind": "account",
1940
+ "path": "owner"
1941
+ }
1942
+ ]
1943
+ }
1944
+ },
1945
+ {
1946
+ "name": "owner",
1947
+ "writable": true,
1948
+ "signer": true
1949
+ },
1950
+ {
1951
+ "name": "system_program",
1952
+ "address": "11111111111111111111111111111111"
1953
+ }
1954
+ ],
1955
+ "args": []
1956
+ },
1957
+ {
1958
+ "name": "mutual_cancel_escrow",
1959
+ "docs": [
1960
+ "Mutual cancel: both parties sign to refund remaining funds to client."
1961
+ ],
1962
+ "discriminator": [
1963
+ 241,
1964
+ 12,
1965
+ 37,
1966
+ 171,
1967
+ 212,
1968
+ 236,
1969
+ 201,
1970
+ 151
1971
+ ],
1972
+ "accounts": [
1973
+ {
1974
+ "name": "client",
1975
+ "writable": true,
1976
+ "signer": true
1977
+ },
1978
+ {
1979
+ "name": "contractor",
1980
+ "writable": true,
1981
+ "signer": true
1982
+ },
1983
+ {
1984
+ "name": "escrow",
1985
+ "writable": true,
1986
+ "pda": {
1987
+ "seeds": [
1988
+ {
1989
+ "kind": "const",
1990
+ "value": [
1991
+ 101,
1992
+ 115,
1993
+ 99,
1994
+ 114,
1995
+ 111,
1996
+ 119
1997
+ ]
1998
+ },
1999
+ {
2000
+ "kind": "account",
2001
+ "path": "client"
2002
+ },
2003
+ {
2004
+ "kind": "arg",
2005
+ "path": "escrow_id"
2006
+ }
2007
+ ]
2008
+ }
2009
+ },
2010
+ {
2011
+ "name": "client_token",
2012
+ "writable": true
2013
+ },
2014
+ {
2015
+ "name": "vault_token",
2016
+ "writable": true
2017
+ },
2018
+ {
2019
+ "name": "token_program",
2020
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
2021
+ }
2022
+ ],
2023
+ "args": [
2024
+ {
2025
+ "name": "escrow_id",
2026
+ "type": "u64"
2027
+ }
2028
+ ]
2029
+ },
2030
+ {
2031
+ "name": "open_dispute",
2032
+ "discriminator": [
2033
+ 137,
2034
+ 25,
2035
+ 99,
2036
+ 119,
2037
+ 23,
2038
+ 223,
2039
+ 161,
2040
+ 42
2041
+ ],
2042
+ "accounts": [
2043
+ {
2044
+ "name": "actor",
2045
+ "writable": true,
2046
+ "signer": true
2047
+ },
2048
+ {
2049
+ "name": "escrow",
2050
+ "writable": true,
2051
+ "pda": {
2052
+ "seeds": [
2053
+ {
2054
+ "kind": "const",
2055
+ "value": [
2056
+ 101,
2057
+ 115,
2058
+ 99,
2059
+ 114,
2060
+ 111,
2061
+ 119
2062
+ ]
2063
+ },
2064
+ {
2065
+ "kind": "account",
2066
+ "path": "escrow.client",
2067
+ "account": "Escrow"
2068
+ },
2069
+ {
2070
+ "kind": "arg",
2071
+ "path": "escrow_id"
2072
+ }
2073
+ ]
2074
+ }
2075
+ },
2076
+ {
2077
+ "name": "dispute",
2078
+ "writable": true,
2079
+ "pda": {
2080
+ "seeds": [
2081
+ {
2082
+ "kind": "const",
2083
+ "value": [
2084
+ 100,
2085
+ 105,
2086
+ 115,
2087
+ 112,
2088
+ 117,
2089
+ 116,
2090
+ 101
2091
+ ]
2092
+ },
2093
+ {
2094
+ "kind": "account",
2095
+ "path": "escrow"
2096
+ }
2097
+ ]
2098
+ }
2099
+ },
2100
+ {
2101
+ "name": "system_program",
2102
+ "address": "11111111111111111111111111111111"
2103
+ }
2104
+ ],
2105
+ "args": [
2106
+ {
2107
+ "name": "escrow_id",
2108
+ "type": "u64"
2109
+ }
2110
+ ]
2111
+ },
2112
+ {
2113
+ "name": "process_undelegation",
2114
+ "discriminator": [
2115
+ 196,
2116
+ 28,
2117
+ 41,
2118
+ 206,
2119
+ 48,
2120
+ 37,
2121
+ 51,
2122
+ 167
2123
+ ],
2124
+ "accounts": [
2125
+ {
2126
+ "name": "base_account",
2127
+ "writable": true
2128
+ },
2129
+ {
2130
+ "name": "buffer"
2131
+ },
2132
+ {
2133
+ "name": "payer",
2134
+ "writable": true
2135
+ },
2136
+ {
2137
+ "name": "system_program"
2138
+ }
2139
+ ],
2140
+ "args": [
2141
+ {
2142
+ "name": "account_seeds",
2143
+ "type": {
2144
+ "vec": "bytes"
2145
+ }
2146
+ }
2147
+ ]
2148
+ },
2149
+ {
2150
+ "name": "reject_milestone",
2151
+ "discriminator": [
2152
+ 243,
2153
+ 48,
2154
+ 66,
2155
+ 165,
2156
+ 237,
2157
+ 41,
2158
+ 116,
2159
+ 249
2160
+ ],
2161
+ "accounts": [
2162
+ {
2163
+ "name": "client",
2164
+ "writable": true,
2165
+ "signer": true
2166
+ },
2167
+ {
2168
+ "name": "escrow",
2169
+ "pda": {
2170
+ "seeds": [
2171
+ {
2172
+ "kind": "const",
2173
+ "value": [
2174
+ 101,
2175
+ 115,
2176
+ 99,
2177
+ 114,
2178
+ 111,
2179
+ 119
2180
+ ]
2181
+ },
2182
+ {
2183
+ "kind": "account",
2184
+ "path": "client"
2185
+ },
2186
+ {
2187
+ "kind": "arg",
2188
+ "path": "escrow_id"
2189
+ }
2190
+ ]
2191
+ }
2192
+ },
2193
+ {
2194
+ "name": "milestone",
2195
+ "writable": true
2196
+ }
2197
+ ],
2198
+ "args": [
2199
+ {
2200
+ "name": "escrow_id",
2201
+ "type": "u64"
2202
+ },
2203
+ {
2204
+ "name": "index",
2205
+ "type": "u8"
2206
+ }
2207
+ ]
2208
+ },
2209
+ {
2210
+ "name": "remove_milestone",
2211
+ "discriminator": [
2212
+ 37,
2213
+ 18,
2214
+ 158,
2215
+ 161,
2216
+ 88,
2217
+ 29,
2218
+ 239,
2219
+ 44
2220
+ ],
2221
+ "accounts": [
2222
+ {
2223
+ "name": "actor",
2224
+ "writable": true,
2225
+ "signer": true
2226
+ },
2227
+ {
2228
+ "name": "escrow",
2229
+ "writable": true,
2230
+ "pda": {
2231
+ "seeds": [
2232
+ {
2233
+ "kind": "const",
2234
+ "value": [
2235
+ 101,
2236
+ 115,
2237
+ 99,
2238
+ 114,
2239
+ 111,
2240
+ 119
2241
+ ]
2242
+ },
2243
+ {
2244
+ "kind": "account",
2245
+ "path": "escrow.client",
2246
+ "account": "Escrow"
2247
+ },
2248
+ {
2249
+ "kind": "arg",
2250
+ "path": "escrow_id"
2251
+ }
2252
+ ]
2253
+ }
2254
+ },
2255
+ {
2256
+ "name": "milestone",
2257
+ "writable": true
2258
+ }
2259
+ ],
2260
+ "args": [
2261
+ {
2262
+ "name": "escrow_id",
2263
+ "type": "u64"
2264
+ },
2265
+ {
2266
+ "name": "index",
2267
+ "type": "u8"
2268
+ }
2269
+ ]
2270
+ },
2271
+ {
2272
+ "name": "resolve_dispute",
2273
+ "discriminator": [
2274
+ 231,
2275
+ 6,
2276
+ 202,
2277
+ 6,
2278
+ 96,
2279
+ 103,
2280
+ 12,
2281
+ 230
2282
+ ],
2283
+ "accounts": [
2284
+ {
2285
+ "name": "judge",
2286
+ "writable": true,
2287
+ "signer": true
2288
+ },
2289
+ {
2290
+ "name": "escrow",
2291
+ "writable": true,
2292
+ "pda": {
2293
+ "seeds": [
2294
+ {
2295
+ "kind": "const",
2296
+ "value": [
2297
+ 101,
2298
+ 115,
2299
+ 99,
2300
+ 114,
2301
+ 111,
2302
+ 119
2303
+ ]
2304
+ },
2305
+ {
2306
+ "kind": "account",
2307
+ "path": "escrow.client",
2308
+ "account": "Escrow"
2309
+ },
2310
+ {
2311
+ "kind": "arg",
2312
+ "path": "escrow_id"
2313
+ }
2314
+ ]
2315
+ }
2316
+ },
2317
+ {
2318
+ "name": "dispute",
2319
+ "writable": true,
2320
+ "pda": {
2321
+ "seeds": [
2322
+ {
2323
+ "kind": "const",
2324
+ "value": [
2325
+ 100,
2326
+ 105,
2327
+ 115,
2328
+ 112,
2329
+ 117,
2330
+ 116,
2331
+ 101
2332
+ ]
2333
+ },
2334
+ {
2335
+ "kind": "account",
2336
+ "path": "escrow"
2337
+ }
2338
+ ]
2339
+ }
2340
+ },
2341
+ {
2342
+ "name": "client_token",
2343
+ "writable": true
2344
+ },
2345
+ {
2346
+ "name": "contractor_token",
2347
+ "writable": true
2348
+ },
2349
+ {
2350
+ "name": "vault_token",
2351
+ "writable": true
2352
+ },
2353
+ {
2354
+ "name": "token_program",
2355
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
2356
+ }
2357
+ ],
2358
+ "args": [
2359
+ {
2360
+ "name": "escrow_id",
2361
+ "type": "u64"
2362
+ },
2363
+ {
2364
+ "name": "amount",
2365
+ "type": "u64"
2366
+ },
2367
+ {
2368
+ "name": "release_to_contractor",
2369
+ "type": "bool"
2370
+ }
2371
+ ]
2372
+ },
2373
+ {
2374
+ "name": "resolve_dispute_split",
2375
+ "discriminator": [
2376
+ 233,
2377
+ 198,
2378
+ 14,
2379
+ 30,
2380
+ 73,
2381
+ 65,
2382
+ 195,
2383
+ 115
2384
+ ],
2385
+ "accounts": [
2386
+ {
2387
+ "name": "judge",
2388
+ "writable": true,
2389
+ "signer": true
2390
+ },
2391
+ {
2392
+ "name": "escrow",
2393
+ "writable": true,
2394
+ "pda": {
2395
+ "seeds": [
2396
+ {
2397
+ "kind": "const",
2398
+ "value": [
2399
+ 101,
2400
+ 115,
2401
+ 99,
2402
+ 114,
2403
+ 111,
2404
+ 119
2405
+ ]
2406
+ },
2407
+ {
2408
+ "kind": "account",
2409
+ "path": "escrow.client",
2410
+ "account": "Escrow"
2411
+ },
2412
+ {
2413
+ "kind": "arg",
2414
+ "path": "escrow_id"
2415
+ }
2416
+ ]
2417
+ }
2418
+ },
2419
+ {
2420
+ "name": "dispute",
2421
+ "writable": true,
2422
+ "pda": {
2423
+ "seeds": [
2424
+ {
2425
+ "kind": "const",
2426
+ "value": [
2427
+ 100,
2428
+ 105,
2429
+ 115,
2430
+ 112,
2431
+ 117,
2432
+ 116,
2433
+ 101
2434
+ ]
2435
+ },
2436
+ {
2437
+ "kind": "account",
2438
+ "path": "escrow"
2439
+ }
2440
+ ]
2441
+ }
2442
+ },
2443
+ {
2444
+ "name": "client_token",
2445
+ "writable": true
2446
+ },
2447
+ {
2448
+ "name": "contractor_token",
2449
+ "writable": true
2450
+ },
2451
+ {
2452
+ "name": "vault_token",
2453
+ "writable": true
2454
+ },
2455
+ {
2456
+ "name": "token_program",
2457
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
2458
+ }
2459
+ ],
2460
+ "args": [
2461
+ {
2462
+ "name": "escrow_id",
2463
+ "type": "u64"
2464
+ },
2465
+ {
2466
+ "name": "client_percent",
2467
+ "type": "u16"
2468
+ },
2469
+ {
2470
+ "name": "contractor_percent",
2471
+ "type": "u16"
2472
+ }
2473
+ ]
2474
+ },
2475
+ {
2476
+ "name": "set_funding_ok",
2477
+ "docs": [
2478
+ "Set funding_ok flag after verifying funded amount matches private terms."
2479
+ ],
2480
+ "discriminator": [
2481
+ 103,
2482
+ 185,
2483
+ 183,
2484
+ 36,
2485
+ 118,
2486
+ 205,
2487
+ 10,
2488
+ 150
2489
+ ],
2490
+ "accounts": [
2491
+ {
2492
+ "name": "user"
2493
+ },
2494
+ {
2495
+ "name": "payer",
2496
+ "writable": true,
2497
+ "signer": true
2498
+ },
2499
+ {
2500
+ "name": "session_token",
2501
+ "optional": true
2502
+ },
2503
+ {
2504
+ "name": "escrow",
2505
+ "writable": true,
2506
+ "pda": {
2507
+ "seeds": [
2508
+ {
2509
+ "kind": "const",
2510
+ "value": [
2511
+ 101,
2512
+ 115,
2513
+ 99,
2514
+ 114,
2515
+ 111,
2516
+ 119
2517
+ ]
2518
+ },
2519
+ {
2520
+ "kind": "account",
2521
+ "path": "escrow.client",
2522
+ "account": "Escrow"
2523
+ },
2524
+ {
2525
+ "kind": "arg",
2526
+ "path": "escrow_id"
2527
+ }
2528
+ ]
2529
+ }
2530
+ },
2531
+ {
2532
+ "name": "terms",
2533
+ "pda": {
2534
+ "seeds": [
2535
+ {
2536
+ "kind": "const",
2537
+ "value": [
2538
+ 116,
2539
+ 101,
2540
+ 114,
2541
+ 109,
2542
+ 115
2543
+ ]
2544
+ },
2545
+ {
2546
+ "kind": "account",
2547
+ "path": "escrow"
2548
+ }
2549
+ ]
2550
+ }
2551
+ }
2552
+ ],
2553
+ "args": [
2554
+ {
2555
+ "name": "escrow_id",
2556
+ "type": "u64"
2557
+ }
2558
+ ]
2559
+ },
2560
+ {
2561
+ "name": "set_funding_ok_public",
2562
+ "docs": [
2563
+ "Set funding_ok flag after verifying funded amount matches public terms (L1 only)."
2564
+ ],
2565
+ "discriminator": [
2566
+ 62,
2567
+ 6,
2568
+ 91,
2569
+ 249,
2570
+ 50,
2571
+ 34,
2572
+ 194,
2573
+ 83
2574
+ ],
2575
+ "accounts": [
2576
+ {
2577
+ "name": "user",
2578
+ "writable": true,
2579
+ "signer": true
2580
+ },
2581
+ {
2582
+ "name": "escrow",
2583
+ "writable": true,
2584
+ "pda": {
2585
+ "seeds": [
2586
+ {
2587
+ "kind": "const",
2588
+ "value": [
2589
+ 101,
2590
+ 115,
2591
+ 99,
2592
+ 114,
2593
+ 111,
2594
+ 119
2595
+ ]
2596
+ },
2597
+ {
2598
+ "kind": "account",
2599
+ "path": "escrow.client",
2600
+ "account": "Escrow"
2601
+ },
2602
+ {
2603
+ "kind": "arg",
2604
+ "path": "escrow_id"
2605
+ }
2606
+ ]
2607
+ }
2608
+ },
2609
+ {
2610
+ "name": "terms",
2611
+ "pda": {
2612
+ "seeds": [
2613
+ {
2614
+ "kind": "const",
2615
+ "value": [
2616
+ 116,
2617
+ 101,
2618
+ 114,
2619
+ 109,
2620
+ 115
2621
+ ]
2622
+ },
2623
+ {
2624
+ "kind": "account",
2625
+ "path": "escrow"
2626
+ }
2627
+ ]
2628
+ }
2629
+ }
2630
+ ],
2631
+ "args": [
2632
+ {
2633
+ "name": "escrow_id",
2634
+ "type": "u64"
2635
+ }
2636
+ ]
2637
+ },
2638
+ {
2639
+ "name": "set_public_terms",
2640
+ "docs": [
2641
+ "Create or update public terms on L1 (no PER). Does not commit to escrow yet."
2642
+ ],
2643
+ "discriminator": [
2644
+ 129,
2645
+ 131,
2646
+ 206,
2647
+ 226,
2648
+ 255,
2649
+ 113,
2650
+ 18,
2651
+ 218
2652
+ ],
2653
+ "accounts": [
2654
+ {
2655
+ "name": "user",
2656
+ "writable": true,
2657
+ "signer": true
2658
+ },
2659
+ {
2660
+ "name": "escrow",
2661
+ "writable": true,
2662
+ "pda": {
2663
+ "seeds": [
2664
+ {
2665
+ "kind": "const",
2666
+ "value": [
2667
+ 101,
2668
+ 115,
2669
+ 99,
2670
+ 114,
2671
+ 111,
2672
+ 119
2673
+ ]
2674
+ },
2675
+ {
2676
+ "kind": "account",
2677
+ "path": "escrow.client",
2678
+ "account": "Escrow"
2679
+ },
2680
+ {
2681
+ "kind": "arg",
2682
+ "path": "escrow_id"
2683
+ }
2684
+ ]
2685
+ }
2686
+ },
2687
+ {
2688
+ "name": "terms",
2689
+ "writable": true,
2690
+ "pda": {
2691
+ "seeds": [
2692
+ {
2693
+ "kind": "const",
2694
+ "value": [
2695
+ 116,
2696
+ 101,
2697
+ 114,
2698
+ 109,
2699
+ 115
2700
+ ]
2701
+ },
2702
+ {
2703
+ "kind": "account",
2704
+ "path": "escrow"
2705
+ }
2706
+ ]
2707
+ }
2708
+ },
2709
+ {
2710
+ "name": "system_program",
2711
+ "address": "11111111111111111111111111111111"
2712
+ }
2713
+ ],
2714
+ "args": [
2715
+ {
2716
+ "name": "escrow_id",
2717
+ "type": "u64"
2718
+ },
2719
+ {
2720
+ "name": "terms_hash",
2721
+ "type": {
2722
+ "array": [
2723
+ "u8",
2724
+ 32
2725
+ ]
2726
+ }
2727
+ },
2728
+ {
2729
+ "name": "total_payment",
2730
+ "type": "u64"
2731
+ },
2732
+ {
2733
+ "name": "deadline",
2734
+ "type": "i64"
2735
+ }
2736
+ ]
2737
+ },
2738
+ {
2739
+ "name": "set_ready_to_claim",
2740
+ "docs": [
2741
+ "Set ready_to_claim when all private milestones are approved."
2742
+ ],
2743
+ "discriminator": [
2744
+ 78,
2745
+ 76,
2746
+ 9,
2747
+ 60,
2748
+ 98,
2749
+ 143,
2750
+ 116,
2751
+ 203
2752
+ ],
2753
+ "accounts": [
2754
+ {
2755
+ "name": "user"
2756
+ },
2757
+ {
2758
+ "name": "payer",
2759
+ "writable": true,
2760
+ "signer": true
2761
+ },
2762
+ {
2763
+ "name": "session_token",
2764
+ "optional": true
2765
+ },
2766
+ {
2767
+ "name": "escrow",
2768
+ "writable": true,
2769
+ "pda": {
2770
+ "seeds": [
2771
+ {
2772
+ "kind": "const",
2773
+ "value": [
2774
+ 101,
2775
+ 115,
2776
+ 99,
2777
+ 114,
2778
+ 111,
2779
+ 119
2780
+ ]
2781
+ },
2782
+ {
2783
+ "kind": "account",
2784
+ "path": "escrow.client",
2785
+ "account": "Escrow"
2786
+ },
2787
+ {
2788
+ "kind": "arg",
2789
+ "path": "escrow_id"
2790
+ }
2791
+ ]
2792
+ }
2793
+ }
2794
+ ],
2795
+ "args": [
2796
+ {
2797
+ "name": "escrow_id",
2798
+ "type": "u64"
2799
+ },
2800
+ {
2801
+ "name": "milestone_count",
2802
+ "type": "u8"
2803
+ }
2804
+ ]
2805
+ },
2806
+ {
2807
+ "name": "set_ready_to_claim_public",
2808
+ "docs": [
2809
+ "Set ready_to_claim when all public milestones are approved (L1 only)."
2810
+ ],
2811
+ "discriminator": [
2812
+ 204,
2813
+ 192,
2814
+ 157,
2815
+ 189,
2816
+ 215,
2817
+ 32,
2818
+ 98,
2819
+ 190
2820
+ ],
2821
+ "accounts": [
2822
+ {
2823
+ "name": "user",
2824
+ "writable": true,
2825
+ "signer": true
2826
+ },
2827
+ {
2828
+ "name": "escrow",
2829
+ "writable": true,
2830
+ "pda": {
2831
+ "seeds": [
2832
+ {
2833
+ "kind": "const",
2834
+ "value": [
2835
+ 101,
2836
+ 115,
2837
+ 99,
2838
+ 114,
2839
+ 111,
2840
+ 119
2841
+ ]
2842
+ },
2843
+ {
2844
+ "kind": "account",
2845
+ "path": "escrow.client",
2846
+ "account": "Escrow"
2847
+ },
2848
+ {
2849
+ "kind": "arg",
2850
+ "path": "escrow_id"
2851
+ }
2852
+ ]
2853
+ }
2854
+ }
2855
+ ],
2856
+ "args": [
2857
+ {
2858
+ "name": "escrow_id",
2859
+ "type": "u64"
2860
+ },
2861
+ {
2862
+ "name": "milestone_count",
2863
+ "type": "u8"
2864
+ }
2865
+ ]
2866
+ },
2867
+ {
2868
+ "name": "set_timeout_funds_ready",
2869
+ "docs": [
2870
+ "Set timeout_funds_ready when deadline has passed and all work was submitted."
2871
+ ],
2872
+ "discriminator": [
2873
+ 95,
2874
+ 180,
2875
+ 108,
2876
+ 239,
2877
+ 110,
2878
+ 91,
2879
+ 197,
2880
+ 2
2881
+ ],
2882
+ "accounts": [
2883
+ {
2884
+ "name": "user"
2885
+ },
2886
+ {
2887
+ "name": "payer",
2888
+ "writable": true,
2889
+ "signer": true
2890
+ },
2891
+ {
2892
+ "name": "session_token",
2893
+ "optional": true
2894
+ },
2895
+ {
2896
+ "name": "escrow",
2897
+ "writable": true,
2898
+ "pda": {
2899
+ "seeds": [
2900
+ {
2901
+ "kind": "const",
2902
+ "value": [
2903
+ 101,
2904
+ 115,
2905
+ 99,
2906
+ 114,
2907
+ 111,
2908
+ 119
2909
+ ]
2910
+ },
2911
+ {
2912
+ "kind": "account",
2913
+ "path": "escrow.client",
2914
+ "account": "Escrow"
2915
+ },
2916
+ {
2917
+ "kind": "arg",
2918
+ "path": "escrow_id"
2919
+ }
2920
+ ]
2921
+ }
2922
+ },
2923
+ {
2924
+ "name": "terms",
2925
+ "pda": {
2926
+ "seeds": [
2927
+ {
2928
+ "kind": "const",
2929
+ "value": [
2930
+ 116,
2931
+ 101,
2932
+ 114,
2933
+ 109,
2934
+ 115
2935
+ ]
2936
+ },
2937
+ {
2938
+ "kind": "account",
2939
+ "path": "escrow"
2940
+ }
2941
+ ]
2942
+ }
2943
+ }
2944
+ ],
2945
+ "args": [
2946
+ {
2947
+ "name": "escrow_id",
2948
+ "type": "u64"
2949
+ },
2950
+ {
2951
+ "name": "milestone_count",
2952
+ "type": "u8"
2953
+ }
2954
+ ]
2955
+ },
2956
+ {
2957
+ "name": "set_timeout_funds_ready_public",
2958
+ "docs": [
2959
+ "Set timeout_funds_ready when deadline has passed and all work was submitted (L1 only)."
2960
+ ],
2961
+ "discriminator": [
2962
+ 132,
2963
+ 153,
2964
+ 14,
2965
+ 240,
2966
+ 252,
2967
+ 0,
2968
+ 89,
2969
+ 71
2970
+ ],
2971
+ "accounts": [
2972
+ {
2973
+ "name": "user",
2974
+ "writable": true,
2975
+ "signer": true
2976
+ },
2977
+ {
2978
+ "name": "escrow",
2979
+ "writable": true,
2980
+ "pda": {
2981
+ "seeds": [
2982
+ {
2983
+ "kind": "const",
2984
+ "value": [
2985
+ 101,
2986
+ 115,
2987
+ 99,
2988
+ 114,
2989
+ 111,
2990
+ 119
2991
+ ]
2992
+ },
2993
+ {
2994
+ "kind": "account",
2995
+ "path": "escrow.client",
2996
+ "account": "Escrow"
2997
+ },
2998
+ {
2999
+ "kind": "arg",
3000
+ "path": "escrow_id"
3001
+ }
3002
+ ]
3003
+ }
3004
+ },
3005
+ {
3006
+ "name": "terms",
3007
+ "pda": {
3008
+ "seeds": [
3009
+ {
3010
+ "kind": "const",
3011
+ "value": [
3012
+ 116,
3013
+ 101,
3014
+ 114,
3015
+ 109,
3016
+ 115
3017
+ ]
3018
+ },
3019
+ {
3020
+ "kind": "account",
3021
+ "path": "escrow"
3022
+ }
3023
+ ]
3024
+ }
3025
+ }
3026
+ ],
3027
+ "args": [
3028
+ {
3029
+ "name": "escrow_id",
3030
+ "type": "u64"
3031
+ },
3032
+ {
3033
+ "name": "milestone_count",
3034
+ "type": "u8"
3035
+ }
3036
+ ]
3037
+ },
3038
+ {
3039
+ "name": "set_timeout_refund_ready",
3040
+ "docs": [
3041
+ "Set timeout_refund_ready when deadline has passed and work is incomplete."
3042
+ ],
3043
+ "discriminator": [
3044
+ 135,
3045
+ 193,
3046
+ 137,
3047
+ 98,
3048
+ 118,
3049
+ 220,
3050
+ 177,
3051
+ 7
3052
+ ],
3053
+ "accounts": [
3054
+ {
3055
+ "name": "user"
3056
+ },
3057
+ {
3058
+ "name": "payer",
3059
+ "writable": true,
3060
+ "signer": true
3061
+ },
3062
+ {
3063
+ "name": "session_token",
3064
+ "optional": true
3065
+ },
3066
+ {
3067
+ "name": "escrow",
3068
+ "writable": true,
3069
+ "pda": {
3070
+ "seeds": [
3071
+ {
3072
+ "kind": "const",
3073
+ "value": [
3074
+ 101,
3075
+ 115,
3076
+ 99,
3077
+ 114,
3078
+ 111,
3079
+ 119
3080
+ ]
3081
+ },
3082
+ {
3083
+ "kind": "account",
3084
+ "path": "escrow.client",
3085
+ "account": "Escrow"
3086
+ },
3087
+ {
3088
+ "kind": "arg",
3089
+ "path": "escrow_id"
3090
+ }
3091
+ ]
3092
+ }
3093
+ },
3094
+ {
3095
+ "name": "terms",
3096
+ "pda": {
3097
+ "seeds": [
3098
+ {
3099
+ "kind": "const",
3100
+ "value": [
3101
+ 116,
3102
+ 101,
3103
+ 114,
3104
+ 109,
3105
+ 115
3106
+ ]
3107
+ },
3108
+ {
3109
+ "kind": "account",
3110
+ "path": "escrow"
3111
+ }
3112
+ ]
3113
+ }
3114
+ }
3115
+ ],
3116
+ "args": [
3117
+ {
3118
+ "name": "escrow_id",
3119
+ "type": "u64"
3120
+ },
3121
+ {
3122
+ "name": "milestone_count",
3123
+ "type": "u8"
3124
+ }
3125
+ ]
3126
+ },
3127
+ {
3128
+ "name": "set_timeout_refund_ready_public",
3129
+ "docs": [
3130
+ "Set timeout_refund_ready when deadline has passed and work is incomplete (L1 only)."
3131
+ ],
3132
+ "discriminator": [
3133
+ 255,
3134
+ 178,
3135
+ 88,
3136
+ 16,
3137
+ 230,
3138
+ 80,
3139
+ 61,
3140
+ 31
3141
+ ],
3142
+ "accounts": [
3143
+ {
3144
+ "name": "user",
3145
+ "writable": true,
3146
+ "signer": true
3147
+ },
3148
+ {
3149
+ "name": "escrow",
3150
+ "writable": true,
3151
+ "pda": {
3152
+ "seeds": [
3153
+ {
3154
+ "kind": "const",
3155
+ "value": [
3156
+ 101,
3157
+ 115,
3158
+ 99,
3159
+ 114,
3160
+ 111,
3161
+ 119
3162
+ ]
3163
+ },
3164
+ {
3165
+ "kind": "account",
3166
+ "path": "escrow.client",
3167
+ "account": "Escrow"
3168
+ },
3169
+ {
3170
+ "kind": "arg",
3171
+ "path": "escrow_id"
3172
+ }
3173
+ ]
3174
+ }
3175
+ },
3176
+ {
3177
+ "name": "terms",
3178
+ "pda": {
3179
+ "seeds": [
3180
+ {
3181
+ "kind": "const",
3182
+ "value": [
3183
+ 116,
3184
+ 101,
3185
+ 114,
3186
+ 109,
3187
+ 115
3188
+ ]
3189
+ },
3190
+ {
3191
+ "kind": "account",
3192
+ "path": "escrow"
3193
+ }
3194
+ ]
3195
+ }
3196
+ }
3197
+ ],
3198
+ "args": [
3199
+ {
3200
+ "name": "escrow_id",
3201
+ "type": "u64"
3202
+ },
3203
+ {
3204
+ "name": "milestone_count",
3205
+ "type": "u8"
3206
+ }
3207
+ ]
3208
+ },
3209
+ {
3210
+ "name": "sign_private_terms",
3211
+ "docs": [
3212
+ "Sign private terms (PER-only). Requires client or contractor via session auth."
3213
+ ],
3214
+ "discriminator": [
3215
+ 152,
3216
+ 60,
3217
+ 217,
3218
+ 28,
3219
+ 64,
3220
+ 236,
3221
+ 87,
3222
+ 90
3223
+ ],
3224
+ "accounts": [
3225
+ {
3226
+ "name": "user"
3227
+ },
3228
+ {
3229
+ "name": "payer",
3230
+ "writable": true,
3231
+ "signer": true
3232
+ },
3233
+ {
3234
+ "name": "session_token",
3235
+ "optional": true
3236
+ },
3237
+ {
3238
+ "name": "escrow",
3239
+ "pda": {
3240
+ "seeds": [
3241
+ {
3242
+ "kind": "const",
3243
+ "value": [
3244
+ 101,
3245
+ 115,
3246
+ 99,
3247
+ 114,
3248
+ 111,
3249
+ 119
3250
+ ]
3251
+ },
3252
+ {
3253
+ "kind": "account",
3254
+ "path": "escrow.client",
3255
+ "account": "Escrow"
3256
+ },
3257
+ {
3258
+ "kind": "arg",
3259
+ "path": "escrow_id"
3260
+ }
3261
+ ]
3262
+ }
3263
+ },
3264
+ {
3265
+ "name": "terms",
3266
+ "writable": true,
3267
+ "pda": {
3268
+ "seeds": [
3269
+ {
3270
+ "kind": "const",
3271
+ "value": [
3272
+ 116,
3273
+ 101,
3274
+ 114,
3275
+ 109,
3276
+ 115
3277
+ ]
3278
+ },
3279
+ {
3280
+ "kind": "account",
3281
+ "path": "escrow"
3282
+ }
3283
+ ]
3284
+ }
3285
+ }
3286
+ ],
3287
+ "args": [
3288
+ {
3289
+ "name": "escrow_id",
3290
+ "type": "u64"
3291
+ }
3292
+ ]
3293
+ },
3294
+ {
3295
+ "name": "sign_public_terms",
3296
+ "docs": [
3297
+ "Sign public terms (L1 only)."
3298
+ ],
3299
+ "discriminator": [
3300
+ 121,
3301
+ 163,
3302
+ 39,
3303
+ 91,
3304
+ 142,
3305
+ 165,
3306
+ 55,
3307
+ 30
3308
+ ],
3309
+ "accounts": [
3310
+ {
3311
+ "name": "user",
3312
+ "writable": true,
3313
+ "signer": true
3314
+ },
3315
+ {
3316
+ "name": "escrow",
3317
+ "writable": true,
3318
+ "pda": {
3319
+ "seeds": [
3320
+ {
3321
+ "kind": "const",
3322
+ "value": [
3323
+ 101,
3324
+ 115,
3325
+ 99,
3326
+ 114,
3327
+ 111,
3328
+ 119
3329
+ ]
3330
+ },
3331
+ {
3332
+ "kind": "account",
3333
+ "path": "escrow.client",
3334
+ "account": "Escrow"
3335
+ },
3336
+ {
3337
+ "kind": "arg",
3338
+ "path": "escrow_id"
3339
+ }
3340
+ ]
3341
+ }
3342
+ },
3343
+ {
3344
+ "name": "terms",
3345
+ "writable": true,
3346
+ "pda": {
3347
+ "seeds": [
3348
+ {
3349
+ "kind": "const",
3350
+ "value": [
3351
+ 116,
3352
+ 101,
3353
+ 114,
3354
+ 109,
3355
+ 115
3356
+ ]
3357
+ },
3358
+ {
3359
+ "kind": "account",
3360
+ "path": "escrow"
3361
+ }
3362
+ ]
3363
+ }
3364
+ }
3365
+ ],
3366
+ "args": [
3367
+ {
3368
+ "name": "escrow_id",
3369
+ "type": "u64"
3370
+ }
3371
+ ]
3372
+ },
3373
+ {
3374
+ "name": "submit_milestone",
3375
+ "discriminator": [
3376
+ 35,
3377
+ 96,
3378
+ 220,
3379
+ 215,
3380
+ 102,
3381
+ 83,
3382
+ 139,
3383
+ 52
3384
+ ],
3385
+ "accounts": [
3386
+ {
3387
+ "name": "contractor",
3388
+ "writable": true,
3389
+ "signer": true
3390
+ },
3391
+ {
3392
+ "name": "escrow",
3393
+ "pda": {
3394
+ "seeds": [
3395
+ {
3396
+ "kind": "const",
3397
+ "value": [
3398
+ 101,
3399
+ 115,
3400
+ 99,
3401
+ 114,
3402
+ 111,
3403
+ 119
3404
+ ]
3405
+ },
3406
+ {
3407
+ "kind": "account",
3408
+ "path": "escrow.client",
3409
+ "account": "Escrow"
3410
+ },
3411
+ {
3412
+ "kind": "arg",
3413
+ "path": "escrow_id"
3414
+ }
3415
+ ]
3416
+ }
3417
+ },
3418
+ {
3419
+ "name": "milestone",
3420
+ "writable": true
3421
+ }
3422
+ ],
3423
+ "args": [
3424
+ {
3425
+ "name": "escrow_id",
3426
+ "type": "u64"
3427
+ },
3428
+ {
3429
+ "name": "index",
3430
+ "type": "u8"
3431
+ }
3432
+ ]
3433
+ },
3434
+ {
3435
+ "name": "undelegate_escrow",
3436
+ "docs": [
3437
+ "Commit and undelegate escrow account back to Solana L1."
3438
+ ],
3439
+ "discriminator": [
3440
+ 83,
3441
+ 234,
3442
+ 43,
3443
+ 194,
3444
+ 185,
3445
+ 162,
3446
+ 137,
3447
+ 127
3448
+ ],
3449
+ "accounts": [
3450
+ {
3451
+ "name": "payer",
3452
+ "writable": true,
3453
+ "signer": true
3454
+ },
3455
+ {
3456
+ "name": "escrow",
3457
+ "writable": true
3458
+ },
3459
+ {
3460
+ "name": "magic_program",
3461
+ "address": "Magic11111111111111111111111111111111111111"
3462
+ },
3463
+ {
3464
+ "name": "magic_context",
3465
+ "writable": true,
3466
+ "address": "MagicContext1111111111111111111111111111111"
3467
+ }
3468
+ ],
3469
+ "args": []
3470
+ },
3471
+ {
3472
+ "name": "undelegate_pda",
3473
+ "docs": [
3474
+ "Commit and undelegate any delegated PDA back to Solana L1."
3475
+ ],
3476
+ "discriminator": [
3477
+ 75,
3478
+ 52,
3479
+ 199,
3480
+ 170,
3481
+ 6,
3482
+ 31,
3483
+ 186,
3484
+ 19
3485
+ ],
3486
+ "accounts": [
3487
+ {
3488
+ "name": "payer",
3489
+ "writable": true,
3490
+ "signer": true
3491
+ },
3492
+ {
3493
+ "name": "pda",
3494
+ "writable": true
3495
+ },
3496
+ {
3497
+ "name": "magic_program",
3498
+ "address": "Magic11111111111111111111111111111111111111"
3499
+ },
3500
+ {
3501
+ "name": "magic_context",
3502
+ "writable": true,
3503
+ "address": "MagicContext1111111111111111111111111111111"
3504
+ }
3505
+ ],
3506
+ "args": []
3507
+ },
3508
+ {
3509
+ "name": "update_permission",
3510
+ "docs": [
3511
+ "Update an existing permission (e.g., add/remove members)."
3512
+ ],
3513
+ "discriminator": [
3514
+ 1,
3515
+ 120,
3516
+ 111,
3517
+ 126,
3518
+ 237,
3519
+ 61,
3520
+ 41,
3521
+ 61
3522
+ ],
3523
+ "accounts": [
3524
+ {
3525
+ "name": "permissioned_account"
3526
+ },
3527
+ {
3528
+ "name": "permission",
3529
+ "writable": true
3530
+ },
3531
+ {
3532
+ "name": "authority",
3533
+ "signer": true
3534
+ },
3535
+ {
3536
+ "name": "permission_program",
3537
+ "address": "ACLseoPoyC3cBqoUtkbjZ4aDrkurZW86v19pXz2XQnp1"
3538
+ }
3539
+ ],
3540
+ "args": [
3541
+ {
3542
+ "name": "account_type",
3543
+ "type": {
3544
+ "defined": {
3545
+ "name": "AccountType"
3546
+ }
3547
+ }
3548
+ },
3549
+ {
3550
+ "name": "members",
3551
+ "type": {
3552
+ "option": {
3553
+ "vec": {
3554
+ "defined": {
3555
+ "name": "Member"
3556
+ }
3557
+ }
3558
+ }
3559
+ }
3560
+ }
3561
+ ]
3562
+ },
3563
+ {
3564
+ "name": "update_private_milestone_details",
3565
+ "docs": [
3566
+ "Update private milestone details (PER-only)."
3567
+ ],
3568
+ "discriminator": [
3569
+ 225,
3570
+ 115,
3571
+ 129,
3572
+ 97,
3573
+ 182,
3574
+ 86,
3575
+ 79,
3576
+ 96
3577
+ ],
3578
+ "accounts": [
3579
+ {
3580
+ "name": "user"
3581
+ },
3582
+ {
3583
+ "name": "payer",
3584
+ "writable": true,
3585
+ "signer": true
3586
+ },
3587
+ {
3588
+ "name": "session_token",
3589
+ "optional": true
3590
+ },
3591
+ {
3592
+ "name": "escrow",
3593
+ "pda": {
3594
+ "seeds": [
3595
+ {
3596
+ "kind": "const",
3597
+ "value": [
3598
+ 101,
3599
+ 115,
3600
+ 99,
3601
+ 114,
3602
+ 111,
3603
+ 119
3604
+ ]
3605
+ },
3606
+ {
3607
+ "kind": "account",
3608
+ "path": "escrow.client",
3609
+ "account": "Escrow"
3610
+ },
3611
+ {
3612
+ "kind": "arg",
3613
+ "path": "escrow_id"
3614
+ }
3615
+ ]
3616
+ }
3617
+ },
3618
+ {
3619
+ "name": "private_milestone",
3620
+ "writable": true
3621
+ }
3622
+ ],
3623
+ "args": [
3624
+ {
3625
+ "name": "escrow_id",
3626
+ "type": "u64"
3627
+ },
3628
+ {
3629
+ "name": "index",
3630
+ "type": "u8"
3631
+ },
3632
+ {
3633
+ "name": "description_hash",
3634
+ "type": {
3635
+ "array": [
3636
+ "u8",
3637
+ 32
3638
+ ]
3639
+ }
3640
+ },
3641
+ {
3642
+ "name": "encrypted_details",
3643
+ "type": "bytes"
3644
+ }
3645
+ ]
3646
+ },
3647
+ {
3648
+ "name": "update_private_milestone_status",
3649
+ "docs": [
3650
+ "Update private milestone status (PER-only)."
3651
+ ],
3652
+ "discriminator": [
3653
+ 35,
3654
+ 195,
3655
+ 235,
3656
+ 3,
3657
+ 98,
3658
+ 100,
3659
+ 80,
3660
+ 130
3661
+ ],
3662
+ "accounts": [
3663
+ {
3664
+ "name": "user"
3665
+ },
3666
+ {
3667
+ "name": "payer",
3668
+ "writable": true,
3669
+ "signer": true
3670
+ },
3671
+ {
3672
+ "name": "session_token",
3673
+ "optional": true
3674
+ },
3675
+ {
3676
+ "name": "escrow",
3677
+ "pda": {
3678
+ "seeds": [
3679
+ {
3680
+ "kind": "const",
3681
+ "value": [
3682
+ 101,
3683
+ 115,
3684
+ 99,
3685
+ 114,
3686
+ 111,
3687
+ 119
3688
+ ]
3689
+ },
3690
+ {
3691
+ "kind": "account",
3692
+ "path": "escrow.client",
3693
+ "account": "Escrow"
3694
+ },
3695
+ {
3696
+ "kind": "arg",
3697
+ "path": "escrow_id"
3698
+ }
3699
+ ]
3700
+ }
3701
+ },
3702
+ {
3703
+ "name": "private_milestone",
3704
+ "writable": true
3705
+ }
3706
+ ],
3707
+ "args": [
3708
+ {
3709
+ "name": "escrow_id",
3710
+ "type": "u64"
3711
+ },
3712
+ {
3713
+ "name": "index",
3714
+ "type": "u8"
3715
+ },
3716
+ {
3717
+ "name": "status",
3718
+ "type": "u8"
3719
+ }
3720
+ ]
3721
+ }
3722
+ ],
3723
+ "accounts": [
3724
+ {
3725
+ "name": "Dispute",
3726
+ "discriminator": [
3727
+ 36,
3728
+ 49,
3729
+ 241,
3730
+ 67,
3731
+ 40,
3732
+ 36,
3733
+ 241,
3734
+ 74
3735
+ ]
3736
+ },
3737
+ {
3738
+ "name": "Escrow",
3739
+ "discriminator": [
3740
+ 31,
3741
+ 213,
3742
+ 123,
3743
+ 187,
3744
+ 186,
3745
+ 22,
3746
+ 218,
3747
+ 155
3748
+ ]
3749
+ },
3750
+ {
3751
+ "name": "Milestone",
3752
+ "discriminator": [
3753
+ 38,
3754
+ 210,
3755
+ 239,
3756
+ 177,
3757
+ 85,
3758
+ 184,
3759
+ 10,
3760
+ 44
3761
+ ]
3762
+ },
3763
+ {
3764
+ "name": "PrivateMilestone",
3765
+ "discriminator": [
3766
+ 176,
3767
+ 171,
3768
+ 202,
3769
+ 24,
3770
+ 180,
3771
+ 225,
3772
+ 97,
3773
+ 3
3774
+ ]
3775
+ },
3776
+ {
3777
+ "name": "Profile",
3778
+ "discriminator": [
3779
+ 184,
3780
+ 101,
3781
+ 165,
3782
+ 188,
3783
+ 95,
3784
+ 63,
3785
+ 127,
3786
+ 188
3787
+ ]
3788
+ },
3789
+ {
3790
+ "name": "SessionToken",
3791
+ "discriminator": [
3792
+ 233,
3793
+ 4,
3794
+ 115,
3795
+ 14,
3796
+ 46,
3797
+ 21,
3798
+ 1,
3799
+ 15
3800
+ ]
3801
+ },
3802
+ {
3803
+ "name": "Terms",
3804
+ "discriminator": [
3805
+ 223,
3806
+ 24,
3807
+ 40,
3808
+ 223,
3809
+ 249,
3810
+ 219,
3811
+ 14,
3812
+ 97
3813
+ ]
3814
+ }
3815
+ ],
3816
+ "errors": [
3817
+ {
3818
+ "code": 6000,
3819
+ "name": "Unauthorized",
3820
+ "msg": "Unauthorized"
3821
+ },
3822
+ {
3823
+ "code": 6001,
3824
+ "name": "InvalidState",
3825
+ "msg": "Invalid state for this action"
3826
+ },
3827
+ {
3828
+ "code": 6002,
3829
+ "name": "MilestonesPrivate",
3830
+ "msg": "Milestones are private; use PER"
3831
+ },
3832
+ {
3833
+ "code": 6003,
3834
+ "name": "InsufficientFunds",
3835
+ "msg": "Insufficient funds"
3836
+ },
3837
+ {
3838
+ "code": 6004,
3839
+ "name": "Overflow",
3840
+ "msg": "Overflow"
3841
+ },
3842
+ {
3843
+ "code": 6005,
3844
+ "name": "DisputeOpen",
3845
+ "msg": "Dispute is open"
3846
+ },
3847
+ {
3848
+ "code": 6006,
3849
+ "name": "NoDispute",
3850
+ "msg": "No dispute to resolve"
3851
+ },
3852
+ {
3853
+ "code": 6007,
3854
+ "name": "MissingBump",
3855
+ "msg": "Missing bump"
3856
+ },
3857
+ {
3858
+ "code": 6008,
3859
+ "name": "ExceedsTotal",
3860
+ "msg": "Funding exceeds total milestone amount"
3861
+ },
3862
+ {
3863
+ "code": 6009,
3864
+ "name": "InvalidDeadline",
3865
+ "msg": "Invalid deadline"
3866
+ },
3867
+ {
3868
+ "code": 6010,
3869
+ "name": "DeadlineNotReached",
3870
+ "msg": "Deadline not reached"
3871
+ },
3872
+ {
3873
+ "code": 6011,
3874
+ "name": "InvalidFundingAmount",
3875
+ "msg": "Invalid funding amount"
3876
+ },
3877
+ {
3878
+ "code": 6012,
3879
+ "name": "TermsLocked",
3880
+ "msg": "Terms are locked after signing"
3881
+ },
3882
+ {
3883
+ "code": 6013,
3884
+ "name": "MissingMilestones",
3885
+ "msg": "Missing milestone accounts"
3886
+ },
3887
+ {
3888
+ "code": 6014,
3889
+ "name": "InvalidSplit",
3890
+ "msg": "Invalid dispute split"
3891
+ }
3892
+ ],
3893
+ "types": [
3894
+ {
3895
+ "name": "AccountType",
3896
+ "type": {
3897
+ "kind": "enum",
3898
+ "variants": [
3899
+ {
3900
+ "name": "Escrow",
3901
+ "fields": [
3902
+ {
3903
+ "name": "client",
3904
+ "type": "pubkey"
3905
+ },
3906
+ {
3907
+ "name": "escrow_id",
3908
+ "type": "u64"
3909
+ }
3910
+ ]
3911
+ },
3912
+ {
3913
+ "name": "Milestone",
3914
+ "fields": [
3915
+ {
3916
+ "name": "escrow",
3917
+ "type": "pubkey"
3918
+ },
3919
+ {
3920
+ "name": "index",
3921
+ "type": "u8"
3922
+ }
3923
+ ]
3924
+ },
3925
+ {
3926
+ "name": "PrivateMilestone",
3927
+ "fields": [
3928
+ {
3929
+ "name": "escrow",
3930
+ "type": "pubkey"
3931
+ },
3932
+ {
3933
+ "name": "index",
3934
+ "type": "u8"
3935
+ }
3936
+ ]
3937
+ },
3938
+ {
3939
+ "name": "Terms",
3940
+ "fields": [
3941
+ {
3942
+ "name": "escrow",
3943
+ "type": "pubkey"
3944
+ }
3945
+ ]
3946
+ },
3947
+ {
3948
+ "name": "PerVault",
3949
+ "fields": [
3950
+ {
3951
+ "name": "escrow",
3952
+ "type": "pubkey"
3953
+ }
3954
+ ]
3955
+ },
3956
+ {
3957
+ "name": "Profile",
3958
+ "fields": [
3959
+ {
3960
+ "name": "owner",
3961
+ "type": "pubkey"
3962
+ }
3963
+ ]
3964
+ },
3965
+ {
3966
+ "name": "Dispute",
3967
+ "fields": [
3968
+ {
3969
+ "name": "escrow",
3970
+ "type": "pubkey"
3971
+ }
3972
+ ]
3973
+ }
3974
+ ]
3975
+ }
3976
+ },
3977
+ {
3978
+ "name": "Dispute",
3979
+ "type": {
3980
+ "kind": "struct",
3981
+ "fields": [
3982
+ {
3983
+ "name": "escrow",
3984
+ "type": "pubkey"
3985
+ },
3986
+ {
3987
+ "name": "opened_by",
3988
+ "type": "pubkey"
3989
+ },
3990
+ {
3991
+ "name": "opened_at",
3992
+ "type": "i64"
3993
+ },
3994
+ {
3995
+ "name": "amount",
3996
+ "type": "u64"
3997
+ },
3998
+ {
3999
+ "name": "client_amount",
4000
+ "type": "u64"
4001
+ },
4002
+ {
4003
+ "name": "contractor_amount",
4004
+ "type": "u64"
4005
+ },
4006
+ {
4007
+ "name": "release_to_contractor",
4008
+ "type": "bool"
4009
+ },
4010
+ {
4011
+ "name": "resolved",
4012
+ "type": "bool"
4013
+ },
4014
+ {
4015
+ "name": "resolved_at",
4016
+ "type": "i64"
4017
+ },
4018
+ {
4019
+ "name": "resolved_by",
4020
+ "type": "pubkey"
4021
+ }
4022
+ ]
4023
+ }
4024
+ },
4025
+ {
4026
+ "name": "Escrow",
4027
+ "type": {
4028
+ "kind": "struct",
4029
+ "fields": [
4030
+ {
4031
+ "name": "creator",
4032
+ "type": "pubkey"
4033
+ },
4034
+ {
4035
+ "name": "client",
4036
+ "type": "pubkey"
4037
+ },
4038
+ {
4039
+ "name": "contractor",
4040
+ "type": "pubkey"
4041
+ },
4042
+ {
4043
+ "name": "mint",
4044
+ "type": "pubkey"
4045
+ },
4046
+ {
4047
+ "name": "vault_token",
4048
+ "type": "pubkey"
4049
+ },
4050
+ {
4051
+ "name": "per_vault",
4052
+ "type": "pubkey"
4053
+ },
4054
+ {
4055
+ "name": "escrow_id",
4056
+ "type": "u64"
4057
+ },
4058
+ {
4059
+ "name": "terms_hash",
4060
+ "type": {
4061
+ "array": [
4062
+ "u8",
4063
+ 32
4064
+ ]
4065
+ }
4066
+ },
4067
+ {
4068
+ "name": "milestones_hash",
4069
+ "type": {
4070
+ "array": [
4071
+ "u8",
4072
+ 32
4073
+ ]
4074
+ }
4075
+ },
4076
+ {
4077
+ "name": "funded_amount",
4078
+ "type": "u64"
4079
+ },
4080
+ {
4081
+ "name": "released_amount",
4082
+ "type": "u64"
4083
+ },
4084
+ {
4085
+ "name": "funded_at",
4086
+ "type": "i64"
4087
+ },
4088
+ {
4089
+ "name": "dispute_open",
4090
+ "type": "bool"
4091
+ },
4092
+ {
4093
+ "name": "paid_out",
4094
+ "type": "bool"
4095
+ },
4096
+ {
4097
+ "name": "funding_ok",
4098
+ "type": "bool"
4099
+ },
4100
+ {
4101
+ "name": "ready_to_claim",
4102
+ "type": "bool"
4103
+ },
4104
+ {
4105
+ "name": "timeout_refund_ready",
4106
+ "type": "bool"
4107
+ },
4108
+ {
4109
+ "name": "timeout_funds_ready",
4110
+ "type": "bool"
4111
+ },
4112
+ {
4113
+ "name": "judge",
4114
+ "type": "pubkey"
4115
+ },
4116
+ {
4117
+ "name": "bump",
4118
+ "type": "u8"
4119
+ },
4120
+ {
4121
+ "name": "per_vault_bump",
4122
+ "type": "u8"
4123
+ }
4124
+ ]
4125
+ }
4126
+ },
4127
+ {
4128
+ "name": "Member",
4129
+ "type": {
4130
+ "kind": "struct",
4131
+ "fields": [
4132
+ {
4133
+ "name": "flags",
4134
+ "type": "u8"
4135
+ },
4136
+ {
4137
+ "name": "pubkey",
4138
+ "type": "pubkey"
4139
+ }
4140
+ ]
4141
+ }
4142
+ },
4143
+ {
4144
+ "name": "Milestone",
4145
+ "type": {
4146
+ "kind": "struct",
4147
+ "fields": [
4148
+ {
4149
+ "name": "escrow",
4150
+ "type": "pubkey"
4151
+ },
4152
+ {
4153
+ "name": "index",
4154
+ "type": "u8"
4155
+ },
4156
+ {
4157
+ "name": "status",
4158
+ "type": "u8"
4159
+ },
4160
+ {
4161
+ "name": "submitted_at",
4162
+ "type": "i64"
4163
+ },
4164
+ {
4165
+ "name": "creator",
4166
+ "type": "pubkey"
4167
+ }
4168
+ ]
4169
+ }
4170
+ },
4171
+ {
4172
+ "name": "PrivateMilestone",
4173
+ "type": {
4174
+ "kind": "struct",
4175
+ "fields": [
4176
+ {
4177
+ "name": "escrow",
4178
+ "type": "pubkey"
4179
+ },
4180
+ {
4181
+ "name": "index",
4182
+ "type": "u8"
4183
+ },
4184
+ {
4185
+ "name": "status",
4186
+ "type": "u8"
4187
+ },
4188
+ {
4189
+ "name": "description_hash",
4190
+ "type": {
4191
+ "array": [
4192
+ "u8",
4193
+ 32
4194
+ ]
4195
+ }
4196
+ },
4197
+ {
4198
+ "name": "encrypted_details_len",
4199
+ "type": "u16"
4200
+ },
4201
+ {
4202
+ "name": "encrypted_details",
4203
+ "type": {
4204
+ "array": [
4205
+ "u8",
4206
+ 256
4207
+ ]
4208
+ }
4209
+ },
4210
+ {
4211
+ "name": "updated_at",
4212
+ "type": "i64"
4213
+ }
4214
+ ]
4215
+ }
4216
+ },
4217
+ {
4218
+ "name": "Profile",
4219
+ "type": {
4220
+ "kind": "struct",
4221
+ "fields": [
4222
+ {
4223
+ "name": "owner",
4224
+ "type": "pubkey"
4225
+ },
4226
+ {
4227
+ "name": "stars",
4228
+ "type": "u64"
4229
+ },
4230
+ {
4231
+ "name": "completed_jobs",
4232
+ "type": "u64"
4233
+ },
4234
+ {
4235
+ "name": "total_earned",
4236
+ "type": "u64"
4237
+ }
4238
+ ]
4239
+ }
4240
+ },
4241
+ {
4242
+ "name": "SessionToken",
4243
+ "type": {
4244
+ "kind": "struct",
4245
+ "fields": [
4246
+ {
4247
+ "name": "authority",
4248
+ "type": "pubkey"
4249
+ },
4250
+ {
4251
+ "name": "target_program",
4252
+ "type": "pubkey"
4253
+ },
4254
+ {
4255
+ "name": "session_signer",
4256
+ "type": "pubkey"
4257
+ },
4258
+ {
4259
+ "name": "valid_until",
4260
+ "type": "i64"
4261
+ }
4262
+ ]
4263
+ }
4264
+ },
4265
+ {
4266
+ "name": "Terms",
4267
+ "type": {
4268
+ "kind": "struct",
4269
+ "fields": [
4270
+ {
4271
+ "name": "escrow",
4272
+ "type": "pubkey"
4273
+ },
4274
+ {
4275
+ "name": "terms_hash",
4276
+ "type": {
4277
+ "array": [
4278
+ "u8",
4279
+ 32
4280
+ ]
4281
+ }
4282
+ },
4283
+ {
4284
+ "name": "total_payment",
4285
+ "type": "u64"
4286
+ },
4287
+ {
4288
+ "name": "deadline",
4289
+ "type": "i64"
4290
+ },
4291
+ {
4292
+ "name": "encrypted_terms_len",
4293
+ "type": "u16"
4294
+ },
4295
+ {
4296
+ "name": "encrypted_terms",
4297
+ "type": {
4298
+ "array": [
4299
+ "u8",
4300
+ 256
4301
+ ]
4302
+ }
4303
+ },
4304
+ {
4305
+ "name": "signed_client",
4306
+ "type": "bool"
4307
+ },
4308
+ {
4309
+ "name": "signed_contractor",
4310
+ "type": "bool"
4311
+ },
4312
+ {
4313
+ "name": "signed_at",
4314
+ "type": "i64"
4315
+ }
4316
+ ]
4317
+ }
4318
+ }
4319
+ ]
4320
+ }