@liquid-af/sdk 0.4.0 → 0.5.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.
Files changed (86) hide show
  1. package/dist/accounts/liquid-swap.d.ts +4 -6
  2. package/dist/accounts/liquid-swap.d.ts.map +1 -1
  3. package/dist/accounts/liquid.d.ts.map +1 -1
  4. package/dist/accounts/liquid.js.map +1 -1
  5. package/dist/client.d.ts +11 -8
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +10 -3
  8. package/dist/client.js.map +1 -1
  9. package/dist/events/parser.d.ts +8 -3
  10. package/dist/events/parser.d.ts.map +1 -1
  11. package/dist/events/parser.js +72 -17
  12. package/dist/events/parser.js.map +1 -1
  13. package/dist/helpers/preview.d.ts.map +1 -1
  14. package/dist/helpers/preview.js.map +1 -1
  15. package/dist/idl/index.d.ts +12 -1
  16. package/dist/idl/index.d.ts.map +1 -1
  17. package/dist/idl/index.js +12 -1
  18. package/dist/idl/index.js.map +1 -1
  19. package/dist/idl/liquid.d.ts +7116 -2254
  20. package/dist/idl/liquid.d.ts.map +1 -1
  21. package/dist/idl/liquid.json +7200 -2338
  22. package/dist/idl/liquid_events.d.ts +3118 -0
  23. package/dist/idl/liquid_events.d.ts.map +1 -0
  24. package/dist/idl/liquid_events.js +2 -0
  25. package/dist/idl/liquid_events.js.map +1 -0
  26. package/dist/idl/liquid_events.json +3111 -0
  27. package/dist/idl/liquid_fees.d.ts +539 -0
  28. package/dist/idl/liquid_fees.d.ts.map +1 -1
  29. package/dist/idl/liquid_fees.json +539 -0
  30. package/dist/idl/liquid_state.d.ts +350 -0
  31. package/dist/idl/liquid_state.d.ts.map +1 -1
  32. package/dist/idl/liquid_state.json +350 -0
  33. package/dist/idl/liquid_swap.d.ts +1329 -106
  34. package/dist/idl/liquid_swap.d.ts.map +1 -1
  35. package/dist/idl/liquid_swap.json +1335 -112
  36. package/dist/index.d.ts +2 -2
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/instructions/index.d.ts +4 -4
  41. package/dist/instructions/index.d.ts.map +1 -1
  42. package/dist/instructions/index.js +2 -2
  43. package/dist/instructions/index.js.map +1 -1
  44. package/dist/instructions/liquid-fees.d.ts +12 -0
  45. package/dist/instructions/liquid-fees.d.ts.map +1 -1
  46. package/dist/instructions/liquid-fees.js +17 -0
  47. package/dist/instructions/liquid-fees.js.map +1 -1
  48. package/dist/instructions/liquid.d.ts +15 -1
  49. package/dist/instructions/liquid.d.ts.map +1 -1
  50. package/dist/instructions/liquid.js +32 -2
  51. package/dist/instructions/liquid.js.map +1 -1
  52. package/dist/pda/index.d.ts +2 -2
  53. package/dist/pda/index.d.ts.map +1 -1
  54. package/dist/pda/index.js +2 -2
  55. package/dist/pda/index.js.map +1 -1
  56. package/dist/pda/liquid-fees.d.ts +7 -0
  57. package/dist/pda/liquid-fees.d.ts.map +1 -1
  58. package/dist/pda/liquid-fees.js +10 -0
  59. package/dist/pda/liquid-fees.js.map +1 -1
  60. package/dist/pda/liquid.d.ts +10 -3
  61. package/dist/pda/liquid.d.ts.map +1 -1
  62. package/dist/pda/liquid.js +14 -5
  63. package/dist/pda/liquid.js.map +1 -1
  64. package/package.json +1 -1
  65. package/src/accounts/liquid.ts +1 -4
  66. package/src/client.ts +17 -14
  67. package/src/events/parser.ts +88 -19
  68. package/src/helpers/preview.ts +1 -5
  69. package/src/idl/index.ts +26 -1
  70. package/src/idl/liquid.json +7200 -2338
  71. package/src/idl/liquid.ts +7200 -2338
  72. package/src/idl/liquid_events.json +3111 -0
  73. package/src/idl/liquid_events.ts +3117 -0
  74. package/src/idl/liquid_fees.json +539 -0
  75. package/src/idl/liquid_fees.ts +539 -0
  76. package/src/idl/liquid_state.json +350 -0
  77. package/src/idl/liquid_state.ts +350 -0
  78. package/src/idl/liquid_swap.json +1335 -112
  79. package/src/idl/liquid_swap.ts +1335 -112
  80. package/src/index.ts +3 -0
  81. package/src/instructions/index.ts +4 -0
  82. package/src/instructions/liquid-fees.ts +26 -0
  83. package/src/instructions/liquid.ts +70 -1
  84. package/src/pda/index.ts +2 -0
  85. package/src/pda/liquid-fees.ts +13 -0
  86. package/src/pda/liquid.ts +21 -9
@@ -899,6 +899,71 @@
899
899
  "liquid-state program for unified state management."
900
900
  ],
901
901
  "address": "State3HtEfi7cXdsTpAtRoBvrij8zSFCiGTAVWmYH2d"
902
+ },
903
+ {
904
+ "name": "state_events_cpi_authority",
905
+ "docs": [
906
+ "CPI authority PDA owned by liquid-state for emitting events via liquid-events."
907
+ ],
908
+ "pda": {
909
+ "seeds": [
910
+ {
911
+ "kind": "const",
912
+ "value": [
913
+ 99,
914
+ 112,
915
+ 105,
916
+ 95,
917
+ 97,
918
+ 117,
919
+ 116,
920
+ 104,
921
+ 111,
922
+ 114,
923
+ 105,
924
+ 116,
925
+ 121
926
+ ]
927
+ }
928
+ ],
929
+ "program": {
930
+ "kind": "const",
931
+ "value": [
932
+ 6,
933
+ 161,
934
+ 216,
935
+ 199,
936
+ 206,
937
+ 40,
938
+ 40,
939
+ 163,
940
+ 177,
941
+ 19,
942
+ 1,
943
+ 21,
944
+ 164,
945
+ 67,
946
+ 81,
947
+ 132,
948
+ 164,
949
+ 22,
950
+ 81,
951
+ 177,
952
+ 201,
953
+ 45,
954
+ 170,
955
+ 138,
956
+ 70,
957
+ 214,
958
+ 218,
959
+ 76,
960
+ 85,
961
+ 222,
962
+ 216,
963
+ 214
964
+ ]
965
+ }
966
+ }
902
967
  }
