@liquid-af/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/README.md +776 -0
  2. package/dist/accounts/index.d.ts +5 -0
  3. package/dist/accounts/index.d.ts.map +1 -0
  4. package/dist/accounts/index.js +5 -0
  5. package/dist/accounts/index.js.map +1 -0
  6. package/dist/accounts/liquid-fees.d.ts +63 -0
  7. package/dist/accounts/liquid-fees.d.ts.map +1 -0
  8. package/dist/accounts/liquid-fees.js +27 -0
  9. package/dist/accounts/liquid-fees.js.map +1 -0
  10. package/dist/accounts/liquid-state.d.ts +112 -0
  11. package/dist/accounts/liquid-state.d.ts.map +1 -0
  12. package/dist/accounts/liquid-state.js +92 -0
  13. package/dist/accounts/liquid-state.js.map +1 -0
  14. package/dist/accounts/liquid-swap.d.ts +97 -0
  15. package/dist/accounts/liquid-swap.d.ts.map +1 -0
  16. package/dist/accounts/liquid-swap.js +54 -0
  17. package/dist/accounts/liquid-swap.js.map +1 -0
  18. package/dist/accounts/liquid.d.ts +175 -0
  19. package/dist/accounts/liquid.d.ts.map +1 -0
  20. package/dist/accounts/liquid.js +66 -0
  21. package/dist/accounts/liquid.js.map +1 -0
  22. package/dist/client.d.ts +621 -0
  23. package/dist/client.d.ts.map +1 -0
  24. package/dist/client.js +511 -0
  25. package/dist/client.js.map +1 -0
  26. package/dist/config.d.ts +56 -0
  27. package/dist/config.d.ts.map +1 -0
  28. package/dist/config.js +44 -0
  29. package/dist/config.js.map +1 -0
  30. package/dist/errors.d.ts +39 -0
  31. package/dist/errors.d.ts.map +1 -0
  32. package/dist/errors.js +63 -0
  33. package/dist/errors.js.map +1 -0
  34. package/dist/events/index.d.ts +4 -0
  35. package/dist/events/index.d.ts.map +1 -0
  36. package/dist/events/index.js +2 -0
  37. package/dist/events/index.js.map +1 -0
  38. package/dist/events/parser.d.ts +40 -0
  39. package/dist/events/parser.d.ts.map +1 -0
  40. package/dist/events/parser.js +67 -0
  41. package/dist/events/parser.js.map +1 -0
  42. package/dist/events/types.d.ts +286 -0
  43. package/dist/events/types.d.ts.map +1 -0
  44. package/dist/events/types.js +2 -0
  45. package/dist/events/types.js.map +1 -0
  46. package/dist/helpers/index.d.ts +4 -0
  47. package/dist/helpers/index.d.ts.map +1 -0
  48. package/dist/helpers/index.js +3 -0
  49. package/dist/helpers/index.js.map +1 -0
  50. package/dist/helpers/preview.d.ts +259 -0
  51. package/dist/helpers/preview.d.ts.map +1 -0
  52. package/dist/helpers/preview.js +458 -0
  53. package/dist/helpers/preview.js.map +1 -0
  54. package/dist/helpers/user.d.ts +11 -0
  55. package/dist/helpers/user.d.ts.map +1 -0
  56. package/dist/helpers/user.js +20 -0
  57. package/dist/helpers/user.js.map +1 -0
  58. package/dist/idl/index.d.ts +53 -0
  59. package/dist/idl/index.d.ts.map +1 -0
  60. package/dist/idl/index.js +64 -0
  61. package/dist/idl/index.js.map +1 -0
  62. package/dist/idl/liquid.d.ts +10523 -0
  63. package/dist/idl/liquid.d.ts.map +1 -0
  64. package/dist/idl/liquid.js +2 -0
  65. package/dist/idl/liquid.js.map +1 -0
  66. package/dist/idl/liquid.json +10516 -0
  67. package/dist/idl/liquid_fees.d.ts +1520 -0
  68. package/dist/idl/liquid_fees.d.ts.map +1 -0
  69. package/dist/idl/liquid_fees.js +2 -0
  70. package/dist/idl/liquid_fees.js.map +1 -0
  71. package/dist/idl/liquid_fees.json +1513 -0
  72. package/dist/idl/liquid_state.d.ts +2936 -0
  73. package/dist/idl/liquid_state.d.ts.map +1 -0
  74. package/dist/idl/liquid_state.js +2 -0
  75. package/dist/idl/liquid_state.js.map +1 -0
  76. package/dist/idl/liquid_state.json +2929 -0
  77. package/dist/idl/liquid_swap.d.ts +5849 -0
  78. package/dist/idl/liquid_swap.d.ts.map +1 -0
  79. package/dist/idl/liquid_swap.js +2 -0
  80. package/dist/idl/liquid_swap.js.map +1 -0
  81. package/dist/idl/liquid_swap.json +5842 -0
  82. package/dist/index.d.ts +19 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +15 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/instructions/index.d.ts +9 -0
  87. package/dist/instructions/index.d.ts.map +1 -0
  88. package/dist/instructions/index.js +9 -0
  89. package/dist/instructions/index.js.map +1 -0
  90. package/dist/instructions/liquid-fees.d.ts +111 -0
  91. package/dist/instructions/liquid-fees.d.ts.map +1 -0
  92. package/dist/instructions/liquid-fees.js +169 -0
  93. package/dist/instructions/liquid-fees.js.map +1 -0
  94. package/dist/instructions/liquid-state.d.ts +173 -0
  95. package/dist/instructions/liquid-state.d.ts.map +1 -0
  96. package/dist/instructions/liquid-state.js +194 -0
  97. package/dist/instructions/liquid-state.js.map +1 -0
  98. package/dist/instructions/liquid-swap.d.ts +122 -0
  99. package/dist/instructions/liquid-swap.d.ts.map +1 -0
  100. package/dist/instructions/liquid-swap.js +167 -0
  101. package/dist/instructions/liquid-swap.js.map +1 -0
  102. package/dist/instructions/liquid.d.ts +297 -0
  103. package/dist/instructions/liquid.d.ts.map +1 -0
  104. package/dist/instructions/liquid.js +483 -0
  105. package/dist/instructions/liquid.js.map +1 -0
  106. package/dist/instructions/program-cache.d.ts +35 -0
  107. package/dist/instructions/program-cache.d.ts.map +1 -0
  108. package/dist/instructions/program-cache.js +68 -0
  109. package/dist/instructions/program-cache.js.map +1 -0
  110. package/dist/math/amm.d.ts +42 -0
  111. package/dist/math/amm.d.ts.map +1 -0
  112. package/dist/math/amm.js +109 -0
  113. package/dist/math/amm.js.map +1 -0
  114. package/dist/math/bonding-curve.d.ts +34 -0
  115. package/dist/math/bonding-curve.d.ts.map +1 -0
  116. package/dist/math/bonding-curve.js +80 -0
  117. package/dist/math/bonding-curve.js.map +1 -0
  118. package/dist/math/constants.d.ts +14 -0
  119. package/dist/math/constants.d.ts.map +1 -0
  120. package/dist/math/constants.js +14 -0
  121. package/dist/math/constants.js.map +1 -0
  122. package/dist/math/fees.d.ts +88 -0
  123. package/dist/math/fees.d.ts.map +1 -0
  124. package/dist/math/fees.js +135 -0
  125. package/dist/math/fees.js.map +1 -0
  126. package/dist/math/index.d.ts +8 -0
  127. package/dist/math/index.d.ts.map +1 -0
  128. package/dist/math/index.js +6 -0
  129. package/dist/math/index.js.map +1 -0
  130. package/dist/math/tiered-fees.d.ts +80 -0
  131. package/dist/math/tiered-fees.d.ts.map +1 -0
  132. package/dist/math/tiered-fees.js +129 -0
  133. package/dist/math/tiered-fees.js.map +1 -0
  134. package/dist/oracle.d.ts +53 -0
  135. package/dist/oracle.d.ts.map +1 -0
  136. package/dist/oracle.js +70 -0
  137. package/dist/oracle.js.map +1 -0
  138. package/dist/pda/index.d.ts +89 -0
  139. package/dist/pda/index.d.ts.map +1 -0
  140. package/dist/pda/index.js +127 -0
  141. package/dist/pda/index.js.map +1 -0
  142. package/dist/pda/liquid-fees.d.ts +27 -0
  143. package/dist/pda/liquid-fees.d.ts.map +1 -0
  144. package/dist/pda/liquid-fees.js +36 -0
  145. package/dist/pda/liquid-fees.js.map +1 -0
  146. package/dist/pda/liquid-state.d.ts +56 -0
  147. package/dist/pda/liquid-state.d.ts.map +1 -0
  148. package/dist/pda/liquid-state.js +79 -0
  149. package/dist/pda/liquid-state.js.map +1 -0
  150. package/dist/pda/liquid-swap.d.ts +76 -0
  151. package/dist/pda/liquid-swap.d.ts.map +1 -0
  152. package/dist/pda/liquid-swap.js +103 -0
  153. package/dist/pda/liquid-swap.js.map +1 -0
  154. package/dist/pda/liquid.d.ts +67 -0
  155. package/dist/pda/liquid.d.ts.map +1 -0
  156. package/dist/pda/liquid.js +91 -0
  157. package/dist/pda/liquid.js.map +1 -0
  158. package/dist/provider.d.ts +26 -0
  159. package/dist/provider.d.ts.map +1 -0
  160. package/dist/provider.js +47 -0
  161. package/dist/provider.js.map +1 -0
  162. package/dist/transaction/builder.d.ts +30 -0
  163. package/dist/transaction/builder.d.ts.map +1 -0
  164. package/dist/transaction/builder.js +48 -0
  165. package/dist/transaction/builder.js.map +1 -0
  166. package/dist/transaction/index.d.ts +3 -0
  167. package/dist/transaction/index.d.ts.map +1 -0
  168. package/dist/transaction/index.js +3 -0
  169. package/dist/transaction/index.js.map +1 -0
  170. package/dist/transaction/send.d.ts +25 -0
  171. package/dist/transaction/send.d.ts.map +1 -0
  172. package/dist/transaction/send.js +52 -0
  173. package/dist/transaction/send.js.map +1 -0
  174. package/dist/types.d.ts +311 -0
  175. package/dist/types.d.ts.map +1 -0
  176. package/dist/types.js +46 -0
  177. package/dist/types.js.map +1 -0
  178. package/package.json +112 -0
  179. package/src/accounts/index.ts +26 -0
  180. package/src/accounts/liquid-fees.ts +38 -0
  181. package/src/accounts/liquid-state.ts +134 -0
  182. package/src/accounts/liquid-swap.ts +79 -0
  183. package/src/accounts/liquid.ts +100 -0
  184. package/src/client.ts +1001 -0
  185. package/src/config.ts +91 -0
  186. package/src/errors.ts +94 -0
  187. package/src/events/index.ts +42 -0
  188. package/src/events/parser.ts +90 -0
  189. package/src/events/types.ts +310 -0
  190. package/src/helpers/index.ts +23 -0
  191. package/src/helpers/preview.ts +798 -0
  192. package/src/helpers/user.ts +24 -0
  193. package/src/idl/index.ts +94 -0
  194. package/src/idl/liquid.json +10516 -0
  195. package/src/idl/liquid.ts +10522 -0
  196. package/src/idl/liquid_fees.json +1513 -0
  197. package/src/idl/liquid_fees.ts +1519 -0
  198. package/src/idl/liquid_state.json +2929 -0
  199. package/src/idl/liquid_state.ts +2935 -0
  200. package/src/idl/liquid_swap.json +5842 -0
  201. package/src/idl/liquid_swap.ts +5848 -0
  202. package/src/index.ts +98 -0
  203. package/src/instructions/index.ts +109 -0
  204. package/src/instructions/liquid-fees.ts +289 -0
  205. package/src/instructions/liquid-state.ts +336 -0
  206. package/src/instructions/liquid-swap.ts +414 -0
  207. package/src/instructions/liquid.ts +884 -0
  208. package/src/instructions/program-cache.ts +106 -0
  209. package/src/math/amm.ts +146 -0
  210. package/src/math/bonding-curve.ts +122 -0
  211. package/src/math/constants.ts +19 -0
  212. package/src/math/fees.ts +191 -0
  213. package/src/math/index.ts +40 -0
  214. package/src/math/tiered-fees.ts +165 -0
  215. package/src/oracle.ts +97 -0
  216. package/src/pda/index.ts +331 -0
  217. package/src/pda/liquid-fees.ts +58 -0
  218. package/src/pda/liquid-state.ts +123 -0
  219. package/src/pda/liquid-swap.ts +162 -0
  220. package/src/pda/liquid.ts +152 -0
  221. package/src/provider.ts +60 -0
  222. package/src/transaction/builder.ts +80 -0
  223. package/src/transaction/index.ts +6 -0
  224. package/src/transaction/send.ts +72 -0
  225. package/src/types.ts +354 -0
