@zebec-network/zebec-stream-sdk 1.0.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,1307 @@
1
+ /**
2
+ * Program IDL in camelCase format in order to be used in JS/TS.
3
+ *
4
+ * Note that this is only a type helper and is not the actual IDL. The original
5
+ * IDL can be found at `target/idl/zebec_stream.json`.
6
+ */
7
+ export type ZebecStream = {
8
+ address: "GoqwQ8CeFB3KEQgVQtnJzUAMz6zHMpCdeG785PD459W6";
9
+ metadata: {
10
+ name: "zebecStream";
11
+ version: "0.1.0";
12
+ spec: "0.1.0";
13
+ description: "Created with Anchor";
14
+ };
15
+ instructions: [
16
+ {
17
+ name: "cancelStream";
18
+ discriminator: [218, 221, 38, 25, 177, 207, 188, 91];
19
+ accounts: [
20
+ {
21
+ name: "signer";
22
+ docs: ["The sender or authorized party who initiated the stream, must be signer"];
23
+ writable: true;
24
+ signer: true;
25
+ },
26
+ {
27
+ name: "feePayer";
28
+ writable: true;
29
+ signer: true;
30
+ },
31
+ {
32
+ name: "otherPartyAta";
33
+ docs: ["Receiver's associated token account (auto-created if needed)"];
34
+ writable: true;
35
+ pda: {
36
+ seeds: [
37
+ {
38
+ kind: "account";
39
+ path: "otherParty";
40
+ },
41
+ {
42
+ kind: "const";
43
+ value: [
44
+ 6,
45
+ 221,
46
+ 246,
47
+ 225,
48
+ 215,
49
+ 101,
50
+ 161,
51
+ 147,
52
+ 217,
53
+ 203,
54
+ 225,
55
+ 70,
56
+ 206,
57
+ 235,
58
+ 121,
59
+ 172,
60
+ 28,
61
+ 180,
62
+ 133,
63
+ 237,
64
+ 95,
65
+ 91,
66
+ 55,
67
+ 145,
68
+ 58,
69
+ 140,
70
+ 245,
71
+ 133,
72
+ 126,
73
+ 255,
74
+ 0,
75
+ 169
76
+ ];
77
+ },
78
+ {
79
+ kind: "account";
80
+ path: "streamToken";
81
+ }
82
+ ];
83
+ program: {
84
+ kind: "const";
85
+ value: [
86
+ 140,
87
+ 151,
88
+ 37,
89
+ 143,
90
+ 78,
91
+ 36,
92
+ 137,
93
+ 241,
94
+ 187,
95
+ 61,
96
+ 16,
97
+ 41,
98
+ 20,
99
+ 142,
100
+ 13,
101
+ 131,
102
+ 11,
103
+ 90,
104
+ 19,
105
+ 153,
106
+ 218,
107
+ 255,
108
+ 16,
109
+ 132,
110
+ 4,
111
+ 142,
112
+ 123,
113
+ 216,
114
+ 219,
115
+ 233,
116
+ 248,
117
+ 89
118
+ ];
119
+ };
120
+ };
121
+ },
122
+ {
123
+ name: "otherParty";
124
+ docs: ["Main receiver account for verification (read-only)"];
125
+ },
126
+ {
127
+ name: "streamMetadata";
128
+ docs: ["Stream payment metadata, mutable because cancellation updates state"];
129
+ writable: true;
130
+ },
131
+ {
132
+ name: "streamVault";
133
+ docs: ["Vault PDA holding stream tokens"];
134
+ writable: true;
135
+ pda: {
136
+ seeds: [
137
+ {
138
+ kind: "account";
139
+ path: "streamMetadata";
140
+ }
141
+ ];
142
+ };
143
+ },
144
+ {
145
+ name: "streamVaultAta";
146
+ docs: ["Token account owned by the vault holding tokens for the stream"];
147
+ writable: true;
148
+ },
149
+ {
150
+ name: "signerAta";
151
+ docs: ["Sender's token account to receive refunded tokens on cancel"];
152
+ writable: true;
153
+ },
154
+ {
155
+ name: "streamToken";
156
+ docs: ["Mint of the stream token"];
157
+ },
158
+ {
159
+ name: "tokenProgram";
160
+ docs: ["Required Programs"];
161
+ address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
162
+ },
163
+ {
164
+ name: "associatedTokenProgram";
165
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
166
+ },
167
+ {
168
+ name: "systemProgram";
169
+ address: "11111111111111111111111111111111";
170
+ }
171
+ ];
172
+ args: [];
173
+ },
174
+ {
175
+ name: "changeRecipient";
176
+ discriminator: [232, 88, 141, 180, 224, 181, 25, 161];
177
+ accounts: [
178
+ {
179
+ name: "signer";
180
+ signer: true;
181
+ },
182
+ {
183
+ name: "stream";
184
+ writable: true;
185
+ },
186
+ {
187
+ name: "newRecipient";
188
+ }
189
+ ];
190
+ args: [];
191
+ },
192
+ {
193
+ name: "createStream";
194
+ discriminator: [71, 188, 111, 127, 108, 40, 229, 158];
195
+ accounts: [
196
+ {
197
+ name: "sender";
198
+ writable: true;
199
+ signer: true;
200
+ },
201
+ {
202
+ name: "feePayer";
203
+ writable: true;
204
+ signer: true;
205
+ },
206
+ {
207
+ name: "senderAta";
208
+ writable: true;
209
+ },
210
+ {
211
+ name: "receiver";
212
+ writable: true;
213
+ },
214
+ {
215
+ name: "receiverAta";
216
+ writable: true;
217
+ pda: {
218
+ seeds: [
219
+ {
220
+ kind: "account";
221
+ path: "receiver";
222
+ },
223
+ {
224
+ kind: "const";
225
+ value: [
226
+ 6,
227
+ 221,
228
+ 246,
229
+ 225,
230
+ 215,
231
+ 101,
232
+ 161,
233
+ 147,
234
+ 217,
235
+ 203,
236
+ 225,
237
+ 70,
238
+ 206,
239
+ 235,
240
+ 121,
241
+ 172,
242
+ 28,
243
+ 180,
244
+ 133,
245
+ 237,
246
+ 95,
247
+ 91,
248
+ 55,
249
+ 145,
250
+ 58,
251
+ 140,
252
+ 245,
253
+ 133,
254
+ 126,
255
+ 255,
256
+ 0,
257
+ 169
258
+ ];
259
+ },
260
+ {
261
+ kind: "account";
262
+ path: "streamToken";
263
+ }
264
+ ];
265
+ program: {
266
+ kind: "const";
267
+ value: [
268
+ 140,
269
+ 151,
270
+ 37,
271
+ 143,
272
+ 78,
273
+ 36,
274
+ 137,
275
+ 241,
276
+ 187,
277
+ 61,
278
+ 16,
279
+ 41,
280
+ 20,
281
+ 142,
282
+ 13,
283
+ 131,
284
+ 11,
285
+ 90,
286
+ 19,
287
+ 153,
288
+ 218,
289
+ 255,
290
+ 16,
291
+ 132,
292
+ 4,
293
+ 142,
294
+ 123,
295
+ 216,
296
+ 219,
297
+ 233,
298
+ 248,
299
+ 89
300
+ ];
301
+ };
302
+ };
303
+ },
304
+ {
305
+ name: "streamMetadata";
306
+ writable: true;
307
+ signer: true;
308
+ },
309
+ {
310
+ name: "streamVault";
311
+ writable: true;
312
+ pda: {
313
+ seeds: [
314
+ {
315
+ kind: "account";
316
+ path: "streamMetadata";
317
+ }
318
+ ];
319
+ };
320
+ },
321
+ {
322
+ name: "streamVaultAta";
323
+ writable: true;
324
+ pda: {
325
+ seeds: [
326
+ {
327
+ kind: "account";
328
+ path: "streamVault";
329
+ },
330
+ {
331
+ kind: "const";
332
+ value: [
333
+ 6,
334
+ 221,
335
+ 246,
336
+ 225,
337
+ 215,
338
+ 101,
339
+ 161,
340
+ 147,
341
+ 217,
342
+ 203,
343
+ 225,
344
+ 70,
345
+ 206,
346
+ 235,
347
+ 121,
348
+ 172,
349
+ 28,
350
+ 180,
351
+ 133,
352
+ 237,
353
+ 95,
354
+ 91,
355
+ 55,
356
+ 145,
357
+ 58,
358
+ 140,
359
+ 245,
360
+ 133,
361
+ 126,
362
+ 255,
363
+ 0,
364
+ 169
365
+ ];
366
+ },
367
+ {
368
+ kind: "account";
369
+ path: "streamToken";
370
+ }
371
+ ];
372
+ program: {
373
+ kind: "const";
374
+ value: [
375
+ 140,
376
+ 151,
377
+ 37,
378
+ 143,
379
+ 78,
380
+ 36,
381
+ 137,
382
+ 241,
383
+ 187,
384
+ 61,
385
+ 16,
386
+ 41,
387
+ 20,
388
+ 142,
389
+ 13,
390
+ 131,
391
+ 11,
392
+ 90,
393
+ 19,
394
+ 153,
395
+ 218,
396
+ 255,
397
+ 16,
398
+ 132,
399
+ 4,
400
+ 142,
401
+ 123,
402
+ 216,
403
+ 219,
404
+ 233,
405
+ 248,
406
+ 89
407
+ ];
408
+ };
409
+ };
410
+ },
411
+ {
412
+ name: "streamConfig";
413
+ pda: {
414
+ seeds: [
415
+ {
416
+ kind: "const";
417
+ value: [99, 111, 110, 102, 105, 103];
418
+ }
419
+ ];
420
+ };
421
+ },
422
+ {
423
+ name: "withdrawAccount";
424
+ writable: true;
425
+ },
426
+ {
427
+ name: "streamToken";
428
+ },
429
+ {
430
+ name: "tokenProgram";
431
+ address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
432
+ },
433
+ {
434
+ name: "associatedTokenProgram";
435
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
436
+ },
437
+ {
438
+ name: "systemProgram";
439
+ address: "11111111111111111111111111111111";
440
+ }
441
+ ];
442
+ args: [
443
+ {
444
+ name: "params";
445
+ type: {
446
+ defined: {
447
+ name: "createStreamParams";
448
+ };
449
+ };
450
+ }
451
+ ];
452
+ },
453
+ {
454
+ name: "initializeConfig";
455
+ discriminator: [208, 127, 21, 1, 194, 190, 196, 70];
456
+ accounts: [
457
+ {
458
+ name: "admin";
459
+ writable: true;
460
+ signer: true;
461
+ },
462
+ {
463
+ name: "streamConfig";
464
+ writable: true;
465
+ pda: {
466
+ seeds: [
467
+ {
468
+ kind: "const";
469
+ value: [99, 111, 110, 102, 105, 103];
470
+ }
471
+ ];
472
+ };
473
+ },
474
+ {
475
+ name: "systemProgram";
476
+ address: "11111111111111111111111111111111";
477
+ }
478
+ ];
479
+ args: [
480
+ {
481
+ name: "params";
482
+ type: {
483
+ defined: {
484
+ name: "initializeConfigParams";
485
+ };
486
+ };
487
+ }
488
+ ];
489
+ },
490
+ {
491
+ name: "pauseResumeStream";
492
+ discriminator: [173, 142, 243, 94, 154, 175, 5, 170];
493
+ accounts: [
494
+ {
495
+ name: "user";
496
+ writable: true;
497
+ signer: true;
498
+ },
499
+ {
500
+ name: "streamMetadata";
501
+ writable: true;
502
+ }
503
+ ];
504
+ args: [];
505
+ },
506
+ {
507
+ name: "whitelistTokens";
508
+ discriminator: [27, 206, 128, 157, 199, 65, 149, 189];
509
+ accounts: [
510
+ {
511
+ name: "admin";
512
+ writable: true;
513
+ signer: true;
514
+ },
515
+ {
516
+ name: "streamConfig";
517
+ writable: true;
518
+ pda: {
519
+ seeds: [
520
+ {
521
+ kind: "const";
522
+ value: [99, 111, 110, 102, 105, 103];
523
+ }
524
+ ];
525
+ };
526
+ },
527
+ {
528
+ name: "systemProgram";
529
+ address: "11111111111111111111111111111111";
530
+ }
531
+ ];
532
+ args: [
533
+ {
534
+ name: "params";
535
+ type: {
536
+ defined: {
537
+ name: "whitelistTokensParams";
538
+ };
539
+ };
540
+ }
541
+ ];
542
+ },
543
+ {
544
+ name: "withdrawStream";
545
+ discriminator: [211, 21, 90, 92, 185, 214, 88, 157];
546
+ accounts: [
547
+ {
548
+ name: "withdrawer";
549
+ docs: ["The receiver of the stream_metadata tokens, must sign to authorize withdrawal"];
550
+ writable: true;
551
+ signer: true;
552
+ },
553
+ {
554
+ name: "receiver";
555
+ },
556
+ {
557
+ name: "receiverAta";
558
+ docs: ["Receiver's Associated Token Account (ATA) for receiving stream_metadata tokens"];
559
+ writable: true;
560
+ pda: {
561
+ seeds: [
562
+ {
563
+ kind: "account";
564
+ path: "receiver";
565
+ },
566
+ {
567
+ kind: "const";
568
+ value: [
569
+ 6,
570
+ 221,
571
+ 246,
572
+ 225,
573
+ 215,
574
+ 101,
575
+ 161,
576
+ 147,
577
+ 217,
578
+ 203,
579
+ 225,
580
+ 70,
581
+ 206,
582
+ 235,
583
+ 121,
584
+ 172,
585
+ 28,
586
+ 180,
587
+ 133,
588
+ 237,
589
+ 95,
590
+ 91,
591
+ 55,
592
+ 145,
593
+ 58,
594
+ 140,
595
+ 245,
596
+ 133,
597
+ 126,
598
+ 255,
599
+ 0,
600
+ 169
601
+ ];
602
+ },
603
+ {
604
+ kind: "account";
605
+ path: "streamToken";
606
+ }
607
+ ];
608
+ program: {
609
+ kind: "const";
610
+ value: [
611
+ 140,
612
+ 151,
613
+ 37,
614
+ 143,
615
+ 78,
616
+ 36,
617
+ 137,
618
+ 241,
619
+ 187,
620
+ 61,
621
+ 16,
622
+ 41,
623
+ 20,
624
+ 142,
625
+ 13,
626
+ 131,
627
+ 11,
628
+ 90,
629
+ 19,
630
+ 153,
631
+ 218,
632
+ 255,
633
+ 16,
634
+ 132,
635
+ 4,
636
+ 142,
637
+ 123,
638
+ 216,
639
+ 219,
640
+ 233,
641
+ 248,
642
+ 89
643
+ ];
644
+ };
645
+ };
646
+ },
647
+ {
648
+ name: "streamMetadata";
649
+ docs: ["Stream metadata loader, mutable because withdrawal updates state"];
650
+ writable: true;
651
+ },
652
+ {
653
+ name: "streamVault";
654
+ docs: ["Vault PDA holding the pooled stream_metadata tokens"];
655
+ writable: true;
656
+ pda: {
657
+ seeds: [
658
+ {
659
+ kind: "account";
660
+ path: "streamMetadata";
661
+ }
662
+ ];
663
+ };
664
+ },
665
+ {
666
+ name: "streamVaultAta";
667
+ docs: ["Token account owned by the vault that holds the tokens to withdraw"];
668
+ writable: true;
669
+ },
670
+ {
671
+ name: "streamConfig";
672
+ docs: ["Configuration account for the stream_metadata program"];
673
+ pda: {
674
+ seeds: [
675
+ {
676
+ kind: "const";
677
+ value: [99, 111, 110, 102, 105, 103];
678
+ }
679
+ ];
680
+ };
681
+ },
682
+ {
683
+ name: "streamToken";
684
+ docs: ["Mint info of the token being streamed"];
685
+ },
686
+ {
687
+ name: "tokenProgram";
688
+ docs: ["Required Programs"];
689
+ address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
690
+ },
691
+ {
692
+ name: "associatedTokenProgram";
693
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
694
+ },
695
+ {
696
+ name: "systemProgram";
697
+ address: "11111111111111111111111111111111";
698
+ }
699
+ ];
700
+ args: [];
701
+ }
702
+ ];
703
+ accounts: [
704
+ {
705
+ name: "paymentStream";
706
+ discriminator: [124, 85, 193, 22, 93, 1, 143, 75];
707
+ },
708
+ {
709
+ name: "streamConfig";
710
+ discriminator: [130, 127, 218, 245, 133, 158, 70, 198];
711
+ }
712
+ ];
713
+ events: [
714
+ {
715
+ name: "streamCancelEvent";
716
+ discriminator: [155, 200, 221, 210, 40, 61, 207, 175];
717
+ },
718
+ {
719
+ name: "streamChangeRecipientEvent";
720
+ discriminator: [45, 42, 3, 230, 162, 49, 127, 81];
721
+ },
722
+ {
723
+ name: "streamCreateEvent";
724
+ discriminator: [55, 251, 103, 42, 227, 14, 96, 182];
725
+ },
726
+ {
727
+ name: "streamPauseResumeEvent";
728
+ discriminator: [252, 54, 142, 181, 13, 165, 61, 229];
729
+ },
730
+ {
731
+ name: "streamWithdrawEvent";
732
+ discriminator: [201, 202, 32, 160, 26, 199, 4, 70];
733
+ }
734
+ ];
735
+ errors: [
736
+ {
737
+ code: 6000;
738
+ name: "maxWhitelistedTokensExceeded";
739
+ msg: "Maximum number of whitelisted tokens (250) exceeded";
740
+ },
741
+ {
742
+ code: 6001;
743
+ name: "zeroStreamDuration";
744
+ msg: "Stream duration must be greater than zero";
745
+ },
746
+ {
747
+ code: 6002;
748
+ name: "invalidStreamAmount";
749
+ msg: "Stream amount must be greater than zero";
750
+ },
751
+ {
752
+ code: 6003;
753
+ name: "pastStartTime";
754
+ msg: "Start time is in the past";
755
+ },
756
+ {
757
+ code: 6004;
758
+ name: "invalidCliffPercentage";
759
+ msg: "Invalid cliff percentage";
760
+ },
761
+ {
762
+ code: 6005;
763
+ name: "tokenNotWhitelisted";
764
+ msg: "Token not whitelisted";
765
+ },
766
+ {
767
+ code: 6006;
768
+ name: "unknownStreamFrequency";
769
+ msg: "Stream frequency not included in stream configuration";
770
+ },
771
+ {
772
+ code: 6007;
773
+ name: "durationNotExactlyDivisibleByFrequency";
774
+ msg: "Stream Duration is not exactly divisible by the frequency";
775
+ },
776
+ {
777
+ code: 6008;
778
+ name: "insufficientSenderBalance";
779
+ msg: "Sender does not have enough balance to create the stream";
780
+ },
781
+ {
782
+ code: 6009;
783
+ name: "streamAlreadyCanceled";
784
+ msg: "Stream Already Canceled";
785
+ },
786
+ {
787
+ code: 6010;
788
+ name: "unauthorized";
789
+ msg: "Unauthorized: Only the allowed party can cancel the stream";
790
+ },
791
+ {
792
+ code: 6011;
793
+ name: "notCancellable";
794
+ msg: "Stream is not Cancellable";
795
+ },
796
+ {
797
+ code: 6012;
798
+ name: "streamAlreadyWithdrawn";
799
+ msg: "Stream has already been withdrawn";
800
+ },
801
+ {
802
+ code: 6013;
803
+ name: "invalidReceiver";
804
+ msg: "UnAuthorized: Only the allowed party can transfer the stream";
805
+ },
806
+ {
807
+ code: 6014;
808
+ name: "streamAutoWithdrawable";
809
+ msg: "Stream is automatically withdrawable";
810
+ },
811
+ {
812
+ code: 6015;
813
+ name: "withdrawAmountExceeds";
814
+ msg: "Withdraw amount exceeds the available amount in the stream";
815
+ },
816
+ {
817
+ code: 6016;
818
+ name: "insufficientFundsToWithdraw";
819
+ msg: "Insufficient funds in the stream vault for withdrawal";
820
+ },
821
+ {
822
+ code: 6017;
823
+ name: "streamNotStarted";
824
+ msg: "Stream has not started yet";
825
+ },
826
+ {
827
+ code: 6018;
828
+ name: "noWithdrawableAmount";
829
+ msg: "No withdrawable amount available at this time";
830
+ },
831
+ {
832
+ code: 6019;
833
+ name: "invalidStreamToken";
834
+ msg: "Invalid stream token";
835
+ },
836
+ {
837
+ code: 6020;
838
+ name: "streamAlreadyEnded";
839
+ msg: "Stream already ended";
840
+ }
841
+ ];
842
+ types: [
843
+ {
844
+ name: "createStreamParams";
845
+ type: {
846
+ kind: "struct";
847
+ fields: [
848
+ {
849
+ name: "sender";
850
+ type: "pubkey";
851
+ },
852
+ {
853
+ name: "receiver";
854
+ type: "pubkey";
855
+ },
856
+ {
857
+ name: "amount";
858
+ type: "u64";
859
+ },
860
+ {
861
+ name: "startTime";
862
+ type: "i64";
863
+ },
864
+ {
865
+ name: "duration";
866
+ type: "u64";
867
+ },
868
+ {
869
+ name: "streamFrequency";
870
+ type: "u64";
871
+ },
872
+ {
873
+ name: "cliffPercentage";
874
+ type: "u64";
875
+ },
876
+ {
877
+ name: "cancelableBySender";
878
+ type: "u8";
879
+ },
880
+ {
881
+ name: "cancelableByRecipient";
882
+ type: "u8";
883
+ },
884
+ {
885
+ name: "automaticWithdrawal";
886
+ type: "u8";
887
+ },
888
+ {
889
+ name: "transferableBySender";
890
+ type: "u8";
891
+ },
892
+ {
893
+ name: "transferableByRecipient";
894
+ type: "u8";
895
+ },
896
+ {
897
+ name: "canTopup";
898
+ type: "u8";
899
+ },
900
+ {
901
+ name: "isPausable";
902
+ type: "u8";
903
+ },
904
+ {
905
+ name: "rateUpdatable";
906
+ type: "u8";
907
+ },
908
+ {
909
+ name: "startNow";
910
+ type: "u8";
911
+ },
912
+ {
913
+ name: "streamName";
914
+ type: {
915
+ array: ["u8", 128];
916
+ };
917
+ }
918
+ ];
919
+ };
920
+ },
921
+ {
922
+ name: "initializeConfigParams";
923
+ type: {
924
+ kind: "struct";
925
+ fields: [
926
+ {
927
+ name: "withdrawAccount";
928
+ type: "pubkey";
929
+ },
930
+ {
931
+ name: "platformFee";
932
+ type: "u64";
933
+ },
934
+ {
935
+ name: "baseFee";
936
+ type: "u64";
937
+ },
938
+ {
939
+ name: "frequencies";
940
+ type: {
941
+ vec: "u64";
942
+ };
943
+ }
944
+ ];
945
+ };
946
+ },
947
+ {
948
+ name: "paymentStream";
949
+ serialization: "bytemuck";
950
+ repr: {
951
+ kind: "c";
952
+ };
953
+ type: {
954
+ kind: "struct";
955
+ fields: [
956
+ {
957
+ name: "parties";
958
+ type: {
959
+ defined: {
960
+ name: "streamParties";
961
+ };
962
+ };
963
+ },
964
+ {
965
+ name: "financials";
966
+ type: {
967
+ defined: {
968
+ name: "streamFinancials";
969
+ };
970
+ };
971
+ },
972
+ {
973
+ name: "schedule";
974
+ type: {
975
+ defined: {
976
+ name: "streamSchedule";
977
+ };
978
+ };
979
+ },
980
+ {
981
+ name: "permissions";
982
+ type: {
983
+ defined: {
984
+ name: "streamPermissions";
985
+ };
986
+ };
987
+ },
988
+ {
989
+ name: "streamName";
990
+ type: {
991
+ array: ["u8", 128];
992
+ };
993
+ }
994
+ ];
995
+ };
996
+ },
997
+ {
998
+ name: "streamCancelEvent";
999
+ type: {
1000
+ kind: "struct";
1001
+ fields: [
1002
+ {
1003
+ name: "stream";
1004
+ type: "pubkey";
1005
+ },
1006
+ {
1007
+ name: "canceledBy";
1008
+ type: "pubkey";
1009
+ },
1010
+ {
1011
+ name: "sentToRecipient";
1012
+ type: "u64";
1013
+ },
1014
+ {
1015
+ name: "sentToSender";
1016
+ type: "u64";
1017
+ }
1018
+ ];
1019
+ };
1020
+ },
1021
+ {
1022
+ name: "streamChangeRecipientEvent";
1023
+ type: {
1024
+ kind: "struct";
1025
+ fields: [
1026
+ {
1027
+ name: "stream";
1028
+ type: "pubkey";
1029
+ },
1030
+ {
1031
+ name: "newRecipient";
1032
+ type: "pubkey";
1033
+ },
1034
+ {
1035
+ name: "oldRecipient";
1036
+ type: "pubkey";
1037
+ },
1038
+ {
1039
+ name: "changedBy";
1040
+ type: "pubkey";
1041
+ }
1042
+ ];
1043
+ };
1044
+ },
1045
+ {
1046
+ name: "streamConfig";
1047
+ type: {
1048
+ kind: "struct";
1049
+ fields: [
1050
+ {
1051
+ name: "admin";
1052
+ type: "pubkey";
1053
+ },
1054
+ {
1055
+ name: "withdrawAccount";
1056
+ type: "pubkey";
1057
+ },
1058
+ {
1059
+ name: "whitelistedTokens";
1060
+ type: {
1061
+ vec: "pubkey";
1062
+ };
1063
+ },
1064
+ {
1065
+ name: "platformFee";
1066
+ type: "u64";
1067
+ },
1068
+ {
1069
+ name: "baseFee";
1070
+ type: "u64";
1071
+ },
1072
+ {
1073
+ name: "frequencies";
1074
+ type: {
1075
+ vec: "u64";
1076
+ };
1077
+ }
1078
+ ];
1079
+ };
1080
+ },
1081
+ {
1082
+ name: "streamCreateEvent";
1083
+ type: {
1084
+ kind: "struct";
1085
+ fields: [
1086
+ {
1087
+ name: "stream";
1088
+ type: "pubkey";
1089
+ },
1090
+ {
1091
+ name: "creator";
1092
+ type: "pubkey";
1093
+ },
1094
+ {
1095
+ name: "transactionFee";
1096
+ type: "u64";
1097
+ }
1098
+ ];
1099
+ };
1100
+ },
1101
+ {
1102
+ name: "streamFinancials";
1103
+ serialization: "bytemuck";
1104
+ repr: {
1105
+ kind: "c";
1106
+ };
1107
+ type: {
1108
+ kind: "struct";
1109
+ fields: [
1110
+ {
1111
+ name: "cliffPercentage";
1112
+ type: "u64";
1113
+ },
1114
+ {
1115
+ name: "depositedAmount";
1116
+ type: "u64";
1117
+ },
1118
+ {
1119
+ name: "withdrawnAmount";
1120
+ type: "u64";
1121
+ },
1122
+ {
1123
+ name: "streamToken";
1124
+ type: "pubkey";
1125
+ }
1126
+ ];
1127
+ };
1128
+ },
1129
+ {
1130
+ name: "streamParties";
1131
+ serialization: "bytemuck";
1132
+ repr: {
1133
+ kind: "c";
1134
+ };
1135
+ type: {
1136
+ kind: "struct";
1137
+ fields: [
1138
+ {
1139
+ name: "sender";
1140
+ type: "pubkey";
1141
+ },
1142
+ {
1143
+ name: "receiver";
1144
+ type: "pubkey";
1145
+ }
1146
+ ];
1147
+ };
1148
+ },
1149
+ {
1150
+ name: "streamPauseResumeEvent";
1151
+ type: {
1152
+ kind: "struct";
1153
+ fields: [
1154
+ {
1155
+ name: "stream";
1156
+ type: "pubkey";
1157
+ },
1158
+ {
1159
+ name: "initiator";
1160
+ type: "pubkey";
1161
+ },
1162
+ {
1163
+ name: "paused";
1164
+ type: "bool";
1165
+ },
1166
+ {
1167
+ name: "pausedDuration";
1168
+ type: "u64";
1169
+ }
1170
+ ];
1171
+ };
1172
+ },
1173
+ {
1174
+ name: "streamPermissions";
1175
+ serialization: "bytemuck";
1176
+ repr: {
1177
+ kind: "c";
1178
+ };
1179
+ type: {
1180
+ kind: "struct";
1181
+ fields: [
1182
+ {
1183
+ name: "cancelableBySender";
1184
+ type: "u8";
1185
+ },
1186
+ {
1187
+ name: "cancelableByRecipient";
1188
+ type: "u8";
1189
+ },
1190
+ {
1191
+ name: "automaticWithdrawal";
1192
+ type: "u8";
1193
+ },
1194
+ {
1195
+ name: "transferableBySender";
1196
+ type: "u8";
1197
+ },
1198
+ {
1199
+ name: "transferableByRecipient";
1200
+ type: "u8";
1201
+ },
1202
+ {
1203
+ name: "canTopup";
1204
+ type: "u8";
1205
+ },
1206
+ {
1207
+ name: "isPausable";
1208
+ type: "u8";
1209
+ },
1210
+ {
1211
+ name: "rateUpdatable";
1212
+ type: "u8";
1213
+ }
1214
+ ];
1215
+ };
1216
+ },
1217
+ {
1218
+ name: "streamSchedule";
1219
+ serialization: "bytemuck";
1220
+ repr: {
1221
+ kind: "c";
1222
+ };
1223
+ type: {
1224
+ kind: "struct";
1225
+ fields: [
1226
+ {
1227
+ name: "startTime";
1228
+ type: "i64";
1229
+ },
1230
+ {
1231
+ name: "endTime";
1232
+ type: "i64";
1233
+ },
1234
+ {
1235
+ name: "lastWithdrawTime";
1236
+ type: "i64";
1237
+ },
1238
+ {
1239
+ name: "frequency";
1240
+ type: "u64";
1241
+ },
1242
+ {
1243
+ name: "duration";
1244
+ type: "u64";
1245
+ },
1246
+ {
1247
+ name: "pausedTimestamp";
1248
+ type: "i64";
1249
+ },
1250
+ {
1251
+ name: "pausedInterval";
1252
+ type: "i64";
1253
+ },
1254
+ {
1255
+ name: "canceledTimestamp";
1256
+ type: "i64";
1257
+ }
1258
+ ];
1259
+ };
1260
+ },
1261
+ {
1262
+ name: "streamWithdrawEvent";
1263
+ type: {
1264
+ kind: "struct";
1265
+ fields: [
1266
+ {
1267
+ name: "stream";
1268
+ type: "pubkey";
1269
+ },
1270
+ {
1271
+ name: "withdrawer";
1272
+ type: "pubkey";
1273
+ },
1274
+ {
1275
+ name: "recipient";
1276
+ type: "pubkey";
1277
+ },
1278
+ {
1279
+ name: "amount";
1280
+ type: "u64";
1281
+ }
1282
+ ];
1283
+ };
1284
+ },
1285
+ {
1286
+ name: "whitelistTokensParams";
1287
+ type: {
1288
+ kind: "struct";
1289
+ fields: [
1290
+ {
1291
+ name: "tokens";
1292
+ type: {
1293
+ vec: "pubkey";
1294
+ };
1295
+ }
1296
+ ];
1297
+ };
1298
+ }
1299
+ ];
1300
+ constants: [
1301
+ {
1302
+ name: "seed";
1303
+ type: "string";
1304
+ value: '"anchor"';
1305
+ }
1306
+ ];
1307
+ };