903
968
  ]
904
969
  },
@@ -954,6 +1019,13 @@
954
1019
  ]
955
1020
  }
956
1021
  },
1022
+ {
1023
+ "name": "liquid_events_program",
1024
+ "docs": [
1025
+ "Liquid events program for CPI event emission."
1026
+ ],
1027
+ "address": "EventsQeXA43nLKR69DhHwNsJ6aM512AweMCgG3wG8zG"
1028
+ },
957
1029
  {
958
1030
  "name": "oracle_price_feed",
959
1031
  "docs": [
@@ -1699,6 +1771,13 @@
1699
1771
  ],
1700
1772
  "address": "FeesZQLb1xTeZbvaFRGnqzrZYzzmQtwhTYKQphbNGQru"
1701
1773
  },
1774
+ {
1775
+ "name": "liquid_events_program",
1776
+ "docs": [
1777
+ "Liquid events program for CPI event emission."
1778
+ ],
1779
+ "address": "EventsQeXA43nLKR69DhHwNsJ6aM512AweMCgG3wG8zG"
1780
+ },
1702
1781
  {
1703
1782
  "name": "token_program",
1704
1783
  "docs": [
@@ -1906,6 +1985,41 @@
1906
1985
  "The mint of quote vault."
1907
1986
  ]
1908
1987
  },
1988
+ {
1989
+ "name": "cpi_authority",
1990
+ "docs": [
1991
+ "CPI authority PDA — proves this program's identity in cross-program calls."
1992
+ ],
1993
+ "pda": {
1994
+ "seeds": [
1995
+ {
1996
+ "kind": "const",
1997
+ "value": [
1998
+ 99,
1999
+ 112,
2000
+ 105,
2001
+ 95,
2002
+ 97,
2003
+ 117,
2004
+ 116,
2005
+ 104,
2006
+ 111,
2007
+ 114,
2008
+ 105,
2009
+ 116,
2010
+ 121
2011
+ ]
2012
+ }
2013
+ ]
2014
+ }
2015
+ },
2016
+ {
2017
+ "name": "liquid_events_program",
2018
+ "docs": [
2019
+ "Liquid events program for CPI event emission."
2020
+ ],
2021
+ "address": "EventsQeXA43nLKR69DhHwNsJ6aM512AweMCgG3wG8zG"
2022
+ },
1909
2023
  {
1910
2024
  "name": "token_program",
1911
2025
  "docs": [
@@ -2275,6 +2389,41 @@
2275
2389
  }
2276
2390
  }
2277
2391
  },
2392
+ {
2393
+ "name": "cpi_authority",
2394
+ "docs": [
2395
+ "CPI authority PDA — proves this program's identity in cross-program calls."
2396
+ ],
2397
+ "pda": {
2398
+ "seeds": [
2399
+ {
2400
+ "kind": "const",
2401
+ "value": [
2402
+ 99,
2403
+ 112,
2404
+ 105,
2405
+ 95,
2406
+ 97,
2407
+ 117,
2408
+ 116,
2409
+ 104,
2410
+ 111,
2411
+ 114,
2412
+ 105,
2413
+ 116,
2414
+ 121
2415
+ ]
2416
+ }
2417
+ ]
2418
+ }
2419
+ },
2420
+ {
2421
+ "name": "liquid_events_program",
2422
+ "docs": [
2423
+ "Liquid events program for CPI event emission."
2424
+ ],
2425
+ "address": "EventsQeXA43nLKR69DhHwNsJ6aM512AweMCgG3wG8zG"
2426
+ },
2278
2427
  {
2279
2428
  "name": "base_token_program",
2280
2429
  "docs": [
@@ -2991,6 +3140,41 @@
2991
3140
  }
2992
3141
  ]
2993
3142
  }
3143
+ },
3144
+ {
3145
+ "name": "cpi_authority",
3146
+ "docs": [
3147
+ "CPI authority PDA — proves this program's identity in cross-program calls."
3148
+ ],
3149
+ "pda": {
3150
+ "seeds": [
3151
+ {
3152
+ "kind": "const",
3153
+ "value": [
3154
+ 99,
3155
+ 112,
3156
+ 105,
3157
+ 95,
3158
+ 97,
3159
+ 117,
3160
+ 116,
3161
+ 104,
3162
+ 111,
3163
+ 114,
3164
+ 105,
3165
+ 116,
3166
+ 121
3167
+ ]
3168
+ }
3169
+ ]
3170
+ }
3171
+ },
3172
+ {
3173
+ "name": "liquid_events_program",
3174
+ "docs": [
3175
+ "Liquid events program for CPI event emission."
3176
+ ],
3177
+ "address": "EventsQeXA43nLKR69DhHwNsJ6aM512AweMCgG3wG8zG"
2994
3178
  }
2995
3179
  ],
2996
3180
  "args": []
@@ -3834,6 +4018,71 @@
3834
4018
  "liquid-state program for unified state management."
3835
4019
  ],
3836
4020
  "address": "State3HtEfi7cXdsTpAtRoBvrij8zSFCiGTAVWmYH2d"
4021
+ },
4022
+ {
4023
+ "name": "state_events_cpi_authority",
4024
+ "docs": [
4025
+ "CPI authority PDA owned by liquid-state for emitting events via liquid-events."
4026
+ ],
4027
+ "pda": {
4028
+ "seeds": [
4029
+ {
4030
+ "kind": "const",
4031
+ "value": [
4032
+ 99,
4033
+ 112,
4034
+ 105,
4035
+ 95,
4036
+ 97,
4037
+ 117,
4038
+ 116,
4039
+ 104,
4040
+ 111,
4041
+ 114,
4042
+ 105,
4043
+ 116,
4044
+ 121
4045
+ ]
4046
+ }
4047
+ ],
4048
+ "program": {
4049
+ "kind": "const",
4050
+ "value": [
4051
+ 6,
4052
+ 161,
4053
+ 216,
4054
+ 199,
4055
+ 206,
4056
+ 40,
4057
+ 40,
4058
+ 163,
4059
+ 177,
4060
+ 19,
4061
+ 1,
4062
+ 21,
4063
+ 164,
4064
+ 67,
4065
+ 81,
4066
+ 132,
4067
+ 164,
4068
+ 22,
4069
+ 81,
4070
+ 177,
4071
+ 201,
4072
+ 45,
4073
+ 170,
4074
+ 138,
4075
+ 70,
4076
+ 214,
4077
+ 218,
4078
+ 76,
4079
+ 85,
4080
+ 222,
4081
+ 216,
4082
+ 214
4083
+ ]
4084
+ }
4085
+ }
3837
4086
  }
