@craftec/flowcraft-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/idl.json ADDED
@@ -0,0 +1,1636 @@
1
+ {
2
+ "address": "3T8z77gRqyW6KZQBHf1ah2uKABh9vc5rSTaD595U2wm9",
3
+ "metadata": {
4
+ "name": "flowcraft",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0",
7
+ "description": "Created with Anchor"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "add_segment",
12
+ "docs": [
13
+ "Add a new segment to an existing subscription (can be self or gift)"
14
+ ],
15
+ "discriminator": [
16
+ 0,
17
+ 132,
18
+ 87,
19
+ 88,
20
+ 125,
21
+ 226,
22
+ 116,
23
+ 34
24
+ ],
25
+ "accounts": [
26
+ {
27
+ "name": "payer",
28
+ "writable": true,
29
+ "signer": true
30
+ },
31
+ {
32
+ "name": "pool",
33
+ "writable": true,
34
+ "pda": {
35
+ "seeds": [
36
+ {
37
+ "kind": "const",
38
+ "value": [
39
+ 112,
40
+ 111,
41
+ 111,
42
+ 108
43
+ ]
44
+ },
45
+ {
46
+ "kind": "account",
47
+ "path": "pool.owner",
48
+ "account": "Pool"
49
+ },
50
+ {
51
+ "kind": "account",
52
+ "path": "pool.name",
53
+ "account": "Pool"
54
+ }
55
+ ]
56
+ }
57
+ },
58
+ {
59
+ "name": "config",
60
+ "pda": {
61
+ "seeds": [
62
+ {
63
+ "kind": "const",
64
+ "value": [
65
+ 99,
66
+ 111,
67
+ 110,
68
+ 102,
69
+ 105,
70
+ 103
71
+ ]
72
+ }
73
+ ]
74
+ }
75
+ },
76
+ {
77
+ "name": "stream",
78
+ "writable": true,
79
+ "pda": {
80
+ "seeds": [
81
+ {
82
+ "kind": "const",
83
+ "value": [
84
+ 115,
85
+ 116,
86
+ 114,
87
+ 101,
88
+ 97,
89
+ 109
90
+ ]
91
+ },
92
+ {
93
+ "kind": "account",
94
+ "path": "pool"
95
+ },
96
+ {
97
+ "kind": "account",
98
+ "path": "stream.subscriber",
99
+ "account": "Stream"
100
+ }
101
+ ]
102
+ }
103
+ },
104
+ {
105
+ "name": "vault",
106
+ "writable": true,
107
+ "pda": {
108
+ "seeds": [
109
+ {
110
+ "kind": "const",
111
+ "value": [
112
+ 118,
113
+ 97,
114
+ 117,
115
+ 108,
116
+ 116
117
+ ]
118
+ },
119
+ {
120
+ "kind": "account",
121
+ "path": "pool"
122
+ }
123
+ ]
124
+ }
125
+ },
126
+ {
127
+ "name": "payer_token_account",
128
+ "writable": true
129
+ },
130
+ {
131
+ "name": "treasury_token_account",
132
+ "writable": true
133
+ },
134
+ {
135
+ "name": "token_program",
136
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
137
+ },
138
+ {
139
+ "name": "system_program",
140
+ "address": "11111111111111111111111111111111"
141
+ }
142
+ ],
143
+ "args": [
144
+ {
145
+ "name": "tier",
146
+ "type": "string"
147
+ },
148
+ {
149
+ "name": "amount",
150
+ "type": "u64"
151
+ },
152
+ {
153
+ "name": "duration_seconds",
154
+ "type": "u64"
155
+ }
156
+ ]
157
+ },
158
+ {
159
+ "name": "cancel_segment",
160
+ "docs": [
161
+ "Cancel a specific segment (pool owner only)"
162
+ ],
163
+ "discriminator": [
164
+ 37,
165
+ 132,
166
+ 200,
167
+ 51,
168
+ 10,
169
+ 95,
170
+ 178,
171
+ 80
172
+ ],
173
+ "accounts": [
174
+ {
175
+ "name": "subscriber",
176
+ "docs": [
177
+ "Stream subscriber who can cancel any segment"
178
+ ],
179
+ "signer": true
180
+ },
181
+ {
182
+ "name": "pool",
183
+ "writable": true,
184
+ "pda": {
185
+ "seeds": [
186
+ {
187
+ "kind": "const",
188
+ "value": [
189
+ 112,
190
+ 111,
191
+ 111,
192
+ 108
193
+ ]
194
+ },
195
+ {
196
+ "kind": "account",
197
+ "path": "pool.owner",
198
+ "account": "Pool"
199
+ },
200
+ {
201
+ "kind": "account",
202
+ "path": "pool.name",
203
+ "account": "Pool"
204
+ }
205
+ ]
206
+ }
207
+ },
208
+ {
209
+ "name": "stream",
210
+ "writable": true,
211
+ "pda": {
212
+ "seeds": [
213
+ {
214
+ "kind": "const",
215
+ "value": [
216
+ 115,
217
+ 116,
218
+ 114,
219
+ 101,
220
+ 97,
221
+ 109
222
+ ]
223
+ },
224
+ {
225
+ "kind": "account",
226
+ "path": "pool"
227
+ },
228
+ {
229
+ "kind": "account",
230
+ "path": "subscriber"
231
+ }
232
+ ]
233
+ }
234
+ },
235
+ {
236
+ "name": "vault",
237
+ "writable": true,
238
+ "pda": {
239
+ "seeds": [
240
+ {
241
+ "kind": "const",
242
+ "value": [
243
+ 118,
244
+ 97,
245
+ 117,
246
+ 108,
247
+ 116
248
+ ]
249
+ },
250
+ {
251
+ "kind": "account",
252
+ "path": "pool"
253
+ }
254
+ ]
255
+ }
256
+ },
257
+ {
258
+ "name": "refund_token_account",
259
+ "docs": [
260
+ "Token account to receive refund (must belong to segment's original payer)"
261
+ ],
262
+ "writable": true
263
+ },
264
+ {
265
+ "name": "token_program",
266
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
267
+ }
268
+ ],
269
+ "args": [
270
+ {
271
+ "name": "segment_index",
272
+ "type": "u8"
273
+ }
274
+ ]
275
+ },
276
+ {
277
+ "name": "claim",
278
+ "docs": [
279
+ "Pool owner claims vested tokens from a subscriber's stream"
280
+ ],
281
+ "discriminator": [
282
+ 62,
283
+ 198,
284
+ 214,
285
+ 193,
286
+ 213,
287
+ 159,
288
+ 108,
289
+ 210
290
+ ],
291
+ "accounts": [
292
+ {
293
+ "name": "owner",
294
+ "docs": [
295
+ "Pool owner who receives vested funds"
296
+ ],
297
+ "signer": true
298
+ },
299
+ {
300
+ "name": "pool",
301
+ "writable": true,
302
+ "pda": {
303
+ "seeds": [
304
+ {
305
+ "kind": "const",
306
+ "value": [
307
+ 112,
308
+ 111,
309
+ 111,
310
+ 108
311
+ ]
312
+ },
313
+ {
314
+ "kind": "account",
315
+ "path": "pool.owner",
316
+ "account": "Pool"
317
+ },
318
+ {
319
+ "kind": "account",
320
+ "path": "pool.name",
321
+ "account": "Pool"
322
+ }
323
+ ]
324
+ }
325
+ },
326
+ {
327
+ "name": "stream",
328
+ "writable": true,
329
+ "pda": {
330
+ "seeds": [
331
+ {
332
+ "kind": "const",
333
+ "value": [
334
+ 115,
335
+ 116,
336
+ 114,
337
+ 101,
338
+ 97,
339
+ 109
340
+ ]
341
+ },
342
+ {
343
+ "kind": "account",
344
+ "path": "pool"
345
+ },
346
+ {
347
+ "kind": "account",
348
+ "path": "stream.subscriber",
349
+ "account": "Stream"
350
+ }
351
+ ]
352
+ }
353
+ },
354
+ {
355
+ "name": "vault",
356
+ "writable": true,
357
+ "pda": {
358
+ "seeds": [
359
+ {
360
+ "kind": "const",
361
+ "value": [
362
+ 118,
363
+ 97,
364
+ 117,
365
+ 108,
366
+ 116
367
+ ]
368
+ },
369
+ {
370
+ "kind": "account",
371
+ "path": "pool"
372
+ }
373
+ ]
374
+ }
375
+ },
376
+ {
377
+ "name": "owner_token_account",
378
+ "writable": true
379
+ },
380
+ {
381
+ "name": "token_program",
382
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
383
+ }
384
+ ],
385
+ "args": []
386
+ },
387
+ {
388
+ "name": "claim_batch",
389
+ "docs": [
390
+ "Pool owner claims vested tokens from multiple streams in one transaction",
391
+ "Streams are passed via remaining_accounts"
392
+ ],
393
+ "discriminator": [
394
+ 114,
395
+ 42,
396
+ 123,
397
+ 54,
398
+ 28,
399
+ 139,
400
+ 93,
401
+ 41
402
+ ],
403
+ "accounts": [
404
+ {
405
+ "name": "owner",
406
+ "docs": [
407
+ "Pool owner who receives vested funds"
408
+ ],
409
+ "signer": true
410
+ },
411
+ {
412
+ "name": "pool",
413
+ "writable": true,
414
+ "pda": {
415
+ "seeds": [
416
+ {
417
+ "kind": "const",
418
+ "value": [
419
+ 112,
420
+ 111,
421
+ 111,
422
+ 108
423
+ ]
424
+ },
425
+ {
426
+ "kind": "account",
427
+ "path": "pool.owner",
428
+ "account": "Pool"
429
+ },
430
+ {
431
+ "kind": "account",
432
+ "path": "pool.name",
433
+ "account": "Pool"
434
+ }
435
+ ]
436
+ }
437
+ },
438
+ {
439
+ "name": "vault",
440
+ "writable": true,
441
+ "pda": {
442
+ "seeds": [
443
+ {
444
+ "kind": "const",
445
+ "value": [
446
+ 118,
447
+ 97,
448
+ 117,
449
+ 108,
450
+ 116
451
+ ]
452
+ },
453
+ {
454
+ "kind": "account",
455
+ "path": "pool"
456
+ }
457
+ ]
458
+ }
459
+ },
460
+ {
461
+ "name": "owner_token_account",
462
+ "writable": true
463
+ },
464
+ {
465
+ "name": "token_program",
466
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
467
+ }
468
+ ],
469
+ "args": []
470
+ },
471
+ {
472
+ "name": "create_pool",
473
+ "docs": [
474
+ "Create a subscription pool"
475
+ ],
476
+ "discriminator": [
477
+ 233,
478
+ 146,
479
+ 209,
480
+ 142,
481
+ 207,
482
+ 104,
483
+ 64,
484
+ 188
485
+ ],
486
+ "accounts": [
487
+ {
488
+ "name": "payer",
489
+ "docs": [
490
+ "Payer for rent (can be different from owner)"
491
+ ],
492
+ "writable": true,
493
+ "signer": true
494
+ },
495
+ {
496
+ "name": "owner",
497
+ "docs": [
498
+ "Pool owner (receives vested funds, can be any pubkey including PDA)"
499
+ ]
500
+ },
501
+ {
502
+ "name": "mint"
503
+ },
504
+ {
505
+ "name": "pool",
506
+ "writable": true,
507
+ "pda": {
508
+ "seeds": [
509
+ {
510
+ "kind": "const",
511
+ "value": [
512
+ 112,
513
+ 111,
514
+ 111,
515
+ 108
516
+ ]
517
+ },
518
+ {
519
+ "kind": "account",
520
+ "path": "owner"
521
+ },
522
+ {
523
+ "kind": "arg",
524
+ "path": "pool_name"
525
+ }
526
+ ]
527
+ }
528
+ },
529
+ {
530
+ "name": "vault",
531
+ "writable": true,
532
+ "pda": {
533
+ "seeds": [
534
+ {
535
+ "kind": "const",
536
+ "value": [
537
+ 118,
538
+ 97,
539
+ 117,
540
+ 108,
541
+ 116
542
+ ]
543
+ },
544
+ {
545
+ "kind": "account",
546
+ "path": "pool"
547
+ }
548
+ ]
549
+ }
550
+ },
551
+ {
552
+ "name": "token_program",
553
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
554
+ },
555
+ {
556
+ "name": "system_program",
557
+ "address": "11111111111111111111111111111111"
558
+ }
559
+ ],
560
+ "args": [
561
+ {
562
+ "name": "pool_name",
563
+ "type": "string"
564
+ }
565
+ ]
566
+ },
567
+ {
568
+ "name": "initialize_config",
569
+ "docs": [
570
+ "Initialize the protocol config (one-time setup)"
571
+ ],
572
+ "discriminator": [
573
+ 208,
574
+ 127,
575
+ 21,
576
+ 1,
577
+ 194,
578
+ 190,
579
+ 196,
580
+ 70
581
+ ],
582
+ "accounts": [
583
+ {
584
+ "name": "admin",
585
+ "writable": true,
586
+ "signer": true
587
+ },
588
+ {
589
+ "name": "config",
590
+ "writable": true,
591
+ "pda": {
592
+ "seeds": [
593
+ {
594
+ "kind": "const",
595
+ "value": [
596
+ 99,
597
+ 111,
598
+ 110,
599
+ 102,
600
+ 105,
601
+ 103
602
+ ]
603
+ }
604
+ ]
605
+ }
606
+ },
607
+ {
608
+ "name": "system_program",
609
+ "address": "11111111111111111111111111111111"
610
+ }
611
+ ],
612
+ "args": [
613
+ {
614
+ "name": "treasury",
615
+ "type": "pubkey"
616
+ },
617
+ {
618
+ "name": "fee_bps",
619
+ "type": "u64"
620
+ }
621
+ ]
622
+ },
623
+ {
624
+ "name": "subscribe",
625
+ "docs": [
626
+ "Subscribe to a pool (creates stream if new, adds segment if existing)"
627
+ ],
628
+ "discriminator": [
629
+ 254,
630
+ 28,
631
+ 191,
632
+ 138,
633
+ 156,
634
+ 179,
635
+ 183,
636
+ 53
637
+ ],
638
+ "accounts": [
639
+ {
640
+ "name": "subscriber",
641
+ "writable": true,
642
+ "signer": true
643
+ },
644
+ {
645
+ "name": "pool",
646
+ "writable": true,
647
+ "pda": {
648
+ "seeds": [
649
+ {
650
+ "kind": "const",
651
+ "value": [
652
+ 112,
653
+ 111,
654
+ 111,
655
+ 108
656
+ ]
657
+ },
658
+ {
659
+ "kind": "account",
660
+ "path": "pool.owner",
661
+ "account": "Pool"
662
+ },
663
+ {
664
+ "kind": "account",
665
+ "path": "pool.name",
666
+ "account": "Pool"
667
+ }
668
+ ]
669
+ }
670
+ },
671
+ {
672
+ "name": "config",
673
+ "pda": {
674
+ "seeds": [
675
+ {
676
+ "kind": "const",
677
+ "value": [
678
+ 99,
679
+ 111,
680
+ 110,
681
+ 102,
682
+ 105,
683
+ 103
684
+ ]
685
+ }
686
+ ]
687
+ }
688
+ },
689
+ {
690
+ "name": "stream",
691
+ "writable": true,
692
+ "pda": {
693
+ "seeds": [
694
+ {
695
+ "kind": "const",
696
+ "value": [
697
+ 115,
698
+ 116,
699
+ 114,
700
+ 101,
701
+ 97,
702
+ 109
703
+ ]
704
+ },
705
+ {
706
+ "kind": "account",
707
+ "path": "pool"
708
+ },
709
+ {
710
+ "kind": "account",
711
+ "path": "subscriber"
712
+ }
713
+ ]
714
+ }
715
+ },
716
+ {
717
+ "name": "vault",
718
+ "writable": true,
719
+ "pda": {
720
+ "seeds": [
721
+ {
722
+ "kind": "const",
723
+ "value": [
724
+ 118,
725
+ 97,
726
+ 117,
727
+ 108,
728
+ 116
729
+ ]
730
+ },
731
+ {
732
+ "kind": "account",
733
+ "path": "pool"
734
+ }
735
+ ]
736
+ }
737
+ },
738
+ {
739
+ "name": "subscriber_token_account",
740
+ "writable": true
741
+ },
742
+ {
743
+ "name": "treasury_token_account",
744
+ "writable": true
745
+ },
746
+ {
747
+ "name": "token_program",
748
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
749
+ },
750
+ {
751
+ "name": "system_program",
752
+ "address": "11111111111111111111111111111111"
753
+ }
754
+ ],
755
+ "args": [
756
+ {
757
+ "name": "tier",
758
+ "type": "string"
759
+ },
760
+ {
761
+ "name": "amount",
762
+ "type": "u64"
763
+ },
764
+ {
765
+ "name": "duration_seconds",
766
+ "type": "u64"
767
+ }
768
+ ]
769
+ },
770
+ {
771
+ "name": "update_config",
772
+ "docs": [
773
+ "Update protocol config (admin only)"
774
+ ],
775
+ "discriminator": [
776
+ 29,
777
+ 158,
778
+ 252,
779
+ 191,
780
+ 10,
781
+ 83,
782
+ 219,
783
+ 99
784
+ ],
785
+ "accounts": [
786
+ {
787
+ "name": "admin",
788
+ "signer": true
789
+ },
790
+ {
791
+ "name": "config",
792
+ "writable": true,
793
+ "pda": {
794
+ "seeds": [
795
+ {
796
+ "kind": "const",
797
+ "value": [
798
+ 99,
799
+ 111,
800
+ 110,
801
+ 102,
802
+ 105,
803
+ 103
804
+ ]
805
+ }
806
+ ]
807
+ }
808
+ }
809
+ ],
810
+ "args": [
811
+ {
812
+ "name": "new_treasury",
813
+ "type": {
814
+ "option": "pubkey"
815
+ }
816
+ },
817
+ {
818
+ "name": "new_fee_bps",
819
+ "type": {
820
+ "option": "u64"
821
+ }
822
+ },
823
+ {
824
+ "name": "new_admin",
825
+ "type": {
826
+ "option": "pubkey"
827
+ }
828
+ }
829
+ ]
830
+ },
831
+ {
832
+ "name": "upgrade_segment",
833
+ "docs": [
834
+ "Upgrade or downgrade a segment to a new rate"
835
+ ],
836
+ "discriminator": [
837
+ 109,
838
+ 79,
839
+ 30,
840
+ 123,
841
+ 203,
842
+ 28,
843
+ 106,
844
+ 26
845
+ ],
846
+ "accounts": [
847
+ {
848
+ "name": "caller",
849
+ "docs": [
850
+ "Anyone can upgrade, only subscriber can downgrade"
851
+ ],
852
+ "signer": true
853
+ },
854
+ {
855
+ "name": "subscriber"
856
+ },
857
+ {
858
+ "name": "pool",
859
+ "writable": true,
860
+ "pda": {
861
+ "seeds": [
862
+ {
863
+ "kind": "const",
864
+ "value": [
865
+ 112,
866
+ 111,
867
+ 111,
868
+ 108
869
+ ]
870
+ },
871
+ {
872
+ "kind": "account",
873
+ "path": "pool.owner",
874
+ "account": "Pool"
875
+ },
876
+ {
877
+ "kind": "account",
878
+ "path": "pool.name",
879
+ "account": "Pool"
880
+ }
881
+ ]
882
+ }
883
+ },
884
+ {
885
+ "name": "stream",
886
+ "writable": true,
887
+ "pda": {
888
+ "seeds": [
889
+ {
890
+ "kind": "const",
891
+ "value": [
892
+ 115,
893
+ 116,
894
+ 114,
895
+ 101,
896
+ 97,
897
+ 109
898
+ ]
899
+ },
900
+ {
901
+ "kind": "account",
902
+ "path": "pool"
903
+ },
904
+ {
905
+ "kind": "account",
906
+ "path": "subscriber"
907
+ }
908
+ ]
909
+ }
910
+ },
911
+ {
912
+ "name": "vault",
913
+ "writable": true,
914
+ "pda": {
915
+ "seeds": [
916
+ {
917
+ "kind": "const",
918
+ "value": [
919
+ 118,
920
+ 97,
921
+ 117,
922
+ 108,
923
+ 116
924
+ ]
925
+ },
926
+ {
927
+ "kind": "account",
928
+ "path": "pool"
929
+ }
930
+ ]
931
+ }
932
+ },
933
+ {
934
+ "name": "caller_token_account",
935
+ "writable": true
936
+ },
937
+ {
938
+ "name": "payer_token_account",
939
+ "writable": true
940
+ },
941
+ {
942
+ "name": "token_program",
943
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
944
+ }
945
+ ],
946
+ "args": [
947
+ {
948
+ "name": "segment_index",
949
+ "type": "u8"
950
+ },
951
+ {
952
+ "name": "new_amount",
953
+ "type": "u64"
954
+ },
955
+ {
956
+ "name": "new_duration",
957
+ "type": "u64"
958
+ }
959
+ ]
960
+ }
961
+ ],
962
+ "accounts": [
963
+ {
964
+ "name": "Config",
965
+ "discriminator": [
966
+ 155,
967
+ 12,
968
+ 170,
969
+ 224,
970
+ 30,
971
+ 250,
972
+ 204,
973
+ 130
974
+ ]
975
+ },
976
+ {
977
+ "name": "Pool",
978
+ "discriminator": [
979
+ 241,
980
+ 154,
981
+ 109,
982
+ 4,
983
+ 17,
984
+ 177,
985
+ 109,
986
+ 188
987
+ ]
988
+ },
989
+ {
990
+ "name": "Stream",
991
+ "discriminator": [
992
+ 166,
993
+ 224,
994
+ 59,
995
+ 4,
996
+ 202,
997
+ 10,
998
+ 186,
999
+ 83
1000
+ ]
1001
+ }
1002
+ ],
1003
+ "events": [
1004
+ {
1005
+ "name": "BatchClaimed",
1006
+ "discriminator": [
1007
+ 60,
1008
+ 42,
1009
+ 120,
1010
+ 40,
1011
+ 81,
1012
+ 126,
1013
+ 128,
1014
+ 160
1015
+ ]
1016
+ },
1017
+ {
1018
+ "name": "ConfigInitialized",
1019
+ "discriminator": [
1020
+ 181,
1021
+ 49,
1022
+ 200,
1023
+ 156,
1024
+ 19,
1025
+ 167,
1026
+ 178,
1027
+ 91
1028
+ ]
1029
+ },
1030
+ {
1031
+ "name": "ConfigUpdated",
1032
+ "discriminator": [
1033
+ 40,
1034
+ 241,
1035
+ 230,
1036
+ 122,
1037
+ 11,
1038
+ 19,
1039
+ 198,
1040
+ 194
1041
+ ]
1042
+ },
1043
+ {
1044
+ "name": "PoolCreated",
1045
+ "discriminator": [
1046
+ 202,
1047
+ 44,
1048
+ 41,
1049
+ 88,
1050
+ 104,
1051
+ 220,
1052
+ 157,
1053
+ 82
1054
+ ]
1055
+ },
1056
+ {
1057
+ "name": "SegmentAdded",
1058
+ "discriminator": [
1059
+ 140,
1060
+ 152,
1061
+ 59,
1062
+ 4,
1063
+ 53,
1064
+ 52,
1065
+ 181,
1066
+ 254
1067
+ ]
1068
+ },
1069
+ {
1070
+ "name": "SegmentCancelled",
1071
+ "discriminator": [
1072
+ 181,
1073
+ 95,
1074
+ 13,
1075
+ 96,
1076
+ 75,
1077
+ 141,
1078
+ 156,
1079
+ 150
1080
+ ]
1081
+ },
1082
+ {
1083
+ "name": "SegmentUpgraded",
1084
+ "discriminator": [
1085
+ 223,
1086
+ 5,
1087
+ 71,
1088
+ 166,
1089
+ 230,
1090
+ 134,
1091
+ 218,
1092
+ 157
1093
+ ]
1094
+ },
1095
+ {
1096
+ "name": "Subscribed",
1097
+ "discriminator": [
1098
+ 135,
1099
+ 59,
1100
+ 105,
1101
+ 76,
1102
+ 190,
1103
+ 236,
1104
+ 138,
1105
+ 228
1106
+ ]
1107
+ },
1108
+ {
1109
+ "name": "TokensClaimed",
1110
+ "discriminator": [
1111
+ 25,
1112
+ 128,
1113
+ 244,
1114
+ 55,
1115
+ 241,
1116
+ 136,
1117
+ 200,
1118
+ 91
1119
+ ]
1120
+ }
1121
+ ],
1122
+ "errors": [
1123
+ {
1124
+ "code": 6000,
1125
+ "name": "InvalidAmount",
1126
+ "msg": "Amount must be greater than zero"
1127
+ },
1128
+ {
1129
+ "code": 6001,
1130
+ "name": "InvalidDuration",
1131
+ "msg": "Duration must be greater than zero"
1132
+ },
1133
+ {
1134
+ "code": 6002,
1135
+ "name": "MathOverflow",
1136
+ "msg": "Math overflow"
1137
+ },
1138
+ {
1139
+ "code": 6003,
1140
+ "name": "Unauthorized",
1141
+ "msg": "Unauthorized"
1142
+ },
1143
+ {
1144
+ "code": 6004,
1145
+ "name": "NothingToClaim",
1146
+ "msg": "Nothing to claim"
1147
+ },
1148
+ {
1149
+ "code": 6005,
1150
+ "name": "InvalidTreasury",
1151
+ "msg": "Invalid treasury account"
1152
+ },
1153
+ {
1154
+ "code": 6006,
1155
+ "name": "FeeTooHigh",
1156
+ "msg": "Fee too high (max 10%)"
1157
+ },
1158
+ {
1159
+ "code": 6007,
1160
+ "name": "InvalidSegmentIndex",
1161
+ "msg": "Invalid segment index"
1162
+ },
1163
+ {
1164
+ "code": 6008,
1165
+ "name": "SegmentAlreadyCancelled",
1166
+ "msg": "Segment already cancelled"
1167
+ },
1168
+ {
1169
+ "code": 6009,
1170
+ "name": "TooManySegments",
1171
+ "msg": "Too many segments (max 100)"
1172
+ },
1173
+ {
1174
+ "code": 6010,
1175
+ "name": "InvalidRefundAccount",
1176
+ "msg": "Invalid refund account - must belong to segment payer"
1177
+ },
1178
+ {
1179
+ "code": 6011,
1180
+ "name": "StreamExpired",
1181
+ "msg": "Stream expired - cannot add segments to expired stream"
1182
+ },
1183
+ {
1184
+ "code": 6012,
1185
+ "name": "PoolNameTooLong",
1186
+ "msg": "Pool name too long (max 32 chars)"
1187
+ },
1188
+ {
1189
+ "code": 6013,
1190
+ "name": "TierNameTooLong",
1191
+ "msg": "Tier name too long (max 16 chars)"
1192
+ },
1193
+ {
1194
+ "code": 6014,
1195
+ "name": "InvalidPool",
1196
+ "msg": "Invalid pool"
1197
+ },
1198
+ {
1199
+ "code": 6015,
1200
+ "name": "InvalidStream",
1201
+ "msg": "Invalid stream account"
1202
+ }
1203
+ ],
1204
+ "types": [
1205
+ {
1206
+ "name": "BatchClaimed",
1207
+ "type": {
1208
+ "kind": "struct",
1209
+ "fields": [
1210
+ {
1211
+ "name": "pool",
1212
+ "type": "pubkey"
1213
+ },
1214
+ {
1215
+ "name": "owner",
1216
+ "type": "pubkey"
1217
+ },
1218
+ {
1219
+ "name": "streams_processed",
1220
+ "type": "u64"
1221
+ },
1222
+ {
1223
+ "name": "total_amount",
1224
+ "type": "u64"
1225
+ }
1226
+ ]
1227
+ }
1228
+ },
1229
+ {
1230
+ "name": "Config",
1231
+ "type": {
1232
+ "kind": "struct",
1233
+ "fields": [
1234
+ {
1235
+ "name": "admin",
1236
+ "type": "pubkey"
1237
+ },
1238
+ {
1239
+ "name": "treasury",
1240
+ "type": "pubkey"
1241
+ },
1242
+ {
1243
+ "name": "fee_bps",
1244
+ "type": "u64"
1245
+ },
1246
+ {
1247
+ "name": "bump",
1248
+ "type": "u8"
1249
+ }
1250
+ ]
1251
+ }
1252
+ },
1253
+ {
1254
+ "name": "ConfigInitialized",
1255
+ "type": {
1256
+ "kind": "struct",
1257
+ "fields": [
1258
+ {
1259
+ "name": "admin",
1260
+ "type": "pubkey"
1261
+ },
1262
+ {
1263
+ "name": "treasury",
1264
+ "type": "pubkey"
1265
+ },
1266
+ {
1267
+ "name": "fee_bps",
1268
+ "type": "u64"
1269
+ }
1270
+ ]
1271
+ }
1272
+ },
1273
+ {
1274
+ "name": "ConfigUpdated",
1275
+ "type": {
1276
+ "kind": "struct",
1277
+ "fields": [
1278
+ {
1279
+ "name": "admin",
1280
+ "type": "pubkey"
1281
+ },
1282
+ {
1283
+ "name": "treasury",
1284
+ "type": "pubkey"
1285
+ },
1286
+ {
1287
+ "name": "fee_bps",
1288
+ "type": "u64"
1289
+ }
1290
+ ]
1291
+ }
1292
+ },
1293
+ {
1294
+ "name": "Pool",
1295
+ "type": {
1296
+ "kind": "struct",
1297
+ "fields": [
1298
+ {
1299
+ "name": "owner",
1300
+ "type": "pubkey"
1301
+ },
1302
+ {
1303
+ "name": "mint",
1304
+ "type": "pubkey"
1305
+ },
1306
+ {
1307
+ "name": "name",
1308
+ "type": "string"
1309
+ },
1310
+ {
1311
+ "name": "total_subscribers",
1312
+ "type": "u64"
1313
+ },
1314
+ {
1315
+ "name": "total_deposited",
1316
+ "type": "u64"
1317
+ },
1318
+ {
1319
+ "name": "total_withdrawn",
1320
+ "type": "u64"
1321
+ },
1322
+ {
1323
+ "name": "total_refunded",
1324
+ "type": "u64"
1325
+ },
1326
+ {
1327
+ "name": "created_at",
1328
+ "type": "i64"
1329
+ },
1330
+ {
1331
+ "name": "bump",
1332
+ "type": "u8"
1333
+ }
1334
+ ]
1335
+ }
1336
+ },
1337
+ {
1338
+ "name": "PoolCreated",
1339
+ "type": {
1340
+ "kind": "struct",
1341
+ "fields": [
1342
+ {
1343
+ "name": "pool",
1344
+ "type": "pubkey"
1345
+ },
1346
+ {
1347
+ "name": "owner",
1348
+ "type": "pubkey"
1349
+ },
1350
+ {
1351
+ "name": "mint",
1352
+ "type": "pubkey"
1353
+ },
1354
+ {
1355
+ "name": "name",
1356
+ "type": "string"
1357
+ }
1358
+ ]
1359
+ }
1360
+ },
1361
+ {
1362
+ "name": "Segment",
1363
+ "type": {
1364
+ "kind": "struct",
1365
+ "fields": [
1366
+ {
1367
+ "name": "tier",
1368
+ "type": "string"
1369
+ },
1370
+ {
1371
+ "name": "payer",
1372
+ "type": "pubkey"
1373
+ },
1374
+ {
1375
+ "name": "rate_per_second",
1376
+ "type": "u64"
1377
+ },
1378
+ {
1379
+ "name": "amount",
1380
+ "type": "u64"
1381
+ },
1382
+ {
1383
+ "name": "vested",
1384
+ "type": "u64"
1385
+ },
1386
+ {
1387
+ "name": "cancelled",
1388
+ "type": "bool"
1389
+ }
1390
+ ]
1391
+ }
1392
+ },
1393
+ {
1394
+ "name": "SegmentAdded",
1395
+ "type": {
1396
+ "kind": "struct",
1397
+ "fields": [
1398
+ {
1399
+ "name": "pool",
1400
+ "type": "pubkey"
1401
+ },
1402
+ {
1403
+ "name": "stream",
1404
+ "type": "pubkey"
1405
+ },
1406
+ {
1407
+ "name": "payer",
1408
+ "type": "pubkey"
1409
+ },
1410
+ {
1411
+ "name": "tier",
1412
+ "type": "string"
1413
+ },
1414
+ {
1415
+ "name": "amount",
1416
+ "type": "u64"
1417
+ },
1418
+ {
1419
+ "name": "fee",
1420
+ "type": "u64"
1421
+ },
1422
+ {
1423
+ "name": "duration_seconds",
1424
+ "type": "u64"
1425
+ },
1426
+ {
1427
+ "name": "rate_per_second",
1428
+ "type": "u64"
1429
+ },
1430
+ {
1431
+ "name": "segment_index",
1432
+ "type": "u64"
1433
+ }
1434
+ ]
1435
+ }
1436
+ },
1437
+ {
1438
+ "name": "SegmentCancelled",
1439
+ "type": {
1440
+ "kind": "struct",
1441
+ "fields": [
1442
+ {
1443
+ "name": "pool",
1444
+ "type": "pubkey"
1445
+ },
1446
+ {
1447
+ "name": "stream",
1448
+ "type": "pubkey"
1449
+ },
1450
+ {
1451
+ "name": "payer",
1452
+ "type": "pubkey"
1453
+ },
1454
+ {
1455
+ "name": "segment_index",
1456
+ "type": "u64"
1457
+ },
1458
+ {
1459
+ "name": "vested",
1460
+ "type": "u64"
1461
+ },
1462
+ {
1463
+ "name": "refunded",
1464
+ "type": "u64"
1465
+ }
1466
+ ]
1467
+ }
1468
+ },
1469
+ {
1470
+ "name": "SegmentUpgraded",
1471
+ "type": {
1472
+ "kind": "struct",
1473
+ "fields": [
1474
+ {
1475
+ "name": "pool",
1476
+ "type": "pubkey"
1477
+ },
1478
+ {
1479
+ "name": "stream",
1480
+ "type": "pubkey"
1481
+ },
1482
+ {
1483
+ "name": "segment_index",
1484
+ "type": "u64"
1485
+ },
1486
+ {
1487
+ "name": "caller",
1488
+ "type": "pubkey"
1489
+ },
1490
+ {
1491
+ "name": "old_rate",
1492
+ "type": "u64"
1493
+ },
1494
+ {
1495
+ "name": "new_rate",
1496
+ "type": "u64"
1497
+ },
1498
+ {
1499
+ "name": "difference",
1500
+ "type": "u64"
1501
+ },
1502
+ {
1503
+ "name": "is_upgrade",
1504
+ "type": "bool"
1505
+ }
1506
+ ]
1507
+ }
1508
+ },
1509
+ {
1510
+ "name": "Stream",
1511
+ "type": {
1512
+ "kind": "struct",
1513
+ "fields": [
1514
+ {
1515
+ "name": "pool",
1516
+ "type": "pubkey"
1517
+ },
1518
+ {
1519
+ "name": "subscriber",
1520
+ "type": "pubkey"
1521
+ },
1522
+ {
1523
+ "name": "start_time",
1524
+ "type": "i64"
1525
+ },
1526
+ {
1527
+ "name": "last_update_time",
1528
+ "type": "i64"
1529
+ },
1530
+ {
1531
+ "name": "archived_count",
1532
+ "type": "u64"
1533
+ },
1534
+ {
1535
+ "name": "archived_amount",
1536
+ "type": "u64"
1537
+ },
1538
+ {
1539
+ "name": "archived_vested",
1540
+ "type": "u64"
1541
+ },
1542
+ {
1543
+ "name": "total_withdrawn",
1544
+ "type": "u64"
1545
+ },
1546
+ {
1547
+ "name": "current_segment_index",
1548
+ "type": "u8"
1549
+ },
1550
+ {
1551
+ "name": "bump",
1552
+ "type": "u8"
1553
+ },
1554
+ {
1555
+ "name": "segments",
1556
+ "type": {
1557
+ "vec": {
1558
+ "defined": {
1559
+ "name": "Segment"
1560
+ }
1561
+ }
1562
+ }
1563
+ }
1564
+ ]
1565
+ }
1566
+ },
1567
+ {
1568
+ "name": "Subscribed",
1569
+ "type": {
1570
+ "kind": "struct",
1571
+ "fields": [
1572
+ {
1573
+ "name": "pool",
1574
+ "type": "pubkey"
1575
+ },
1576
+ {
1577
+ "name": "stream",
1578
+ "type": "pubkey"
1579
+ },
1580
+ {
1581
+ "name": "subscriber",
1582
+ "type": "pubkey"
1583
+ },
1584
+ {
1585
+ "name": "tier",
1586
+ "type": "string"
1587
+ },
1588
+ {
1589
+ "name": "amount",
1590
+ "type": "u64"
1591
+ },
1592
+ {
1593
+ "name": "fee",
1594
+ "type": "u64"
1595
+ },
1596
+ {
1597
+ "name": "duration_seconds",
1598
+ "type": "u64"
1599
+ },
1600
+ {
1601
+ "name": "rate_per_second",
1602
+ "type": "u64"
1603
+ }
1604
+ ]
1605
+ }
1606
+ },
1607
+ {
1608
+ "name": "TokensClaimed",
1609
+ "type": {
1610
+ "kind": "struct",
1611
+ "fields": [
1612
+ {
1613
+ "name": "pool",
1614
+ "type": "pubkey"
1615
+ },
1616
+ {
1617
+ "name": "stream",
1618
+ "type": "pubkey"
1619
+ },
1620
+ {
1621
+ "name": "owner",
1622
+ "type": "pubkey"
1623
+ },
1624
+ {
1625
+ "name": "amount",
1626
+ "type": "u64"
1627
+ },
1628
+ {
1629
+ "name": "total_withdrawn",
1630
+ "type": "u64"
1631
+ }
1632
+ ]
1633
+ }
1634
+ }
1635
+ ]
1636
+ }