@exponent-labs/meteora-idl 0.0.3

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,3798 @@
1
+ {
2
+ "version": "0.5.2",
3
+ "name": "amm",
4
+ "docs": ["Program for AMM"],
5
+ "instructions": [
6
+ {
7
+ "name": "initializePermissionedPool",
8
+ "docs": ["Initialize a new permissioned pool."],
9
+ "accounts": [
10
+ {
11
+ "name": "pool",
12
+ "isMut": true,
13
+ "isSigner": true,
14
+ "docs": ["Pool account (arbitrary address)"]
15
+ },
16
+ {
17
+ "name": "lpMint",
18
+ "isMut": true,
19
+ "isSigner": false,
20
+ "docs": ["LP token mint of the pool"]
21
+ },
22
+ {
23
+ "name": "tokenAMint",
24
+ "isMut": false,
25
+ "isSigner": false,
26
+ "docs": ["Token A mint of the pool. Eg: USDT"]
27
+ },
28
+ {
29
+ "name": "tokenBMint",
30
+ "isMut": false,
31
+ "isSigner": false,
32
+ "docs": ["Token B mint of the pool. Eg: USDC"]
33
+ },
34
+ {
35
+ "name": "aVault",
36
+ "isMut": true,
37
+ "isSigner": false,
38
+ "docs": ["Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."]
39
+ },
40
+ {
41
+ "name": "bVault",
42
+ "isMut": true,
43
+ "isSigner": false,
44
+ "docs": ["Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."]
45
+ },
46
+ {
47
+ "name": "aVaultLpMint",
48
+ "isMut": true,
49
+ "isSigner": false,
50
+ "docs": ["LP token mint of vault A"]
51
+ },
52
+ {
53
+ "name": "bVaultLpMint",
54
+ "isMut": true,
55
+ "isSigner": false,
56
+ "docs": ["LP token mint of vault B"]
57
+ },
58
+ {
59
+ "name": "aVaultLp",
60
+ "isMut": true,
61
+ "isSigner": false,
62
+ "docs": [
63
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
64
+ ]
65
+ },
66
+ {
67
+ "name": "bVaultLp",
68
+ "isMut": true,
69
+ "isSigner": false,
70
+ "docs": ["LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault."]
71
+ },
72
+ {
73
+ "name": "adminTokenA",
74
+ "isMut": true,
75
+ "isSigner": false,
76
+ "docs": ["Admin token account for pool token A mint. Used to bootstrap the pool with initial liquidity."]
77
+ },
78
+ {
79
+ "name": "adminTokenB",
80
+ "isMut": true,
81
+ "isSigner": false,
82
+ "docs": ["Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity."]
83
+ },
84
+ {
85
+ "name": "adminPoolLp",
86
+ "isMut": true,
87
+ "isSigner": false,
88
+ "docs": [
89
+ "Admin pool LP token account. Used to receive LP during first deposit (initialize pool)",
90
+ "Admin pool LP token account. Used to receive LP during first deposit (initialize pool)"
91
+ ]
92
+ },
93
+ {
94
+ "name": "protocolTokenAFee",
95
+ "isMut": true,
96
+ "isSigner": false,
97
+ "docs": ["Protocol fee token account for token A. Used to receive trading fee."]
98
+ },
99
+ {
100
+ "name": "protocolTokenBFee",
101
+ "isMut": true,
102
+ "isSigner": false,
103
+ "docs": ["Protocol fee token account for token B. Used to receive trading fee."]
104
+ },
105
+ {
106
+ "name": "admin",
107
+ "isMut": true,
108
+ "isSigner": true,
109
+ "docs": [
110
+ "Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool."
111
+ ]
112
+ },
113
+ {
114
+ "name": "feeOwner",
115
+ "isMut": false,
116
+ "isSigner": false
117
+ },
118
+ {
119
+ "name": "rent",
120
+ "isMut": false,
121
+ "isSigner": false,
122
+ "docs": ["Rent account."]
123
+ },
124
+ {
125
+ "name": "mintMetadata",
126
+ "isMut": true,
127
+ "isSigner": false
128
+ },
129
+ {
130
+ "name": "metadataProgram",
131
+ "isMut": false,
132
+ "isSigner": false
133
+ },
134
+ {
135
+ "name": "vaultProgram",
136
+ "isMut": false,
137
+ "isSigner": false,
138
+ "docs": ["Vault program. The pool will deposit/withdraw liquidity from the vault."]
139
+ },
140
+ {
141
+ "name": "tokenProgram",
142
+ "isMut": false,
143
+ "isSigner": false,
144
+ "docs": ["Token program."]
145
+ },
146
+ {
147
+ "name": "associatedTokenProgram",
148
+ "isMut": false,
149
+ "isSigner": false,
150
+ "docs": ["Associated token program."]
151
+ },
152
+ {
153
+ "name": "systemProgram",
154
+ "isMut": false,
155
+ "isSigner": false,
156
+ "docs": ["System program."]
157
+ }
158
+ ],
159
+ "args": [
160
+ {
161
+ "name": "curveType",
162
+ "type": {
163
+ "defined": "CurveType"
164
+ }
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ "name": "initializePermissionlessPool",
170
+ "docs": ["Initialize a new permissionless pool."],
171
+ "accounts": [
172
+ {
173
+ "name": "pool",
174
+ "isMut": true,
175
+ "isSigner": false,
176
+ "docs": ["Pool account (PDA address)"]
177
+ },
178
+ {
179
+ "name": "lpMint",
180
+ "isMut": true,
181
+ "isSigner": false,
182
+ "docs": ["LP token mint of the pool"]
183
+ },
184
+ {
185
+ "name": "tokenAMint",
186
+ "isMut": false,
187
+ "isSigner": false,
188
+ "docs": ["Token A mint of the pool. Eg: USDT"]
189
+ },
190
+ {
191
+ "name": "tokenBMint",
192
+ "isMut": false,
193
+ "isSigner": false,
194
+ "docs": ["Token B mint of the pool. Eg: USDC"]
195
+ },
196
+ {
197
+ "name": "aVault",
198
+ "isMut": true,
199
+ "isSigner": false,
200
+ "docs": ["Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."]
201
+ },
202
+ {
203
+ "name": "bVault",
204
+ "isMut": true,
205
+ "isSigner": false,
206
+ "docs": ["Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."]
207
+ },
208
+ {
209
+ "name": "aTokenVault",
210
+ "isMut": true,
211
+ "isSigner": false,
212
+ "docs": ["Token vault account of vault A"]
213
+ },
214
+ {
215
+ "name": "bTokenVault",
216
+ "isMut": true,
217
+ "isSigner": false,
218
+ "docs": ["Token vault account of vault B"]
219
+ },
220
+ {
221
+ "name": "aVaultLpMint",
222
+ "isMut": true,
223
+ "isSigner": false,
224
+ "docs": ["LP token mint of vault A"]
225
+ },
226
+ {
227
+ "name": "bVaultLpMint",
228
+ "isMut": true,
229
+ "isSigner": false,
230
+ "docs": ["LP token mint of vault B"]
231
+ },
232
+ {
233
+ "name": "aVaultLp",
234
+ "isMut": true,
235
+ "isSigner": false,
236
+ "docs": [
237
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
238
+ ]
239
+ },
240
+ {
241
+ "name": "bVaultLp",
242
+ "isMut": true,
243
+ "isSigner": false,
244
+ "docs": ["LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault."]
245
+ },
246
+ {
247
+ "name": "payerTokenA",
248
+ "isMut": true,
249
+ "isSigner": false,
250
+ "docs": ["Payer token account for pool token A mint. Used to bootstrap the pool with initial liquidity."]
251
+ },
252
+ {
253
+ "name": "payerTokenB",
254
+ "isMut": true,
255
+ "isSigner": false,
256
+ "docs": ["Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity."]
257
+ },
258
+ {
259
+ "name": "payerPoolLp",
260
+ "isMut": true,
261
+ "isSigner": false
262
+ },
263
+ {
264
+ "name": "protocolTokenAFee",
265
+ "isMut": true,
266
+ "isSigner": false,
267
+ "docs": ["Protocol fee token account for token A. Used to receive trading fee."]
268
+ },
269
+ {
270
+ "name": "protocolTokenBFee",
271
+ "isMut": true,
272
+ "isSigner": false,
273
+ "docs": ["Protocol fee token account for token B. Used to receive trading fee."]
274
+ },
275
+ {
276
+ "name": "payer",
277
+ "isMut": true,
278
+ "isSigner": true,
279
+ "docs": [
280
+ "Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool."
281
+ ]
282
+ },
283
+ {
284
+ "name": "feeOwner",
285
+ "isMut": false,
286
+ "isSigner": false
287
+ },
288
+ {
289
+ "name": "rent",
290
+ "isMut": false,
291
+ "isSigner": false,
292
+ "docs": ["Rent account."]
293
+ },
294
+ {
295
+ "name": "mintMetadata",
296
+ "isMut": true,
297
+ "isSigner": false
298
+ },
299
+ {
300
+ "name": "metadataProgram",
301
+ "isMut": false,
302
+ "isSigner": false
303
+ },
304
+ {
305
+ "name": "vaultProgram",
306
+ "isMut": false,
307
+ "isSigner": false,
308
+ "docs": ["Vault program. The pool will deposit/withdraw liquidity from the vault."]
309
+ },
310
+ {
311
+ "name": "tokenProgram",
312
+ "isMut": false,
313
+ "isSigner": false,
314
+ "docs": ["Token program."]
315
+ },
316
+ {
317
+ "name": "associatedTokenProgram",
318
+ "isMut": false,
319
+ "isSigner": false,
320
+ "docs": ["Associated token program."]
321
+ },
322
+ {
323
+ "name": "systemProgram",
324
+ "isMut": false,
325
+ "isSigner": false,
326
+ "docs": ["System program."]
327
+ }
328
+ ],
329
+ "args": [
330
+ {
331
+ "name": "curveType",
332
+ "type": {
333
+ "defined": "CurveType"
334
+ }
335
+ },
336
+ {
337
+ "name": "tokenAAmount",
338
+ "type": "u64"
339
+ },
340
+ {
341
+ "name": "tokenBAmount",
342
+ "type": "u64"
343
+ }
344
+ ]
345
+ },
346
+ {
347
+ "name": "initializePermissionlessPoolWithFeeTier",
348
+ "docs": ["Initialize a new permissionless pool with customized fee tier"],
349
+ "accounts": [
350
+ {
351
+ "name": "pool",
352
+ "isMut": true,
353
+ "isSigner": false,
354
+ "docs": ["Pool account (PDA address)"]
355
+ },
356
+ {
357
+ "name": "lpMint",
358
+ "isMut": true,
359
+ "isSigner": false,
360
+ "docs": ["LP token mint of the pool"]
361
+ },
362
+ {
363
+ "name": "tokenAMint",
364
+ "isMut": false,
365
+ "isSigner": false,
366
+ "docs": ["Token A mint of the pool. Eg: USDT"]
367
+ },
368
+ {
369
+ "name": "tokenBMint",
370
+ "isMut": false,
371
+ "isSigner": false,
372
+ "docs": ["Token B mint of the pool. Eg: USDC"]
373
+ },
374
+ {
375
+ "name": "aVault",
376
+ "isMut": true,
377
+ "isSigner": false,
378
+ "docs": ["Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."]
379
+ },
380
+ {
381
+ "name": "bVault",
382
+ "isMut": true,
383
+ "isSigner": false,
384
+ "docs": ["Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."]
385
+ },
386
+ {
387
+ "name": "aTokenVault",
388
+ "isMut": true,
389
+ "isSigner": false,
390
+ "docs": ["Token vault account of vault A"]
391
+ },
392
+ {
393
+ "name": "bTokenVault",
394
+ "isMut": true,
395
+ "isSigner": false,
396
+ "docs": ["Token vault account of vault B"]
397
+ },
398
+ {
399
+ "name": "aVaultLpMint",
400
+ "isMut": true,
401
+ "isSigner": false,
402
+ "docs": ["LP token mint of vault A"]
403
+ },
404
+ {
405
+ "name": "bVaultLpMint",
406
+ "isMut": true,
407
+ "isSigner": false,
408
+ "docs": ["LP token mint of vault B"]
409
+ },
410
+ {
411
+ "name": "aVaultLp",
412
+ "isMut": true,
413
+ "isSigner": false,
414
+ "docs": [
415
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
416
+ ]
417
+ },
418
+ {
419
+ "name": "bVaultLp",
420
+ "isMut": true,
421
+ "isSigner": false,
422
+ "docs": ["LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault."]
423
+ },
424
+ {
425
+ "name": "payerTokenA",
426
+ "isMut": true,
427
+ "isSigner": false,
428
+ "docs": ["Payer token account for pool token A mint. Used to bootstrap the pool with initial liquidity."]
429
+ },
430
+ {
431
+ "name": "payerTokenB",
432
+ "isMut": true,
433
+ "isSigner": false,
434
+ "docs": ["Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity."]
435
+ },
436
+ {
437
+ "name": "payerPoolLp",
438
+ "isMut": true,
439
+ "isSigner": false
440
+ },
441
+ {
442
+ "name": "protocolTokenAFee",
443
+ "isMut": true,
444
+ "isSigner": false,
445
+ "docs": ["Protocol fee token account for token A. Used to receive trading fee."]
446
+ },
447
+ {
448
+ "name": "protocolTokenBFee",
449
+ "isMut": true,
450
+ "isSigner": false,
451
+ "docs": ["Protocol fee token account for token B. Used to receive trading fee."]
452
+ },
453
+ {
454
+ "name": "payer",
455
+ "isMut": true,
456
+ "isSigner": true,
457
+ "docs": [
458
+ "Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool."
459
+ ]
460
+ },
461
+ {
462
+ "name": "feeOwner",
463
+ "isMut": false,
464
+ "isSigner": false
465
+ },
466
+ {
467
+ "name": "rent",
468
+ "isMut": false,
469
+ "isSigner": false,
470
+ "docs": ["Rent account."]
471
+ },
472
+ {
473
+ "name": "mintMetadata",
474
+ "isMut": true,
475
+ "isSigner": false
476
+ },
477
+ {
478
+ "name": "metadataProgram",
479
+ "isMut": false,
480
+ "isSigner": false
481
+ },
482
+ {
483
+ "name": "vaultProgram",
484
+ "isMut": false,
485
+ "isSigner": false,
486
+ "docs": ["Vault program. The pool will deposit/withdraw liquidity from the vault."]
487
+ },
488
+ {
489
+ "name": "tokenProgram",
490
+ "isMut": false,
491
+ "isSigner": false,
492
+ "docs": ["Token program."]
493
+ },
494
+ {
495
+ "name": "associatedTokenProgram",
496
+ "isMut": false,
497
+ "isSigner": false,
498
+ "docs": ["Associated token program."]
499
+ },
500
+ {
501
+ "name": "systemProgram",
502
+ "isMut": false,
503
+ "isSigner": false,
504
+ "docs": ["System program."]
505
+ }
506
+ ],
507
+ "args": [
508
+ {
509
+ "name": "curveType",
510
+ "type": {
511
+ "defined": "CurveType"
512
+ }
513
+ },
514
+ {
515
+ "name": "tradeFeeBps",
516
+ "type": "u64"
517
+ },
518
+ {
519
+ "name": "tokenAAmount",
520
+ "type": "u64"
521
+ },
522
+ {
523
+ "name": "tokenBAmount",
524
+ "type": "u64"
525
+ }
526
+ ]
527
+ },
528
+ {
529
+ "name": "enableOrDisablePool",
530
+ "docs": ["Enable or disable a pool. A disabled pool allow only remove balanced liquidity operation."],
531
+ "accounts": [
532
+ {
533
+ "name": "pool",
534
+ "isMut": true,
535
+ "isSigner": false,
536
+ "docs": ["Pool account (PDA)"]
537
+ },
538
+ {
539
+ "name": "admin",
540
+ "isMut": false,
541
+ "isSigner": true,
542
+ "docs": ["Admin account. Must be owner of the pool."]
543
+ }
544
+ ],
545
+ "args": [
546
+ {
547
+ "name": "enable",
548
+ "type": "bool"
549
+ }
550
+ ]
551
+ },
552
+ {
553
+ "name": "swap",
554
+ "docs": [
555
+ "Swap token A to B, or vice versa. An amount of trading fee will be charged for liquidity provider, and the admin of the pool."
556
+ ],
557
+ "accounts": [
558
+ {
559
+ "name": "pool",
560
+ "isMut": true,
561
+ "isSigner": false,
562
+ "docs": ["Pool account (PDA)"]
563
+ },
564
+ {
565
+ "name": "userSourceToken",
566
+ "isMut": true,
567
+ "isSigner": false,
568
+ "docs": [
569
+ "User token account. Token from this account will be transfer into the vault by the pool in exchange for another token of the pool."
570
+ ]
571
+ },
572
+ {
573
+ "name": "userDestinationToken",
574
+ "isMut": true,
575
+ "isSigner": false,
576
+ "docs": ["User token account. The exchanged token will be transfer into this account from the pool."]
577
+ },
578
+ {
579
+ "name": "aVault",
580
+ "isMut": true,
581
+ "isSigner": false,
582
+ "docs": ["Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."]
583
+ },
584
+ {
585
+ "name": "bVault",
586
+ "isMut": true,
587
+ "isSigner": false,
588
+ "docs": ["Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."]
589
+ },
590
+ {
591
+ "name": "aTokenVault",
592
+ "isMut": true,
593
+ "isSigner": false,
594
+ "docs": ["Token vault account of vault A"]
595
+ },
596
+ {
597
+ "name": "bTokenVault",
598
+ "isMut": true,
599
+ "isSigner": false,
600
+ "docs": ["Token vault account of vault B"]
601
+ },
602
+ {
603
+ "name": "aVaultLpMint",
604
+ "isMut": true,
605
+ "isSigner": false,
606
+ "docs": ["Lp token mint of vault a"]
607
+ },
608
+ {
609
+ "name": "bVaultLpMint",
610
+ "isMut": true,
611
+ "isSigner": false,
612
+ "docs": ["Lp token mint of vault b"]
613
+ },
614
+ {
615
+ "name": "aVaultLp",
616
+ "isMut": true,
617
+ "isSigner": false,
618
+ "docs": [
619
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
620
+ ]
621
+ },
622
+ {
623
+ "name": "bVaultLp",
624
+ "isMut": true,
625
+ "isSigner": false,
626
+ "docs": [
627
+ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
628
+ ]
629
+ },
630
+ {
631
+ "name": "protocolTokenFee",
632
+ "isMut": true,
633
+ "isSigner": false,
634
+ "docs": [
635
+ "Protocol fee token account. Used to receive trading fee. It's mint field must matched with user_source_token mint field."
636
+ ]
637
+ },
638
+ {
639
+ "name": "user",
640
+ "isMut": false,
641
+ "isSigner": true,
642
+ "docs": ["User account. Must be owner of user_source_token."]
643
+ },
644
+ {
645
+ "name": "vaultProgram",
646
+ "isMut": false,
647
+ "isSigner": false,
648
+ "docs": ["Vault program. the pool will deposit/withdraw liquidity from the vault."]
649
+ },
650
+ {
651
+ "name": "tokenProgram",
652
+ "isMut": false,
653
+ "isSigner": false,
654
+ "docs": ["Token program."]
655
+ }
656
+ ],
657
+ "args": [
658
+ {
659
+ "name": "inAmount",
660
+ "type": "u64"
661
+ },
662
+ {
663
+ "name": "minimumOutAmount",
664
+ "type": "u64"
665
+ }
666
+ ]
667
+ },
668
+ {
669
+ "name": "removeLiquiditySingleSide",
670
+ "docs": ["Withdraw only single token from the pool. Only supported by pool with stable swap curve."],
671
+ "accounts": [
672
+ {
673
+ "name": "pool",
674
+ "isMut": true,
675
+ "isSigner": false,
676
+ "docs": ["Pool account (PDA)"]
677
+ },
678
+ {
679
+ "name": "lpMint",
680
+ "isMut": true,
681
+ "isSigner": false,
682
+ "docs": ["LP token mint of the pool"]
683
+ },
684
+ {
685
+ "name": "userPoolLp",
686
+ "isMut": true,
687
+ "isSigner": false,
688
+ "docs": ["User pool lp token account. LP will be burned from this account upon success liquidity removal."]
689
+ },
690
+ {
691
+ "name": "aVaultLp",
692
+ "isMut": true,
693
+ "isSigner": false,
694
+ "docs": [
695
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
696
+ ]
697
+ },
698
+ {
699
+ "name": "bVaultLp",
700
+ "isMut": true,
701
+ "isSigner": false,
702
+ "docs": [
703
+ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
704
+ ]
705
+ },
706
+ {
707
+ "name": "aVault",
708
+ "isMut": true,
709
+ "isSigner": false,
710
+ "docs": ["Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."]
711
+ },
712
+ {
713
+ "name": "bVault",
714
+ "isMut": true,
715
+ "isSigner": false,
716
+ "docs": ["Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."]
717
+ },
718
+ {
719
+ "name": "aVaultLpMint",
720
+ "isMut": true,
721
+ "isSigner": false,
722
+ "docs": ["LP token mint of vault A"]
723
+ },
724
+ {
725
+ "name": "bVaultLpMint",
726
+ "isMut": true,
727
+ "isSigner": false,
728
+ "docs": ["LP token mint of vault B"]
729
+ },
730
+ {
731
+ "name": "aTokenVault",
732
+ "isMut": true,
733
+ "isSigner": false,
734
+ "docs": ["Token vault account of vault A"]
735
+ },
736
+ {
737
+ "name": "bTokenVault",
738
+ "isMut": true,
739
+ "isSigner": false,
740
+ "docs": ["Token vault account of vault B"]
741
+ },
742
+ {
743
+ "name": "userDestinationToken",
744
+ "isMut": true,
745
+ "isSigner": false,
746
+ "docs": ["User token account to receive token upon success liquidity removal."]
747
+ },
748
+ {
749
+ "name": "user",
750
+ "isMut": false,
751
+ "isSigner": true,
752
+ "docs": ["User account. Must be owner of the user_pool_lp account."]
753
+ },
754
+ {
755
+ "name": "vaultProgram",
756
+ "isMut": false,
757
+ "isSigner": false,
758
+ "docs": ["Vault program. The pool will deposit/withdraw liquidity from the vault."]
759
+ },
760
+ {
761
+ "name": "tokenProgram",
762
+ "isMut": false,
763
+ "isSigner": false,
764
+ "docs": ["Token program."]
765
+ }
766
+ ],
767
+ "args": [
768
+ {
769
+ "name": "poolTokenAmount",
770
+ "type": "u64"
771
+ },
772
+ {
773
+ "name": "minimumOutAmount",
774
+ "type": "u64"
775
+ }
776
+ ]
777
+ },
778
+ {
779
+ "name": "addImbalanceLiquidity",
780
+ "docs": ["Deposit tokens to the pool in an imbalance ratio. Only supported by pool with stable swap curve."],
781
+ "accounts": [
782
+ {
783
+ "name": "pool",
784
+ "isMut": true,
785
+ "isSigner": false,
786
+ "docs": ["Pool account (PDA)"]
787
+ },
788
+ {
789
+ "name": "lpMint",
790
+ "isMut": true,
791
+ "isSigner": false,
792
+ "docs": ["LP token mint of the pool"]
793
+ },
794
+ {
795
+ "name": "userPoolLp",
796
+ "isMut": true,
797
+ "isSigner": false,
798
+ "docs": ["user pool lp token account. lp will be burned from this account upon success liquidity removal."]
799
+ },
800
+ {
801
+ "name": "aVaultLp",
802
+ "isMut": true,
803
+ "isSigner": false,
804
+ "docs": [
805
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
806
+ ]
807
+ },
808
+ {
809
+ "name": "bVaultLp",
810
+ "isMut": true,
811
+ "isSigner": false,
812
+ "docs": [
813
+ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
814
+ ]
815
+ },
816
+ {
817
+ "name": "aVault",
818
+ "isMut": true,
819
+ "isSigner": false,
820
+ "docs": ["Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."]
821
+ },
822
+ {
823
+ "name": "bVault",
824
+ "isMut": true,
825
+ "isSigner": false,
826
+ "docs": ["Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."]
827
+ },
828
+ {
829
+ "name": "aVaultLpMint",
830
+ "isMut": true,
831
+ "isSigner": false,
832
+ "docs": ["LP token mint of vault a"]
833
+ },
834
+ {
835
+ "name": "bVaultLpMint",
836
+ "isMut": true,
837
+ "isSigner": false,
838
+ "docs": ["LP token mint of vault b"]
839
+ },
840
+ {
841
+ "name": "aTokenVault",
842
+ "isMut": true,
843
+ "isSigner": false,
844
+ "docs": ["Token vault account of vault A"]
845
+ },
846
+ {
847
+ "name": "bTokenVault",
848
+ "isMut": true,
849
+ "isSigner": false,
850
+ "docs": ["Token vault account of vault B"]
851
+ },
852
+ {
853
+ "name": "userAToken",
854
+ "isMut": true,
855
+ "isSigner": false,
856
+ "docs": [
857
+ "User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
858
+ ]
859
+ },
860
+ {
861
+ "name": "userBToken",
862
+ "isMut": true,
863
+ "isSigner": false,
864
+ "docs": [
865
+ "User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
866
+ ]
867
+ },
868
+ {
869
+ "name": "user",
870
+ "isMut": false,
871
+ "isSigner": true,
872
+ "docs": ["User account. Must be owner of user_a_token, and user_b_token."]
873
+ },
874
+ {
875
+ "name": "vaultProgram",
876
+ "isMut": false,
877
+ "isSigner": false,
878
+ "docs": ["Vault program. the pool will deposit/withdraw liquidity from the vault."]
879
+ },
880
+ {
881
+ "name": "tokenProgram",
882
+ "isMut": false,
883
+ "isSigner": false,
884
+ "docs": ["Token program."]
885
+ }
886
+ ],
887
+ "args": [
888
+ {
889
+ "name": "minimumPoolTokenAmount",
890
+ "type": "u64"
891
+ },
892
+ {
893
+ "name": "tokenAAmount",
894
+ "type": "u64"
895
+ },
896
+ {
897
+ "name": "tokenBAmount",
898
+ "type": "u64"
899
+ }
900
+ ]
901
+ },
902
+ {
903
+ "name": "removeBalanceLiquidity",
904
+ "docs": [
905
+ "Withdraw tokens from the pool in a balanced ratio. User will still able to withdraw from pool even the pool is disabled. This allow user to exit their liquidity when there's some unforeseen event happen."
906
+ ],
907
+ "accounts": [
908
+ {
909
+ "name": "pool",
910
+ "isMut": true,
911
+ "isSigner": false,
912
+ "docs": ["Pool account (PDA)"]
913
+ },
914
+ {
915
+ "name": "lpMint",
916
+ "isMut": true,
917
+ "isSigner": false,
918
+ "docs": ["LP token mint of the pool"]
919
+ },
920
+ {
921
+ "name": "userPoolLp",
922
+ "isMut": true,
923
+ "isSigner": false,
924
+ "docs": ["user pool lp token account. lp will be burned from this account upon success liquidity removal."]
925
+ },
926
+ {
927
+ "name": "aVaultLp",
928
+ "isMut": true,
929
+ "isSigner": false,
930
+ "docs": [
931
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
932
+ ]
933
+ },
934
+ {
935
+ "name": "bVaultLp",
936
+ "isMut": true,
937
+ "isSigner": false,
938
+ "docs": [
939
+ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
940
+ ]
941
+ },
942
+ {
943
+ "name": "aVault",
944
+ "isMut": true,
945
+ "isSigner": false,
946
+ "docs": ["Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."]
947
+ },
948
+ {
949
+ "name": "bVault",
950
+ "isMut": true,
951
+ "isSigner": false,
952
+ "docs": ["Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."]
953
+ },
954
+ {
955
+ "name": "aVaultLpMint",
956
+ "isMut": true,
957
+ "isSigner": false,
958
+ "docs": ["LP token mint of vault a"]
959
+ },
960
+ {
961
+ "name": "bVaultLpMint",
962
+ "isMut": true,
963
+ "isSigner": false,
964
+ "docs": ["LP token mint of vault b"]
965
+ },
966
+ {
967
+ "name": "aTokenVault",
968
+ "isMut": true,
969
+ "isSigner": false,
970
+ "docs": ["Token vault account of vault A"]
971
+ },
972
+ {
973
+ "name": "bTokenVault",
974
+ "isMut": true,
975
+ "isSigner": false,
976
+ "docs": ["Token vault account of vault B"]
977
+ },
978
+ {
979
+ "name": "userAToken",
980
+ "isMut": true,
981
+ "isSigner": false,
982
+ "docs": [
983
+ "User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
984
+ ]
985
+ },
986
+ {
987
+ "name": "userBToken",
988
+ "isMut": true,
989
+ "isSigner": false,
990
+ "docs": [
991
+ "User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
992
+ ]
993
+ },
994
+ {
995
+ "name": "user",
996
+ "isMut": false,
997
+ "isSigner": true,
998
+ "docs": ["User account. Must be owner of user_a_token, and user_b_token."]
999
+ },
1000
+ {
1001
+ "name": "vaultProgram",
1002
+ "isMut": false,
1003
+ "isSigner": false,
1004
+ "docs": ["Vault program. the pool will deposit/withdraw liquidity from the vault."]
1005
+ },
1006
+ {
1007
+ "name": "tokenProgram",
1008
+ "isMut": false,
1009
+ "isSigner": false,
1010
+ "docs": ["Token program."]
1011
+ }
1012
+ ],
1013
+ "args": [
1014
+ {
1015
+ "name": "poolTokenAmount",
1016
+ "type": "u64"
1017
+ },
1018
+ {
1019
+ "name": "minimumATokenOut",
1020
+ "type": "u64"
1021
+ },
1022
+ {
1023
+ "name": "minimumBTokenOut",
1024
+ "type": "u64"
1025
+ }
1026
+ ]
1027
+ },
1028
+ {
1029
+ "name": "addBalanceLiquidity",
1030
+ "docs": ["Deposit tokens to the pool in a balanced ratio."],
1031
+ "accounts": [
1032
+ {
1033
+ "name": "pool",
1034
+ "isMut": true,
1035
+ "isSigner": false,
1036
+ "docs": ["Pool account (PDA)"]
1037
+ },
1038
+ {
1039
+ "name": "lpMint",
1040
+ "isMut": true,
1041
+ "isSigner": false,
1042
+ "docs": ["LP token mint of the pool"]
1043
+ },
1044
+ {
1045
+ "name": "userPoolLp",
1046
+ "isMut": true,
1047
+ "isSigner": false,
1048
+ "docs": ["user pool lp token account. lp will be burned from this account upon success liquidity removal."]
1049
+ },
1050
+ {
1051
+ "name": "aVaultLp",
1052
+ "isMut": true,
1053
+ "isSigner": false,
1054
+ "docs": [
1055
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1056
+ ]
1057
+ },
1058
+ {
1059
+ "name": "bVaultLp",
1060
+ "isMut": true,
1061
+ "isSigner": false,
1062
+ "docs": [
1063
+ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1064
+ ]
1065
+ },
1066
+ {
1067
+ "name": "aVault",
1068
+ "isMut": true,
1069
+ "isSigner": false,
1070
+ "docs": ["Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."]
1071
+ },
1072
+ {
1073
+ "name": "bVault",
1074
+ "isMut": true,
1075
+ "isSigner": false,
1076
+ "docs": ["Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."]
1077
+ },
1078
+ {
1079
+ "name": "aVaultLpMint",
1080
+ "isMut": true,
1081
+ "isSigner": false,
1082
+ "docs": ["LP token mint of vault a"]
1083
+ },
1084
+ {
1085
+ "name": "bVaultLpMint",
1086
+ "isMut": true,
1087
+ "isSigner": false,
1088
+ "docs": ["LP token mint of vault b"]
1089
+ },
1090
+ {
1091
+ "name": "aTokenVault",
1092
+ "isMut": true,
1093
+ "isSigner": false,
1094
+ "docs": ["Token vault account of vault A"]
1095
+ },
1096
+ {
1097
+ "name": "bTokenVault",
1098
+ "isMut": true,
1099
+ "isSigner": false,
1100
+ "docs": ["Token vault account of vault B"]
1101
+ },
1102
+ {
1103
+ "name": "userAToken",
1104
+ "isMut": true,
1105
+ "isSigner": false,
1106
+ "docs": [
1107
+ "User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
1108
+ ]
1109
+ },
1110
+ {
1111
+ "name": "userBToken",
1112
+ "isMut": true,
1113
+ "isSigner": false,
1114
+ "docs": [
1115
+ "User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
1116
+ ]
1117
+ },
1118
+ {
1119
+ "name": "user",
1120
+ "isMut": false,
1121
+ "isSigner": true,
1122
+ "docs": ["User account. Must be owner of user_a_token, and user_b_token."]
1123
+ },
1124
+ {
1125
+ "name": "vaultProgram",
1126
+ "isMut": false,
1127
+ "isSigner": false,
1128
+ "docs": ["Vault program. the pool will deposit/withdraw liquidity from the vault."]
1129
+ },
1130
+ {
1131
+ "name": "tokenProgram",
1132
+ "isMut": false,
1133
+ "isSigner": false,
1134
+ "docs": ["Token program."]
1135
+ }
1136
+ ],
1137
+ "args": [
1138
+ {
1139
+ "name": "poolTokenAmount",
1140
+ "type": "u64"
1141
+ },
1142
+ {
1143
+ "name": "maximumTokenAAmount",
1144
+ "type": "u64"
1145
+ },
1146
+ {
1147
+ "name": "maximumTokenBAmount",
1148
+ "type": "u64"
1149
+ }
1150
+ ]
1151
+ },
1152
+ {
1153
+ "name": "setPoolFees",
1154
+ "docs": ["Update trading fee charged for liquidity provider, and admin."],
1155
+ "accounts": [
1156
+ {
1157
+ "name": "pool",
1158
+ "isMut": true,
1159
+ "isSigner": false,
1160
+ "docs": ["Pool account (PDA)"]
1161
+ },
1162
+ {
1163
+ "name": "feeOperator",
1164
+ "isMut": false,
1165
+ "isSigner": true,
1166
+ "docs": ["Fee operator account"]
1167
+ }
1168
+ ],
1169
+ "args": [
1170
+ {
1171
+ "name": "fees",
1172
+ "type": {
1173
+ "defined": "PoolFees"
1174
+ }
1175
+ },
1176
+ {
1177
+ "name": "newPartnerFeeNumerator",
1178
+ "type": "u64"
1179
+ }
1180
+ ]
1181
+ },
1182
+ {
1183
+ "name": "overrideCurveParam",
1184
+ "docs": [
1185
+ "Update swap curve parameters. This function do not allow update of curve type. For example: stable swap curve to constant product curve. Only supported by pool with stable swap curve.",
1186
+ "Only amp is allowed to be override. The other attributes of stable swap curve will be ignored."
1187
+ ],
1188
+ "accounts": [
1189
+ {
1190
+ "name": "pool",
1191
+ "isMut": true,
1192
+ "isSigner": false,
1193
+ "docs": ["Pool account (PDA)"]
1194
+ },
1195
+ {
1196
+ "name": "admin",
1197
+ "isMut": false,
1198
+ "isSigner": true,
1199
+ "docs": ["Admin account."]
1200
+ }
1201
+ ],
1202
+ "args": [
1203
+ {
1204
+ "name": "curveType",
1205
+ "type": {
1206
+ "defined": "CurveType"
1207
+ }
1208
+ }
1209
+ ]
1210
+ },
1211
+ {
1212
+ "name": "getPoolInfo",
1213
+ "docs": ["Get the general information of the pool."],
1214
+ "accounts": [
1215
+ {
1216
+ "name": "pool",
1217
+ "isMut": false,
1218
+ "isSigner": false,
1219
+ "docs": ["Pool account (PDA)"]
1220
+ },
1221
+ {
1222
+ "name": "lpMint",
1223
+ "isMut": false,
1224
+ "isSigner": false,
1225
+ "docs": ["LP token mint of the pool"]
1226
+ },
1227
+ {
1228
+ "name": "aVaultLp",
1229
+ "isMut": false,
1230
+ "isSigner": false,
1231
+ "docs": [
1232
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1233
+ ]
1234
+ },
1235
+ {
1236
+ "name": "bVaultLp",
1237
+ "isMut": false,
1238
+ "isSigner": false,
1239
+ "docs": [
1240
+ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1241
+ ]
1242
+ },
1243
+ {
1244
+ "name": "aVault",
1245
+ "isMut": false,
1246
+ "isSigner": false,
1247
+ "docs": ["Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."]
1248
+ },
1249
+ {
1250
+ "name": "bVault",
1251
+ "isMut": false,
1252
+ "isSigner": false,
1253
+ "docs": ["Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."]
1254
+ },
1255
+ {
1256
+ "name": "aVaultLpMint",
1257
+ "isMut": false,
1258
+ "isSigner": false,
1259
+ "docs": ["LP token mint of vault a"]
1260
+ },
1261
+ {
1262
+ "name": "bVaultLpMint",
1263
+ "isMut": false,
1264
+ "isSigner": false,
1265
+ "docs": ["LP token mint of vault b"]
1266
+ }
1267
+ ],
1268
+ "args": []
1269
+ },
1270
+ {
1271
+ "name": "bootstrapLiquidity",
1272
+ "docs": ["Bootstrap the pool when liquidity is depleted."],
1273
+ "accounts": [
1274
+ {
1275
+ "name": "pool",
1276
+ "isMut": true,
1277
+ "isSigner": false,
1278
+ "docs": ["Pool account (PDA)"]
1279
+ },
1280
+ {
1281
+ "name": "lpMint",
1282
+ "isMut": true,
1283
+ "isSigner": false,
1284
+ "docs": ["LP token mint of the pool"]
1285
+ },
1286
+ {
1287
+ "name": "userPoolLp",
1288
+ "isMut": true,
1289
+ "isSigner": false,
1290
+ "docs": ["user pool lp token account. lp will be burned from this account upon success liquidity removal."]
1291
+ },
1292
+ {
1293
+ "name": "aVaultLp",
1294
+ "isMut": true,
1295
+ "isSigner": false,
1296
+ "docs": [
1297
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1298
+ ]
1299
+ },
1300
+ {
1301
+ "name": "bVaultLp",
1302
+ "isMut": true,
1303
+ "isSigner": false,
1304
+ "docs": [
1305
+ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1306
+ ]
1307
+ },
1308
+ {
1309
+ "name": "aVault",
1310
+ "isMut": true,
1311
+ "isSigner": false,
1312
+ "docs": ["Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."]
1313
+ },
1314
+ {
1315
+ "name": "bVault",
1316
+ "isMut": true,
1317
+ "isSigner": false,
1318
+ "docs": ["Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."]
1319
+ },
1320
+ {
1321
+ "name": "aVaultLpMint",
1322
+ "isMut": true,
1323
+ "isSigner": false,
1324
+ "docs": ["LP token mint of vault a"]
1325
+ },
1326
+ {
1327
+ "name": "bVaultLpMint",
1328
+ "isMut": true,
1329
+ "isSigner": false,
1330
+ "docs": ["LP token mint of vault b"]
1331
+ },
1332
+ {
1333
+ "name": "aTokenVault",
1334
+ "isMut": true,
1335
+ "isSigner": false,
1336
+ "docs": ["Token vault account of vault A"]
1337
+ },
1338
+ {
1339
+ "name": "bTokenVault",
1340
+ "isMut": true,
1341
+ "isSigner": false,
1342
+ "docs": ["Token vault account of vault B"]
1343
+ },
1344
+ {
1345
+ "name": "userAToken",
1346
+ "isMut": true,
1347
+ "isSigner": false,
1348
+ "docs": [
1349
+ "User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
1350
+ ]
1351
+ },
1352
+ {
1353
+ "name": "userBToken",
1354
+ "isMut": true,
1355
+ "isSigner": false,
1356
+ "docs": [
1357
+ "User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
1358
+ ]
1359
+ },
1360
+ {
1361
+ "name": "user",
1362
+ "isMut": false,
1363
+ "isSigner": true,
1364
+ "docs": ["User account. Must be owner of user_a_token, and user_b_token."]
1365
+ },
1366
+ {
1367
+ "name": "vaultProgram",
1368
+ "isMut": false,
1369
+ "isSigner": false,
1370
+ "docs": ["Vault program. the pool will deposit/withdraw liquidity from the vault."]
1371
+ },
1372
+ {
1373
+ "name": "tokenProgram",
1374
+ "isMut": false,
1375
+ "isSigner": false,
1376
+ "docs": ["Token program."]
1377
+ }
1378
+ ],
1379
+ "args": [
1380
+ {
1381
+ "name": "tokenAAmount",
1382
+ "type": "u64"
1383
+ },
1384
+ {
1385
+ "name": "tokenBAmount",
1386
+ "type": "u64"
1387
+ }
1388
+ ]
1389
+ },
1390
+ {
1391
+ "name": "createMintMetadata",
1392
+ "docs": ["Create mint metadata account for old pools"],
1393
+ "accounts": [
1394
+ {
1395
+ "name": "pool",
1396
+ "isMut": false,
1397
+ "isSigner": false,
1398
+ "docs": ["Pool account"]
1399
+ },
1400
+ {
1401
+ "name": "lpMint",
1402
+ "isMut": false,
1403
+ "isSigner": false,
1404
+ "docs": ["LP mint account of the pool"]
1405
+ },
1406
+ {
1407
+ "name": "aVaultLp",
1408
+ "isMut": false,
1409
+ "isSigner": false,
1410
+ "docs": ["Vault A LP account of the pool"]
1411
+ },
1412
+ {
1413
+ "name": "mintMetadata",
1414
+ "isMut": true,
1415
+ "isSigner": false
1416
+ },
1417
+ {
1418
+ "name": "metadataProgram",
1419
+ "isMut": false,
1420
+ "isSigner": false
1421
+ },
1422
+ {
1423
+ "name": "systemProgram",
1424
+ "isMut": false,
1425
+ "isSigner": false,
1426
+ "docs": ["System program."]
1427
+ },
1428
+ {
1429
+ "name": "payer",
1430
+ "isMut": true,
1431
+ "isSigner": true,
1432
+ "docs": ["Payer"]
1433
+ }
1434
+ ],
1435
+ "args": []
1436
+ },
1437
+ {
1438
+ "name": "createLockEscrow",
1439
+ "docs": ["Create lock account"],
1440
+ "accounts": [
1441
+ {
1442
+ "name": "pool",
1443
+ "isMut": false,
1444
+ "isSigner": false,
1445
+ "docs": ["Pool account"]
1446
+ },
1447
+ {
1448
+ "name": "lockEscrow",
1449
+ "isMut": true,
1450
+ "isSigner": false,
1451
+ "docs": ["Lock account"]
1452
+ },
1453
+ {
1454
+ "name": "owner",
1455
+ "isMut": false,
1456
+ "isSigner": false
1457
+ },
1458
+ {
1459
+ "name": "lpMint",
1460
+ "isMut": false,
1461
+ "isSigner": false,
1462
+ "docs": ["LP token mint of the pool"]
1463
+ },
1464
+ {
1465
+ "name": "payer",
1466
+ "isMut": true,
1467
+ "isSigner": true,
1468
+ "docs": ["Payer account"]
1469
+ },
1470
+ {
1471
+ "name": "systemProgram",
1472
+ "isMut": false,
1473
+ "isSigner": false,
1474
+ "docs": ["System program."]
1475
+ }
1476
+ ],
1477
+ "args": []
1478
+ },
1479
+ {
1480
+ "name": "lock",
1481
+ "docs": ["Lock Lp token"],
1482
+ "accounts": [
1483
+ {
1484
+ "name": "pool",
1485
+ "isMut": true,
1486
+ "isSigner": false,
1487
+ "docs": ["Pool account"]
1488
+ },
1489
+ {
1490
+ "name": "lpMint",
1491
+ "isMut": false,
1492
+ "isSigner": false,
1493
+ "docs": ["LP token mint of the pool"]
1494
+ },
1495
+ {
1496
+ "name": "lockEscrow",
1497
+ "isMut": true,
1498
+ "isSigner": false,
1499
+ "docs": ["Lock account"]
1500
+ },
1501
+ {
1502
+ "name": "owner",
1503
+ "isMut": true,
1504
+ "isSigner": true,
1505
+ "docs": ["Can be anyone"]
1506
+ },
1507
+ {
1508
+ "name": "sourceTokens",
1509
+ "isMut": true,
1510
+ "isSigner": false,
1511
+ "docs": ["owner lp token account"]
1512
+ },
1513
+ {
1514
+ "name": "escrowVault",
1515
+ "isMut": true,
1516
+ "isSigner": false,
1517
+ "docs": ["Escrow vault"]
1518
+ },
1519
+ {
1520
+ "name": "tokenProgram",
1521
+ "isMut": false,
1522
+ "isSigner": false,
1523
+ "docs": ["Token program."]
1524
+ },
1525
+ {
1526
+ "name": "aVault",
1527
+ "isMut": false,
1528
+ "isSigner": false,
1529
+ "docs": ["Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."]
1530
+ },
1531
+ {
1532
+ "name": "bVault",
1533
+ "isMut": false,
1534
+ "isSigner": false,
1535
+ "docs": ["Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."]
1536
+ },
1537
+ {
1538
+ "name": "aVaultLp",
1539
+ "isMut": false,
1540
+ "isSigner": false,
1541
+ "docs": [
1542
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1543
+ ]
1544
+ },
1545
+ {
1546
+ "name": "bVaultLp",
1547
+ "isMut": false,
1548
+ "isSigner": false,
1549
+ "docs": [
1550
+ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1551
+ ]
1552
+ },
1553
+ {
1554
+ "name": "aVaultLpMint",
1555
+ "isMut": false,
1556
+ "isSigner": false,
1557
+ "docs": ["LP token mint of vault a"]
1558
+ },
1559
+ {
1560
+ "name": "bVaultLpMint",
1561
+ "isMut": false,
1562
+ "isSigner": false,
1563
+ "docs": ["LP token mint of vault b"]
1564
+ }
1565
+ ],
1566
+ "args": [
1567
+ {
1568
+ "name": "maxAmount",
1569
+ "type": "u64"
1570
+ }
1571
+ ]
1572
+ },
1573
+ {
1574
+ "name": "claimFee",
1575
+ "docs": ["Claim fee"],
1576
+ "accounts": [
1577
+ {
1578
+ "name": "pool",
1579
+ "isMut": true,
1580
+ "isSigner": false,
1581
+ "docs": ["Pool account"]
1582
+ },
1583
+ {
1584
+ "name": "lpMint",
1585
+ "isMut": true,
1586
+ "isSigner": false,
1587
+ "docs": ["LP token mint of the pool"]
1588
+ },
1589
+ {
1590
+ "name": "lockEscrow",
1591
+ "isMut": true,
1592
+ "isSigner": false,
1593
+ "docs": ["Lock account"]
1594
+ },
1595
+ {
1596
+ "name": "owner",
1597
+ "isMut": true,
1598
+ "isSigner": true,
1599
+ "docs": ["Owner of lock account"]
1600
+ },
1601
+ {
1602
+ "name": "sourceTokens",
1603
+ "isMut": true,
1604
+ "isSigner": false,
1605
+ "docs": ["owner lp token account"]
1606
+ },
1607
+ {
1608
+ "name": "escrowVault",
1609
+ "isMut": true,
1610
+ "isSigner": false,
1611
+ "docs": ["Escrow vault"]
1612
+ },
1613
+ {
1614
+ "name": "tokenProgram",
1615
+ "isMut": false,
1616
+ "isSigner": false,
1617
+ "docs": ["Token program."]
1618
+ },
1619
+ {
1620
+ "name": "aTokenVault",
1621
+ "isMut": true,
1622
+ "isSigner": false,
1623
+ "docs": ["Token vault account of vault A"]
1624
+ },
1625
+ {
1626
+ "name": "bTokenVault",
1627
+ "isMut": true,
1628
+ "isSigner": false,
1629
+ "docs": ["Token vault account of vault B"]
1630
+ },
1631
+ {
1632
+ "name": "aVault",
1633
+ "isMut": true,
1634
+ "isSigner": false,
1635
+ "docs": ["Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."]
1636
+ },
1637
+ {
1638
+ "name": "bVault",
1639
+ "isMut": true,
1640
+ "isSigner": false,
1641
+ "docs": ["Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."]
1642
+ },
1643
+ {
1644
+ "name": "aVaultLp",
1645
+ "isMut": true,
1646
+ "isSigner": false,
1647
+ "docs": [
1648
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1649
+ ]
1650
+ },
1651
+ {
1652
+ "name": "bVaultLp",
1653
+ "isMut": true,
1654
+ "isSigner": false,
1655
+ "docs": [
1656
+ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1657
+ ]
1658
+ },
1659
+ {
1660
+ "name": "aVaultLpMint",
1661
+ "isMut": true,
1662
+ "isSigner": false,
1663
+ "docs": ["LP token mint of vault a"]
1664
+ },
1665
+ {
1666
+ "name": "bVaultLpMint",
1667
+ "isMut": true,
1668
+ "isSigner": false,
1669
+ "docs": ["LP token mint of vault b"]
1670
+ },
1671
+ {
1672
+ "name": "userAToken",
1673
+ "isMut": true,
1674
+ "isSigner": false,
1675
+ "docs": [
1676
+ "User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
1677
+ ]
1678
+ },
1679
+ {
1680
+ "name": "userBToken",
1681
+ "isMut": true,
1682
+ "isSigner": false,
1683
+ "docs": [
1684
+ "User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
1685
+ ]
1686
+ },
1687
+ {
1688
+ "name": "vaultProgram",
1689
+ "isMut": false,
1690
+ "isSigner": false,
1691
+ "docs": ["Vault program. the pool will deposit/withdraw liquidity from the vault."]
1692
+ }
1693
+ ],
1694
+ "args": [
1695
+ {
1696
+ "name": "maxAmount",
1697
+ "type": "u64"
1698
+ }
1699
+ ]
1700
+ },
1701
+ {
1702
+ "name": "createConfig",
1703
+ "docs": ["Create config"],
1704
+ "accounts": [
1705
+ {
1706
+ "name": "config",
1707
+ "isMut": true,
1708
+ "isSigner": false
1709
+ },
1710
+ {
1711
+ "name": "admin",
1712
+ "isMut": true,
1713
+ "isSigner": true
1714
+ },
1715
+ {
1716
+ "name": "systemProgram",
1717
+ "isMut": false,
1718
+ "isSigner": false
1719
+ }
1720
+ ],
1721
+ "args": [
1722
+ {
1723
+ "name": "configParameters",
1724
+ "type": {
1725
+ "defined": "ConfigParameters"
1726
+ }
1727
+ }
1728
+ ]
1729
+ },
1730
+ {
1731
+ "name": "closeConfig",
1732
+ "docs": ["Close config"],
1733
+ "accounts": [
1734
+ {
1735
+ "name": "config",
1736
+ "isMut": true,
1737
+ "isSigner": false
1738
+ },
1739
+ {
1740
+ "name": "admin",
1741
+ "isMut": true,
1742
+ "isSigner": true
1743
+ },
1744
+ {
1745
+ "name": "rentReceiver",
1746
+ "isMut": true,
1747
+ "isSigner": false
1748
+ }
1749
+ ],
1750
+ "args": []
1751
+ },
1752
+ {
1753
+ "name": "initializePermissionlessConstantProductPoolWithConfig",
1754
+ "docs": ["Initialize permissionless pool with config"],
1755
+ "accounts": [
1756
+ {
1757
+ "name": "pool",
1758
+ "isMut": true,
1759
+ "isSigner": false,
1760
+ "docs": ["Pool account (PDA address)"]
1761
+ },
1762
+ {
1763
+ "name": "config",
1764
+ "isMut": false,
1765
+ "isSigner": false
1766
+ },
1767
+ {
1768
+ "name": "lpMint",
1769
+ "isMut": true,
1770
+ "isSigner": false,
1771
+ "docs": ["LP token mint of the pool"]
1772
+ },
1773
+ {
1774
+ "name": "tokenAMint",
1775
+ "isMut": false,
1776
+ "isSigner": false,
1777
+ "docs": ["Token A mint of the pool. Eg: USDT"]
1778
+ },
1779
+ {
1780
+ "name": "tokenBMint",
1781
+ "isMut": false,
1782
+ "isSigner": false,
1783
+ "docs": ["Token B mint of the pool. Eg: USDC"]
1784
+ },
1785
+ {
1786
+ "name": "aVault",
1787
+ "isMut": true,
1788
+ "isSigner": false,
1789
+ "docs": ["Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."]
1790
+ },
1791
+ {
1792
+ "name": "bVault",
1793
+ "isMut": true,
1794
+ "isSigner": false,
1795
+ "docs": ["Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."]
1796
+ },
1797
+ {
1798
+ "name": "aTokenVault",
1799
+ "isMut": true,
1800
+ "isSigner": false,
1801
+ "docs": ["Token vault account of vault A"]
1802
+ },
1803
+ {
1804
+ "name": "bTokenVault",
1805
+ "isMut": true,
1806
+ "isSigner": false,
1807
+ "docs": ["Token vault account of vault B"]
1808
+ },
1809
+ {
1810
+ "name": "aVaultLpMint",
1811
+ "isMut": true,
1812
+ "isSigner": false,
1813
+ "docs": ["LP token mint of vault A"]
1814
+ },
1815
+ {
1816
+ "name": "bVaultLpMint",
1817
+ "isMut": true,
1818
+ "isSigner": false,
1819
+ "docs": ["LP token mint of vault B"]
1820
+ },
1821
+ {
1822
+ "name": "aVaultLp",
1823
+ "isMut": true,
1824
+ "isSigner": false,
1825
+ "docs": [
1826
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1827
+ ]
1828
+ },
1829
+ {
1830
+ "name": "bVaultLp",
1831
+ "isMut": true,
1832
+ "isSigner": false,
1833
+ "docs": ["LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault."]
1834
+ },
1835
+ {
1836
+ "name": "payerTokenA",
1837
+ "isMut": true,
1838
+ "isSigner": false,
1839
+ "docs": ["Payer token account for pool token A mint. Used to bootstrap the pool with initial liquidity."]
1840
+ },
1841
+ {
1842
+ "name": "payerTokenB",
1843
+ "isMut": true,
1844
+ "isSigner": false,
1845
+ "docs": ["Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity."]
1846
+ },
1847
+ {
1848
+ "name": "payerPoolLp",
1849
+ "isMut": true,
1850
+ "isSigner": false
1851
+ },
1852
+ {
1853
+ "name": "protocolTokenAFee",
1854
+ "isMut": true,
1855
+ "isSigner": false,
1856
+ "docs": ["Protocol fee token account for token A. Used to receive trading fee."]
1857
+ },
1858
+ {
1859
+ "name": "protocolTokenBFee",
1860
+ "isMut": true,
1861
+ "isSigner": false,
1862
+ "docs": ["Protocol fee token account for token B. Used to receive trading fee."]
1863
+ },
1864
+ {
1865
+ "name": "payer",
1866
+ "isMut": true,
1867
+ "isSigner": true,
1868
+ "docs": [
1869
+ "Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool."
1870
+ ]
1871
+ },
1872
+ {
1873
+ "name": "rent",
1874
+ "isMut": false,
1875
+ "isSigner": false,
1876
+ "docs": ["Rent account."]
1877
+ },
1878
+ {
1879
+ "name": "mintMetadata",
1880
+ "isMut": true,
1881
+ "isSigner": false
1882
+ },
1883
+ {
1884
+ "name": "metadataProgram",
1885
+ "isMut": false,
1886
+ "isSigner": false
1887
+ },
1888
+ {
1889
+ "name": "vaultProgram",
1890
+ "isMut": false,
1891
+ "isSigner": false,
1892
+ "docs": ["Vault program. The pool will deposit/withdraw liquidity from the vault."]
1893
+ },
1894
+ {
1895
+ "name": "tokenProgram",
1896
+ "isMut": false,
1897
+ "isSigner": false,
1898
+ "docs": ["Token program."]
1899
+ },
1900
+ {
1901
+ "name": "associatedTokenProgram",
1902
+ "isMut": false,
1903
+ "isSigner": false,
1904
+ "docs": ["Associated token program."]
1905
+ },
1906
+ {
1907
+ "name": "systemProgram",
1908
+ "isMut": false,
1909
+ "isSigner": false,
1910
+ "docs": ["System program."]
1911
+ }
1912
+ ],
1913
+ "args": [
1914
+ {
1915
+ "name": "tokenAAmount",
1916
+ "type": "u64"
1917
+ },
1918
+ {
1919
+ "name": "tokenBAmount",
1920
+ "type": "u64"
1921
+ }
1922
+ ]
1923
+ },
1924
+ {
1925
+ "name": "initializePermissionlessConstantProductPoolWithConfig2",
1926
+ "docs": ["Initialize permissionless pool with config 2"],
1927
+ "accounts": [
1928
+ {
1929
+ "name": "pool",
1930
+ "isMut": true,
1931
+ "isSigner": false,
1932
+ "docs": ["Pool account (PDA address)"]
1933
+ },
1934
+ {
1935
+ "name": "config",
1936
+ "isMut": false,
1937
+ "isSigner": false
1938
+ },
1939
+ {
1940
+ "name": "lpMint",
1941
+ "isMut": true,
1942
+ "isSigner": false,
1943
+ "docs": ["LP token mint of the pool"]
1944
+ },
1945
+ {
1946
+ "name": "tokenAMint",
1947
+ "isMut": false,
1948
+ "isSigner": false,
1949
+ "docs": ["Token A mint of the pool. Eg: USDT"]
1950
+ },
1951
+ {
1952
+ "name": "tokenBMint",
1953
+ "isMut": false,
1954
+ "isSigner": false,
1955
+ "docs": ["Token B mint of the pool. Eg: USDC"]
1956
+ },
1957
+ {
1958
+ "name": "aVault",
1959
+ "isMut": true,
1960
+ "isSigner": false,
1961
+ "docs": ["Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."]
1962
+ },
1963
+ {
1964
+ "name": "bVault",
1965
+ "isMut": true,
1966
+ "isSigner": false,
1967
+ "docs": ["Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."]
1968
+ },
1969
+ {
1970
+ "name": "aTokenVault",
1971
+ "isMut": true,
1972
+ "isSigner": false,
1973
+ "docs": ["Token vault account of vault A"]
1974
+ },
1975
+ {
1976
+ "name": "bTokenVault",
1977
+ "isMut": true,
1978
+ "isSigner": false,
1979
+ "docs": ["Token vault account of vault B"]
1980
+ },
1981
+ {
1982
+ "name": "aVaultLpMint",
1983
+ "isMut": true,
1984
+ "isSigner": false,
1985
+ "docs": ["LP token mint of vault A"]
1986
+ },
1987
+ {
1988
+ "name": "bVaultLpMint",
1989
+ "isMut": true,
1990
+ "isSigner": false,
1991
+ "docs": ["LP token mint of vault B"]
1992
+ },
1993
+ {
1994
+ "name": "aVaultLp",
1995
+ "isMut": true,
1996
+ "isSigner": false,
1997
+ "docs": [
1998
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
1999
+ ]
2000
+ },
2001
+ {
2002
+ "name": "bVaultLp",
2003
+ "isMut": true,
2004
+ "isSigner": false,
2005
+ "docs": ["LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault."]
2006
+ },
2007
+ {
2008
+ "name": "payerTokenA",
2009
+ "isMut": true,
2010
+ "isSigner": false,
2011
+ "docs": ["Payer token account for pool token A mint. Used to bootstrap the pool with initial liquidity."]
2012
+ },
2013
+ {
2014
+ "name": "payerTokenB",
2015
+ "isMut": true,
2016
+ "isSigner": false,
2017
+ "docs": ["Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity."]
2018
+ },
2019
+ {
2020
+ "name": "payerPoolLp",
2021
+ "isMut": true,
2022
+ "isSigner": false
2023
+ },
2024
+ {
2025
+ "name": "protocolTokenAFee",
2026
+ "isMut": true,
2027
+ "isSigner": false,
2028
+ "docs": ["Protocol fee token account for token A. Used to receive trading fee."]
2029
+ },
2030
+ {
2031
+ "name": "protocolTokenBFee",
2032
+ "isMut": true,
2033
+ "isSigner": false,
2034
+ "docs": ["Protocol fee token account for token B. Used to receive trading fee."]
2035
+ },
2036
+ {
2037
+ "name": "payer",
2038
+ "isMut": true,
2039
+ "isSigner": true,
2040
+ "docs": [
2041
+ "Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool."
2042
+ ]
2043
+ },
2044
+ {
2045
+ "name": "rent",
2046
+ "isMut": false,
2047
+ "isSigner": false,
2048
+ "docs": ["Rent account."]
2049
+ },
2050
+ {
2051
+ "name": "mintMetadata",
2052
+ "isMut": true,
2053
+ "isSigner": false
2054
+ },
2055
+ {
2056
+ "name": "metadataProgram",
2057
+ "isMut": false,
2058
+ "isSigner": false
2059
+ },
2060
+ {
2061
+ "name": "vaultProgram",
2062
+ "isMut": false,
2063
+ "isSigner": false,
2064
+ "docs": ["Vault program. The pool will deposit/withdraw liquidity from the vault."]
2065
+ },
2066
+ {
2067
+ "name": "tokenProgram",
2068
+ "isMut": false,
2069
+ "isSigner": false,
2070
+ "docs": ["Token program."]
2071
+ },
2072
+ {
2073
+ "name": "associatedTokenProgram",
2074
+ "isMut": false,
2075
+ "isSigner": false,
2076
+ "docs": ["Associated token program."]
2077
+ },
2078
+ {
2079
+ "name": "systemProgram",
2080
+ "isMut": false,
2081
+ "isSigner": false,
2082
+ "docs": ["System program."]
2083
+ }
2084
+ ],
2085
+ "args": [
2086
+ {
2087
+ "name": "tokenAAmount",
2088
+ "type": "u64"
2089
+ },
2090
+ {
2091
+ "name": "tokenBAmount",
2092
+ "type": "u64"
2093
+ },
2094
+ {
2095
+ "name": "activationPoint",
2096
+ "type": {
2097
+ "option": "u64"
2098
+ }
2099
+ }
2100
+ ]
2101
+ },
2102
+ {
2103
+ "name": "initializeCustomizablePermissionlessConstantProductPool",
2104
+ "docs": ["Initialize permissionless pool with customizable params"],
2105
+ "accounts": [
2106
+ {
2107
+ "name": "pool",
2108
+ "isMut": true,
2109
+ "isSigner": false,
2110
+ "docs": ["Pool account (PDA address)"]
2111
+ },
2112
+ {
2113
+ "name": "lpMint",
2114
+ "isMut": true,
2115
+ "isSigner": false,
2116
+ "docs": ["LP token mint of the pool"]
2117
+ },
2118
+ {
2119
+ "name": "tokenAMint",
2120
+ "isMut": false,
2121
+ "isSigner": false,
2122
+ "docs": ["Token A mint of the pool. Eg: USDT"]
2123
+ },
2124
+ {
2125
+ "name": "tokenBMint",
2126
+ "isMut": false,
2127
+ "isSigner": false,
2128
+ "docs": ["Token B mint of the pool. Eg: USDC"]
2129
+ },
2130
+ {
2131
+ "name": "aVault",
2132
+ "isMut": true,
2133
+ "isSigner": false,
2134
+ "docs": ["Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."]
2135
+ },
2136
+ {
2137
+ "name": "bVault",
2138
+ "isMut": true,
2139
+ "isSigner": false,
2140
+ "docs": ["Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."]
2141
+ },
2142
+ {
2143
+ "name": "aTokenVault",
2144
+ "isMut": true,
2145
+ "isSigner": false,
2146
+ "docs": ["Token vault account of vault A"]
2147
+ },
2148
+ {
2149
+ "name": "bTokenVault",
2150
+ "isMut": true,
2151
+ "isSigner": false,
2152
+ "docs": ["Token vault account of vault B"]
2153
+ },
2154
+ {
2155
+ "name": "aVaultLpMint",
2156
+ "isMut": true,
2157
+ "isSigner": false,
2158
+ "docs": ["LP token mint of vault A"]
2159
+ },
2160
+ {
2161
+ "name": "bVaultLpMint",
2162
+ "isMut": true,
2163
+ "isSigner": false,
2164
+ "docs": ["LP token mint of vault B"]
2165
+ },
2166
+ {
2167
+ "name": "aVaultLp",
2168
+ "isMut": true,
2169
+ "isSigner": false,
2170
+ "docs": [
2171
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
2172
+ ]
2173
+ },
2174
+ {
2175
+ "name": "bVaultLp",
2176
+ "isMut": true,
2177
+ "isSigner": false,
2178
+ "docs": ["LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault."]
2179
+ },
2180
+ {
2181
+ "name": "payerTokenA",
2182
+ "isMut": true,
2183
+ "isSigner": false,
2184
+ "docs": ["Payer token account for pool token A mint. Used to bootstrap the pool with initial liquidity."]
2185
+ },
2186
+ {
2187
+ "name": "payerTokenB",
2188
+ "isMut": true,
2189
+ "isSigner": false,
2190
+ "docs": ["Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity."]
2191
+ },
2192
+ {
2193
+ "name": "payerPoolLp",
2194
+ "isMut": true,
2195
+ "isSigner": false
2196
+ },
2197
+ {
2198
+ "name": "protocolTokenAFee",
2199
+ "isMut": true,
2200
+ "isSigner": false,
2201
+ "docs": ["Protocol fee token account for token A. Used to receive trading fee."]
2202
+ },
2203
+ {
2204
+ "name": "protocolTokenBFee",
2205
+ "isMut": true,
2206
+ "isSigner": false,
2207
+ "docs": ["Protocol fee token account for token B. Used to receive trading fee."]
2208
+ },
2209
+ {
2210
+ "name": "payer",
2211
+ "isMut": true,
2212
+ "isSigner": true,
2213
+ "docs": [
2214
+ "Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool."
2215
+ ]
2216
+ },
2217
+ {
2218
+ "name": "rent",
2219
+ "isMut": false,
2220
+ "isSigner": false,
2221
+ "docs": ["Rent account."]
2222
+ },
2223
+ {
2224
+ "name": "mintMetadata",
2225
+ "isMut": true,
2226
+ "isSigner": false
2227
+ },
2228
+ {
2229
+ "name": "metadataProgram",
2230
+ "isMut": false,
2231
+ "isSigner": false
2232
+ },
2233
+ {
2234
+ "name": "vaultProgram",
2235
+ "isMut": false,
2236
+ "isSigner": false,
2237
+ "docs": ["Vault program. The pool will deposit/withdraw liquidity from the vault."]
2238
+ },
2239
+ {
2240
+ "name": "tokenProgram",
2241
+ "isMut": false,
2242
+ "isSigner": false,
2243
+ "docs": ["Token program."]
2244
+ },
2245
+ {
2246
+ "name": "associatedTokenProgram",
2247
+ "isMut": false,
2248
+ "isSigner": false,
2249
+ "docs": ["Associated token program."]
2250
+ },
2251
+ {
2252
+ "name": "systemProgram",
2253
+ "isMut": false,
2254
+ "isSigner": false,
2255
+ "docs": ["System program."]
2256
+ }
2257
+ ],
2258
+ "args": [
2259
+ {
2260
+ "name": "tokenAAmount",
2261
+ "type": "u64"
2262
+ },
2263
+ {
2264
+ "name": "tokenBAmount",
2265
+ "type": "u64"
2266
+ },
2267
+ {
2268
+ "name": "params",
2269
+ "type": {
2270
+ "defined": "CustomizableParams"
2271
+ }
2272
+ }
2273
+ ]
2274
+ },
2275
+ {
2276
+ "name": "updateActivationPoint",
2277
+ "docs": ["Update activation slot"],
2278
+ "accounts": [
2279
+ {
2280
+ "name": "pool",
2281
+ "isMut": true,
2282
+ "isSigner": false,
2283
+ "docs": ["Pool account (PDA)"]
2284
+ },
2285
+ {
2286
+ "name": "admin",
2287
+ "isMut": false,
2288
+ "isSigner": true,
2289
+ "docs": ["Admin account."]
2290
+ }
2291
+ ],
2292
+ "args": [
2293
+ {
2294
+ "name": "newActivationPoint",
2295
+ "type": "u64"
2296
+ }
2297
+ ]
2298
+ },
2299
+ {
2300
+ "name": "withdrawProtocolFees",
2301
+ "docs": ["Withdraw protocol fee"],
2302
+ "accounts": [
2303
+ {
2304
+ "name": "pool",
2305
+ "isMut": false,
2306
+ "isSigner": false,
2307
+ "docs": ["Pool account (PDA)"]
2308
+ },
2309
+ {
2310
+ "name": "aVaultLp",
2311
+ "isMut": false,
2312
+ "isSigner": false
2313
+ },
2314
+ {
2315
+ "name": "protocolTokenAFee",
2316
+ "isMut": true,
2317
+ "isSigner": false
2318
+ },
2319
+ {
2320
+ "name": "protocolTokenBFee",
2321
+ "isMut": true,
2322
+ "isSigner": false
2323
+ },
2324
+ {
2325
+ "name": "treasuryTokenA",
2326
+ "isMut": true,
2327
+ "isSigner": false
2328
+ },
2329
+ {
2330
+ "name": "treasuryTokenB",
2331
+ "isMut": true,
2332
+ "isSigner": false
2333
+ },
2334
+ {
2335
+ "name": "tokenProgram",
2336
+ "isMut": false,
2337
+ "isSigner": false
2338
+ }
2339
+ ],
2340
+ "args": []
2341
+ },
2342
+ {
2343
+ "name": "setWhitelistedVault",
2344
+ "docs": ["Set whitelisted vault"],
2345
+ "accounts": [
2346
+ {
2347
+ "name": "pool",
2348
+ "isMut": true,
2349
+ "isSigner": false
2350
+ },
2351
+ {
2352
+ "name": "admin",
2353
+ "isMut": false,
2354
+ "isSigner": true
2355
+ }
2356
+ ],
2357
+ "args": [
2358
+ {
2359
+ "name": "whitelistedVault",
2360
+ "type": "publicKey"
2361
+ }
2362
+ ]
2363
+ },
2364
+ {
2365
+ "name": "partnerClaimFee",
2366
+ "docs": ["Partner claim fee"],
2367
+ "accounts": [
2368
+ {
2369
+ "name": "pool",
2370
+ "isMut": true,
2371
+ "isSigner": false,
2372
+ "docs": ["Pool account (PDA)"]
2373
+ },
2374
+ {
2375
+ "name": "aVaultLp",
2376
+ "isMut": false,
2377
+ "isSigner": false
2378
+ },
2379
+ {
2380
+ "name": "protocolTokenAFee",
2381
+ "isMut": true,
2382
+ "isSigner": false
2383
+ },
2384
+ {
2385
+ "name": "protocolTokenBFee",
2386
+ "isMut": true,
2387
+ "isSigner": false
2388
+ },
2389
+ {
2390
+ "name": "partnerTokenA",
2391
+ "isMut": true,
2392
+ "isSigner": false
2393
+ },
2394
+ {
2395
+ "name": "partnerTokenB",
2396
+ "isMut": true,
2397
+ "isSigner": false
2398
+ },
2399
+ {
2400
+ "name": "tokenProgram",
2401
+ "isMut": false,
2402
+ "isSigner": false
2403
+ },
2404
+ {
2405
+ "name": "partnerAuthority",
2406
+ "isMut": false,
2407
+ "isSigner": true
2408
+ }
2409
+ ],
2410
+ "args": [
2411
+ {
2412
+ "name": "maxAmountA",
2413
+ "type": "u64"
2414
+ },
2415
+ {
2416
+ "name": "maxAmountB",
2417
+ "type": "u64"
2418
+ }
2419
+ ]
2420
+ }
2421
+ ],
2422
+ "accounts": [
2423
+ {
2424
+ "name": "config",
2425
+ "type": {
2426
+ "kind": "struct",
2427
+ "fields": [
2428
+ {
2429
+ "name": "poolFees",
2430
+ "type": {
2431
+ "defined": "PoolFees"
2432
+ }
2433
+ },
2434
+ {
2435
+ "name": "activationDuration",
2436
+ "type": "u64"
2437
+ },
2438
+ {
2439
+ "name": "vaultConfigKey",
2440
+ "type": "publicKey"
2441
+ },
2442
+ {
2443
+ "name": "poolCreatorAuthority",
2444
+ "docs": [
2445
+ "Only pool_creator_authority can use the current config to initialize new pool. When it's Pubkey::default, it's a public config."
2446
+ ],
2447
+ "type": "publicKey"
2448
+ },
2449
+ {
2450
+ "name": "activationType",
2451
+ "docs": ["Activation type"],
2452
+ "type": "u8"
2453
+ },
2454
+ {
2455
+ "name": "partnerFeeNumerator",
2456
+ "type": "u64"
2457
+ },
2458
+ {
2459
+ "name": "padding",
2460
+ "type": {
2461
+ "array": ["u8", 219]
2462
+ }
2463
+ }
2464
+ ]
2465
+ }
2466
+ },
2467
+ {
2468
+ "name": "lockEscrow",
2469
+ "docs": ["State of lock escrow account"],
2470
+ "type": {
2471
+ "kind": "struct",
2472
+ "fields": [
2473
+ {
2474
+ "name": "pool",
2475
+ "docs": ["Pool address"],
2476
+ "type": "publicKey"
2477
+ },
2478
+ {
2479
+ "name": "owner",
2480
+ "docs": ["Owner address"],
2481
+ "type": "publicKey"
2482
+ },
2483
+ {
2484
+ "name": "escrowVault",
2485
+ "docs": ["Vault address, store the lock user lock"],
2486
+ "type": "publicKey"
2487
+ },
2488
+ {
2489
+ "name": "bump",
2490
+ "docs": ["bump, used to sign"],
2491
+ "type": "u8"
2492
+ },
2493
+ {
2494
+ "name": "totalLockedAmount",
2495
+ "docs": ["Total locked amount"],
2496
+ "type": "u64"
2497
+ },
2498
+ {
2499
+ "name": "lpPerToken",
2500
+ "docs": ["Lp per token, virtual price of lp token"],
2501
+ "type": "u128"
2502
+ },
2503
+ {
2504
+ "name": "unclaimedFeePending",
2505
+ "docs": ["Unclaimed fee pending"],
2506
+ "type": "u64"
2507
+ },
2508
+ {
2509
+ "name": "aFee",
2510
+ "docs": ["Total a fee claimed so far"],
2511
+ "type": "u64"
2512
+ },
2513
+ {
2514
+ "name": "bFee",
2515
+ "docs": ["Total b fee claimed so far"],
2516
+ "type": "u64"
2517
+ }
2518
+ ]
2519
+ }
2520
+ },
2521
+ {
2522
+ "name": "pool",
2523
+ "docs": ["State of pool account"],
2524
+ "type": {
2525
+ "kind": "struct",
2526
+ "fields": [
2527
+ {
2528
+ "name": "lpMint",
2529
+ "docs": ["LP token mint of the pool"],
2530
+ "type": "publicKey"
2531
+ },
2532
+ {
2533
+ "name": "tokenAMint",
2534
+ "docs": ["Token A mint of the pool. Eg: USDT"],
2535
+ "type": "publicKey"
2536
+ },
2537
+ {
2538
+ "name": "tokenBMint",
2539
+ "docs": ["Token B mint of the pool. Eg: USDC"],
2540
+ "type": "publicKey"
2541
+ },
2542
+ {
2543
+ "name": "aVault",
2544
+ "docs": [
2545
+ "Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."
2546
+ ],
2547
+ "type": "publicKey"
2548
+ },
2549
+ {
2550
+ "name": "bVault",
2551
+ "docs": [
2552
+ "Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."
2553
+ ],
2554
+ "type": "publicKey"
2555
+ },
2556
+ {
2557
+ "name": "aVaultLp",
2558
+ "docs": [
2559
+ "LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
2560
+ ],
2561
+ "type": "publicKey"
2562
+ },
2563
+ {
2564
+ "name": "bVaultLp",
2565
+ "docs": [
2566
+ "LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
2567
+ ],
2568
+ "type": "publicKey"
2569
+ },
2570
+ {
2571
+ "name": "aVaultLpBump",
2572
+ "docs": ["\"A\" vault lp bump. Used to create signer seeds."],
2573
+ "type": "u8"
2574
+ },
2575
+ {
2576
+ "name": "enabled",
2577
+ "docs": ["Flag to determine whether the pool is enabled, or disabled."],
2578
+ "type": "bool"
2579
+ },
2580
+ {
2581
+ "name": "protocolTokenAFee",
2582
+ "docs": ["Protocol fee token account for token A. Used to receive trading fee."],
2583
+ "type": "publicKey"
2584
+ },
2585
+ {
2586
+ "name": "protocolTokenBFee",
2587
+ "docs": ["Protocol fee token account for token B. Used to receive trading fee."],
2588
+ "type": "publicKey"
2589
+ },
2590
+ {
2591
+ "name": "feeLastUpdatedAt",
2592
+ "docs": ["Fee last updated timestamp"],
2593
+ "type": "u64"
2594
+ },
2595
+ {
2596
+ "name": "padding0",
2597
+ "type": {
2598
+ "array": ["u8", 24]
2599
+ }
2600
+ },
2601
+ {
2602
+ "name": "fees",
2603
+ "docs": ["Store the fee charges setting."],
2604
+ "type": {
2605
+ "defined": "PoolFees"
2606
+ }
2607
+ },
2608
+ {
2609
+ "name": "poolType",
2610
+ "docs": ["Pool type"],
2611
+ "type": {
2612
+ "defined": "PoolType"
2613
+ }
2614
+ },
2615
+ {
2616
+ "name": "stake",
2617
+ "docs": ["Stake pubkey of SPL stake pool"],
2618
+ "type": "publicKey"
2619
+ },
2620
+ {
2621
+ "name": "totalLockedLp",
2622
+ "docs": ["Total locked lp token"],
2623
+ "type": "u64"
2624
+ },
2625
+ {
2626
+ "name": "bootstrapping",
2627
+ "docs": ["bootstrapping config"],
2628
+ "type": {
2629
+ "defined": "Bootstrapping"
2630
+ }
2631
+ },
2632
+ {
2633
+ "name": "partnerInfo",
2634
+ "type": {
2635
+ "defined": "PartnerInfo"
2636
+ }
2637
+ },
2638
+ {
2639
+ "name": "padding",
2640
+ "docs": ["Padding for future pool field"],
2641
+ "type": {
2642
+ "defined": "Padding"
2643
+ }
2644
+ },
2645
+ {
2646
+ "name": "curveType",
2647
+ "docs": ["The type of the swap curve supported by the pool."],
2648
+ "type": {
2649
+ "defined": "CurveType"
2650
+ }
2651
+ }
2652
+ ]
2653
+ }
2654
+ }
2655
+ ],
2656
+ "types": [
2657
+ {
2658
+ "name": "TokenMultiplier",
2659
+ "docs": [
2660
+ "Multiplier for the pool token. Used to normalized token with different decimal into the same precision."
2661
+ ],
2662
+ "type": {
2663
+ "kind": "struct",
2664
+ "fields": [
2665
+ {
2666
+ "name": "tokenAMultiplier",
2667
+ "docs": ["Multiplier for token A of the pool."],
2668
+ "type": "u64"
2669
+ },
2670
+ {
2671
+ "name": "tokenBMultiplier",
2672
+ "docs": ["Multiplier for token B of the pool."],
2673
+ "type": "u64"
2674
+ },
2675
+ {
2676
+ "name": "precisionFactor",
2677
+ "docs": [
2678
+ "Record the highest token decimal in the pool. For example, Token A is 6 decimal, token B is 9 decimal. This will save value of 9."
2679
+ ],
2680
+ "type": "u8"
2681
+ }
2682
+ ]
2683
+ }
2684
+ },
2685
+ {
2686
+ "name": "PoolFees",
2687
+ "docs": ["Information regarding fee charges"],
2688
+ "type": {
2689
+ "kind": "struct",
2690
+ "fields": [
2691
+ {
2692
+ "name": "tradeFeeNumerator",
2693
+ "docs": [
2694
+ "Trade fees are extra token amounts that are held inside the token",
2695
+ "accounts during a trade, making the value of liquidity tokens rise.",
2696
+ "Trade fee numerator"
2697
+ ],
2698
+ "type": "u64"
2699
+ },
2700
+ {
2701
+ "name": "tradeFeeDenominator",
2702
+ "docs": ["Trade fee denominator"],
2703
+ "type": "u64"
2704
+ },
2705
+ {
2706
+ "name": "protocolTradeFeeNumerator",
2707
+ "docs": [
2708
+ "Protocol trading fees are extra token amounts that are held inside the token",
2709
+ "accounts during a trade, with the equivalent in pool tokens minted to",
2710
+ "the protocol of the program.",
2711
+ "Protocol trade fee numerator"
2712
+ ],
2713
+ "type": "u64"
2714
+ },
2715
+ {
2716
+ "name": "protocolTradeFeeDenominator",
2717
+ "docs": ["Protocol trade fee denominator"],
2718
+ "type": "u64"
2719
+ }
2720
+ ]
2721
+ }
2722
+ },
2723
+ {
2724
+ "name": "Depeg",
2725
+ "docs": ["Contains information for depeg pool"],
2726
+ "type": {
2727
+ "kind": "struct",
2728
+ "fields": [
2729
+ {
2730
+ "name": "baseVirtualPrice",
2731
+ "docs": ["The virtual price of staking / interest bearing token"],
2732
+ "type": "u64"
2733
+ },
2734
+ {
2735
+ "name": "baseCacheUpdated",
2736
+ "docs": ["The last time base_virtual_price is updated"],
2737
+ "type": "u64"
2738
+ },
2739
+ {
2740
+ "name": "depegType",
2741
+ "docs": ["Type of the depeg pool"],
2742
+ "type": {
2743
+ "defined": "DepegType"
2744
+ }
2745
+ }
2746
+ ]
2747
+ }
2748
+ },
2749
+ {
2750
+ "name": "ConfigParameters",
2751
+ "type": {
2752
+ "kind": "struct",
2753
+ "fields": [
2754
+ {
2755
+ "name": "tradeFeeNumerator",
2756
+ "type": "u64"
2757
+ },
2758
+ {
2759
+ "name": "protocolTradeFeeNumerator",
2760
+ "type": "u64"
2761
+ },
2762
+ {
2763
+ "name": "activationDuration",
2764
+ "type": "u64"
2765
+ },
2766
+ {
2767
+ "name": "vaultConfigKey",
2768
+ "type": "publicKey"
2769
+ },
2770
+ {
2771
+ "name": "poolCreatorAuthority",
2772
+ "type": "publicKey"
2773
+ },
2774
+ {
2775
+ "name": "activationType",
2776
+ "type": "u8"
2777
+ },
2778
+ {
2779
+ "name": "index",
2780
+ "type": "u64"
2781
+ },
2782
+ {
2783
+ "name": "partnerFeeNumerator",
2784
+ "type": "u64"
2785
+ }
2786
+ ]
2787
+ }
2788
+ },
2789
+ {
2790
+ "name": "CustomizableParams",
2791
+ "type": {
2792
+ "kind": "struct",
2793
+ "fields": [
2794
+ {
2795
+ "name": "tradeFeeNumerator",
2796
+ "docs": ["Trading fee."],
2797
+ "type": "u32"
2798
+ },
2799
+ {
2800
+ "name": "activationPoint",
2801
+ "docs": ["The pool start trading."],
2802
+ "type": {
2803
+ "option": "u64"
2804
+ }
2805
+ },
2806
+ {
2807
+ "name": "hasAlphaVault",
2808
+ "docs": ["Whether the pool support alpha vault"],
2809
+ "type": "bool"
2810
+ },
2811
+ {
2812
+ "name": "activationType",
2813
+ "docs": ["Activation type"],
2814
+ "type": "u8"
2815
+ },
2816
+ {
2817
+ "name": "padding",
2818
+ "docs": ["Padding"],
2819
+ "type": {
2820
+ "array": ["u8", 90]
2821
+ }
2822
+ }
2823
+ ]
2824
+ }
2825
+ },
2826
+ {
2827
+ "name": "Padding",
2828
+ "docs": ["Padding for future pool fields"],
2829
+ "type": {
2830
+ "kind": "struct",
2831
+ "fields": [
2832
+ {
2833
+ "name": "padding0",
2834
+ "docs": ["Padding 0"],
2835
+ "type": {
2836
+ "array": ["u8", 6]
2837
+ }
2838
+ },
2839
+ {
2840
+ "name": "padding1",
2841
+ "docs": ["Padding 1"],
2842
+ "type": {
2843
+ "array": ["u64", 21]
2844
+ }
2845
+ },
2846
+ {
2847
+ "name": "padding2",
2848
+ "docs": ["Padding 2"],
2849
+ "type": {
2850
+ "array": ["u64", 21]
2851
+ }
2852
+ }
2853
+ ]
2854
+ }
2855
+ },
2856
+ {
2857
+ "name": "PartnerInfo",
2858
+ "type": {
2859
+ "kind": "struct",
2860
+ "fields": [
2861
+ {
2862
+ "name": "feeNumerator",
2863
+ "type": "u64"
2864
+ },
2865
+ {
2866
+ "name": "partnerAuthority",
2867
+ "type": "publicKey"
2868
+ },
2869
+ {
2870
+ "name": "pendingFeeA",
2871
+ "type": "u64"
2872
+ },
2873
+ {
2874
+ "name": "pendingFeeB",
2875
+ "type": "u64"
2876
+ }
2877
+ ]
2878
+ }
2879
+ },
2880
+ {
2881
+ "name": "Bootstrapping",
2882
+ "type": {
2883
+ "kind": "struct",
2884
+ "fields": [
2885
+ {
2886
+ "name": "activationPoint",
2887
+ "docs": ["Activation point, can be slot or timestamp"],
2888
+ "type": "u64"
2889
+ },
2890
+ {
2891
+ "name": "whitelistedVault",
2892
+ "docs": ["Whitelisted vault to be able to buy pool before activation_point"],
2893
+ "type": "publicKey"
2894
+ },
2895
+ {
2896
+ "name": "poolCreator",
2897
+ "docs": ["Need to store pool creator in lauch pool, so they can modify liquidity before activation_point"],
2898
+ "type": "publicKey"
2899
+ },
2900
+ {
2901
+ "name": "activationType",
2902
+ "docs": ["Activation type, 0 means by slot, 1 means by timestamp"],
2903
+ "type": "u8"
2904
+ }
2905
+ ]
2906
+ }
2907
+ },
2908
+ {
2909
+ "name": "ActivationType",
2910
+ "docs": ["Type of the activation"],
2911
+ "type": {
2912
+ "kind": "enum",
2913
+ "variants": [
2914
+ {
2915
+ "name": "Slot"
2916
+ },
2917
+ {
2918
+ "name": "Timestamp"
2919
+ }
2920
+ ]
2921
+ }
2922
+ },
2923
+ {
2924
+ "name": "RoundDirection",
2925
+ "docs": ["Rounding direction"],
2926
+ "type": {
2927
+ "kind": "enum",
2928
+ "variants": [
2929
+ {
2930
+ "name": "Floor"
2931
+ },
2932
+ {
2933
+ "name": "Ceiling"
2934
+ }
2935
+ ]
2936
+ }
2937
+ },
2938
+ {
2939
+ "name": "TradeDirection",
2940
+ "docs": ["Trade (swap) direction"],
2941
+ "type": {
2942
+ "kind": "enum",
2943
+ "variants": [
2944
+ {
2945
+ "name": "AtoB"
2946
+ },
2947
+ {
2948
+ "name": "BtoA"
2949
+ }
2950
+ ]
2951
+ }
2952
+ },
2953
+ {
2954
+ "name": "NewCurveType",
2955
+ "docs": ["Type of the swap curve"],
2956
+ "type": {
2957
+ "kind": "enum",
2958
+ "variants": [
2959
+ {
2960
+ "name": "ConstantProduct"
2961
+ },
2962
+ {
2963
+ "name": "Stable",
2964
+ "fields": [
2965
+ {
2966
+ "name": "amp",
2967
+ "docs": ["Amplification coefficient"],
2968
+ "type": "u64"
2969
+ },
2970
+ {
2971
+ "name": "token_multiplier",
2972
+ "docs": [
2973
+ "Multiplier for the pool token. Used to normalized token with different decimal into the same precision."
2974
+ ],
2975
+ "type": {
2976
+ "defined": "TokenMultiplier"
2977
+ }
2978
+ },
2979
+ {
2980
+ "name": "depeg",
2981
+ "docs": [
2982
+ "Depeg pool information. Contains functions to allow token amount to be repeg using stake / interest bearing token virtual price"
2983
+ ],
2984
+ "type": {
2985
+ "defined": "Depeg"
2986
+ }
2987
+ },
2988
+ {
2989
+ "name": "last_amp_updated_timestamp",
2990
+ "docs": [
2991
+ "The last amp updated timestamp. Used to prevent update_curve_info called infinitely many times within a short period"
2992
+ ],
2993
+ "type": "u64"
2994
+ }
2995
+ ]
2996
+ },
2997
+ {
2998
+ "name": "NewCurve",
2999
+ "fields": [
3000
+ {
3001
+ "name": "field_one",
3002
+ "type": "u64"
3003
+ },
3004
+ {
3005
+ "name": "field_two",
3006
+ "type": "u64"
3007
+ }
3008
+ ]
3009
+ }
3010
+ ]
3011
+ }
3012
+ },
3013
+ {
3014
+ "name": "CurveType",
3015
+ "docs": ["Type of the swap curve"],
3016
+ "type": {
3017
+ "kind": "enum",
3018
+ "variants": [
3019
+ {
3020
+ "name": "ConstantProduct"
3021
+ },
3022
+ {
3023
+ "name": "Stable",
3024
+ "fields": [
3025
+ {
3026
+ "name": "amp",
3027
+ "docs": ["Amplification coefficient"],
3028
+ "type": "u64"
3029
+ },
3030
+ {
3031
+ "name": "token_multiplier",
3032
+ "docs": [
3033
+ "Multiplier for the pool token. Used to normalized token with different decimal into the same precision."
3034
+ ],
3035
+ "type": {
3036
+ "defined": "TokenMultiplier"
3037
+ }
3038
+ },
3039
+ {
3040
+ "name": "depeg",
3041
+ "docs": [
3042
+ "Depeg pool information. Contains functions to allow token amount to be repeg using stake / interest bearing token virtual price"
3043
+ ],
3044
+ "type": {
3045
+ "defined": "Depeg"
3046
+ }
3047
+ },
3048
+ {
3049
+ "name": "last_amp_updated_timestamp",
3050
+ "docs": [
3051
+ "The last amp updated timestamp. Used to prevent update_curve_info called infinitely many times within a short period"
3052
+ ],
3053
+ "type": "u64"
3054
+ }
3055
+ ]
3056
+ }
3057
+ ]
3058
+ }
3059
+ },
3060
+ {
3061
+ "name": "DepegType",
3062
+ "docs": ["Type of depeg pool"],
3063
+ "type": {
3064
+ "kind": "enum",
3065
+ "variants": [
3066
+ {
3067
+ "name": "None"
3068
+ },
3069
+ {
3070
+ "name": "Marinade"
3071
+ },
3072
+ {
3073
+ "name": "Lido"
3074
+ },
3075
+ {
3076
+ "name": "SplStake"
3077
+ }
3078
+ ]
3079
+ }
3080
+ },
3081
+ {
3082
+ "name": "Rounding",
3083
+ "docs": ["Round up, down"],
3084
+ "type": {
3085
+ "kind": "enum",
3086
+ "variants": [
3087
+ {
3088
+ "name": "Up"
3089
+ },
3090
+ {
3091
+ "name": "Down"
3092
+ }
3093
+ ]
3094
+ }
3095
+ },
3096
+ {
3097
+ "name": "PoolType",
3098
+ "docs": ["Pool type"],
3099
+ "type": {
3100
+ "kind": "enum",
3101
+ "variants": [
3102
+ {
3103
+ "name": "Permissioned"
3104
+ },
3105
+ {
3106
+ "name": "Permissionless"
3107
+ }
3108
+ ]
3109
+ }
3110
+ }
3111
+ ],
3112
+ "events": [
3113
+ {
3114
+ "name": "AddLiquidity",
3115
+ "fields": [
3116
+ {
3117
+ "name": "lpMintAmount",
3118
+ "type": "u64",
3119
+ "index": false
3120
+ },
3121
+ {
3122
+ "name": "tokenAAmount",
3123
+ "type": "u64",
3124
+ "index": false
3125
+ },
3126
+ {
3127
+ "name": "tokenBAmount",
3128
+ "type": "u64",
3129
+ "index": false
3130
+ }
3131
+ ]
3132
+ },
3133
+ {
3134
+ "name": "RemoveLiquidity",
3135
+ "fields": [
3136
+ {
3137
+ "name": "lpUnmintAmount",
3138
+ "type": "u64",
3139
+ "index": false
3140
+ },
3141
+ {
3142
+ "name": "tokenAOutAmount",
3143
+ "type": "u64",
3144
+ "index": false
3145
+ },
3146
+ {
3147
+ "name": "tokenBOutAmount",
3148
+ "type": "u64",
3149
+ "index": false
3150
+ }
3151
+ ]
3152
+ },
3153
+ {
3154
+ "name": "BootstrapLiquidity",
3155
+ "fields": [
3156
+ {
3157
+ "name": "lpMintAmount",
3158
+ "type": "u64",
3159
+ "index": false
3160
+ },
3161
+ {
3162
+ "name": "tokenAAmount",
3163
+ "type": "u64",
3164
+ "index": false
3165
+ },
3166
+ {
3167
+ "name": "tokenBAmount",
3168
+ "type": "u64",
3169
+ "index": false
3170
+ },
3171
+ {
3172
+ "name": "pool",
3173
+ "type": "publicKey",
3174
+ "index": false
3175
+ }
3176
+ ]
3177
+ },
3178
+ {
3179
+ "name": "Swap",
3180
+ "fields": [
3181
+ {
3182
+ "name": "inAmount",
3183
+ "type": "u64",
3184
+ "index": false
3185
+ },
3186
+ {
3187
+ "name": "outAmount",
3188
+ "type": "u64",
3189
+ "index": false
3190
+ },
3191
+ {
3192
+ "name": "tradeFee",
3193
+ "type": "u64",
3194
+ "index": false
3195
+ },
3196
+ {
3197
+ "name": "protocolFee",
3198
+ "type": "u64",
3199
+ "index": false
3200
+ },
3201
+ {
3202
+ "name": "hostFee",
3203
+ "type": "u64",
3204
+ "index": false
3205
+ }
3206
+ ]
3207
+ },
3208
+ {
3209
+ "name": "SetPoolFees",
3210
+ "fields": [
3211
+ {
3212
+ "name": "tradeFeeNumerator",
3213
+ "type": "u64",
3214
+ "index": false
3215
+ },
3216
+ {
3217
+ "name": "tradeFeeDenominator",
3218
+ "type": "u64",
3219
+ "index": false
3220
+ },
3221
+ {
3222
+ "name": "protocolTradeFeeNumerator",
3223
+ "type": "u64",
3224
+ "index": false
3225
+ },
3226
+ {
3227
+ "name": "protocolTradeFeeDenominator",
3228
+ "type": "u64",
3229
+ "index": false
3230
+ },
3231
+ {
3232
+ "name": "pool",
3233
+ "type": "publicKey",
3234
+ "index": false
3235
+ }
3236
+ ]
3237
+ },
3238
+ {
3239
+ "name": "PoolInfo",
3240
+ "fields": [
3241
+ {
3242
+ "name": "tokenAAmount",
3243
+ "type": "u64",
3244
+ "index": false
3245
+ },
3246
+ {
3247
+ "name": "tokenBAmount",
3248
+ "type": "u64",
3249
+ "index": false
3250
+ },
3251
+ {
3252
+ "name": "virtualPrice",
3253
+ "type": "f64",
3254
+ "index": false
3255
+ },
3256
+ {
3257
+ "name": "currentTimestamp",
3258
+ "type": "u64",
3259
+ "index": false
3260
+ }
3261
+ ]
3262
+ },
3263
+ {
3264
+ "name": "TransferAdmin",
3265
+ "fields": [
3266
+ {
3267
+ "name": "admin",
3268
+ "type": "publicKey",
3269
+ "index": false
3270
+ },
3271
+ {
3272
+ "name": "newAdmin",
3273
+ "type": "publicKey",
3274
+ "index": false
3275
+ },
3276
+ {
3277
+ "name": "pool",
3278
+ "type": "publicKey",
3279
+ "index": false
3280
+ }
3281
+ ]
3282
+ },
3283
+ {
3284
+ "name": "OverrideCurveParam",
3285
+ "fields": [
3286
+ {
3287
+ "name": "newAmp",
3288
+ "type": "u64",
3289
+ "index": false
3290
+ },
3291
+ {
3292
+ "name": "updatedTimestamp",
3293
+ "type": "u64",
3294
+ "index": false
3295
+ },
3296
+ {
3297
+ "name": "pool",
3298
+ "type": "publicKey",
3299
+ "index": false
3300
+ }
3301
+ ]
3302
+ },
3303
+ {
3304
+ "name": "PoolCreated",
3305
+ "fields": [
3306
+ {
3307
+ "name": "lpMint",
3308
+ "type": "publicKey",
3309
+ "index": false
3310
+ },
3311
+ {
3312
+ "name": "tokenAMint",
3313
+ "type": "publicKey",
3314
+ "index": false
3315
+ },
3316
+ {
3317
+ "name": "tokenBMint",
3318
+ "type": "publicKey",
3319
+ "index": false
3320
+ },
3321
+ {
3322
+ "name": "poolType",
3323
+ "type": {
3324
+ "defined": "PoolType"
3325
+ },
3326
+ "index": false
3327
+ },
3328
+ {
3329
+ "name": "pool",
3330
+ "type": "publicKey",
3331
+ "index": false
3332
+ }
3333
+ ]
3334
+ },
3335
+ {
3336
+ "name": "PoolEnabled",
3337
+ "fields": [
3338
+ {
3339
+ "name": "pool",
3340
+ "type": "publicKey",
3341
+ "index": false
3342
+ },
3343
+ {
3344
+ "name": "enabled",
3345
+ "type": "bool",
3346
+ "index": false
3347
+ }
3348
+ ]
3349
+ },
3350
+ {
3351
+ "name": "MigrateFeeAccount",
3352
+ "fields": [
3353
+ {
3354
+ "name": "pool",
3355
+ "type": "publicKey",
3356
+ "index": false
3357
+ },
3358
+ {
3359
+ "name": "newAdminTokenAFee",
3360
+ "type": "publicKey",
3361
+ "index": false
3362
+ },
3363
+ {
3364
+ "name": "newAdminTokenBFee",
3365
+ "type": "publicKey",
3366
+ "index": false
3367
+ },
3368
+ {
3369
+ "name": "tokenAAmount",
3370
+ "type": "u64",
3371
+ "index": false
3372
+ },
3373
+ {
3374
+ "name": "tokenBAmount",
3375
+ "type": "u64",
3376
+ "index": false
3377
+ }
3378
+ ]
3379
+ },
3380
+ {
3381
+ "name": "CreateLockEscrow",
3382
+ "fields": [
3383
+ {
3384
+ "name": "pool",
3385
+ "type": "publicKey",
3386
+ "index": false
3387
+ },
3388
+ {
3389
+ "name": "owner",
3390
+ "type": "publicKey",
3391
+ "index": false
3392
+ }
3393
+ ]
3394
+ },
3395
+ {
3396
+ "name": "Lock",
3397
+ "fields": [
3398
+ {
3399
+ "name": "pool",
3400
+ "type": "publicKey",
3401
+ "index": false
3402
+ },
3403
+ {
3404
+ "name": "owner",
3405
+ "type": "publicKey",
3406
+ "index": false
3407
+ },
3408
+ {
3409
+ "name": "amount",
3410
+ "type": "u64",
3411
+ "index": false
3412
+ }
3413
+ ]
3414
+ },
3415
+ {
3416
+ "name": "ClaimFee",
3417
+ "fields": [
3418
+ {
3419
+ "name": "pool",
3420
+ "type": "publicKey",
3421
+ "index": false
3422
+ },
3423
+ {
3424
+ "name": "owner",
3425
+ "type": "publicKey",
3426
+ "index": false
3427
+ },
3428
+ {
3429
+ "name": "amount",
3430
+ "type": "u64",
3431
+ "index": false
3432
+ },
3433
+ {
3434
+ "name": "aFee",
3435
+ "type": "u64",
3436
+ "index": false
3437
+ },
3438
+ {
3439
+ "name": "bFee",
3440
+ "type": "u64",
3441
+ "index": false
3442
+ }
3443
+ ]
3444
+ },
3445
+ {
3446
+ "name": "CreateConfig",
3447
+ "fields": [
3448
+ {
3449
+ "name": "tradeFeeNumerator",
3450
+ "type": "u64",
3451
+ "index": false
3452
+ },
3453
+ {
3454
+ "name": "protocolTradeFeeNumerator",
3455
+ "type": "u64",
3456
+ "index": false
3457
+ },
3458
+ {
3459
+ "name": "config",
3460
+ "type": "publicKey",
3461
+ "index": false
3462
+ }
3463
+ ]
3464
+ },
3465
+ {
3466
+ "name": "CloseConfig",
3467
+ "fields": [
3468
+ {
3469
+ "name": "config",
3470
+ "type": "publicKey",
3471
+ "index": false
3472
+ }
3473
+ ]
3474
+ },
3475
+ {
3476
+ "name": "WithdrawProtocolFees",
3477
+ "fields": [
3478
+ {
3479
+ "name": "pool",
3480
+ "type": "publicKey",
3481
+ "index": false
3482
+ },
3483
+ {
3484
+ "name": "protocolAFee",
3485
+ "type": "u64",
3486
+ "index": false
3487
+ },
3488
+ {
3489
+ "name": "protocolBFee",
3490
+ "type": "u64",
3491
+ "index": false
3492
+ },
3493
+ {
3494
+ "name": "protocolAFeeOwner",
3495
+ "type": "publicKey",
3496
+ "index": false
3497
+ },
3498
+ {
3499
+ "name": "protocolBFeeOwner",
3500
+ "type": "publicKey",
3501
+ "index": false
3502
+ }
3503
+ ]
3504
+ },
3505
+ {
3506
+ "name": "PartnerClaimFees",
3507
+ "fields": [
3508
+ {
3509
+ "name": "pool",
3510
+ "type": "publicKey",
3511
+ "index": false
3512
+ },
3513
+ {
3514
+ "name": "feeA",
3515
+ "type": "u64",
3516
+ "index": false
3517
+ },
3518
+ {
3519
+ "name": "feeB",
3520
+ "type": "u64",
3521
+ "index": false
3522
+ },
3523
+ {
3524
+ "name": "partner",
3525
+ "type": "publicKey",
3526
+ "index": false
3527
+ }
3528
+ ]
3529
+ }
3530
+ ],
3531
+ "errors": [
3532
+ {
3533
+ "code": 6000,
3534
+ "name": "MathOverflow",
3535
+ "msg": "Math operation overflow"
3536
+ },
3537
+ {
3538
+ "code": 6001,
3539
+ "name": "InvalidFee",
3540
+ "msg": "Invalid fee setup"
3541
+ },
3542
+ {
3543
+ "code": 6002,
3544
+ "name": "InvalidInvariant",
3545
+ "msg": "Invalid invariant d"
3546
+ },
3547
+ {
3548
+ "code": 6003,
3549
+ "name": "FeeCalculationFailure",
3550
+ "msg": "Fee calculation failure"
3551
+ },
3552
+ {
3553
+ "code": 6004,
3554
+ "name": "ExceededSlippage",
3555
+ "msg": "Exceeded slippage tolerance"
3556
+ },
3557
+ {
3558
+ "code": 6005,
3559
+ "name": "InvalidCalculation",
3560
+ "msg": "Invalid curve calculation"
3561
+ },
3562
+ {
3563
+ "code": 6006,
3564
+ "name": "ZeroTradingTokens",
3565
+ "msg": "Given pool token amount results in zero trading tokens"
3566
+ },
3567
+ {
3568
+ "code": 6007,
3569
+ "name": "ConversionError",
3570
+ "msg": "Math conversion overflow"
3571
+ },
3572
+ {
3573
+ "code": 6008,
3574
+ "name": "FaultyLpMint",
3575
+ "msg": "LP mint authority must be 'A' vault lp, without freeze authority, and 0 supply"
3576
+ },
3577
+ {
3578
+ "code": 6009,
3579
+ "name": "MismatchedTokenMint",
3580
+ "msg": "Token mint mismatched"
3581
+ },
3582
+ {
3583
+ "code": 6010,
3584
+ "name": "MismatchedLpMint",
3585
+ "msg": "LP mint mismatched"
3586
+ },
3587
+ {
3588
+ "code": 6011,
3589
+ "name": "MismatchedOwner",
3590
+ "msg": "Invalid lp token owner"
3591
+ },
3592
+ {
3593
+ "code": 6012,
3594
+ "name": "InvalidVaultAccount",
3595
+ "msg": "Invalid vault account"
3596
+ },
3597
+ {
3598
+ "code": 6013,
3599
+ "name": "InvalidVaultLpAccount",
3600
+ "msg": "Invalid vault lp account"
3601
+ },
3602
+ {
3603
+ "code": 6014,
3604
+ "name": "InvalidPoolLpMintAccount",
3605
+ "msg": "Invalid pool lp mint account"
3606
+ },
3607
+ {
3608
+ "code": 6015,
3609
+ "name": "PoolDisabled",
3610
+ "msg": "Pool disabled"
3611
+ },
3612
+ {
3613
+ "code": 6016,
3614
+ "name": "InvalidAdminAccount",
3615
+ "msg": "Invalid admin account"
3616
+ },
3617
+ {
3618
+ "code": 6017,
3619
+ "name": "InvalidProtocolFeeAccount",
3620
+ "msg": "Invalid protocol fee account"
3621
+ },
3622
+ {
3623
+ "code": 6018,
3624
+ "name": "SameAdminAccount",
3625
+ "msg": "Same admin account"
3626
+ },
3627
+ {
3628
+ "code": 6019,
3629
+ "name": "IdenticalSourceDestination",
3630
+ "msg": "Identical user source and destination token account"
3631
+ },
3632
+ {
3633
+ "code": 6020,
3634
+ "name": "ApyCalculationError",
3635
+ "msg": "Apy calculation error"
3636
+ },
3637
+ {
3638
+ "code": 6021,
3639
+ "name": "InsufficientSnapshot",
3640
+ "msg": "Insufficient virtual price snapshot"
3641
+ },
3642
+ {
3643
+ "code": 6022,
3644
+ "name": "NonUpdatableCurve",
3645
+ "msg": "Current curve is non-updatable"
3646
+ },
3647
+ {
3648
+ "code": 6023,
3649
+ "name": "MisMatchedCurve",
3650
+ "msg": "New curve is mismatched with old curve"
3651
+ },
3652
+ {
3653
+ "code": 6024,
3654
+ "name": "InvalidAmplification",
3655
+ "msg": "Amplification is invalid"
3656
+ },
3657
+ {
3658
+ "code": 6025,
3659
+ "name": "UnsupportedOperation",
3660
+ "msg": "Operation is not supported"
3661
+ },
3662
+ {
3663
+ "code": 6026,
3664
+ "name": "ExceedMaxAChanges",
3665
+ "msg": "Exceed max amplification changes"
3666
+ },
3667
+ {
3668
+ "code": 6027,
3669
+ "name": "InvalidRemainingAccountsLen",
3670
+ "msg": "Invalid remaining accounts length"
3671
+ },
3672
+ {
3673
+ "code": 6028,
3674
+ "name": "InvalidRemainingAccounts",
3675
+ "msg": "Invalid remaining account"
3676
+ },
3677
+ {
3678
+ "code": 6029,
3679
+ "name": "MismatchedDepegMint",
3680
+ "msg": "Token mint B doesn't matches depeg type token mint"
3681
+ },
3682
+ {
3683
+ "code": 6030,
3684
+ "name": "InvalidApyAccount",
3685
+ "msg": "Invalid APY account"
3686
+ },
3687
+ {
3688
+ "code": 6031,
3689
+ "name": "InvalidTokenMultiplier",
3690
+ "msg": "Invalid token multiplier"
3691
+ },
3692
+ {
3693
+ "code": 6032,
3694
+ "name": "InvalidDepegInformation",
3695
+ "msg": "Invalid depeg information"
3696
+ },
3697
+ {
3698
+ "code": 6033,
3699
+ "name": "UpdateTimeConstraint",
3700
+ "msg": "Update time constraint violated"
3701
+ },
3702
+ {
3703
+ "code": 6034,
3704
+ "name": "ExceedMaxFeeBps",
3705
+ "msg": "Exceeded max fee bps"
3706
+ },
3707
+ {
3708
+ "code": 6035,
3709
+ "name": "InvalidAdmin",
3710
+ "msg": "Invalid admin"
3711
+ },
3712
+ {
3713
+ "code": 6036,
3714
+ "name": "PoolIsNotPermissioned",
3715
+ "msg": "Pool is not permissioned"
3716
+ },
3717
+ {
3718
+ "code": 6037,
3719
+ "name": "InvalidDepositAmount",
3720
+ "msg": "Invalid deposit amount"
3721
+ },
3722
+ {
3723
+ "code": 6038,
3724
+ "name": "InvalidFeeOwner",
3725
+ "msg": "Invalid fee owner"
3726
+ },
3727
+ {
3728
+ "code": 6039,
3729
+ "name": "NonDepletedPool",
3730
+ "msg": "Pool is not depleted"
3731
+ },
3732
+ {
3733
+ "code": 6040,
3734
+ "name": "AmountNotPeg",
3735
+ "msg": "Token amount is not 1:1"
3736
+ },
3737
+ {
3738
+ "code": 6041,
3739
+ "name": "AmountIsZero",
3740
+ "msg": "Amount is zero"
3741
+ },
3742
+ {
3743
+ "code": 6042,
3744
+ "name": "TypeCastFailed",
3745
+ "msg": "Type cast error"
3746
+ },
3747
+ {
3748
+ "code": 6043,
3749
+ "name": "AmountIsNotEnough",
3750
+ "msg": "Amount is not enough"
3751
+ },
3752
+ {
3753
+ "code": 6044,
3754
+ "name": "InvalidActivationDuration",
3755
+ "msg": "Invalid activation duration"
3756
+ },
3757
+ {
3758
+ "code": 6045,
3759
+ "name": "PoolIsNotLaunchPool",
3760
+ "msg": "Pool is not launch pool"
3761
+ },
3762
+ {
3763
+ "code": 6046,
3764
+ "name": "UnableToModifyActivationPoint",
3765
+ "msg": "Unable to modify activation point"
3766
+ },
3767
+ {
3768
+ "code": 6047,
3769
+ "name": "InvalidAuthorityToCreateThePool",
3770
+ "msg": "Invalid authority to create the pool"
3771
+ },
3772
+ {
3773
+ "code": 6048,
3774
+ "name": "InvalidActivationType",
3775
+ "msg": "Invalid activation type"
3776
+ },
3777
+ {
3778
+ "code": 6049,
3779
+ "name": "InvalidActivationPoint",
3780
+ "msg": "Invalid activation point"
3781
+ },
3782
+ {
3783
+ "code": 6050,
3784
+ "name": "PreActivationSwapStarted",
3785
+ "msg": "Pre activation swap window started"
3786
+ },
3787
+ {
3788
+ "code": 6051,
3789
+ "name": "InvalidPoolType",
3790
+ "msg": "Invalid pool type"
3791
+ },
3792
+ {
3793
+ "code": 6052,
3794
+ "name": "InvalidQuoteMint",
3795
+ "msg": "Quote token must be SOL,USDC"
3796
+ }
3797
+ ]
3798
+ }