3838
4087
  ]
3839
4088
  },
@@ -3895,6 +4144,13 @@
3895
4144
  ]
3896
4145
  }
3897
4146
  },
4147
+ {
4148
+ "name": "liquid_events_program",
4149
+ "docs": [
4150
+ "Liquid events program for CPI event emission."
4151
+ ],
4152
+ "address": "EventsQeXA43nLKR69DhHwNsJ6aM512AweMCgG3wG8zG"
4153
+ },
3898
4154
  {
3899
4155
  "name": "oracle_price_feed",
3900
4156
  "docs": [
@@ -3915,36 +4171,37 @@
3915
4171
  ]
3916
4172
  },
3917
4173
  {
3918
- "name": "set_fee_recipients",
4174
+ "name": "sell_exact_out",
3919
4175
  "docs": [
3920
- "Sets the protocol's fee recipients. Only callable by the admin.",
4176
+ "Sells base tokens to receive an exact amount of quote tokens.",
3921
4177
  "",
3922
4178
  "# Arguments",
3923
- "* `fee_recipients` - List of protocol fee recipients (must be exactly NUM_FEE_RECIPIENTS)."
4179
+ "* `max_amount_in` - Maximum base tokens willing to sell (slippage protection).",
4180
+ "* `exact_amount_out` - Exact net quote tokens to receive."
3924
4181
  ],
3925
4182
  "discriminator": [
3926
- 49,
3927
- 149,
3928
- 195,
3929
- 192,
3930
- 109,
3931
- 40,
3932
- 213,
3933
- 123
4183
+ 95,
4184
+ 200,
4185
+ 71,
4186
+ 34,
4187
+ 8,
4188
+ 9,
4189
+ 11,
4190
+ 166
3934
4191
  ],
3935
4192
  "accounts": [
3936
4193
  {
3937
- "name": "admin",
4194
+ "name": "payer",
3938
4195
  "docs": [
3939
- "The admin authorized to update the global config."
4196
+ "The user performing the swap."
3940
4197
  ],
3941
4198
  "writable": true,
3942
4199
  "signer": true
3943
4200
  },
3944
4201
  {
3945
- "name": "global_config",
4202
+ "name": "pool",
3946
4203
  "docs": [
3947
- "Global configuration account to be updated."
4204
+ "The program account of the pool in which the swap will be performed."
3948
4205
  ],
3949
4206
  "writable": true,
3950
4207
  "pda": {
@@ -3952,96 +4209,991 @@
3952
4209
  {
3953
4210
  "kind": "const",
3954
4211
  "value": [
3955
- 103,
3956
- 108,
4212
+ 112,
3957
4213
  111,
3958
- 98,
4214
+ 111,
4215
+ 108
4216
+ ]
4217
+ },
4218
+ {
4219
+ "kind": "account",
4220
+ "path": "base_mint"
4221
+ },
4222
+ {
4223
+ "kind": "account",
4224
+ "path": "quote_mint"
4225
+ }
4226
+ ]
4227
+ }
4228
+ },
4229
+ {
4230
+ "name": "base_token_account",
4231
+ "docs": [
4232
+ "The user token account for input token."
4233
+ ],
4234
+ "writable": true
4235
+ },
4236
+ {
4237
+ "name": "quote_token_account",
4238
+ "docs": [
4239
+ "The user token account for output token."
4240
+ ],
4241
+ "writable": true
4242
+ },
4243
+ {
4244
+ "name": "base_vault",
4245
+ "docs": [
4246
+ "The vault token account for input token."
4247
+ ],
4248
+ "writable": true,
4249
+ "pda": {
4250
+ "seeds": [
4251
+ {
4252
+ "kind": "const",
4253
+ "value": [
4254
+ 112,
4255
+ 111,
4256
+ 111,
4257
+ 108,
4258
+ 95,
4259
+ 118,
3959
4260
  97,
4261
+ 117,
4262
+ 108,
4263
+ 116
4264
+ ]
4265
+ },
4266
+ {
4267
+ "kind": "account",
4268
+ "path": "pool"
4269
+ },
4270
+ {
4271
+ "kind": "account",
4272
+ "path": "base_mint"
4273
+ }
4274
+ ]
4275
+ }
4276
+ },
4277
+ {
4278
+ "name": "quote_vault",
4279
+ "docs": [
4280
+ "The vault token account for output token."
4281
+ ],
4282
+ "writable": true,
4283
+ "pda": {
4284
+ "seeds": [
4285
+ {
4286
+ "kind": "const",
4287
+ "value": [
4288
+ 112,
4289
+ 111,
4290
+ 111,
3960
4291
  108,
3961
4292
  95,
3962
- 99,
4293
+ 118,
4294
+ 97,
4295
+ 117,
4296
+ 108,
4297
+ 116
4298
+ ]
4299
+ },
4300
+ {
4301
+ "kind": "account",
4302
+ "path": "pool"
4303
+ },
4304
+ {
4305
+ "kind": "account",
4306
+ "path": "quote_mint"
4307
+ }
4308
+ ]
4309
+ }
4310
+ },
4311
+ {
4312
+ "name": "observation_state",
4313
+ "docs": [
4314
+ "The program account for the most recent oracle observation."
4315
+ ],
4316
+ "writable": true,
4317
+ "pda": {
4318
+ "seeds": [
4319
+ {
4320
+ "kind": "const",
4321
+ "value": [
3963
4322
  111,
3964
- 110,
3965
- 102,
4323
+ 98,
4324
+ 115,
4325
+ 101,
4326
+ 114,
4327
+ 118,
4328
+ 97,
4329
+ 116,
3966
4330
  105,
3967
- 103
4331
+ 111,
4332
+ 110
4333
+ ]
4334
+ },
4335
+ {
4336
+ "kind": "account",
4337
+ "path": "pool"
4338
+ }
4339
+ ]
4340
+ }
4341
+ },
4342
+ {
4343
+ "name": "fee_recipient",
4344
+ "docs": [
4345
+ "The protocol fee recipient. Must be one of the allowed recipients in Config.",
4346
+ "",
4347
+ "NOTE: Validation happens in handler by checking against global_config.fee_recipients.",
4348
+ "Fee recipients are admin-controlled public keys stored in AmmConfig, so an attacker",
4349
+ "cannot pass an arbitrary account - it must match one of the configured recipients."
4350
+ ],
4351
+ "writable": true
4352
+ },
4353
+ {
4354
+ "name": "protocol_fee_vault",
4355
+ "docs": [
4356
+ "The protocol fee vault."
4357
+ ],
4358
+ "writable": true,
4359
+ "pda": {
4360
+ "seeds": [
4361
+ {
4362
+ "kind": "const",
4363
+ "value": [
4364
+ 103,
4365
+ 108,
4366
+ 111,
4367
+ 98,
4368
+ 97,
4369
+ 108,
4370
+ 95,
4371
+ 102,
4372
+ 101,
4373
+ 101
4374
+ ]
4375
+ },
4376
+ {
4377
+ "kind": "account",
4378
+ "path": "fee_recipient"
4379
+ },
4380
+ {
4381
+ "kind": "account",
4382
+ "path": "quote_mint"
4383
+ }
4384
+ ]
4385
+ }
4386
+ },
4387
+ {
4388
+ "name": "fee_vault",
4389
+ "docs": [
4390
+ "Fee vault PDA from liquid-fees (authority for fee_vault_token_account)."
4391
+ ],
4392
+ "pda": {
4393
+ "seeds": [
4394
+ {
4395
+ "kind": "const",
4396
+ "value": [
4397
+ 102,
4398
+ 101,
4399
+ 101,
4400
+ 95,
4401
+ 118,
4402
+ 97,
4403
+ 117,
4404
+ 108,
4405
+ 116
3968
4406
  ]
4407
+ },
4408
+ {
4409
+ "kind": "account",
4410
+ "path": "fee_config"
4411
+ }
4412
+ ],
4413
+ "program": {
4414
+ "kind": "const",
4415
+ "value": [
4416
+ 217,
4417
+ 168,
4418
+ 237,
4419
+ 183,
4420
+ 0,
4421
+ 44,
4422
+ 187,
4423
+ 171,
4424
+ 53,
4425
+ 87,
4426
+ 202,
4427
+ 162,
4428
+ 64,
4429
+ 131,
4430
+ 189,
4431
+ 106,
4432
+ 187,
4433
+ 249,
4434
+ 130,
4435
+ 171,
4436
+ 56,
4437
+ 202,
4438
+ 127,
4439
+ 190,
4440
+ 143,
4441
+ 121,
4442
+ 30,
4443
+ 195,
4444
+ 25,
4445
+ 86,
4446
+ 241,
4447
+ 242
4448
+ ]
4449
+ }
4450
+ }
4451
+ },
4452
+ {
4453
+ "name": "fee_vault_token_account",
4454
+ "docs": [
4455
+ "Fee vault token account for Recipients mode — accumulates quote tokens."
4456
+ ],
4457
+ "writable": true,
4458
+ "pda": {
4459
+ "seeds": [
4460
+ {
4461
+ "kind": "account",
4462
+ "path": "fee_vault"
4463
+ },
4464
+ {
4465
+ "kind": "account",
4466
+ "path": "quote_token_program"
4467
+ },
4468
+ {
4469
+ "kind": "account",
4470
+ "path": "quote_mint"
4471
+ }
4472
+ ],
4473
+ "program": {
4474
+ "kind": "const",
4475
+ "value": [
4476
+ 140,
4477
+ 151,
4478
+ 37,
4479
+ 143,
4480
+ 78,
4481
+ 36,
4482
+ 137,
4483
+ 241,
4484
+ 187,
4485
+ 61,
4486
+ 16,
4487
+ 41,
4488
+ 20,
4489
+ 142,
4490
+ 13,
4491
+ 131,
4492
+ 11,
4493
+ 90,
4494
+ 19,
4495
+ 153,
4496
+ 218,
4497
+ 255,
4498
+ 16,
4499
+ 132,
4500
+ 4,
4501
+ 142,
4502
+ 123,
4503
+ 216,
4504
+ 219,
4505
+ 233,
4506
+ 248,
4507
+ 89
4508
+ ]
4509
+ }
4510
+ }
4511
+ },
4512
+ {
4513
+ "name": "buyback_vault",
4514
+ "docs": [
4515
+ "Buyback vault (for Revoked mode) — accumulates quote tokens for buy-and-burn.",
4516
+ "Initialized during pool creation."
4517
+ ],
4518
+ "writable": true,
4519
+ "pda": {
4520
+ "seeds": [
4521
+ {
4522
+ "kind": "const",
4523
+ "value": [
4524
+ 98,
4525
+ 117,
4526
+ 121,
4527
+ 98,
4528
+ 97,
4529
+ 99,
4530
+ 107,
4531
+ 95,
4532
+ 118,
4533
+ 97,
4534
+ 117,
4535
+ 108,
4536
+ 116
4537
+ ]
4538
+ },
4539
+ {
4540
+ "kind": "account",
4541
+ "path": "pool"
4542
+ },
4543
+ {
4544
+ "kind": "account",
4545
+ "path": "quote_mint"
4546
+ }
4547
+ ]
4548
+ }
4549
+ },
4550
+ {
4551
+ "name": "authority",
4552
+ "docs": [
4553
+ "Pool vault and LP mint authority."
4554
+ ],
4555
+ "pda": {
4556
+ "seeds": [
4557
+ {
4558
+ "kind": "const",
4559
+ "value": [
4560
+ 118,
4561
+ 97,
4562
+ 117,
4563
+ 108,
4564
+ 116,
4565
+ 95,
4566
+ 97,
4567
+ 110,
4568
+ 100,
4569
+ 95,
4570
+ 108,
4571
+ 112,
4572
+ 95,
4573
+ 109,
4574
+ 105,
4575
+ 110,
4576
+ 116,
4577
+ 95,
4578
+ 97,
4579
+ 117,
4580
+ 116,
4581
+ 104,
4582
+ 95,
4583
+ 115,
4584
+ 101,
4585
+ 101,
4586
+ 100
4587
+ ]
4588
+ }
4589
+ ]
4590
+ }
4591
+ },
4592
+ {
4593
+ "name": "global_config",
4594
+ "docs": [
4595
+ "Global configuration for the protocol."
4596
+ ],
4597
+ "pda": {
4598
+ "seeds": [
4599
+ {
4600
+ "kind": "const",
4601
+ "value": [
4602
+ 103,
4603
+ 108,
4604
+ 111,
4605
+ 98,
4606
+ 97,
4607
+ 108,
4608
+ 95,
4609
+ 99,
4610
+ 111,
4611
+ 110,
4612
+ 102,
4613
+ 105,
4614
+ 103
4615
+ ]
4616
+ }
4617
+ ]
4618
+ }
4619
+ },
4620
+ {
4621
+ "name": "creator",
4622
+ "docs": [
4623
+ "Pool creator (needed for fee vault derivation).",
4624
+ "",
4625
+ "NOTE: Validation relies on `has_one = creator` constraint on pool state.",
4626
+ "The creator is whoever signed the original pool creation transaction,",
4627
+ "stored immutably in PoolState. No separate ownership check is needed",
4628
+ "as the pool state is the source of truth for creator identity."
4629
+ ],
4630
+ "relations": [
4631
+ "pool"
4632
+ ]
4633
+ },
4634
+ {
4635
+ "name": "base_mint",
4636
+ "docs": [
4637
+ "The mint of input token."
4638
+ ]
4639
+ },
4640
+ {
4641
+ "name": "quote_mint",
4642
+ "docs": [
4643
+ "The mint of output token."
4644
+ ]
4645
+ },
4646
+ {
4647
+ "name": "fee_config",
4648
+ "docs": [
4649
+ "The fee configuration for this token (from liquid-fees program).",
4650
+ "base_mint is typically the token that was launched on the bonding curve."
4651
+ ],
4652
+ "pda": {
4653
+ "seeds": [
4654
+ {
4655
+ "kind": "const",
4656
+ "value": [
4657
+ 102,
4658
+ 101,
4659
+ 101,
4660
+ 95,
4661
+ 99,
4662
+ 111,
4663
+ 110,
4664
+ 102,
4665
+ 105,
4666
+ 103
4667
+ ]
4668
+ },
4669
+ {
4670
+ "kind": "account",
4671
+ "path": "base_mint"
4672
+ }
4673
+ ],
4674
+ "program": {
4675
+ "kind": "const",
4676
+ "value": [
4677
+ 217,
4678
+ 168,
4679
+ 237,
4680
+ 183,
4681
+ 0,
4682
+ 44,
4683
+ 187,
4684
+ 171,
4685
+ 53,
4686
+ 87,
4687
+ 202,
4688
+ 162,
4689
+ 64,
4690
+ 131,
4691
+ 189,
4692
+ 106,
4693
+ 187,
4694
+ 249,
4695
+ 130,
4696
+ 171,
4697
+ 56,
4698
+ 202,
4699
+ 127,
4700
+ 190,
4701
+ 143,
4702
+ 121,
4703
+ 30,
4704
+ 195,
4705
+ 25,
4706
+ 86,
4707
+ 241,
4708
+ 242
4709
+ ]
4710
+ }
4711
+ }
4712
+ },
4713
+ {
4714
+ "name": "liquid_state",
4715
+ "accounts": [
4716
+ {
4717
+ "name": "user_properties",
4718
+ "docs": [
4719
+ "User properties from liquid-state."
4720
+ ],
4721
+ "writable": true,
4722
+ "pda": {
4723
+ "seeds": [
4724
+ {
4725
+ "kind": "const",
4726
+ "value": [
4727
+ 117,
4728
+ 115,
4729
+ 101,
4730
+ 114,
4731
+ 95,
4732
+ 112,
4733
+ 114,
4734
+ 111,
4735
+ 112,
4736
+ 101,
4737
+ 114,
4738
+ 116,
4739
+ 105,
4740
+ 101,
4741
+ 115
4742
+ ]
4743
+ },
4744
+ {
4745
+ "kind": "account",
4746
+ "path": "user"
4747
+ }
4748
+ ],
4749
+ "program": {
4750
+ "kind": "const",
4751
+ "value": [
4752
+ 6,
4753
+ 161,
4754
+ 216,
4755
+ 199,
4756
+ 206,
4757
+ 40,
4758
+ 40,
4759
+ 163,
4760
+ 177,
4761
+ 19,
4762
+ 1,
4763
+ 21,
4764
+ 164,
4765
+ 67,
4766
+ 81,
4767
+ 132,
4768
+ 164,
4769
+ 22,
4770
+ 81,
4771
+ 177,
4772
+ 201,
4773
+ 45,
4774
+ 170,
4775
+ 138,
4776
+ 70,
4777
+ 214,
4778
+ 218,
4779
+ 76,
4780
+ 85,
4781
+ 222,
4782
+ 216,
4783
+ 214
4784
+ ]
4785
+ }
4786
+ }
4787
+ },
4788
+ {
4789
+ "name": "global_amm_volume",
4790
+ "docs": [
4791
+ "Global AMM volume accumulator from liquid-state."
4792
+ ],
4793
+ "writable": true,
4794
+ "pda": {
4795
+ "seeds": [
4796
+ {
4797
+ "kind": "const",
4798
+ "value": [
4799
+ 103,
4800
+ 108,
4801
+ 111,
4802
+ 98,
4803
+ 97,
4804
+ 108,
4805
+ 95,
4806
+ 97,
4807
+ 109,
4808
+ 109,
4809
+ 95,
4810
+ 118,
4811
+ 111,
4812
+ 108,
4813
+ 117,
4814
+ 109,
4815
+ 101
4816
+ ]
4817
+ }
4818
+ ],
4819
+ "program": {
4820
+ "kind": "const",
4821
+ "value": [
4822
+ 6,
4823
+ 161,
4824
+ 216,
4825
+ 199,
4826
+ 206,
4827
+ 40,
4828
+ 40,
4829
+ 163,
4830
+ 177,
4831
+ 19,
4832
+ 1,
4833
+ 21,
4834
+ 164,
4835
+ 67,
4836
+ 81,
4837
+ 132,
4838
+ 164,
4839
+ 22,
4840
+ 81,
4841
+ 177,
4842
+ 201,
4843
+ 45,
4844
+ 170,
4845
+ 138,
4846
+ 70,
4847
+ 214,
4848
+ 218,
4849
+ 76,
4850
+ 85,
4851
+ 222,
4852
+ 216,
4853
+ 214
4854
+ ]
4855
+ }
4856
+ }
4857
+ },
4858
+ {
4859
+ "name": "token_volume",
4860
+ "docs": [
4861
+ "Token volume accumulator from liquid-state (for base_mint)."
4862
+ ],
4863
+ "writable": true,
4864
+ "pda": {
4865
+ "seeds": [
4866
+ {
4867
+ "kind": "const",
4868
+ "value": [
4869
+ 116,
4870
+ 111,
4871
+ 107,
4872
+ 101,
4873
+ 110,
4874
+ 95,
4875
+ 118,
4876
+ 111,
4877
+ 108,
4878
+ 117,
4879
+ 109,
4880
+ 101
4881
+ ]
4882
+ },
4883
+ {
4884
+ "kind": "account",
4885
+ "path": "token_mint"
4886
+ }
4887
+ ],
4888
+ "program": {
4889
+ "kind": "const",
4890
+ "value": [
4891
+ 6,
4892
+ 161,
4893
+ 216,
4894
+ 199,
4895
+ 206,
4896
+ 40,
4897
+ 40,
4898
+ 163,
4899
+ 177,
4900
+ 19,
4901
+ 1,
4902
+ 21,
4903
+ 164,
4904
+ 67,
4905
+ 81,
4906
+ 132,
4907
+ 164,
4908
+ 22,
4909
+ 81,
4910
+ 177,
4911
+ 201,
4912
+ 45,
4913
+ 170,
4914
+ 138,
4915
+ 70,
4916
+ 214,
4917
+ 218,
4918
+ 76,
4919
+ 85,
4920
+ 222,
4921
+ 216,
4922
+ 214
4923
+ ]
4924
+ }
4925
+ }
4926
+ },
4927
+ {
4928
+ "name": "user",
4929
+ "docs": [
4930
+ "The user performing the trade."
4931
+ ]
4932
+ },
4933
+ {
4934
+ "name": "token_mint",
4935
+ "docs": [
4936
+ "The token mint, used for token_volume PDA derivation."
4937
+ ]
4938
+ },
4939
+ {
4940
+ "name": "cashback_config",
4941
+ "docs": [
4942
+ "Cashback configuration from liquid-state."
4943
+ ],
4944
+ "pda": {
4945
+ "seeds": [
4946
+ {
4947
+ "kind": "const",
4948
+ "value": [
4949
+ 99,
4950
+ 97,
4951
+ 115,
4952
+ 104,
4953
+ 98,
4954
+ 97,
4955
+ 99,
4956
+ 107,
4957
+ 95,
4958
+ 99,
4959
+ 111,
4960
+ 110,
4961
+ 102,
4962
+ 105,
4963
+ 103
4964
+ ]
4965
+ }
4966
+ ],
4967
+ "program": {
4968
+ "kind": "const",
4969
+ "value": [
4970
+ 6,
4971
+ 161,
4972
+ 216,
4973
+ 199,
4974
+ 206,
4975
+ 40,
4976
+ 40,
4977
+ 163,
4978
+ 177,
4979
+ 19,
4980
+ 1,
4981
+ 21,
4982
+ 164,
4983
+ 67,
4984
+ 81,
4985
+ 132,
4986
+ 164,
4987
+ 22,
4988
+ 81,
4989
+ 177,
4990
+ 201,
4991
+ 45,
4992
+ 170,
4993
+ 138,
4994
+ 70,
4995
+ 214,
4996
+ 218,
4997
+ 76,
4998
+ 85,
4999
+ 222,
5000
+ 216,
5001
+ 214
5002
+ ]
5003
+ }
5004
+ }
5005
+ },
5006
+ {
5007
+ "name": "liquid_state_program",
5008
+ "docs": [
5009
+ "liquid-state program for unified state management."
5010
+ ],
5011
+ "address": "State3HtEfi7cXdsTpAtRoBvrij8zSFCiGTAVWmYH2d"
5012
+ },
5013
+ {
5014
+ "name": "state_events_cpi_authority",
5015
+ "docs": [
5016
+ "CPI authority PDA owned by liquid-state for emitting events via liquid-events."
5017
+ ],
5018
+ "pda": {
5019
+ "seeds": [
5020
+ {
5021
+ "kind": "const",
5022
+ "value": [
5023
+ 99,
5024
+ 112,
5025
+ 105,
5026
+ 95,
5027
+ 97,
5028
+ 117,
5029
+ 116,
5030
+ 104,
5031
+ 111,
5032
+ 114,
5033
+ 105,
5034
+ 116,
5035
+ 121
5036
+ ]
5037
+ }
5038
+ ],
5039
+ "program": {
5040
+ "kind": "const",
5041
+ "value": [
5042
+ 6,
5043
+ 161,
5044
+ 216,
5045
+ 199,
5046
+ 206,
5047
+ 40,
5048
+ 40,
5049
+ 163,
5050
+ 177,
5051
+ 19,
5052
+ 1,
5053
+ 21,
5054
+ 164,
5055
+ 67,
5056
+ 81,
5057
+ 132,
5058
+ 164,
5059
+ 22,
5060
+ 81,
5061
+ 177,
5062
+ 201,
5063
+ 45,
5064
+ 170,
5065
+ 138,
5066
+ 70,
5067
+ 214,
5068
+ 218,
5069
+ 76,
5070
+ 85,
5071
+ 222,
5072
+ 216,
5073
+ 214
5074
+ ]
5075
+ }
3969
5076
  }
3970
- ]
3971
- }
3972
- },
3973
- {
3974
- "name": "fee_recipient_1",
3975
- "writable": true
5077
+ }
5078
+ ]
3976
5079
  },