@@ -0,0 +1,2936 @@
1
+ /**
2
+ * Program IDL in camelCase format in order to be used in JS/TS.
3
+ *
4
+ * Note that this is only a type helper and is not the actual IDL. The original
5
+ * IDL can be found at `target/idl/liquid_state.json`.
6
+ */
7
+ export type LiquidState = {
8
+ "address": "State3HtEfi7cXdsTpAtRoBvrij8zSFCiGTAVWmYH2d";
9
+ "metadata": {
10
+ "name": "liquidState";
11
+ "version": "0.1.0";
12
+ "spec": "0.1.0";
13
+ "description": "Unified state management for liquid programs (user properties, cashback, volume tracking)";
14
+ };
15
+ "instructions": [
16
+ {
17
+ "name": "acceptAdmin";
18
+ "docs": [
19
+ "Accept a pending admin transfer, completing the two-step handoff"
20
+ ];
21
+ "discriminator": [
22
+ 112,
23
+ 42,
24
+ 45,
25
+ 90,
26
+ 116,
27
+ 181,
28
+ 13,
29
+ 170
30
+ ];
31
+ "accounts": [
32
+ {
33
+ "name": "newAdmin";
34
+ "docs": [
35
+ "The pending admin who is accepting the transfer."
36
+ ];
37
+ "writable": true;
38
+ "signer": true;
39
+ },
40
+ {
41
+ "name": "cashbackConfig";
42
+ "docs": [
43
+ "Cashback configuration holding the admin authority"
44
+ ];
45
+ "writable": true;
46
+ "pda": {
47
+ "seeds": [
48
+ {
49
+ "kind": "const";
50
+ "value": [
51
+ 99,
52
+ 97,
53
+ 115,
54
+ 104,
55
+ 98,
56
+ 97,
57
+ 99,
58
+ 107,
59
+ 95,
60
+ 99,
61
+ 111,
62
+ 110,
63
+ 102,
64
+ 105,
65
+ 103
66
+ ];
67
+ }
68
+ ];
69
+ };
70
+ }
71
+ ];
72
+ "args": [];
73
+ },
74
+ {
75
+ "name": "adminUpdateUser";
76
+ "docs": [
77
+ "Admin updates a user's referrer/multiplier and always takes a snapshot"
78
+ ];
79
+ "discriminator": [
80
+ 161,
81
+ 36,
82
+ 48,
83
+ 104,
84
+ 149,
85
+ 187,
86
+ 39,
87
+ 2
88
+ ];
89
+ "accounts": [
90
+ {
91
+ "name": "payer";
92
+ "docs": [
93
+ "Payer for snapshot account creation"
94
+ ];
95
+ "writable": true;
96
+ "signer": true;
97
+ },
98
+ {
99
+ "name": "admin";
100
+ "docs": [
101
+ "Admin authority"
102
+ ];
103
+ "signer": true;
104
+ },
105
+ {
106
+ "name": "userProperties";
107
+ "docs": [
108
+ "User properties account"
109
+ ];
110
+ "writable": true;
111
+ "pda": {
112
+ "seeds": [
113
+ {
114
+ "kind": "const";
115
+ "value": [
116
+ 117,
117
+ 115,
118
+ 101,
119
+ 114,
120
+ 95,
121
+ 112,
122
+ 114,
123
+ 111,
124
+ 112,
125
+ 101,
126
+ 114,
127
+ 116,
128
+ 105,
129
+ 101,
130
+ 115
131
+ ];
132
+ },
133
+ {
134
+ "kind": "account";
135
+ "path": "user";
136
+ }
137
+ ];
138
+ };
139
+ },
140
+ {
141
+ "name": "userSnapshot";
142
+ "docs": [
143
+ "Snapshot account to create (always taken on admin update)"
144
+ ];
145
+ "writable": true;
146
+ "pda": {
147
+ "seeds": [
148
+ {
149
+ "kind": "const";
150
+ "value": [
151
+ 117,
152
+ 115,
153
+ 101,
154
+ 114,
155
+ 95,
156
+ 115,
157
+ 110,
158
+ 97,
159
+ 112,
160
+ 115,
161
+ 104,
162
+ 111,
163
+ 116
164
+ ];
165
+ },
166
+ {
167
+ "kind": "account";
168
+ "path": "user";
169
+ },
170
+ {
171
+ "kind": "account";
172
+ "path": "user_properties.snapshot_count";
173
+ "account": "userProperties";
174
+ }
175
+ ];
176
+ };
177
+ },
178
+ {
179
+ "name": "cashbackConfig";
180
+ "docs": [
181
+ "Cashback configuration for admin auth check"
182
+ ];
183
+ "pda": {
184
+ "seeds": [
185
+ {
186
+ "kind": "const";
187
+ "value": [
188
+ 99,
189
+ 97,
190
+ 115,
191
+ 104,
192
+ 98,
193
+ 97,
194
+ 99,
195
+ 107,
196
+ 95,
197
+ 99,
198
+ 111,
199
+ 110,
200
+ 102,
201
+ 105,
202
+ 103
203
+ ];
204
+ }
205
+ ];
206
+ };
207
+ },
208
+ {
209
+ "name": "user";
210
+ "docs": [
211
+ "The user being updated"
212
+ ];
213
+ },
214
+ {
215
+ "name": "systemProgram";
216
+ "address": "11111111111111111111111111111111";
217
+ }
218
+ ];
219
+ "args": [
220
+ {
221
+ "name": "args";
222
+ "type": {
223
+ "defined": {
224
+ "name": "adminUpdateUserArgs";
225
+ };
226
+ };
227
+ }
228
+ ];
229
+ },
230
+ {
231
+ "name": "cancelAdminTransfer";
232
+ "docs": [
233
+ "Cancel a pending admin transfer (callable by current or pending admin)"
234
+ ];
235
+ "discriminator": [
236
+ 38,
237
+ 131,
238
+ 157,
239
+ 31,
240
+ 240,
241
+ 137,
242
+ 44,
243
+ 215
244
+ ];
245
+ "accounts": [
246
+ {
247
+ "name": "authority";
248
+ "docs": [
249
+ "The authority cancelling the transfer (current admin or pending admin)."
250
+ ];
251
+ "writable": true;
252
+ "signer": true;
253
+ },
254
+ {
255
+ "name": "cashbackConfig";
256
+ "docs": [
257
+ "Cashback configuration holding the admin authority"
258
+ ];
259
+ "writable": true;
260
+ "pda": {
261
+ "seeds": [
262
+ {
263
+ "kind": "const";
264
+ "value": [
265
+ 99,
266
+ 97,
267
+ 115,
268
+ 104,
269
+ 98,
270
+ 97,
271
+ 99,
272
+ 107,
273
+ 95,
274
+ 99,
275
+ 111,
276
+ 110,
277
+ 102,
278
+ 105,
279
+ 103
280
+ ];
281
+ }
282
+ ];
283
+ };
284
+ }
285
+ ];
286
+ "args": [];
287
+ },
288
+ {
289
+ "name": "closeDeal";
290
+ "docs": [
291
+ "Admin closes/deletes a deal, returning rent to admin"
292
+ ];
293
+ "discriminator": [
294
+ 157,
295
+ 173,
296
+ 33,
297
+ 216,
298
+ 146,
299
+ 16,
300
+ 65,
301
+ 82
302
+ ];
303
+ "accounts": [
304
+ {
305
+ "name": "admin";
306
+ "docs": [
307
+ "Admin authority (receives rent refund)"
308
+ ];
309
+ "writable": true;
310
+ "signer": true;
311
+ },
312
+ {
313
+ "name": "deal";
314
+ "docs": [
315
+ "Deal account to close"
316
+ ];
317
+ "writable": true;
318
+ "pda": {
319
+ "seeds": [
320
+ {
321
+ "kind": "const";
322
+ "value": [
323
+ 100,
324
+ 101,
325
+ 97,
326
+ 108
327
+ ];
328
+ },
329
+ {
330
+ "kind": "account";
331
+ "path": "deal.owner";
332
+ "account": "deal";
333
+ }
334
+ ];
335
+ };
336
+ },
337
+ {
338
+ "name": "cashbackConfig";
339
+ "docs": [
340
+ "Cashback configuration for admin auth check"
341
+ ];
342
+ "pda": {
343
+ "seeds": [
344
+ {
345
+ "kind": "const";
346
+ "value": [
347
+ 99,
348
+ 97,
349
+ 115,
350
+ 104,
351
+ 98,
352
+ 97,
353
+ 99,
354
+ 107,
355
+ 95,
356
+ 99,
357
+ 111,
358
+ 110,
359
+ 102,
360
+ 105,
361
+ 103
362
+ ];
363
+ }
364
+ ];
365
+ };
366
+ }
367
+ ];
368
+ "args": [];
369
+ },
370
+ {
371
+ "name": "createDeal";
372
+ "docs": [
373
+ "Admin creates an exclusive deal for a pubkey",
374
+ "",
375
+ "# Arguments",
376
+ "* `owner` - The pubkey this deal belongs to",
377
+ "* `cashback_multiplier_bps` - Cashback multiplier in basis points (10000 = 1x)"
378
+ ];
379
+ "discriminator": [
380
+ 198,
381
+ 212,
382
+ 144,
383
+ 151,
384
+ 97,
385
+ 56,
386
+ 149,
387
+ 113
388
+ ];
389
+ "accounts": [
390
+ {
391
+ "name": "payer";
392
+ "docs": [
393
+ "Payer for account creation"
394
+ ];
395
+ "writable": true;
396
+ "signer": true;
397
+ },
398
+ {
399
+ "name": "admin";
400
+ "docs": [
401
+ "Admin authority"
402
+ ];
403
+ "signer": true;
404
+ },
405
+ {
406
+ "name": "deal";
407
+ "docs": [
408
+ "Deal account to create"
409
+ ];
410
+ "writable": true;
411
+ "pda": {
412
+ "seeds": [
413
+ {
414
+ "kind": "const";
415
+ "value": [
416
+ 100,
417
+ 101,
418
+ 97,
419
+ 108
420
+ ];
421
+ },
422
+ {
423
+ "kind": "arg";
424
+ "path": "owner";
425
+ }
426
+ ];
427
+ };
428
+ },
429
+ {
430
+ "name": "cashbackConfig";
431
+ "docs": [
432
+ "Cashback configuration for admin auth check"
433
+ ];
434
+ "pda": {
435
+ "seeds": [
436
+ {
437
+ "kind": "const";
438
+ "value": [
439
+ 99,
440
+ 97,
441
+ 115,
442
+ 104,
443
+ 98,
444
+ 97,
445
+ 99,
446
+ 107,
447
+ 95,
448
+ 99,
449
+ 111,
450
+ 110,
451
+ 102,
452
+ 105,
453
+ 103
454
+ ];
455
+ }
456
+ ];
457
+ };
458
+ },
459
+ {
460
+ "name": "systemProgram";
461
+ "address": "11111111111111111111111111111111";
462
+ }
463
+ ];
464
+ "args": [
465
+ {
466
+ "name": "owner";
467
+ "type": "pubkey";
468
+ },
469
+ {
470
+ "name": "cashbackMultiplierBps";
471
+ "type": "u16";
472
+ }
473
+ ];
474
+ },
475
+ {
476
+ "name": "earnCashback";
477
+ "docs": [
478
+ "Earn cashback credits (called via CPI during trades)"
479
+ ];
480
+ "discriminator": [
481
+ 123,
482
+ 185,
483
+ 10,
484
+ 74,
485
+ 209,
486
+ 80,
487
+ 101,
488
+ 149
489
+ ];
490
+ "accounts": [
491
+ {
492
+ "name": "cpiAuthority";
493
+ "docs": [
494
+ "CPI authority PDA from the calling program (must be liquid or liquid-swap).",
495
+ "Only the owning program can produce a valid signature for its PDA."
496
+ ];
497
+ "signer": true;
498
+ },
499
+ {
500
+ "name": "user";
501
+ "docs": [
502
+ "The user whose cashback is being earned"
503
+ ];
504
+ },
505
+ {
506
+ "name": "userProperties";
507
+ "writable": true;
508
+ "pda": {
509
+ "seeds": [
510
+ {
511
+ "kind": "const";
512
+ "value": [
513
+ 117,
514
+ 115,
515
+ 101,
516
+ 114,
517
+ 95,
518
+ 112,
519
+ 114,
520
+ 111,
521
+ 112,
522
+ 101,
523
+ 114,
524
+ 116,
525
+ 105,
526
+ 101,
527
+ 115
528
+ ];
529
+ },
530
+ {
531
+ "kind": "account";
532
+ "path": "user";
533
+ }
534
+ ];
535
+ };
536
+ }
537
+ ];
538
+ "args": [
539
+ {
540
+ "name": "cashbackAmount";
541
+ "type": "u64";
542
+ }
543
+ ];
544
+ },
545
+ {
546
+ "name": "initializeConfig";
547
+ "docs": [
548
+ "Initialize global configuration (cashback config and volume accumulators)"
549
+ ];
550
+ "discriminator": [
551
+ 208,
552
+ 127,
553
+ 21,
554
+ 1,
555
+ 194,
556
+ 190,
557
+ 196,
558
+ 70
559
+ ];
560
+ "accounts": [
561
+ {
562
+ "name": "payer";
563
+ "writable": true;
564
+ "signer": true;
565
+ },
566
+ {
567
+ "name": "cashbackConfig";
568
+ "writable": true;
569
+ "pda": {
570
+ "seeds": [
571
+ {
572
+ "kind": "const";
573
+ "value": [
574
+ 99,
575
+ 97,
576
+ 115,
577
+ 104,
578
+ 98,
579
+ 97,
580
+ 99,
581
+ 107,
582
+ 95,
583
+ 99,
584
+ 111,
585
+ 110,
586
+ 102,
587
+ 105,
588
+ 103
589
+ ];
590
+ }
591
+ ];
592
+ };
593
+ },
594
+ {
595
+ "name": "globalCurveVolume";
596
+ "writable": true;
597
+ "pda": {
598
+ "seeds": [
599
+ {
600
+ "kind": "const";
601
+ "value": [
602
+ 103,
603
+ 108,
604
+ 111,
605
+ 98,
606
+ 97,
607
+ 108,
608
+ 95,
609
+ 99,
610
+ 117,
611
+ 114,
612
+ 118,
613
+ 101,
614
+ 95,
615
+ 118,
616
+ 111,
617
+ 108,
618
+ 117,
619
+ 109,
620
+ 101
621
+ ];
622
+ }
623
+ ];
624
+ };
625
+ },
626
+ {
627
+ "name": "globalAmmVolume";
628
+ "writable": true;
629
+ "pda": {
630
+ "seeds": [
631
+ {
632
+ "kind": "const";
633
+ "value": [
634
+ 103,
635
+ 108,
636
+ 111,
637
+ 98,
638
+ 97,
639
+ 108,
640
+ 95,
641
+ 97,
642
+ 109,
643
+ 109,
644
+ 95,
645
+ 118,
646
+ 111,
647
+ 108,
648
+ 117,
649
+ 109,
650
+ 101
651
+ ];
652
+ }
653
+ ];
654
+ };
655
+ },
656
+ {
657
+ "name": "systemProgram";
658
+ "address": "11111111111111111111111111111111";
659
+ }
660
+ ];
661
+ "args": [
662
+ {
663
+ "name": "args";
664
+ "type": {
665
+ "defined": {
666
+ "name": "initializeConfigArgs";
667
+ };
668
+ };
669
+ }
670
+ ];
671
+ },
672
+ {
673
+ "name": "initializeTokenVolume";
674
+ "docs": [
675
+ "Initialize a token's volume accumulator with default values"
676
+ ];
677
+ "discriminator": [
678
+ 98,
679
+ 160,
680
+ 140,
681
+ 145,
682
+ 106,
683
+ 65,
684
+ 10,
685
+ 106
686
+ ];
687
+ "accounts": [
688
+ {
689
+ "name": "payer";
690
+ "docs": [
691
+ "The payer for account creation"
692
+ ];
693
+ "writable": true;
694
+ "signer": true;
695
+ },
696
+ {
697
+ "name": "mint";
698
+ "docs": [
699
+ "The mint for which to create the volume accumulator"
700
+ ];
701
+ },
702
+ {
703
+ "name": "tokenVolume";
704
+ "docs": [
705
+ "Token volume accumulator to be created"
706
+ ];
707
+ "writable": true;
708
+ "pda": {
709
+ "seeds": [
710
+ {
711
+ "kind": "const";
712
+ "value": [
713
+ 116,
714
+ 111,
715
+ 107,
716
+ 101,
717
+ 110,
718
+ 95,
719
+ 118,
720
+ 111,
721
+ 108,
722
+ 117,
723
+ 109,
724
+ 101
725
+ ];
726
+ },
727
+ {
728
+ "kind": "account";
729
+ "path": "mint";
730
+ }
731
+ ];
732
+ };
733
+ },
734
+ {
735
+ "name": "systemProgram";
736
+ "docs": [
737
+ "System program"
738
+ ];
739
+ "address": "11111111111111111111111111111111";
740
+ }
741
+ ];
742
+ "args": [];
743
+ },
744
+ {
745
+ "name": "initializeUser";
746
+ "docs": [
747
+ "Initialize a user's properties account with default values"
748
+ ];
749
+ "discriminator": [
750
+ 111,
751
+ 17,
752
+ 185,
753
+ 250,
754
+ 60,
755
+ 122,
756
+ 38,
757
+ 254
758
+ ];
759
+ "accounts": [
760
+ {
761
+ "name": "user";
762
+ "docs": [
763
+ "The user being initialized"
764
+ ];
765
+ "writable": true;
766
+ "signer": true;
767
+ },
768
+ {
769
+ "name": "userProperties";
770
+ "docs": [
771
+ "User properties account to be created"
772
+ ];
773
+ "writable": true;
774
+ "pda": {
775
+ "seeds": [
776
+ {
777
+ "kind": "const";
778
+ "value": [
779
+ 117,
780
+ 115,
781
+ 101,
782
+ 114,
783
+ 95,
784
+ 112,
785
+ 114,
786
+ 111,
787
+ 112,
788
+ 101,
789
+ 114,
790
+ 116,
791
+ 105,
792
+ 101,
793
+ 115
794
+ ];
795
+ },
796
+ {
797
+ "kind": "account";
798
+ "path": "user";
799
+ }
800
+ ];
801
+ };
802
+ },
803
+ {
804
+ "name": "systemProgram";
805
+ "docs": [
806
+ "System program"
807
+ ];
808
+ "address": "11111111111111111111111111111111";
809
+ }
810
+ ];
811
+ "args": [];
812
+ },
813
+ {
814
+ "name": "redeemDeal";
815
+ "docs": [
816
+ "User redeems their referrer's deal, copying the multiplier"
817
+ ];
818
+ "discriminator": [
819
+ 28,
820
+ 120,
821
+ 114,
822
+ 30,
823
+ 76,
824
+ 241,
825
+ 161,
826
+ 235
827
+ ];
828
+ "accounts": [
829
+ {
830
+ "name": "user";
831
+ "docs": [
832
+ "The user redeeming the deal"
833
+ ];
834
+ "signer": true;
835
+ },
836
+ {
837
+ "name": "userProperties";
838
+ "docs": [
839
+ "User properties account"
840
+ ];
841
+ "writable": true;
842
+ "pda": {
843
+ "seeds": [
844
+ {
845
+ "kind": "const";
846
+ "value": [
847
+ 117,
848
+ 115,
849
+ 101,
850
+ 114,
851
+ 95,
852
+ 112,
853
+ 114,
854
+ 111,
855
+ 112,
856
+ 101,
857
+ 114,
858
+ 116,
859
+ 105,
860
+ 101,
861
+ 115
862
+ ];
863
+ },
864
+ {
865
+ "kind": "account";
866
+ "path": "user";
867
+ }
868
+ ];
869
+ };
870
+ },
871
+ {
872
+ "name": "deal";
873
+ "docs": [
874
+ "The deal to redeem (must belong to user's referrer)"
875
+ ];
876
+ "writable": true;
877
+ "pda": {
878
+ "seeds": [
879
+ {
880
+ "kind": "const";
881
+ "value": [
882
+ 100,
883
+ 101,
884
+ 97,
885
+ 108
886
+ ];
887
+ },
888
+ {
889
+ "kind": "account";
890
+ "path": "deal.owner";
891
+ "account": "deal";
892
+ }
893
+ ];
894
+ };
895
+ }
896
+ ];
897
+ "args": [];
898
+ },
899
+ {
900
+ "name": "setCashbackMode";
901
+ "docs": [
902
+ "User-callable instruction to activate cashback spending mode",
903
+ "Applies volume-based multiplier to credits"
904
+ ];
905
+ "discriminator": [
906
+ 172,
907
+ 30,
908
+ 26,
909
+ 209,
910
+ 48,
911
+ 185,
912
+ 117,
913
+ 148
914
+ ];
915
+ "accounts": [
916
+ {
917
+ "name": "user";
918
+ "signer": true;
919
+ },
920
+ {
921
+ "name": "userProperties";
922
+ "writable": true;
923
+ "pda": {
924
+ "seeds": [
925
+ {
926
+ "kind": "const";
927
+ "value": [
928
+ 117,
929
+ 115,
930
+ 101,
931
+ 114,
932
+ 95,
933
+ 112,
934
+ 114,
935
+ 111,
936
+ 112,
937
+ 101,
938
+ 114,
939
+ 116,
940
+ 105,
941
+ 101,
942
+ 115
943
+ ];
944
+ },
945
+ {
946
+ "kind": "account";
947
+ "path": "user";
948
+ }
949
+ ];
950
+ };
951
+ },
952
+ {
953
+ "name": "cashbackConfig";
954
+ "pda": {
955
+ "seeds": [
956
+ {
957
+ "kind": "const";
958
+ "value": [
959
+ 99,
960
+ 97,
961
+ 115,
962
+ 104,
963
+ 98,
964
+ 97,
965
+ 99,
966
+ 107,
967
+ 95,
968
+ 99,
969
+ 111,
970
+ 110,
971
+ 102,
972
+ 105,
973
+ 103
974
+ ];
975
+ }
976
+ ];
977
+ };
978
+ }
979
+ ];
980
+ "args": [];
981
+ },
982
+ {
983
+ "name": "setReferrer";
984
+ "docs": [
985
+ "User sets their referrer (one-time only)"
986
+ ];
987
+ "discriminator": [
988
+ 115,
989
+ 251,
990
+ 55,
991
+ 0,
992
+ 166,
993
+ 189,
994
+ 25,
995
+ 74
996
+ ];
997
+ "accounts": [
998
+ {
999
+ "name": "user";
1000
+ "signer": true;
1001
+ },
1002
+ {
1003
+ "name": "userProperties";
1004
+ "writable": true;
1005
+ "pda": {
1006
+ "seeds": [
1007
+ {
1008
+ "kind": "const";
1009
+ "value": [
1010
+ 117,
1011
+ 115,
1012
+ 101,
1013
+ 114,
1014
+ 95,
1015
+ 112,
1016
+ 114,
1017
+ 111,
1018
+ 112,
1019
+ 101,
1020
+ 114,
1021
+ 116,
1022
+ 105,
1023
+ 101,
1024
+ 115
1025
+ ];
1026
+ },
1027
+ {
1028
+ "kind": "account";
1029
+ "path": "user";
1030
+ }
1031
+ ];
1032
+ };
1033
+ }
1034
+ ];
1035
+ "args": [
1036
+ {
1037
+ "name": "referrer";
1038
+ "type": "pubkey";
1039
+ }
1040
+ ];
1041
+ },
1042
+ {
1043
+ "name": "spendCashback";
1044
+ "docs": [
1045
+ "Spend cashback credits to offset protocol fees (called via CPI)",
1046
+ "Returns the amount actually spent"
1047
+ ];
1048
+ "discriminator": [
1049
+ 59,
1050
+ 143,
1051
+ 28,
1052
+ 13,
1053
+ 254,
1054
+ 250,
1055
+ 233,
1056
+ 234
1057
+ ];
1058
+ "accounts": [
1059
+ {
1060
+ "name": "cpiAuthority";
1061
+ "docs": [
1062
+ "CPI authority PDA from the calling program (must be liquid or liquid-swap).",
1063
+ "Only the owning program can produce a valid signature for its PDA."
1064
+ ];
1065
+ "signer": true;
1066
+ },
1067
+ {
1068
+ "name": "user";
1069
+ "docs": [
1070
+ "The user whose cashback is being spent"
1071
+ ];
1072
+ },
1073
+ {
1074
+ "name": "userProperties";
1075
+ "writable": true;
1076
+ "pda": {
1077
+ "seeds": [
1078
+ {
1079
+ "kind": "const";
1080
+ "value": [
1081
+ 117,
1082
+ 115,
1083
+ 101,
1084
+ 114,
1085
+ 95,
1086
+ 112,
1087
+ 114,
1088
+ 111,
1089
+ 112,
1090
+ 101,
1091
+ 114,
1092
+ 116,
1093
+ 105,
1094
+ 101,
1095
+ 115
1096
+ ];
1097
+ },
1098
+ {
1099
+ "kind": "account";
1100
+ "path": "user";
1101
+ }
1102
+ ];
1103
+ };
1104
+ }
1105
+ ];
1106
+ "args": [
1107
+ {
1108
+ "name": "amount";
1109
+ "type": "u64";
1110
+ }
1111
+ ];
1112
+ "returns": {
1113
+ "defined": {
1114
+ "name": "spendCashbackResult";
1115
+ };
1116
+ };
1117
+ },
1118
+ {
1119
+ "name": "takeSnapshot";
1120
+ "docs": [
1121
+ "Admin takes a snapshot of a user's volume since last snapshot"
1122
+ ];
1123
+ "discriminator": [
1124
+ 183,
1125
+ 210,
1126
+ 251,
1127
+ 68,
1128
+ 140,
1129
+ 132,
1130
+ 191,
1131
+ 140
1132
+ ];
1133
+ "accounts": [
1134
+ {
1135
+ "name": "payer";
1136
+ "docs": [
1137
+ "Payer for snapshot account creation"
1138
+ ];
1139
+ "writable": true;
1140
+ "signer": true;
1141
+ },
1142
+ {
1143
+ "name": "admin";
1144
+ "docs": [
1145
+ "Admin authority"
1146
+ ];
1147
+ "signer": true;
1148
+ },
1149
+ {
1150
+ "name": "userProperties";
1151
+ "docs": [
1152
+ "User properties account"
1153
+ ];
1154
+ "writable": true;
1155
+ "pda": {
1156
+ "seeds": [
1157
+ {
1158
+ "kind": "const";
1159
+ "value": [
1160
+ 117,
1161
+ 115,
1162
+ 101,
1163
+ 114,
1164
+ 95,
1165
+ 112,
1166
+ 114,
1167
+ 111,
1168
+ 112,
1169
+ 101,
1170
+ 114,
1171
+ 116,
1172
+ 105,
1173
+ 101,
1174
+ 115
1175
+ ];
1176
+ },
1177
+ {
1178
+ "kind": "account";
1179
+ "path": "user";
1180
+ }
1181
+ ];
1182
+ };
1183
+ },
1184
+ {
1185
+ "name": "userSnapshot";
1186
+ "docs": [
1187
+ "Snapshot account to create"
1188
+ ];
1189
+ "writable": true;
1190
+ "pda": {
1191
+ "seeds": [
1192
+ {
1193
+ "kind": "const";
1194
+ "value": [
1195
+ 117,
1196
+ 115,
1197
+ 101,
1198
+ 114,
1199
+ 95,
1200
+ 115,
1201
+ 110,
1202
+ 97,
1203
+ 112,
1204
+ 115,
1205
+ 104,
1206
+ 111,
1207
+ 116
1208
+ ];
1209
+ },
1210
+ {
1211
+ "kind": "account";
1212
+ "path": "user";
1213
+ },
1214
+ {
1215
+ "kind": "account";
1216
+ "path": "user_properties.snapshot_count";
1217
+ "account": "userProperties";
1218
+ }
1219
+ ];
1220
+ };
1221
+ },
1222
+ {
1223
+ "name": "cashbackConfig";
1224
+ "docs": [
1225
+ "Cashback configuration for admin auth check"
1226
+ ];
1227
+ "pda": {
1228
+ "seeds": [
1229
+ {
1230
+ "kind": "const";
1231
+ "value": [
1232
+ 99,
1233
+ 97,
1234
+ 115,
1235
+ 104,
1236
+ 98,
1237
+ 97,
1238
+ 99,
1239
+ 107,
1240
+ 95,
1241
+ 99,
1242
+ 111,
1243
+ 110,
1244
+ 102,
1245
+ 105,
1246
+ 103
1247
+ ];
1248
+ }
1249
+ ];
1250
+ };
1251
+ },
1252
+ {
1253
+ "name": "user";
1254
+ "docs": [
1255
+ "The user whose snapshot is being taken"
1256
+ ];
1257
+ },
1258
+ {
1259
+ "name": "systemProgram";
1260
+ "address": "11111111111111111111111111111111";
1261
+ }
1262
+ ];
1263
+ "args": [];
1264
+ },
1265
+ {
1266
+ "name": "transferAdmin";
1267
+ "docs": [
1268
+ "Propose transfer of admin authority to a new pubkey (two-step)"
1269
+ ];
1270
+ "discriminator": [
1271
+ 42,
1272
+ 242,
1273
+ 66,
1274
+ 106,
1275
+ 228,
1276
+ 10,
1277
+ 111,
1278
+ 156
1279
+ ];
1280
+ "accounts": [
1281
+ {
1282
+ "name": "admin";
1283
+ "docs": [
1284
+ "Current admin authority"
1285
+ ];
1286
+ "signer": true;
1287
+ },
1288
+ {
1289
+ "name": "cashbackConfig";
1290
+ "docs": [
1291
+ "Cashback configuration holding the admin authority"
1292
+ ];
1293
+ "writable": true;
1294
+ "pda": {
1295
+ "seeds": [
1296
+ {
1297
+ "kind": "const";
1298
+ "value": [
1299
+ 99,
1300
+ 97,
1301
+ 115,
1302
+ 104,
1303
+ 98,
1304
+ 97,
1305
+ 99,
1306
+ 107,
1307
+ 95,
1308
+ 99,
1309
+ 111,
1310
+ 110,
1311
+ 102,
1312
+ 105,
1313
+ 103
1314
+ ];
1315
+ }
1316
+ ];
1317
+ };
1318
+ }
1319
+ ];
1320
+ "args": [
1321
+ {
1322
+ "name": "newAdmin";
1323
+ "type": "pubkey";
1324
+ }
1325
+ ];
1326
+ },
1327
+ {
1328
+ "name": "updateAmmVolumes";
1329
+ "docs": [
1330
+ "Update volume accumulators for AMM trades.",
1331
+ "Called via CPI from the liquid-swap program."
1332
+ ];
1333
+ "discriminator": [
1334
+ 155,
1335
+ 173,
1336
+ 47,
1337
+ 177,
1338
+ 151,
1339
+ 135,
1340
+ 240,
1341
+ 27
1342
+ ];
1343
+ "accounts": [
1344
+ {
1345
+ "name": "payer";
1346
+ "writable": true;
1347
+ "signer": true;
1348
+ },
1349
+ {
1350
+ "name": "cpiAuthority";
1351
+ "docs": [
1352
+ "CPI authority PDA from the liquid-swap program.",
1353
+ "Only the liquid-swap program can sign for this PDA."
1354
+ ];
1355
+ "signer": true;
1356
+ "pda": {
1357
+ "seeds": [
1358
+ {
1359
+ "kind": "const";
1360
+ "value": [
1361
+ 99,
1362
+ 112,
1363
+ 105,
1364
+ 95,
1365
+ 97,
1366
+ 117,
1367
+ 116,
1368
+ 104,
1369
+ 111,
1370
+ 114,
1371
+ 105,
1372
+ 116,
1373
+ 121
1374
+ ];
1375
+ }
1376
+ ];
1377
+ "program": {
1378
+ "kind": "const";
1379
+ "value": [
1380
+ 6,
1381
+ 165,
1382
+ 60,
1383
+ 202,
1384
+ 204,
1385
+ 17,
1386
+ 4,
1387
+ 104,
1388
+ 249,
1389
+ 125,
1390
+ 214,
1391
+ 143,
1392
+ 2,
1393
+ 99,
1394
+ 165,
1395
+ 89,
1396
+ 177,
1397
+ 218,
1398
+ 121,
1399
+ 12,
1400
+ 23,
1401
+ 196,
1402
+ 207,
1403
+ 105,
1404
+ 96,
1405
+ 207,
1406
+ 2,
1407
+ 136,
1408
+ 202,
1409
+ 45,
1410
+ 209,
1411
+ 225
1412
+ ];
1413
+ };
1414
+ };
1415
+ },
1416
+ {
1417
+ "name": "userProperties";
1418
+ "writable": true;
1419
+ "pda": {
1420
+ "seeds": [
1421
+ {
1422
+ "kind": "const";
1423
+ "value": [
1424
+ 117,
1425
+ 115,
1426
+ 101,
1427
+ 114,
1428
+ 95,
1429
+ 112,
1430
+ 114,
1431
+ 111,
1432
+ 112,
1433
+ 101,
1434
+ 114,
1435
+ 116,
1436
+ 105,
1437
+ 101,
1438
+ 115
1439
+ ];
1440
+ },
1441
+ {
1442
+ "kind": "account";
1443
+ "path": "user";
1444
+ }
1445
+ ];
1446
+ };
1447
+ },
1448
+ {
1449
+ "name": "globalAmmVolume";
1450
+ "writable": true;
1451
+ "pda": {
1452
+ "seeds": [
1453
+ {
1454
+ "kind": "const";
1455
+ "value": [
1456
+ 103,
1457
+ 108,
1458
+ 111,
1459
+ 98,
1460
+ 97,
1461
+ 108,
1462
+ 95,
1463
+ 97,
1464
+ 109,
1465
+ 109,
1466
+ 95,
1467
+ 118,
1468
+ 111,
1469
+ 108,
1470
+ 117,
1471
+ 109,
1472
+ 101
1473
+ ];
1474
+ }
1475
+ ];
1476
+ };
1477
+ },
1478
+ {
1479
+ "name": "tokenVolume";
1480
+ "writable": true;
1481
+ "pda": {
1482
+ "seeds": [
1483
+ {
1484
+ "kind": "const";
1485
+ "value": [
1486
+ 116,
1487
+ 111,
1488
+ 107,
1489
+ 101,
1490
+ 110,
1491
+ 95,
1492
+ 118,
1493
+ 111,
1494
+ 108,
1495
+ 117,
1496
+ 109,
1497
+ 101
1498
+ ];
1499
+ },
1500
+ {
1501
+ "kind": "account";
1502
+ "path": "mint";
1503
+ }
1504
+ ];
1505
+ };
1506
+ },
1507
+ {
1508
+ "name": "user";
1509
+ "docs": [
1510
+ "The user whose volumes are being updated"
1511
+ ];
1512
+ },
1513
+ {
1514
+ "name": "mint";
1515
+ "docs": [
1516
+ "The token mint for token-specific volume tracking"
1517
+ ];
1518
+ },
1519
+ {
1520
+ "name": "systemProgram";
1521
+ "address": "11111111111111111111111111111111";
1522
+ }
1523
+ ];
1524
+ "args": [
1525
+ {
1526
+ "name": "solAmount";
1527
+ "type": "u64";
1528
+ },
1529
+ {
1530
+ "name": "tokenAmount";
1531
+ "type": "u64";
1532
+ }
1533
+ ];
1534
+ },
1535
+ {
1536
+ "name": "updateConfig";
1537
+ "docs": [
1538
+ "Admin updates cashback configuration"
1539
+ ];
1540
+ "discriminator": [
1541
+ 29,
1542
+ 158,
1543
+ 252,
1544
+ 191,
1545
+ 10,
1546
+ 83,
1547
+ 219,
1548
+ 99
1549
+ ];
1550
+ "accounts": [
1551
+ {
1552
+ "name": "admin";
1553
+ "docs": [
1554
+ "Admin authority (must match stored admin_authority)"
1555
+ ];
1556
+ "signer": true;
1557
+ },
1558
+ {
1559
+ "name": "cashbackConfig";
1560
+ "docs": [
1561
+ "Cashback configuration to update"
1562
+ ];
1563
+ "writable": true;
1564
+ "pda": {
1565
+ "seeds": [
1566
+ {
1567
+ "kind": "const";
1568
+ "value": [
1569
+ 99,
1570
+ 97,
1571
+ 115,
1572
+ 104,
1573
+ 98,
1574
+ 97,
1575
+ 99,
1576
+ 107,
1577
+ 95,
1578
+ 99,
1579
+ 111,
1580
+ 110,
1581
+ 102,
1582
+ 105,
1583
+ 103
1584
+ ];
1585
+ }
1586
+ ];
1587
+ };
1588
+ }
1589
+ ];
1590
+ "args": [
1591
+ {
1592
+ "name": "args";
1593
+ "type": {
1594
+ "defined": {
1595
+ "name": "updateConfigArgs";
1596
+ };
1597
+ };
1598
+ }
1599
+ ];
1600
+ },
1601
+ {
1602
+ "name": "updateCurveVolumes";
1603
+ "docs": [
1604
+ "Update volume accumulators for bonding curve trades.",
1605
+ "Called via CPI from the liquid program."
1606
+ ];
1607
+ "discriminator": [
1608
+ 119,
1609
+ 220,
1610
+ 25,
1611
+ 188,
1612
+ 176,
1613
+ 213,
1614
+ 36,
1615
+ 73
1616
+ ];
1617
+ "accounts": [
1618
+ {
1619
+ "name": "payer";
1620
+ "writable": true;
1621
+ "signer": true;
1622
+ },
1623
+ {
1624
+ "name": "cpiAuthority";
1625
+ "docs": [
1626
+ "CPI authority PDA from the liquid program.",
1627
+ "Only the liquid program can sign for this PDA."
1628
+ ];
1629
+ "signer": true;
1630
+ "pda": {
1631
+ "seeds": [
1632
+ {
1633
+ "kind": "const";
1634
+ "value": [
1635
+ 99,
1636
+ 112,
1637
+ 105,
1638
+ 95,
1639
+ 97,
1640
+ 117,
1641
+ 116,
1642
+ 104,
1643
+ 111,
1644
+ 114,
1645
+ 105,
1646
+ 116,
1647
+ 121
1648
+ ];
1649
+ }
1650
+ ];
1651
+ "program": {
1652
+ "kind": "const";
1653
+ "value": [
1654
+ 5,
1655
+ 13,
1656
+ 89,
1657
+ 2,
1658
+ 127,
1659
+ 227,
1660
+ 146,
1661
+ 196,
1662
+ 34,
1663
+ 13,
1664
+ 249,
1665
+ 181,
1666
+ 167,
1667
+ 33,
1668
+ 126,
1669
+ 56,
1670
+ 182,
1671
+ 105,
1672
+ 148,
1673
+ 219,
1674
+ 33,
1675
+ 200,
1676
+ 131,
1677
+ 117,
1678
+ 84,
1679
+ 120,
1680
+ 212,
1681
+ 68,
1682
+ 166,
1683
+ 219,
1684
+ 24,
1685
+ 119
1686
+ ];
1687
+ };
1688
+ };
1689
+ },
1690
+ {
1691
+ "name": "userProperties";
1692
+ "writable": true;
1693
+ "pda": {
1694
+ "seeds": [
1695
+ {
1696
+ "kind": "const";
1697
+ "value": [
1698
+ 117,
1699
+ 115,
1700
+ 101,
1701
+ 114,
1702
+ 95,
1703
+ 112,
1704
+ 114,
1705
+ 111,
1706
+ 112,
1707
+ 101,
1708
+ 114,
1709
+ 116,
1710
+ 105,
1711
+ 101,
1712
+ 115
1713
+ ];
1714
+ },
1715
+ {
1716
+ "kind": "account";
1717
+ "path": "user";
1718
+ }
1719
+ ];
1720
+ };
1721
+ },
1722
+ {
1723
+ "name": "globalCurveVolume";
1724
+ "writable": true;
1725
+ "pda": {
1726
+ "seeds": [
1727
+ {
1728
+ "kind": "const";
1729
+ "value": [
1730
+ 103,
1731
+ 108,
1732
+ 111,
1733
+ 98,
1734
+ 97,
1735
+ 108,
1736
+ 95,
1737
+ 99,
1738
+ 117,
1739
+ 114,
1740
+ 118,
1741
+ 101,
1742
+ 95,
1743
+ 118,
1744
+ 111,
1745
+ 108,
1746
+ 117,
1747
+ 109,
1748
+ 101
1749
+ ];
1750
+ }
1751
+ ];
1752
+ };
1753
+ },
1754
+ {
1755
+ "name": "tokenVolume";
1756
+ "writable": true;
1757
+ "pda": {
1758
+ "seeds": [
1759
+ {
1760
+ "kind": "const";
1761
+ "value": [
1762
+ 116,
1763
+ 111,
1764
+ 107,
1765
+ 101,
1766
+ 110,
1767
+ 95,
1768
+ 118,
1769
+ 111,
1770
+ 108,
1771
+ 117,
1772
+ 109,
1773
+ 101
1774
+ ];
1775
+ },
1776
+ {
1777
+ "kind": "account";
1778
+ "path": "mint";
1779
+ }
1780
+ ];
1781
+ };
1782
+ },
1783
+ {
1784
+ "name": "user";
1785
+ "docs": [
1786
+ "The user whose volumes are being updated"
1787
+ ];
1788
+ },
1789
+ {
1790
+ "name": "mint";
1791
+ "docs": [
1792
+ "The token mint for token-specific volume tracking"
1793
+ ];
1794
+ },
1795
+ {
1796
+ "name": "systemProgram";
1797
+ "address": "11111111111111111111111111111111";
1798
+ }
1799
+ ];
1800
+ "args": [
1801
+ {
1802
+ "name": "solAmount";
1803
+ "type": "u64";
1804
+ },
1805
+ {
1806
+ "name": "tokenAmount";
1807
+ "type": "u64";
1808
+ }
1809
+ ];
1810
+ },
1811
+ {
1812
+ "name": "updateDeal";
1813
+ "docs": [
1814
+ "Admin updates a deal's cashback multiplier"
1815
+ ];
1816
+ "discriminator": [
1817
+ 244,
1818
+ 195,
1819
+ 62,
1820
+ 95,
1821
+ 133,
1822
+ 119,
1823
+ 244,
1824
+ 59
1825
+ ];
1826
+ "accounts": [
1827
+ {
1828
+ "name": "admin";
1829
+ "docs": [
1830
+ "Admin authority"
1831
+ ];
1832
+ "signer": true;
1833
+ },
1834
+ {
1835
+ "name": "deal";
1836
+ "docs": [
1837
+ "Deal account to update"
1838
+ ];
1839
+ "writable": true;
1840
+ "pda": {
1841
+ "seeds": [
1842
+ {
1843
+ "kind": "const";
1844
+ "value": [
1845
+ 100,
1846
+ 101,
1847
+ 97,
1848
+ 108
1849
+ ];
1850
+ },
1851
+ {
1852
+ "kind": "account";
1853
+ "path": "deal.owner";
1854
+ "account": "deal";
1855
+ }
1856
+ ];
1857
+ };
1858
+ },
1859
+ {
1860
+ "name": "cashbackConfig";
1861
+ "docs": [
1862
+ "Cashback configuration for admin auth check"
1863
+ ];
1864
+ "pda": {
1865
+ "seeds": [
1866
+ {
1867
+ "kind": "const";
1868
+ "value": [
1869
+ 99,
1870
+ 97,
1871
+ 115,
1872
+ 104,
1873
+ 98,
1874
+ 97,
1875
+ 99,
1876
+ 107,
1877
+ 95,
1878
+ 99,
1879
+ 111,
1880
+ 110,
1881
+ 102,
1882
+ 105,
1883
+ 103
1884
+ ];
1885
+ }
1886
+ ];
1887
+ };
1888
+ }
1889
+ ];
1890
+ "args": [
1891
+ {
1892
+ "name": "newCashbackMultiplierBps";
1893
+ "type": "u16";
1894
+ }
1895
+ ];
1896
+ }
1897
+ ];
1898
+ "accounts": [
1899
+ {
1900
+ "name": "cashbackConfiguration";
1901
+ "discriminator": [
1902
+ 85,
1903
+ 221,
1904
+ 143,
1905
+ 214,
1906
+ 41,
1907
+ 44,
1908
+ 50,
1909
+ 22
1910
+ ];
1911
+ },
1912
+ {
1913
+ "name": "deal";
1914
+ "discriminator": [
1915
+ 125,
1916
+ 223,
1917
+ 160,
1918
+ 234,
1919
+ 71,
1920
+ 162,
1921
+ 182,
1922
+ 219
1923
+ ];
1924
+ },
1925
+ {
1926
+ "name": "globalAmmVolumeAccumulator";
1927
+ "discriminator": [
1928
+ 248,
1929
+ 251,
1930
+ 192,
1931
+ 145,
1932
+ 91,
1933
+ 181,
1934
+ 97,
1935
+ 143
1936
+ ];
1937
+ },
1938
+ {
1939
+ "name": "globalCurveVolumeAccumulator";
1940
+ "discriminator": [
1941
+ 50,
1942
+ 23,
1943
+ 212,
1944
+ 197,
1945
+ 184,
1946
+ 191,
1947
+ 247,
1948
+ 112
1949
+ ];
1950
+ },
1951
+ {
1952
+ "name": "tokenVolumeAccumulator";
1953
+ "discriminator": [
1954
+ 255,
1955
+ 176,
1956
+ 53,
1957
+ 212,
1958
+ 121,
1959
+ 72,
1960
+ 64,
1961
+ 57
1962
+ ];
1963
+ },
1964
+ {
1965
+ "name": "userProperties";
1966
+ "discriminator": [
1967
+ 131,
1968
+ 46,
1969
+ 56,
1970
+ 35,
1971
+ 119,
1972
+ 24,
1973
+ 76,
1974
+ 66
1975
+ ];
1976
+ },
1977
+ {
1978
+ "name": "userSnapshot";
1979
+ "discriminator": [
1980
+ 231,
1981
+ 197,
1982
+ 40,
1983
+ 190,
1984
+ 124,
1985
+ 25,
1986
+ 79,
1987
+ 69
1988
+ ];
1989
+ }
1990
+ ];
1991
+ "events": [
1992
+ {
1993
+ "name": "cashbackEarned";
1994
+ "discriminator": [
1995
+ 155,
1996
+ 249,
1997
+ 239,
1998
+ 242,
1999
+ 185,
2000
+ 127,
2001
+ 22,
2002
+ 119
2003
+ ];
2004
+ },
2005
+ {
2006
+ "name": "cashbackModeActivated";
2007
+ "discriminator": [
2008
+ 13,
2009
+ 108,
2010
+ 47,
2011
+ 10,
2012
+ 122,
2013
+ 178,
2014
+ 164,
2015
+ 85
2016
+ ];
2017
+ },
2018
+ {
2019
+ "name": "cashbackSpent";
2020
+ "discriminator": [
2021
+ 156,
2022
+ 24,
2023
+ 238,
2024
+ 167,
2025
+ 220,
2026
+ 210,
2027
+ 21,
2028
+ 20
2029
+ ];
2030
+ },
2031
+ {
2032
+ "name": "dealClosed";
2033
+ "discriminator": [
2034
+ 38,
2035
+ 112,
2036
+ 214,
2037
+ 184,
2038
+ 107,
2039
+ 76,
2040
+ 191,
2041
+ 175
2042
+ ];
2043
+ },
2044
+ {
2045
+ "name": "dealCreated";
2046
+ "discriminator": [
2047
+ 27,
2048
+ 18,
2049
+ 50,
2050
+ 52,
2051
+ 104,
2052
+ 175,
2053
+ 46,
2054
+ 101
2055
+ ];
2056
+ },
2057
+ {
2058
+ "name": "dealRedeemed";
2059
+ "discriminator": [
2060
+ 35,
2061
+ 142,
2062
+ 162,
2063
+ 52,
2064
+ 90,
2065
+ 78,
2066
+ 73,
2067
+ 244
2068
+ ];
2069
+ },
2070
+ {
2071
+ "name": "dealUpdated";
2072
+ "discriminator": [
2073
+ 70,
2074
+ 193,
2075
+ 60,
2076
+ 16,
2077
+ 193,
2078
+ 180,
2079
+ 47,
2080
+ 185
2081
+ ];
2082
+ },
2083
+ {
2084
+ "name": "referrerSet";
2085
+ "discriminator": [
2086
+ 65,
2087
+ 187,
2088
+ 29,
2089
+ 205,
2090
+ 116,
2091
+ 229,
2092
+ 69,
2093
+ 154
2094
+ ];
2095
+ },
2096
+ {
2097
+ "name": "snapshotTaken";
2098
+ "discriminator": [
2099
+ 113,
2100
+ 204,
2101
+ 151,
2102
+ 224,
2103
+ 2,
2104
+ 128,
2105
+ 237,
2106
+ 207
2107
+ ];
2108
+ },
2109
+ {
2110
+ "name": "userUpdatedByAdmin";
2111
+ "discriminator": [
2112
+ 126,
2113
+ 237,
2114
+ 223,
2115
+ 192,
2116
+ 136,
2117
+ 250,
2118
+ 205,
2119
+ 15
2120
+ ];
2121
+ }
2122
+ ];
2123
+ "errors": [
2124
+ {
2125
+ "code": 6000;
2126
+ "name": "arithmeticOverflow";
2127
+ "msg": "Arithmetic operation resulted in overflow";
2128
+ },
2129
+ {
2130
+ "code": 6001;
2131
+ "name": "alreadySpending";
2132
+ "msg": "User is already in spending mode";
2133
+ },
2134
+ {
2135
+ "code": 6002;
2136
+ "name": "noCashbackCredits";
2137
+ "msg": "User has no cashback credits to activate";
2138
+ },
2139
+ {
2140
+ "code": 6003;
2141
+ "name": "invalidCashbackConfiguration";
2142
+ "msg": "Invalid cashback configuration: ranges must be contiguous and sum to proper coverage";
2143
+ },
2144
+ {
2145
+ "code": 6004;
2146
+ "name": "tooManyCashbackRanges";
2147
+ "msg": "Too many cashback ranges (maximum 10)";
2148
+ },
2149
+ {
2150
+ "code": 6005;
2151
+ "name": "referrerCannotBeSelf";
2152
+ "msg": "Referrer cannot be the user themselves";
2153
+ },
2154
+ {
2155
+ "code": 6006;
2156
+ "name": "referrerAlreadySet";
2157
+ "msg": "Referrer has already been set";
2158
+ },
2159
+ {
2160
+ "code": 6007;
2161
+ "name": "unauthorizedCaller";
2162
+ "msg": "Caller is not an authorized program (must be liquid or liquid-swap)";
2163
+ },
2164
+ {
2165
+ "code": 6008;
2166
+ "name": "referrerNotSet";
2167
+ "msg": "User does not have a referrer set";
2168
+ },
2169
+ {
2170
+ "code": 6009;
2171
+ "name": "dealReferrerMismatch";
2172
+ "msg": "Deal does not belong to the user's referrer";
2173
+ },
2174
+ {
2175
+ "code": 6010;
2176
+ "name": "invalidMultiplier";
2177
+ "msg": "Invalid cashback multiplier value";
2178
+ },
2179
+ {
2180
+ "code": 6011;
2181
+ "name": "invalidAdminAuthority";
2182
+ "msg": "The provided admin authority is invalid";
2183
+ },
2184
+ {
2185
+ "code": 6012;
2186
+ "name": "noPendingAdminTransfer";
2187
+ "msg": "No pending admin transfer exists";
2188
+ },
2189
+ {
2190
+ "code": 6013;
2191
+ "name": "notPendingAdmin";
2192
+ "msg": "Caller is not the pending admin";
2193
+ }
2194
+ ];
2195
+ "types": [
2196
+ {
2197
+ "name": "adminUpdateUserArgs";
2198
+ "type": {
2199
+ "kind": "struct";
2200
+ "fields": [
2201
+ {
2202
+ "name": "newReferrer";
2203
+ "docs": [
2204
+ "New referrer pubkey (if changing). Clears deal + resets multiplier."
2205
+ ];
2206
+ "type": {
2207
+ "option": "pubkey";
2208
+ };
2209
+ },
2210
+ {
2211
+ "name": "newCashbackMultiplierBps";
2212
+ "docs": [
2213
+ "New cashback multiplier in BPS (if overriding). Requires referrer to exist."
2214
+ ];
2215
+ "type": {
2216
+ "option": "u16";
2217
+ };
2218
+ }
2219
+ ];
2220
+ };
2221
+ },
2222
+ {
2223
+ "name": "cashbackConfiguration";
2224
+ "docs": [
2225
+ "Global cashback configuration",
2226
+ "",
2227
+ "PDA: [b\"cashback_config\"]"
2228
+ ];
2229
+ "type": {
2230
+ "kind": "struct";
2231
+ "fields": [
2232
+ {
2233
+ "name": "adminAuthority";
2234
+ "docs": [
2235
+ "Admin authority who can update configuration"
2236
+ ];
2237
+ "type": "pubkey";
2238
+ },
2239
+ {
2240
+ "name": "ranges";
2241
+ "docs": [
2242
+ "Volume-based multiplier ranges (use len() for active count)"
2243
+ ];
2244
+ "type": {
2245
+ "vec": {
2246
+ "defined": {
2247
+ "name": "cashbackRange";
2248
+ };
2249
+ };
2250
+ };
2251
+ },
2252
+ {
2253
+ "name": "traderCashbackBasisPoints";
2254
+ "docs": [
2255
+ "Base trader cashback rate in basis points"
2256
+ ];
2257
+ "type": "u16";
2258
+ },
2259
+ {
2260
+ "name": "pendingAdmin";
2261
+ "docs": [
2262
+ "Pending admin authority for two-step transfer. None if no transfer is in progress."
2263
+ ];
2264
+ "type": {
2265
+ "option": "pubkey";
2266
+ };
2267
+ }
2268
+ ];
2269
+ };
2270
+ },
2271
+ {
2272
+ "name": "cashbackEarned";
2273
+ "docs": [
2274
+ "Event emitted when a user earns cashback credits."
2275
+ ];
2276
+ "type": {
2277
+ "kind": "struct";
2278
+ "fields": [
2279
+ {
2280
+ "name": "user";
2281
+ "type": "pubkey";
2282
+ },
2283
+ {
2284
+ "name": "amount";
2285
+ "type": "u64";
2286
+ },
2287
+ {
2288
+ "name": "newBalance";
2289
+ "type": "u64";
2290
+ },
2291
+ {
2292
+ "name": "timestamp";
2293
+ "type": "i64";
2294
+ }
2295
+ ];
2296
+ };
2297
+ },
2298
+ {
2299
+ "name": "cashbackModeActivated";
2300
+ "docs": [
2301
+ "Event emitted when a user activates cashback spending mode."
2302
+ ];
2303
+ "type": {
2304
+ "kind": "struct";
2305
+ "fields": [
2306
+ {
2307
+ "name": "user";
2308
+ "type": "pubkey";
2309
+ },
2310
+ {
2311
+ "name": "multiplierBps";
2312
+ "type": "u16";
2313
+ },
2314
+ {
2315
+ "name": "timestamp";
2316
+ "type": "i64";
2317
+ }
2318
+ ];
2319
+ };
2320
+ },
2321
+ {
2322
+ "name": "cashbackRange";
2323
+ "docs": [
2324
+ "Cashback range defining volume-based multiplier tiers"
2325
+ ];
2326
+ "type": {
2327
+ "kind": "struct";
2328
+ "fields": [
2329
+ {
2330
+ "name": "rangeStartInclusive";
2331
+ "docs": [
2332
+ "Lower bound of volume range (inclusive)"
2333
+ ];
2334
+ "type": "u64";
2335
+ },
2336
+ {
2337
+ "name": "rangeEndExclusive";
2338
+ "docs": [
2339
+ "Upper bound of volume range (exclusive)"
2340
+ ];
2341
+ "type": "u64";
2342
+ },
2343
+ {
2344
+ "name": "multiplierBasisPoints";
2345
+ "docs": [
2346
+ "Multiplier in basis points (10000 = 1x, 20000 = 2x)"
2347
+ ];
2348
+ "type": "u16";
2349
+ }
2350
+ ];
2351
+ };
2352
+ },
2353
+ {
2354
+ "name": "cashbackSpent";
2355
+ "docs": [
2356
+ "Event emitted when a user spends cashback credits."
2357
+ ];
2358
+ "type": {
2359
+ "kind": "struct";
2360
+ "fields": [
2361
+ {
2362
+ "name": "user";
2363
+ "type": "pubkey";
2364
+ },
2365
+ {
2366
+ "name": "amount";
2367
+ "type": "u64";
2368
+ },
2369
+ {
2370
+ "name": "remainingBalance";
2371
+ "type": "u64";
2372
+ },
2373
+ {
2374
+ "name": "timestamp";
2375
+ "type": "i64";
2376
+ }
2377
+ ];
2378
+ };
2379
+ },
2380
+ {
2381
+ "name": "deal";
2382
+ "docs": [
2383
+ "Exclusive deal created by admin for a specific pubkey (typically a referrer/influencer).",
2384
+ "Users who are referred by this pubkey can redeem the deal to get a higher cashback multiplier.",
2385
+ "",
2386
+ "PDA: [b\"deal\", owner.key()]"
2387
+ ];
2388
+ "type": {
2389
+ "kind": "struct";
2390
+ "fields": [
2391
+ {
2392
+ "name": "owner";
2393
+ "docs": [
2394
+ "The pubkey this deal belongs to (typically a referrer/influencer)"
2395
+ ];
2396
+ "type": "pubkey";
2397
+ },
2398
+ {
2399
+ "name": "cashbackMultiplierBps";
2400
+ "docs": [
2401
+ "Cashback multiplier in basis points (10000 = 1x, 15000 = 1.5x, etc.)"
2402
+ ];
2403
+ "type": "u16";
2404
+ },
2405
+ {
2406
+ "name": "redemptionCount";
2407
+ "docs": [
2408
+ "Number of unique users who have redeemed this deal"
2409
+ ];
2410
+ "type": "u32";
2411
+ }
2412
+ ];
2413
+ };
2414
+ },
2415
+ {
2416
+ "name": "dealClosed";
2417
+ "type": {
2418
+ "kind": "struct";
2419
+ "fields": [
2420
+ {
2421
+ "name": "owner";
2422
+ "type": "pubkey";
2423
+ },
2424
+ {
2425
+ "name": "redemptionCount";
2426
+ "type": "u32";
2427
+ },
2428
+ {
2429
+ "name": "timestamp";
2430
+ "type": "i64";
2431
+ }
2432
+ ];
2433
+ };
2434
+ },
2435
+ {
2436
+ "name": "dealCreated";
2437
+ "type": {
2438
+ "kind": "struct";
2439
+ "fields": [
2440
+ {
2441
+ "name": "owner";
2442
+ "type": "pubkey";
2443
+ },
2444
+ {
2445
+ "name": "cashbackMultiplierBps";
2446
+ "type": "u16";
2447
+ },
2448
+ {
2449
+ "name": "timestamp";
2450
+ "type": "i64";
2451
+ }
2452
+ ];
2453
+ };
2454
+ },
2455
+ {
2456
+ "name": "dealRedeemed";
2457
+ "type": {
2458
+ "kind": "struct";
2459
+ "fields": [
2460
+ {
2461
+ "name": "user";
2462
+ "type": "pubkey";
2463
+ },
2464
+ {
2465
+ "name": "dealOwner";
2466
+ "type": "pubkey";
2467
+ },
2468
+ {
2469
+ "name": "cashbackMultiplierBps";
2470
+ "type": "u16";
2471
+ },
2472
+ {
2473
+ "name": "timestamp";
2474
+ "type": "i64";
2475
+ }
2476
+ ];
2477
+ };
2478
+ },
2479
+ {
2480
+ "name": "dealUpdated";
2481
+ "type": {
2482
+ "kind": "struct";
2483
+ "fields": [
2484
+ {
2485
+ "name": "owner";
2486
+ "type": "pubkey";
2487
+ },
2488
+ {
2489
+ "name": "oldMultiplierBps";
2490
+ "type": "u16";
2491
+ },
2492
+ {
2493
+ "name": "newMultiplierBps";
2494
+ "type": "u16";
2495
+ },
2496
+ {
2497
+ "name": "timestamp";
2498
+ "type": "i64";
2499
+ }
2500
+ ];
2501
+ };
2502
+ },
2503
+ {
2504
+ "name": "globalAmmVolumeAccumulator";
2505
+ "docs": [
2506
+ "Global volume accumulator for AMM trades",
2507
+ "",
2508
+ "PDA: [b\"global_amm_volume\"]"
2509
+ ];
2510
+ "type": {
2511
+ "kind": "struct";
2512
+ "fields": [
2513
+ {
2514
+ "name": "totalSolVolume";
2515
+ "docs": [
2516
+ "Total SOL volume across all AMM trades"
2517
+ ];
2518
+ "type": "u128";
2519
+ },
2520
+ {
2521
+ "name": "totalTokenVolume";
2522
+ "docs": [
2523
+ "Total token volume across all AMM trades"
2524
+ ];
2525
+ "type": "u128";
2526
+ }
2527
+ ];
2528
+ };
2529
+ },
2530
+ {
2531
+ "name": "globalCurveVolumeAccumulator";
2532
+ "docs": [
2533
+ "Global volume accumulator for bonding curve trades",
2534
+ "",
2535
+ "PDA: [b\"global_curve_volume\"]"
2536
+ ];
2537
+ "type": {
2538
+ "kind": "struct";
2539
+ "fields": [
2540
+ {
2541
+ "name": "totalSolVolume";
2542
+ "docs": [
2543
+ "Total SOL volume across all curve trades"
2544
+ ];
2545
+ "type": "u128";
2546
+ },
2547
+ {
2548
+ "name": "totalTokenVolume";
2549
+ "docs": [
2550
+ "Total token volume across all curve trades"
2551
+ ];
2552
+ "type": "u128";
2553
+ }
2554
+ ];
2555
+ };
2556
+ },
2557
+ {
2558
+ "name": "initializeConfigArgs";
2559
+ "type": {
2560
+ "kind": "struct";
2561
+ "fields": [
2562
+ {
2563
+ "name": "adminAuthority";
2564
+ "type": "pubkey";
2565
+ },
2566
+ {
2567
+ "name": "ranges";
2568
+ "type": {
2569
+ "vec": {
2570
+ "defined": {
2571
+ "name": "cashbackRange";
2572
+ };
2573
+ };
2574
+ };
2575
+ },
2576
+ {
2577
+ "name": "traderCashbackBasisPoints";
2578
+ "type": "u16";
2579
+ }
2580
+ ];
2581
+ };
2582
+ },
2583
+ {
2584
+ "name": "referrerInfo";
2585
+ "docs": [
2586
+ "Referrer information attached to a user"
2587
+ ];
2588
+ "type": {
2589
+ "kind": "struct";
2590
+ "fields": [
2591
+ {
2592
+ "name": "referrer";
2593
+ "docs": [
2594
+ "The referrer's public key"
2595
+ ];
2596
+ "type": "pubkey";
2597
+ },
2598
+ {
2599
+ "name": "deal";
2600
+ "docs": [
2601
+ "Deal PDA the user redeemed (None if no deal redeemed)"
2602
+ ];
2603
+ "type": {
2604
+ "option": "pubkey";
2605
+ };
2606
+ },
2607
+ {
2608
+ "name": "cashbackMultiplierBps";
2609
+ "docs": [
2610
+ "Cashback multiplier in basis points (10000 = 1x, default)"
2611
+ ];
2612
+ "type": "u16";
2613
+ }
2614
+ ];
2615
+ };
2616
+ },
2617
+ {
2618
+ "name": "referrerSet";
2619
+ "docs": [
2620
+ "Event emitted when a user sets their referrer."
2621
+ ];
2622
+ "type": {
2623
+ "kind": "struct";
2624
+ "fields": [
2625
+ {
2626
+ "name": "user";
2627
+ "type": "pubkey";
2628
+ },
2629
+ {
2630
+ "name": "referrer";
2631
+ "type": "pubkey";
2632
+ },
2633
+ {
2634
+ "name": "timestamp";
2635
+ "type": "i64";
2636
+ }
2637
+ ];
2638
+ };
2639
+ },
2640
+ {
2641
+ "name": "snapshotTaken";
2642
+ "type": {
2643
+ "kind": "struct";
2644
+ "fields": [
2645
+ {
2646
+ "name": "user";
2647
+ "type": "pubkey";
2648
+ },
2649
+ {
2650
+ "name": "index";
2651
+ "type": "u32";
2652
+ },
2653
+ {
2654
+ "name": "solVolume";
2655
+ "type": "u128";
2656
+ },
2657
+ {
2658
+ "name": "tokenVolume";
2659
+ "type": "u128";
2660
+ },
2661
+ {
2662
+ "name": "timestamp";
2663
+ "type": "i64";
2664
+ }
2665
+ ];
2666
+ };
2667
+ },
2668
+ {
2669
+ "name": "spendCashbackResult";
2670
+ "type": {
2671
+ "kind": "struct";
2672
+ "fields": [
2673
+ {
2674
+ "name": "spent";
2675
+ "type": "u64";
2676
+ }
2677
+ ];
2678
+ };
2679
+ },
2680
+ {
2681
+ "name": "tokenVolumeAccumulator";
2682
+ "docs": [
2683
+ "Token-specific volume accumulator (unified across curve and AMM)",
2684
+ "",
2685
+ "PDA: [b\"token_volume\", mint.key()]"
2686
+ ];
2687
+ "type": {
2688
+ "kind": "struct";
2689
+ "fields": [
2690
+ {
2691
+ "name": "mint";
2692
+ "docs": [
2693
+ "Token mint this accumulator tracks"
2694
+ ];
2695
+ "type": "pubkey";
2696
+ },
2697
+ {
2698
+ "name": "totalSolVolume";
2699
+ "docs": [
2700
+ "Total SOL volume for this token (curve + AMM)"
2701
+ ];
2702
+ "type": "u128";
2703
+ },
2704
+ {
2705
+ "name": "totalTokenVolume";
2706
+ "docs": [
2707
+ "Total token volume for this token (curve + AMM)"
2708
+ ];
2709
+ "type": "u128";
2710
+ },
2711
+ {
2712
+ "name": "curveSolVolume";
2713
+ "docs": [
2714
+ "SOL volume from curve trades (for analytics)"
2715
+ ];
2716
+ "type": "u128";
2717
+ },
2718
+ {
2719
+ "name": "ammSolVolume";
2720
+ "docs": [
2721
+ "SOL volume from AMM trades (for analytics)"
2722
+ ];
2723
+ "type": "u128";
2724
+ }
2725
+ ];
2726
+ };
2727
+ },
2728
+ {
2729
+ "name": "updateConfigArgs";
2730
+ "type": {
2731
+ "kind": "struct";
2732
+ "fields": [
2733
+ {
2734
+ "name": "newRanges";
2735
+ "type": {
2736
+ "option": {
2737
+ "vec": {
2738
+ "defined": {
2739
+ "name": "cashbackRange";
2740
+ };
2741
+ };
2742
+ };
2743
+ };
2744
+ },
2745
+ {
2746
+ "name": "newTraderCashbackBasisPoints";
2747
+ "type": {
2748
+ "option": "u16";
2749
+ };
2750
+ }
2751
+ ];
2752
+ };
2753
+ },
2754
+ {
2755
+ "name": "userProperties";
2756
+ "docs": [
2757
+ "User properties account tracking referrals, volumes, cashback, and snapshots",
2758
+ "",
2759
+ "PDA: [b\"user_properties\", user.key()]"
2760
+ ];
2761
+ "type": {
2762
+ "kind": "struct";
2763
+ "fields": [
2764
+ {
2765
+ "name": "referrer";
2766
+ "docs": [
2767
+ "Referrer info (pubkey, deal, multiplier)"
2768
+ ];
2769
+ "type": {
2770
+ "option": {
2771
+ "defined": {
2772
+ "name": "referrerInfo";
2773
+ };
2774
+ };
2775
+ };
2776
+ },
2777
+ {
2778
+ "name": "totalSolVolume";
2779
+ "docs": [
2780
+ "Total SOL volume traded across both curve and AMM (used for cashback multiplier)"
2781
+ ];
2782
+ "type": "u128";
2783
+ },
2784
+ {
2785
+ "name": "totalTokenVolume";
2786
+ "docs": [
2787
+ "Total token volume traded across both curve and AMM"
2788
+ ];
2789
+ "type": "u128";
2790
+ },
2791
+ {
2792
+ "name": "cashbackCredits";
2793
+ "docs": [
2794
+ "Cashback credits (abstract credits when earning, SOL lamports when spending)"
2795
+ ];
2796
+ "type": "u64";
2797
+ },
2798
+ {
2799
+ "name": "isSpending";
2800
+ "docs": [
2801
+ "Whether user is in spending mode (true) or earning mode (false)"
2802
+ ];
2803
+ "type": "bool";
2804
+ },
2805
+ {
2806
+ "name": "curveSolVolume";
2807
+ "docs": [
2808
+ "SOL volume from curve trades only (for analytics)"
2809
+ ];
2810
+ "type": "u128";
2811
+ },
2812
+ {
2813
+ "name": "ammSolVolume";
2814
+ "docs": [
2815
+ "SOL volume from AMM trades only (for analytics)"
2816
+ ];
2817
+ "type": "u128";
2818
+ },
2819
+ {
2820
+ "name": "snapshotSolVolume";
2821
+ "docs": [
2822
+ "SOL volume accumulated since the last snapshot (resets on snapshot)"
2823
+ ];
2824
+ "type": "u128";
2825
+ },
2826
+ {
2827
+ "name": "snapshotTokenVolume";
2828
+ "docs": [
2829
+ "Token volume accumulated since the last snapshot (resets on snapshot)"
2830
+ ];
2831
+ "type": "u128";
2832
+ },
2833
+ {
2834
+ "name": "snapshotCount";
2835
+ "docs": [
2836
+ "Number of snapshots taken for this user"
2837
+ ];
2838
+ "type": "u32";
2839
+ },
2840
+ {
2841
+ "name": "latestSnapshot";
2842
+ "docs": [
2843
+ "PDA of the latest snapshot (head of linked list, None if no snapshots)"
2844
+ ];
2845
+ "type": {
2846
+ "option": "pubkey";
2847
+ };
2848
+ }
2849
+ ];
2850
+ };
2851
+ },
2852
+ {
2853
+ "name": "userSnapshot";
2854
+ "docs": [
2855
+ "Snapshot of a user's volume since the previous snapshot.",
2856
+ "Connected in a linked list via `prev_snapshot`.",
2857
+ "",
2858
+ "PDA: [b\"user_snapshot\", user.key(), index.to_le_bytes()]"
2859
+ ];
2860
+ "type": {
2861
+ "kind": "struct";
2862
+ "fields": [
2863
+ {
2864
+ "name": "user";
2865
+ "docs": [
2866
+ "The user this snapshot belongs to"
2867
+ ];
2868
+ "type": "pubkey";
2869
+ },
2870
+ {
2871
+ "name": "index";
2872
+ "docs": [
2873
+ "Sequential snapshot index (0-based)"
2874
+ ];
2875
+ "type": "u32";
2876
+ },
2877
+ {
2878
+ "name": "prevSnapshot";
2879
+ "docs": [
2880
+ "Previous snapshot PDA (None for the first snapshot)"
2881
+ ];
2882
+ "type": {
2883
+ "option": "pubkey";
2884
+ };
2885
+ },
2886
+ {
2887
+ "name": "solVolume";
2888
+ "docs": [
2889
+ "SOL volume accumulated during this snapshot period"
2890
+ ];
2891
+ "type": "u128";
2892
+ },
2893
+ {
2894
+ "name": "tokenVolume";
2895
+ "docs": [
2896
+ "Token volume accumulated during this snapshot period"
2897
+ ];
2898
+ "type": "u128";
2899
+ },
2900
+ {
2901
+ "name": "createdAt";
2902
+ "docs": [
2903
+ "Unix timestamp when the snapshot was taken"
2904
+ ];
2905
+ "type": "i64";
2906
+ }
2907
+ ];
2908
+ };
2909
+ },
2910
+ {
2911
+ "name": "userUpdatedByAdmin";
2912
+ "type": {
2913
+ "kind": "struct";
2914
+ "fields": [
2915
+ {
2916
+ "name": "user";
2917
+ "type": "pubkey";
2918
+ },
2919
+ {
2920
+ "name": "admin";
2921
+ "type": "pubkey";
2922
+ },
2923
+ {
2924
+ "name": "snapshotIndex";
2925
+ "type": "u32";
2926
+ },
2927
+ {
2928
+ "name": "timestamp";
2929
+ "type": "i64";
2930
+ }
2931
+ ];
2932
+ };
2933
+ }
2934
+ ];
2935
+ };
2936
+ //# sourceMappingURL=liquid_state.d.ts.map