@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,194 @@
1
+ import { getCachedStateProgram } from "./program-cache.js";
2
+ import { getDealPDA, getUserSnapshotPDA } from "../pda/liquid-state.js";
3
+ /**
4
+ * Builds an initializeUser instruction.
5
+ * Creates the user properties account in liquid-state.
6
+ *
7
+ * @param params - {@link BuildInitializeUserParams}
8
+ * @returns Transaction instruction
9
+ */
10
+ export function buildInitializeUser(params) {
11
+ const { user, config } = params;
12
+ const program = getCachedStateProgram(config);
13
+ return program.methods.initializeUser().accounts({ user }).instruction();
14
+ }
15
+ /**
16
+ * Builds a setReferrer instruction.
17
+ * One-time operation — referrer cannot be changed once set.
18
+ *
19
+ * @param params - {@link BuildSetReferrerParams}
20
+ * @returns Transaction instruction
21
+ */
22
+ export function buildSetReferrer(params) {
23
+ const { user, referrer, config } = params;
24
+ const program = getCachedStateProgram(config);
25
+ return program.methods
26
+ .setReferrer(referrer)
27
+ .accounts({ user })
28
+ .instruction();
29
+ }
30
+ /**
31
+ * Builds a setCashbackMode instruction.
32
+ * Toggles user between earning mode (earn credits) and spending mode (spend credits).
33
+ *
34
+ * @param params - {@link BuildSetCashbackModeParams}
35
+ * @returns Transaction instruction
36
+ */
37
+ export function buildSetCashbackMode(params) {
38
+ const { user, config } = params;
39
+ const program = getCachedStateProgram(config);
40
+ return program.methods.setCashbackMode().accounts({ user }).instruction();
41
+ }
42
+ /**
43
+ * Builds a transferAdmin instruction.
44
+ * Proposes transfer of admin authority to a new pubkey (two-step).
45
+ * The new admin must call {@link buildAcceptAdmin} to complete the transfer.
46
+ *
47
+ * @param params - {@link BuildTransferAdminParams}
48
+ * @returns Transaction instruction
49
+ */
50
+ export function buildTransferAdmin(params) {
51
+ const { admin, newAdmin, config } = params;
52
+ const program = getCachedStateProgram(config);
53
+ return program.methods
54
+ .transferAdmin(newAdmin)
55
+ .accounts({ admin })
56
+ .instruction();
57
+ }
58
+ /**
59
+ * Builds an acceptAdmin instruction.
60
+ * Completes a pending admin transfer. Must be called by the pending admin.
61
+ *
62
+ * @param params - {@link BuildAcceptAdminParams}
63
+ * @returns Transaction instruction
64
+ */
65
+ export function buildAcceptAdmin(params) {
66
+ const { newAdmin, config } = params;
67
+ const program = getCachedStateProgram(config);
68
+ return program.methods
69
+ .acceptAdmin()
70
+ .accounts({ newAdmin })
71
+ .instruction();
72
+ }
73
+ /**
74
+ * Builds a cancelAdminTransfer instruction.
75
+ * Cancels a pending admin transfer. Callable by either the current admin or the pending admin.
76
+ *
77
+ * @param params - {@link BuildCancelAdminTransferParams}
78
+ * @returns Transaction instruction
79
+ */
80
+ export function buildCancelAdminTransfer(params) {
81
+ const { authority, config } = params;
82
+ const program = getCachedStateProgram(config);
83
+ return program.methods
84
+ .cancelAdminTransfer()
85
+ .accounts({ authority })
86
+ .instruction();
87
+ }
88
+ /**
89
+ * Builds a createDeal instruction.
90
+ * Admin creates an exclusive deal for a pubkey (typically a referrer/influencer).
91
+ *
92
+ * @param params - {@link BuildCreateDealParams}
93
+ * @returns Transaction instruction
94
+ */
95
+ export function buildCreateDeal(params) {
96
+ const { admin, owner, cashbackMultiplierBps, payer, config } = params;
97
+ const program = getCachedStateProgram(config);
98
+ return program.methods
99
+ .createDeal(owner, cashbackMultiplierBps)
100
+ .accounts({ admin, payer })
101
+ .instruction();
102
+ }
103
+ /**
104
+ * Builds an updateDeal instruction.
105
+ * Admin updates a deal's cashback multiplier.
106
+ *
107
+ * @param params - {@link BuildUpdateDealParams}
108
+ * @returns Transaction instruction
109
+ */
110
+ export function buildUpdateDeal(params) {
111
+ const { admin, dealOwner, newCashbackMultiplierBps, config } = params;
112
+ const program = getCachedStateProgram(config);
113
+ const [deal] = getDealPDA(dealOwner, config.liquidStateProgramId);
114
+ return program.methods
115
+ .updateDeal(newCashbackMultiplierBps)
116
+ .accountsPartial({ admin, deal })
117
+ .instruction();
118
+ }
119
+ /**
120
+ * Builds a closeDeal instruction.
121
+ * Admin closes/deletes a deal, returning rent to admin.
122
+ *
123
+ * @param params - {@link BuildCloseDealParams}
124
+ * @returns Transaction instruction
125
+ */
126
+ export function buildCloseDeal(params) {
127
+ const { admin, dealOwner, config } = params;
128
+ const program = getCachedStateProgram(config);
129
+ const [deal] = getDealPDA(dealOwner, config.liquidStateProgramId);
130
+ return program.methods
131
+ .closeDeal()
132
+ .accountsPartial({ admin, deal })
133
+ .instruction();
134
+ }
135
+ /**
136
+ * Builds a redeemDeal instruction.
137
+ * User redeems their referrer's deal, copying the multiplier.
138
+ *
139
+ * @param params - {@link BuildRedeemDealParams}
140
+ * @returns Transaction instruction
141
+ */
142
+ export function buildRedeemDeal(params) {
143
+ const { user, dealOwner, config } = params;
144
+ const program = getCachedStateProgram(config);
145
+ const [deal] = getDealPDA(dealOwner, config.liquidStateProgramId);
146
+ return program.methods
147
+ .redeemDeal()
148
+ .accountsPartial({ user, deal })
149
+ .instruction();
150
+ }
151
+ /**
152
+ * Builds a takeSnapshot instruction.
153
+ * Admin takes a snapshot of a user's volume since last snapshot.
154
+ *
155
+ * The caller must provide the current `snapshotIndex` (from `user_properties.snapshot_count`)
156
+ * because the snapshot PDA seed depends on this value and cannot be resolved without a
157
+ * network fetch.
158
+ *
159
+ * @param params - {@link BuildTakeSnapshotParams}
160
+ * @returns Transaction instruction
161
+ */
162
+ export function buildTakeSnapshot(params) {
163
+ const { admin, user, payer, snapshotIndex, config } = params;
164
+ const program = getCachedStateProgram(config);
165
+ const [userSnapshot] = getUserSnapshotPDA(user, snapshotIndex, config.liquidStateProgramId);
166
+ return program.methods
167
+ .takeSnapshot()
168
+ .accountsPartial({ admin, user, payer, userSnapshot })
169
+ .instruction();
170
+ }
171
+ /**
172
+ * Builds an adminUpdateUser instruction.
173
+ * Admin updates a user's referrer/multiplier and always takes a snapshot.
174
+ *
175
+ * The caller must provide the current `snapshotIndex` (from `user_properties.snapshot_count`)
176
+ * because the snapshot PDA seed depends on this value and cannot be resolved without a
177
+ * network fetch.
178
+ *
179
+ * @param params - {@link BuildAdminUpdateUserParams}
180
+ * @returns Transaction instruction
181
+ */
182
+ export function buildAdminUpdateUser(params) {
183
+ const { admin, user, payer, newReferrer, newCashbackMultiplierBps, snapshotIndex, config, } = params;
184
+ const program = getCachedStateProgram(config);
185
+ const [userSnapshot] = getUserSnapshotPDA(user, snapshotIndex, config.liquidStateProgramId);
186
+ return program.methods
187
+ .adminUpdateUser({
188
+ newReferrer: newReferrer ?? null,
189
+ newCashbackMultiplierBps: newCashbackMultiplierBps ?? null,
190
+ })
191
+ .accountsPartial({ admin, user, payer, userSnapshot })
192
+ .instruction();
193
+ }
194
+ //# sourceMappingURL=liquid-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liquid-state.js","sourceRoot":"","sources":["../../src/instructions/liquid-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import type { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ import type BN from "bn.js";
3
+ import type { LiquidConfig } from "../config.js";
4
+ export interface BuildCreatePoolParams {
5
+ signer: PublicKey;
6
+ payer?: PublicKey;
7
+ baseMint: PublicKey;
8
+ quoteMint: PublicKey;
9
+ baseTokenProgram: PublicKey;
10
+ quoteTokenProgram: PublicKey;
11
+ initAmountBase: BN;
12
+ initAmountQuote: BN;
13
+ config: LiquidConfig;
14
+ }
15
+ /**
16
+ * Builds a create pool instruction.
17
+ *
18
+ * @param params - {@link BuildCreatePoolParams}
19
+ * @returns Transaction instruction
20
+ */
21
+ export declare function buildCreatePool(params: BuildCreatePoolParams): Promise<TransactionInstruction>;
22
+ export interface BuildSwapBuyParams {
23
+ payer: PublicKey;
24
+ creator: PublicKey;
25
+ baseMint: PublicKey;
26
+ quoteMint: PublicKey;
27
+ baseTokenProgram: PublicKey;
28
+ quoteTokenProgram: PublicKey;
29
+ maxAmountIn: BN;
30
+ amountOut: BN;
31
+ feeRecipient: PublicKey;
32
+ oraclePriceFeed?: PublicKey;
33
+ config: LiquidConfig;
34
+ }
35
+ /**
36
+ * Builds a buy swap instruction (quote -> base).
37
+ *
38
+ * @param params - {@link BuildSwapBuyParams}
39
+ * @returns Transaction instruction
40
+ */
41
+ export declare function buildSwapBuy(params: BuildSwapBuyParams): Promise<TransactionInstruction>;
42
+ export interface BuildSwapSellParams {
43
+ payer: PublicKey;
44
+ creator: PublicKey;
45
+ baseMint: PublicKey;
46
+ quoteMint: PublicKey;
47
+ baseTokenProgram: PublicKey;
48
+ quoteTokenProgram: PublicKey;
49
+ amountIn: BN;
50
+ minimumAmountOut: BN;
51
+ feeRecipient: PublicKey;
52
+ oraclePriceFeed?: PublicKey;
53
+ config: LiquidConfig;
54
+ }
55
+ /**
56
+ * Builds a sell swap instruction (base -> quote).
57
+ *
58
+ * @param params - {@link BuildSwapSellParams}
59
+ * @returns Transaction instruction
60
+ */
61
+ export declare function buildSwapSell(params: BuildSwapSellParams): Promise<TransactionInstruction>;
62
+ export interface BuildDepositParams {
63
+ owner: PublicKey;
64
+ poolAddress: PublicKey;
65
+ baseMint: PublicKey;
66
+ quoteMint: PublicKey;
67
+ baseTokenProgram: PublicKey;
68
+ quoteTokenProgram: PublicKey;
69
+ baseVault: PublicKey;
70
+ quoteVault: PublicKey;
71
+ lpMint: PublicKey;
72
+ lpTokenAmount: BN;
73
+ maximumBaseAmount: BN;
74
+ maximumQuoteAmount: BN;
75
+ config: LiquidConfig;
76
+ }
77
+ /**
78
+ * Builds a deposit (add liquidity) instruction.
79
+ *
80
+ * @param params - {@link BuildDepositParams}
81
+ * @returns Transaction instruction
82
+ */
83
+ export declare function buildDeposit(params: BuildDepositParams): Promise<TransactionInstruction>;
84
+ export interface BuildWithdrawParams {
85
+ owner: PublicKey;
86
+ poolAddress: PublicKey;
87
+ baseMint: PublicKey;
88
+ quoteMint: PublicKey;
89
+ baseTokenProgram: PublicKey;
90
+ quoteTokenProgram: PublicKey;
91
+ baseVault: PublicKey;
92
+ quoteVault: PublicKey;
93
+ lpMint: PublicKey;
94
+ lpTokenAmount: BN;
95
+ minimumBaseAmount: BN;
96
+ minimumQuoteAmount: BN;
97
+ config: LiquidConfig;
98
+ }
99
+ /**
100
+ * Builds a withdraw (remove liquidity) instruction.
101
+ *
102
+ * @param params - {@link BuildWithdrawParams}
103
+ * @returns Transaction instruction
104
+ */
105
+ export declare function buildWithdraw(params: BuildWithdrawParams): Promise<TransactionInstruction>;
106
+ export interface BuildSwapExecuteBuybackParams {
107
+ payer: PublicKey;
108
+ baseMint: PublicKey;
109
+ quoteMint: PublicKey;
110
+ baseTokenProgram: PublicKey;
111
+ quoteTokenProgram: PublicKey;
112
+ config: LiquidConfig;
113
+ }
114
+ /**
115
+ * Builds an executeBuyback instruction for an AMM pool.
116
+ * Permissionless. Only works when fee config is Revoked.
117
+ *
118
+ * @param params - {@link BuildSwapExecuteBuybackParams}
119
+ * @returns Transaction instruction
120
+ */
121
+ export declare function buildSwapExecuteBuyback(params: BuildSwapExecuteBuybackParams): Promise<TransactionInstruction>;
122
+ //# sourceMappingURL=liquid-swap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liquid-swap.d.ts","sourceRoot":"","sources":["../../src/instructions/liquid-swap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ import { getAssociatedTokenAddressSync, TOKEN_PROGRAM_ID, } from "@solana/spl-token";
2
+ import { getCachedSwapProgram } from "./program-cache.js";
3
+ /**
4
+ * Builds a create pool instruction.
5
+ *
6
+ * @param params - {@link BuildCreatePoolParams}
7
+ * @returns Transaction instruction
8
+ */
9
+ export function buildCreatePool(params) {
10
+ const { signer, payer, baseMint, quoteMint, baseTokenProgram, quoteTokenProgram, initAmountBase, initAmountQuote, config, } = params;
11
+ const program = getCachedSwapProgram(config);
12
+ const creatorBase = getAssociatedTokenAddressSync(baseMint, signer, false, baseTokenProgram);
13
+ const creatorQuote = getAssociatedTokenAddressSync(quoteMint, signer, false, quoteTokenProgram);
14
+ return program.methods
15
+ .create(initAmountBase, initAmountQuote, null)
16
+ .accounts({
17
+ signer,
18
+ payer: payer ?? signer,
19
+ baseMint,
20
+ quoteMint,
21
+ creatorBase,
22
+ creatorQuote,
23
+ baseTokenProgram,
24
+ quoteTokenProgram,
25
+ })
26
+ .instruction();
27
+ }
28
+ /**
29
+ * Builds a buy swap instruction (quote -> base).
30
+ *
31
+ * @param params - {@link BuildSwapBuyParams}
32
+ * @returns Transaction instruction
33
+ */
34
+ export function buildSwapBuy(params) {
35
+ const { payer, creator, baseMint, quoteMint, baseTokenProgram, quoteTokenProgram, maxAmountIn, amountOut, feeRecipient, oraclePriceFeed, config, } = params;
36
+ const program = getCachedSwapProgram(config);
37
+ const baseTokenAccount = getAssociatedTokenAddressSync(baseMint, payer, false, baseTokenProgram);
38
+ const quoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, payer, false, quoteTokenProgram);
39
+ return program.methods
40
+ .buy(maxAmountIn, amountOut)
41
+ .accountsPartial({
42
+ payer,
43
+ creator,
44
+ baseTokenAccount,
45
+ quoteTokenAccount,
46
+ baseTokenProgram,
47
+ quoteTokenProgram,
48
+ baseMint,
49
+ quoteMint,
50
+ feeRecipient,
51
+ liquidState: {
52
+ user: payer,
53
+ tokenMint: baseMint,
54
+ },
55
+ ...(oraclePriceFeed ? { oraclePriceFeed } : {}),
56
+ })
57
+ .instruction();
58
+ }
59
+ /**
60
+ * Builds a sell swap instruction (base -> quote).
61
+ *
62
+ * @param params - {@link BuildSwapSellParams}
63
+ * @returns Transaction instruction
64
+ */
65
+ export function buildSwapSell(params) {
66
+ const { payer, creator, baseMint, quoteMint, baseTokenProgram, quoteTokenProgram, amountIn, minimumAmountOut, feeRecipient, oraclePriceFeed, config, } = params;
67
+ const program = getCachedSwapProgram(config);
68
+ const baseTokenAccount = getAssociatedTokenAddressSync(baseMint, payer, false, baseTokenProgram);
69
+ const quoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, payer, false, quoteTokenProgram);
70
+ return program.methods
71
+ .sell(amountIn, minimumAmountOut)
72
+ .accountsPartial({
73
+ payer,
74
+ creator,
75
+ baseTokenAccount,
76
+ quoteTokenAccount,
77
+ baseTokenProgram,
78
+ quoteTokenProgram,
79
+ baseMint,
80
+ quoteMint,
81
+ feeRecipient,
82
+ liquidState: {
83
+ user: payer,
84
+ tokenMint: baseMint,
85
+ },
86
+ ...(oraclePriceFeed ? { oraclePriceFeed } : {}),
87
+ })
88
+ .instruction();
89
+ }
90
+ /**
91
+ * Builds a deposit (add liquidity) instruction.
92
+ *
93
+ * @param params - {@link BuildDepositParams}
94
+ * @returns Transaction instruction
95
+ */
96
+ export function buildDeposit(params) {
97
+ const { owner, poolAddress, baseMint, quoteMint, baseTokenProgram, quoteTokenProgram, baseVault, quoteVault, lpMint, lpTokenAmount, maximumBaseAmount, maximumQuoteAmount, config, } = params;
98
+ const program = getCachedSwapProgram(config);
99
+ const ownerLpToken = getAssociatedTokenAddressSync(lpMint, owner, false, TOKEN_PROGRAM_ID);
100
+ const baseAccount = getAssociatedTokenAddressSync(baseMint, owner, false, baseTokenProgram);
101
+ const quoteAccount = getAssociatedTokenAddressSync(quoteMint, owner, false, quoteTokenProgram);
102
+ return program.methods
103
+ .deposit(lpTokenAmount, maximumBaseAmount, maximumQuoteAmount)
104
+ .accounts({
105
+ owner,
106
+ poolState: poolAddress,
107
+ ownerLpToken,
108
+ baseAccount,
109
+ quoteAccount,
110
+ baseMint,
111
+ quoteMint,
112
+ baseVault,
113
+ quoteVault,
114
+ lpMint,
115
+ })
116
+ .instruction();
117
+ }
118
+ /**
119
+ * Builds a withdraw (remove liquidity) instruction.
120
+ *
121
+ * @param params - {@link BuildWithdrawParams}
122
+ * @returns Transaction instruction
123
+ */
124
+ export function buildWithdraw(params) {
125
+ const { owner, poolAddress, baseMint, quoteMint, baseTokenProgram, quoteTokenProgram, baseVault, quoteVault, lpMint, lpTokenAmount, minimumBaseAmount, minimumQuoteAmount, config, } = params;
126
+ const program = getCachedSwapProgram(config);
127
+ const ownerLpToken = getAssociatedTokenAddressSync(lpMint, owner, false, TOKEN_PROGRAM_ID);
128
+ const baseAccount = getAssociatedTokenAddressSync(baseMint, owner, false, baseTokenProgram);
129
+ const quoteAccount = getAssociatedTokenAddressSync(quoteMint, owner, false, quoteTokenProgram);
130
+ return program.methods
131
+ .withdraw(lpTokenAmount, minimumBaseAmount, minimumQuoteAmount)
132
+ .accounts({
133
+ owner,
134
+ poolState: poolAddress,
135
+ ownerLpToken,
136
+ baseAccount,
137
+ quoteAccount,
138
+ baseMint,
139
+ quoteMint,
140
+ baseVault,
141
+ quoteVault,
142
+ lpMint,
143
+ })
144
+ .instruction();
145
+ }
146
+ /**
147
+ * Builds an executeBuyback instruction for an AMM pool.
148
+ * Permissionless. Only works when fee config is Revoked.
149
+ *
150
+ * @param params - {@link BuildSwapExecuteBuybackParams}
151
+ * @returns Transaction instruction
152
+ */
153
+ export function buildSwapExecuteBuyback(params) {
154
+ const { payer, baseMint, quoteMint, baseTokenProgram, quoteTokenProgram, config, } = params;
155
+ const program = getCachedSwapProgram(config);
156
+ return program.methods
157
+ .executeBuyback()
158
+ .accounts({
159
+ payer,
160
+ baseMint,
161
+ quoteMint,
162
+ baseTokenProgram,
163
+ quoteTokenProgram,
164
+ })
165
+ .instruction();
166
+ }
167
+ //# sourceMappingURL=liquid-swap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liquid-swap.js","sourceRoot":"","sources":["../../src/instructions/liquid-swap.ts"],"names":[],"mappings":"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"}