3977
5080
  {
3978
- "name": "fee_recipient_2",
3979
- "writable": true
5081
+ "name": "base_token_program",
5082
+ "docs": [
5083
+ "SPL program for input token transfers."
5084
+ ]
3980
5085
  },
3981
5086
  {
3982
- "name": "fee_recipient_3",
3983
- "writable": true
5087
+ "name": "quote_token_program",
5088
+ "docs": [
5089
+ "SPL program for output token transfers."
5090
+ ]
3984
5091
  },
3985
5092
  {
3986
- "name": "fee_recipient_4",
3987
- "writable": true
5093
+ "name": "system_program",
5094
+ "docs": [
5095
+ "System program needed for init_if_needed"
5096
+ ],
5097
+ "address": "11111111111111111111111111111111"
3988
5098
  },
3989
5099
  {
3990
- "name": "fee_recipient_5",
3991
- "writable": true
5100
+ "name": "token_program",
5101
+ "docs": [
5102
+ "Token program for vault creation"
5103
+ ],
5104
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
3992
5105
  },
3993
5106
  {
3994
- "name": "fee_recipient_6",
3995
- "writable": true
5107
+ "name": "associated_token_program",
5108
+ "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
3996
5109
  },
3997
5110
  {
3998
- "name": "fee_recipient_7",
3999
- "writable": true
5111
+ "name": "cpi_authority",
5112
+ "docs": [
5113
+ "CPI authority PDA — proves this program's identity in cross-program calls."
5114
+ ],
5115
+ "pda": {
5116
+ "seeds": [
5117
+ {
5118
+ "kind": "const",
5119
+ "value": [
5120
+ 99,
5121
+ 112,
5122
+ 105,
5123
+ 95,
5124
+ 97,
5125
+ 117,
5126
+ 116,
5127
+ 104,
5128
+ 111,
5129
+ 114,
5130
+ 105,
5131
+ 116,
5132
+ 121
5133
+ ]
5134
+ }
5135
+ ]
5136
+ }
4000
5137
  },
4001
5138
  {
4002
- "name": "fee_recipient_8",
4003
- "writable": true
5139
+ "name": "liquid_events_program",
5140
+ "docs": [
5141
+ "Liquid events program for CPI event emission."
5142
+ ],
5143
+ "address": "EventsQeXA43nLKR69DhHwNsJ6aM512AweMCgG3wG8zG"
4004
5144
  },
4005
5145
  {
4006
- "name": "system_program",
4007
- "address": "11111111111111111111111111111111"
5146
+ "name": "oracle_price_feed",
5147
+ "docs": [
5148
+ "Pyth SOL/USD price feed (required for tiered fees)."
5149
+ ],
5150
+ "optional": true
4008
5151
  }
4009
5152
  ],
4010
5153
  "args": [
4011
5154
  {
4012
- "name": "fee_recipients",
4013
- "type": {
4014
- "vec": "pubkey"
4015
- }
5155
+ "name": "max_amount_in",
5156
+ "type": "u64"
5157
+ },
5158
+ {
5159
+ "name": "exact_amount_out",
5160
+ "type": "u64"
4016
5161
  }
4017
5162
  ]
4018
5163
  },
4019
5164
  {
4020
- "name": "set_reduce_only",
5165
+ "name": "set_fee_recipients",
4021
5166
  "docs": [
4022
- "Sets or clears reduce-only mode on a specific pool.",
4023
- "When enabled, only sells are allowed on the pool.",
5167
+ "Sets the protocol's fee recipients. Only callable by the admin.",
4024
5168
  "",
4025
5169
  "# Arguments",
4026
- "* `reduce_only` - Whether to enable reduce-only mode."
5170
+ "* `fee_recipients` - List of protocol fee recipients (must be exactly NUM_FEE_RECIPIENTS)."
4027
5171
  ],
4028
5172
  "discriminator": [
4029
- 187,
4030
- 233,
4031
- 208,
4032
- 249,
4033
- 160,
4034
- 104,
4035
- 209,
4036
- 117
5173
+ 49,
5174
+ 149,
5175
+ 195,
5176
+ 192,
5177
+ 109,
5178
+ 40,
5179
+ 213,
5180
+ 123
4037
5181
  ],
4038
5182
  "accounts": [
4039
5183
  {
4040
5184
  "name": "admin",
5185
+ "docs": [
5186
+ "The admin authorized to update the global config."
5187
+ ],
5188
+ "writable": true,
4041
5189
  "signer": true
4042
5190
  },
4043
5191
  {
4044
5192
  "name": "global_config",
5193
+ "docs": [
5194
+ "Global configuration account to be updated."
5195
+ ],
5196
+ "writable": true,
4045
5197
  "pda": {
4046
5198
  "seeds": [
4047
5199
  {
@@ -4066,44 +5218,48 @@
4066
5218
  }
4067
5219
  },
4068
5220
  {
4069
- "name": "pool",
4070
- "docs": [
4071
- "The pool to set reduce-only mode on."
4072
- ],
4073
- "writable": true,
4074
- "pda": {
4075
- "seeds": [
4076
- {
4077
- "kind": "const",
4078
- "value": [
4079
- 112,
4080
- 111,
4081
- 111,
4082
- 108
4083
- ]
4084
- },
4085
- {
4086
- "kind": "account",
4087
- "path": "base_mint"
4088
- },
4089
- {
4090
- "kind": "account",
4091
- "path": "quote_mint"
4092
- }
4093
- ]
4094
- }
5221
+ "name": "fee_recipient_1",
5222
+ "writable": true
5223
+ },
5224
+ {
5225
+ "name": "fee_recipient_2",
5226
+ "writable": true
5227
+ },
5228
+ {
5229
+ "name": "fee_recipient_3",
5230
+ "writable": true
5231
+ },
5232
+ {
5233
+ "name": "fee_recipient_4",
5234
+ "writable": true
5235
+ },
5236
+ {
5237
+ "name": "fee_recipient_5",
5238
+ "writable": true
5239
+ },
5240
+ {
5241
+ "name": "fee_recipient_6",
5242
+ "writable": true
4095
5243
  },
4096
5244
  {
4097
- "name": "base_mint"
5245
+ "name": "fee_recipient_7",
5246
+ "writable": true
5247
+ },
5248
+ {
5249
+ "name": "fee_recipient_8",
5250
+ "writable": true
4098
5251
  },
4099
5252
  {
4100
- "name": "quote_mint"
5253
+ "name": "system_program",
5254
+ "address": "11111111111111111111111111111111"
4101
5255
  }
4102
5256
  ],
4103
5257
  "args": [
4104
5258
  {
4105
- "name": "reduce_only",
4106
- "type": "bool"
5259
+ "name": "fee_recipients",
5260
+ "type": {
5261
+ "vec": "pubkey"
5262
+ }
4107
5263
  }
4108
5264
  ]
4109
5265
  },
@@ -4217,6 +5373,41 @@
4217
5373
  }
4218
5374
  ]
4219
5375
  }
5376
+ },
5377
+ {
5378
+ "name": "cpi_authority",
5379
+ "docs": [
5380
+ "CPI authority PDA — proves this program's identity in cross-program calls."
5381
+ ],
5382
+ "pda": {
5383
+ "seeds": [
5384
+ {
5385
+ "kind": "const",
5386
+ "value": [
5387
+ 99,
5388
+ 112,
5389
+ 105,
5390
+ 95,
5391
+ 97,
5392
+ 117,
5393
+ 116,
5394
+ 104,
5395
+ 111,
5396
+ 114,
5397
+ 105,
5398
+ 116,
5399
+ 121
5400
+ ]
5401
+ }
5402
+ ]
5403
+ }
5404
+ },
5405
+ {
5406
+ "name": "liquid_events_program",
5407
+ "docs": [
5408
+ "Liquid events program for CPI event emission."
5409
+ ],
5410
+ "address": "EventsQeXA43nLKR69DhHwNsJ6aM512AweMCgG3wG8zG"
4220
5411
  }
4221
5412
  ],
4222
5413
  "args": []
@@ -4468,6 +5659,41 @@
4468
5659
  "The mint of quote vault."
4469
5660
  ]
4470
5661
  },
5662
+ {
5663
+ "name": "cpi_authority",
5664
+ "docs": [
5665
+ "CPI authority PDA — proves this program's identity in cross-program calls."
5666
+ ],
5667
+ "pda": {
5668
+ "seeds": [
5669
+ {
5670
+ "kind": "const",
5671
+ "value": [
5672
+ 99,
5673
+ 112,
5674
+ 105,
5675
+ 95,
5676
+ 97,
5677
+ 117,
5678
+ 116,
5679
+ 104,
5680
+ 111,
5681
+ 114,
5682
+ 105,
5683
+ 116,
5684
+ 121
5685
+ ]
5686
+ }
5687
+ ]
5688
+ }
5689
+ },
5690
+ {
5691
+ "name": "liquid_events_program",
5692
+ "docs": [
5693
+ "Liquid events program for CPI event emission."
5694
+ ],
5695
+ "address": "EventsQeXA43nLKR69DhHwNsJ6aM512AweMCgG3wG8zG"
5696
+ },
4471
5697
  {
4472
5698
  "name": "token_program",
4473
5699
  "docs": [
@@ -4852,11 +6078,6 @@
4852
6078
  "code": 6035,
4853
6079
  "name": "InvalidPoolState",
4854
6080
  "msg": "Invalid pool state (empty vaults or invalid reserves)"
4855
- },
4856
- {
4857
- "code": 6036,
4858
- "name": "ReduceOnly",
4859
- "msg": "Pool is in reduce-only mode"
4860
6081
  }
4861
6082
  ],
4862
6083
  "types": [
@@ -5519,48 +6740,50 @@
5519
6740
  {
5520
6741
  "name": "quote_mint",
5521
6742
  "docs": [
5522
- "Mint information for Quote"
6743
+ "Mint information for quote"
5523
6744
  ],
5524
6745
  "type": "pubkey"
5525
6746
  },
5526
6747
  {
5527
6748
  "name": "base_token_program",
5528
6749
  "docs": [
5529
- "base program"
6750
+ "Base program"
5530
6751
  ],
5531
6752
  "type": "pubkey"
5532
6753
  },
5533
6754
  {
5534
6755
  "name": "quote_token_program",
5535
6756
  "docs": [
5536
- "quote program"
6757
+ "Quote program"
5537
6758
  ],
5538
6759
  "type": "pubkey"
5539
6760
  },
5540
6761
  {
5541
6762
  "name": "observation_key",
5542
6763
  "docs": [
5543
- "observation account to store oracle data"
6764
+ "Observation account to store oracle data"
5544
6765
  ],
5545
6766
  "type": "pubkey"
5546
6767
  },
5547
- {
5548
- "name": "auth_bump",
5549
- "type": "u8"
5550
- },
5551
6768
  {
5552
6769
  "name": "lp_mint_decimals",
6770
+ "docs": [
6771
+ "Mint decimals for LP token"
6772
+ ],
5553
6773
  "type": "u8"
5554
6774
  },
5555
6775
  {
5556
6776
  "name": "base_decimals",
5557
6777
  "docs": [
5558
- "mint base and mint quote decimals"
6778
+ "Mint base decimals"
5559
6779
  ],
5560
6780
  "type": "u8"
5561
6781
  },
5562
6782
  {
5563
6783
  "name": "quote_decimals",
6784
+ "docs": [
6785
+ "Mint quote decimals"
6786
+ ],
5564
6787
  "type": "u8"
5565
6788
  },
5566
6789
  {
@@ -5571,23 +6794,23 @@
5571
6794
  "type": "u64"
5572
6795
  },
5573
6796
  {
5574
- "name": "recent_epoch",
6797
+ "name": "creator",
5575
6798
  "docs": [
5576
- "recent epoch"
6799
+ "Creator of the token"
5577
6800
  ],
5578
- "type": "u64"
6801
+ "type": "pubkey"
5579
6802
  },
5580
6803
  {
5581
- "name": "creator",
6804
+ "name": "recent_epoch",
5582
6805
  "docs": [
5583
- "Creator of the token"
6806
+ "Recent epoch"
5584
6807
  ],
5585
- "type": "pubkey"
6808
+ "type": "u64"
5586
6809
  },
5587
6810
  {
5588
- "name": "reduce_only",
6811
+ "name": "bump",
5589
6812
  "docs": [
5590
- "Reduce-only mode: when nonzero, only sells are allowed"
6813
+ "Bump for PDA"
5591
6814
  ],
5592
6815
  "type": "u8"
5593
6816
  }