@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
package/dist/config.js ADDED
@@ -0,0 +1,44 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ /** Mainnet program IDs */
3
+ export const MAINNET_CONFIG = {
4
+ liquidProgramId: new PublicKey("LiquidsqH2a9gsPRf1M2QFhFqfLXWYTDZGzbsNQCDux"),
5
+ liquidSwapProgramId: new PublicKey("SwapMXcpJdXgnFG9BZak2fBZUiNeR2qYxzexF2ZxdW8"),
6
+ liquidFeesProgramId: new PublicKey("FeesZQLb1xTeZbvaFRGnqzrZYzzmQtwhTYKQphbNGQru"),
7
+ liquidStateProgramId: new PublicKey("State3HtEfi7cXdsTpAtRoBvrij8zSFCiGTAVWmYH2d"),
8
+ };
9
+ /** Devnet program IDs (liquid differs, others same as mainnet) */
10
+ export const DEVNET_CONFIG = {
11
+ liquidProgramId: new PublicKey("76sZav3FHaGLQmo2wHpyboeEk3Bc7wbL6bPibaSyhxnt"),
12
+ liquidSwapProgramId: new PublicKey("DoBPPSQETr2xK5fKeTDR8wJ2Y4aTjtDbNwd9K72whhQB"),
13
+ liquidFeesProgramId: new PublicKey("3iFrDQxt6ZQT5eTyoHSpdq9hpyj9QmXDjTNEopGYpvTh"),
14
+ liquidStateProgramId: new PublicKey("9ZcKPa3HAEVEKxwFX8fYD56ZJCKPEQgqjgr9rfUvtwKJ"),
15
+ };
16
+ /** Localnet program IDs (same as mainnet per Anchor.toml) */
17
+ export const LOCALNET_CONFIG = { ...MAINNET_CONFIG };
18
+ /** WSOL mint address */
19
+ export const WSOL_MINT = new PublicKey("So11111111111111111111111111111111111111112");
20
+ /** Pyth Solana Receiver program ID (same across all networks and mock) */
21
+ export const PYTH_RECEIVER_PROGRAM_ID = new PublicKey("rec5EKMGg6MxZYaMdyBfgwp4d5rB9T1VQH5pJv5LtFJ");
22
+ /** Basis points denominator (10,000 = 100%) */
23
+ export const BPS_DENOMINATOR = 10000;
24
+ /** Maximum protocol fee recipients */
25
+ export const NUM_FEE_RECIPIENTS = 8;
26
+ /** Maximum fee recipients for fee config (liquid-fees) */
27
+ export const MAX_FEE_RECIPIENTS_FEES = 10;
28
+ /** Maximum whitelisted quote mints */
29
+ export const MAX_QUOTE_MINTS = 8;
30
+ /** Maximum cashback tier ranges */
31
+ export const MAX_CASHBACK_RANGES = 10;
32
+ /** Minimum cashback multiplier (1x) */
33
+ export const MIN_MULTIPLIER_BPS = 10000;
34
+ /** Maximum cashback multiplier (2x) */
35
+ export const MAX_MULTIPLIER_BPS = 20000;
36
+ /** Minimum rent-exempt balance for a 0-byte account */
37
+ export const MIN_VAULT_BALANCE = 890880;
38
+ /** Token name length limits */
39
+ export const LIMITS = {
40
+ NAME: { MIN: 1, MAX: 32 },
41
+ SYMBOL: { MIN: 1, MAX: 16 },
42
+ URI: { MIN: 10, MAX: 100 },
43
+ };
44
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgB5C,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC3C,eAAe,EAAE,IAAI,SAAS,CAC7B,6CAA6C,CAC7C;IACD,mBAAmB,EAAE,IAAI,SAAS,CACjC,6CAA6C,CAC7C;IACD,mBAAmB,EAAE,IAAI,SAAS,CACjC,8CAA8C,CAC9C;IACD,oBAAoB,EAAE,IAAI,SAAS,CAClC,6CAA6C,CAC7C;CACQ,CAAC;AAEX,kEAAkE;AAClE,MAAM,CAAC,MAAM,aAAa,GAAiB;IAC1C,eAAe,EAAE,IAAI,SAAS,CAC7B,8CAA8C,CAC9C;IACD,mBAAmB,EAAE,IAAI,SAAS,CACjC,8CAA8C,CAC9C;IACD,mBAAmB,EAAE,IAAI,SAAS,CACjC,8CAA8C,CAC9C;IACD,oBAAoB,EAAE,IAAI,SAAS,CAClC,8CAA8C,CAC9C;CACQ,CAAC;AAEX,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAiB,EAAE,GAAG,cAAc,EAAW,CAAC;AAE5E,wBAAwB;AACxB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CACrC,6CAA6C,CAC7C,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,SAAS,CACpD,6CAA6C,CAC7C,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,KAAM,CAAC;AAEtC,sCAAsC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,sCAAsC;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC,mCAAmC;AACnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,uCAAuC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAM,CAAC;AAEzC,uCAAuC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAM,CAAC;AAEzC,uDAAuD;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAO,CAAC;AAEzC,+BAA+B;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACzB,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC3B,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;CACjB,CAAC"}
@@ -0,0 +1,39 @@
1
+ export declare enum LiquidErrorCode {
2
+ /** Attempted a write operation without a connected wallet */
3
+ WalletNotConnected = "WalletNotConnected",
4
+ /** Invalid program configuration */
5
+ InvalidConfig = "InvalidConfig",
6
+ /** On-chain account not found at expected PDA */
7
+ AccountNotFound = "AccountNotFound",
8
+ /** Failed to deserialize account data */
9
+ AccountDeserializationFailed = "AccountDeserializationFailed",
10
+ /** Transaction build or serialization failed */
11
+ TransactionBuildFailed = "TransactionBuildFailed",
12
+ /** Transaction confirmation timed out */
13
+ TransactionTimeout = "TransactionTimeout",
14
+ /** Transaction simulation failed */
15
+ SimulationFailed = "SimulationFailed"
16
+ }
17
+ /**
18
+ * Custom error class for the Liquid SDK. Wraps Anchor and Solana errors
19
+ * into categorized, identifiable error codes.
20
+ */
21
+ export declare class LiquidError extends Error {
22
+ readonly code: LiquidErrorCode;
23
+ readonly cause?: unknown | undefined;
24
+ readonly name = "LiquidError";
25
+ /**
26
+ * @param code - Categorized error code
27
+ * @param message - Human-readable error description
28
+ * @param cause - The original error that was wrapped, if any
29
+ */
30
+ constructor(code: LiquidErrorCode, message: string, cause?: unknown | undefined);
31
+ /**
32
+ * Attempts to wrap an Anchor or Solana error into a LiquidError.
33
+ *
34
+ * @param err - The original error to wrap
35
+ * @returns A categorized LiquidError
36
+ */
37
+ static fromAnchorError(err: unknown): LiquidError;
38
+ }
39
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IAC1B,6DAA6D;IAC7D,kBAAkB,uBAAuB;IACzC,oCAAoC;IACpC,aAAa,kBAAkB;IAC/B,iDAAiD;IACjD,eAAe,oBAAoB;IACnC,yCAAyC;IACzC,4BAA4B,iCAAiC;IAC7D,gDAAgD;IAChD,sBAAsB,2BAA2B;IACjD,yCAAyC;IACzC,kBAAkB,uBAAuB;IACzC,oCAAoC;IACpC,gBAAgB,qBAAqB;CACrC;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;IASpC,QAAQ,CAAC,IAAI,EAAE,eAAe;IAE9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IAVzB,QAAQ,CAAC,IAAI,iBAAiB;IAE9B;;;;OAIG;gBAEO,IAAI,EAAE,eAAe,EAC9B,OAAO,EAAE,MAAM,EACN,KAAK,CAAC,EAAE,OAAO,YAAA;IAKzB;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;CAkDjD"}
package/dist/errors.js ADDED
@@ -0,0 +1,63 @@
1
+ export var LiquidErrorCode;
2
+ (function (LiquidErrorCode) {
3
+ /** Attempted a write operation without a connected wallet */
4
+ LiquidErrorCode["WalletNotConnected"] = "WalletNotConnected";
5
+ /** Invalid program configuration */
6
+ LiquidErrorCode["InvalidConfig"] = "InvalidConfig";
7
+ /** On-chain account not found at expected PDA */
8
+ LiquidErrorCode["AccountNotFound"] = "AccountNotFound";
9
+ /** Failed to deserialize account data */
10
+ LiquidErrorCode["AccountDeserializationFailed"] = "AccountDeserializationFailed";
11
+ /** Transaction build or serialization failed */
12
+ LiquidErrorCode["TransactionBuildFailed"] = "TransactionBuildFailed";
13
+ /** Transaction confirmation timed out */
14
+ LiquidErrorCode["TransactionTimeout"] = "TransactionTimeout";
15
+ /** Transaction simulation failed */
16
+ LiquidErrorCode["SimulationFailed"] = "SimulationFailed";
17
+ })(LiquidErrorCode || (LiquidErrorCode = {}));
18
+ /**
19
+ * Custom error class for the Liquid SDK. Wraps Anchor and Solana errors
20
+ * into categorized, identifiable error codes.
21
+ */
22
+ export class LiquidError extends Error {
23
+ /**
24
+ * @param code - Categorized error code
25
+ * @param message - Human-readable error description
26
+ * @param cause - The original error that was wrapped, if any
27
+ */
28
+ constructor(code, message, cause) {
29
+ super(message);
30
+ this.code = code;
31
+ this.cause = cause;
32
+ this.name = "LiquidError";
33
+ }
34
+ /**
35
+ * Attempts to wrap an Anchor or Solana error into a LiquidError.
36
+ *
37
+ * @param err - The original error to wrap
38
+ * @returns A categorized LiquidError
39
+ */
40
+ static fromAnchorError(err) {
41
+ if (err instanceof LiquidError) {
42
+ return err;
43
+ }
44
+ if (err &&
45
+ typeof err === "object" &&
46
+ "message" in err &&
47
+ typeof err.message === "string") {
48
+ const msg = err.message;
49
+ if (msg.includes("Account does not exist")) {
50
+ return new LiquidError(LiquidErrorCode.AccountNotFound, msg, err);
51
+ }
52
+ if (msg.includes("Transaction was not confirmed")) {
53
+ return new LiquidError(LiquidErrorCode.TransactionTimeout, msg, err);
54
+ }
55
+ if (msg.includes("Simulation failed")) {
56
+ return new LiquidError(LiquidErrorCode.SimulationFailed, msg, err);
57
+ }
58
+ return new LiquidError(LiquidErrorCode.TransactionBuildFailed, msg, err);
59
+ }
60
+ return new LiquidError(LiquidErrorCode.TransactionBuildFailed, String(err), err);
61
+ }
62
+ }
63
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAeX;AAfD,WAAY,eAAe;IAC1B,6DAA6D;IAC7D,4DAAyC,CAAA;IACzC,oCAAoC;IACpC,kDAA+B,CAAA;IAC/B,iDAAiD;IACjD,sDAAmC,CAAA;IACnC,yCAAyC;IACzC,gFAA6D,CAAA;IAC7D,gDAAgD;IAChD,oEAAiD,CAAA;IACjD,yCAAyC;IACzC,4DAAyC,CAAA;IACzC,oCAAoC;IACpC,wDAAqC,CAAA;AACtC,CAAC,EAfW,eAAe,KAAf,eAAe,QAe1B;AAED;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGrC;;;;OAIG;IACH,YACU,IAAqB,EAC9B,OAAe,EACN,KAAe;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,SAAI,GAAJ,IAAI,CAAiB;QAErB,UAAK,GAAL,KAAK,CAAU;QAVhB,SAAI,GAAG,aAAa,CAAC;IAa9B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,GAAY;QAClC,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;YAChC,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,IACC,GAAG;YACH,OAAO,GAAG,KAAK,QAAQ;YACvB,SAAS,IAAI,GAAG;YAChB,OAAQ,GAA4B,CAAC,OAAO,KAAK,QAAQ,EACxD,CAAC;YACF,MAAM,GAAG,GAAI,GAA2B,CAAC,OAAO,CAAC;YAEjD,IAAI,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,WAAW,CACrB,eAAe,CAAC,eAAe,EAC/B,GAAG,EACH,GAAG,CACH,CAAC;YACH,CAAC;YAED,IAAI,GAAG,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAI,WAAW,CACrB,eAAe,CAAC,kBAAkB,EAClC,GAAG,EACH,GAAG,CACH,CAAC;YACH,CAAC;YAED,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACvC,OAAO,IAAI,WAAW,CACrB,eAAe,CAAC,gBAAgB,EAChC,GAAG,EACH,GAAG,CACH,CAAC;YACH,CAAC;YAED,OAAO,IAAI,WAAW,CACrB,eAAe,CAAC,sBAAsB,EACtC,GAAG,EACH,GAAG,CACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,WAAW,CACrB,eAAe,CAAC,sBAAsB,EACtC,MAAM,CAAC,GAAG,CAAC,EACX,GAAG,CACH,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,4 @@
1
+ export type { TokenCreatedEvent, TradeEvent, MigrationCompletedEvent, CurveCompletedEvent, BondingCurveBuybackExecutedEvent, ReferralRewardsWithdrawnEvent, BondingCurveProtocolPausedEvent, BondingCurveProtocolUnpausedEvent, BuyAmounts, SellAmounts, TradeAmounts, SwapEvent, LpChangeEvent, PoolCreatedEvent, AmmBuybackExecutedEvent, AmmProtocolPausedEvent, AmmProtocolUnpausedEvent, FeesDistributedEvent, FeeConfigRevokedEvent, DealCreatedEvent, DealUpdatedEvent, DealClosedEvent, DealRedeemedEvent, SnapshotTakenEvent, UserUpdatedByAdminEvent, ReferrerSetEvent, CashbackModeActivatedEvent, CashbackEarnedEvent, CashbackSpentEvent, } from "./types.js";
2
+ export { parseTransactionEvents, addEventListener, waitForEvent, } from "./parser.js";
3
+ export type { ParsedEvent } from "./parser.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAEX,iBAAiB,EACjB,UAAU,EACV,uBAAuB,EACvB,mBAAmB,EACnB,gCAAgC,EAChC,6BAA6B,EAC7B,+BAA+B,EAC/B,iCAAiC,EACjC,UAAU,EACV,WAAW,EACX,YAAY,EAEZ,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EAExB,oBAAoB,EACpB,qBAAqB,EAErB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { parseTransactionEvents, addEventListener, waitForEvent, } from "./parser.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAoCA,OAAO,EACN,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,GACZ,MAAM,aAAa,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { type Program } from "@coral-xyz/anchor";
2
+ /** Parsed event with name and data */
3
+ export interface ParsedEvent<T = unknown> {
4
+ name: string;
5
+ data: T;
6
+ }
7
+ /**
8
+ * Parses events from transaction logs for a given program.
9
+ *
10
+ * @param logs - Transaction log messages
11
+ * @param program - The Anchor program to parse events for
12
+ * @returns Array of parsed events
13
+ */
14
+ export declare const parseTransactionEvents: (logs: string[], program: Program) => ParsedEvent[];
15
+ /**
16
+ * Registers an event listener on a program.
17
+ * Returns the listener ID (use program.removeEventListener to unsubscribe).
18
+ *
19
+ * @param program - The Anchor program
20
+ * @param eventName - Name of the event to listen for
21
+ * @param callback - Handler called when event is received
22
+ * @returns Listener ID for removal
23
+ */
24
+ export declare const addEventListener: <T>(program: Program, eventName: string, callback: (event: T) => void) => number;
25
+ /**
26
+ * Registers an event listener, fires a trigger, and polls until the event
27
+ * arrives or the timeout is exceeded.
28
+ *
29
+ * @param program - The Anchor program
30
+ * @param eventName - Name of the event to wait for
31
+ * @param trigger - Async function to trigger the event (e.g., sendAndConfirm)
32
+ * @param timeoutMs - Maximum wait time in milliseconds (default: 5000)
33
+ * @returns Object containing the trigger result and the captured event data
34
+ * @throws If the event is not received within the timeout period
35
+ */
36
+ export declare function waitForEvent<TEvent, TResult = string>(program: Program<any>, eventName: string, trigger: () => Promise<TResult>, timeoutMs?: number): Promise<{
37
+ result: TResult;
38
+ event: TEvent;
39
+ }>;
40
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/events/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE1E,sCAAsC;AACtC,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;CACR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAClC,MAAM,MAAM,EAAE,EACd,SAAS,OAAO,KACd,WAAW,EAWb,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EACjC,SAAS,OAAO,EAChB,WAAW,MAAM,EACjB,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,KAC1B,MAIF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAE1D,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC/B,SAAS,SAAO,GACd,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB7C"}
@@ -0,0 +1,67 @@
1
+ import { BorshCoder, EventParser } from "@coral-xyz/anchor";
2
+ /**
3
+ * Parses events from transaction logs for a given program.
4
+ *
5
+ * @param logs - Transaction log messages
6
+ * @param program - The Anchor program to parse events for
7
+ * @returns Array of parsed events
8
+ */
9
+ export const parseTransactionEvents = (logs, program) => {
10
+ const parser = new EventParser(program.programId, new BorshCoder(program.idl));
11
+ const events = [];
12
+ const generator = parser.parseLogs(logs);
13
+ for (const event of generator) {
14
+ events.push({ name: event.name, data: event.data });
15
+ }
16
+ return events;
17
+ };
18
+ /**
19
+ * Registers an event listener on a program.
20
+ * Returns the listener ID (use program.removeEventListener to unsubscribe).
21
+ *
22
+ * @param program - The Anchor program
23
+ * @param eventName - Name of the event to listen for
24
+ * @param callback - Handler called when event is received
25
+ * @returns Listener ID for removal
26
+ */
27
+ export const addEventListener = (program, eventName, callback) => {
28
+ return program.addEventListener(eventName, (data) => {
29
+ callback(data);
30
+ });
31
+ };
32
+ /**
33
+ * Registers an event listener, fires a trigger, and polls until the event
34
+ * arrives or the timeout is exceeded.
35
+ *
36
+ * @param program - The Anchor program
37
+ * @param eventName - Name of the event to wait for
38
+ * @param trigger - Async function to trigger the event (e.g., sendAndConfirm)
39
+ * @param timeoutMs - Maximum wait time in milliseconds (default: 5000)
40
+ * @returns Object containing the trigger result and the captured event data
41
+ * @throws If the event is not received within the timeout period
42
+ */
43
+ export async function waitForEvent(
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ program, eventName, trigger, timeoutMs = 5000) {
46
+ let eventData = null;
47
+ const listenerId = program.addEventListener(eventName, (data) => {
48
+ eventData = data;
49
+ });
50
+ try {
51
+ const result = await trigger();
52
+ const start = Date.now();
53
+ while (!eventData && Date.now() - start < timeoutMs) {
54
+ await new Promise((r) => setTimeout(r, 200));
55
+ }
56
+ await program.removeEventListener(listenerId);
57
+ if (!eventData) {
58
+ throw new Error(`Event '${eventName}' not received within ${timeoutMs}ms`);
59
+ }
60
+ return { result, event: eventData };
61
+ }
62
+ catch (err) {
63
+ await program.removeEventListener(listenerId);
64
+ throw err;
65
+ }
66
+ }
67
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/events/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAQ1E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,IAAc,EACd,OAAgB,EACA,EAAE;IAClB,MAAM,MAAM,GAAG,IAAI,WAAW,CAC7B,OAAO,CAAC,SAAS,EACjB,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAC3B,CAAC;IACF,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC/B,OAAgB,EAChB,SAAiB,EACjB,QAA4B,EACnB,EAAE;IACX,OAAO,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,IAAO,EAAE,EAAE;QACtD,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;AACjC,8DAA8D;AAC9D,OAAqB,EACrB,SAAiB,EACjB,OAA+B,EAC/B,SAAS,GAAG,IAAI;IAEhB,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE;QACvE,SAAS,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC;YACrD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACd,UAAU,SAAS,yBAAyB,SAAS,IAAI,CACzD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC"}
@@ -0,0 +1,286 @@
1
+ import type { PublicKey } from "@solana/web3.js";
2
+ import type BN from "bn.js";
3
+ import type { FeeModeAnchor } from "../types.js";
4
+ /** Event emitted after a successful token creation */
5
+ export interface TokenCreatedEvent {
6
+ name: string;
7
+ symbol: string;
8
+ uri: string;
9
+ mint: PublicKey;
10
+ quoteMint: PublicKey | null;
11
+ bondingCurve: PublicKey;
12
+ creator: PublicKey;
13
+ initialVirtualQuoteReserves: BN;
14
+ initialVirtualTokenReserves: BN;
15
+ initialRealTokenReserves: BN;
16
+ totalTokenSupply: BN;
17
+ tokenProgram: PublicKey;
18
+ timestamp: BN;
19
+ feeMode: FeeModeAnchor;
20
+ migrationMarketCapUsd: BN;
21
+ }
22
+ /** Buy trade amounts */
23
+ export interface BuyAmounts {
24
+ quoteAmountIn: BN;
25
+ tokensAmountOut: BN;
26
+ }
27
+ /** Sell trade amounts */
28
+ export interface SellAmounts {
29
+ tokensAmountIn: BN;
30
+ quoteAmountOut: BN;
31
+ }
32
+ /** Trade amounts (buy or sell) */
33
+ export type TradeAmounts = {
34
+ buy: BuyAmounts;
35
+ } | {
36
+ sell: SellAmounts;
37
+ };
38
+ /** Event emitted after a successful bonding curve trade */
39
+ export interface TradeEvent {
40
+ mint: PublicKey;
41
+ quoteMint: PublicKey | null;
42
+ tradeAmounts: TradeAmounts;
43
+ cashback: BN;
44
+ cashbackBps: number;
45
+ creatorFee: BN;
46
+ creatorFeeBps: number;
47
+ protocolFee: BN;
48
+ protocolFeeBps: number;
49
+ feeRecipient: PublicKey;
50
+ creatorReferralFee: BN;
51
+ creatorReferralFeeBps: number;
52
+ traderReferralFee: BN;
53
+ traderReferralFeeBps: number;
54
+ user: PublicKey;
55
+ creator: PublicKey;
56
+ creatorFeeMode: FeeModeAnchor;
57
+ virtualTokenReserves: BN;
58
+ virtualQuoteReserves: BN;
59
+ realTokenReserves: BN;
60
+ realQuoteReserves: BN;
61
+ totalQuoteVolume: BN;
62
+ totalTokenVolume: BN;
63
+ timestamp: BN;
64
+ solPriceUsd: BN | null;
65
+ marketCapUsd: BN;
66
+ isCurveComplete: boolean;
67
+ bondingCurve: PublicKey;
68
+ }
69
+ /** Event emitted after a successful migration to AMM */
70
+ export interface MigrationCompletedEvent {
71
+ mint: PublicKey;
72
+ quoteMint: PublicKey | null;
73
+ bondingCurve: PublicKey;
74
+ ammPool: PublicKey;
75
+ tokenAmount: BN;
76
+ quoteAmount: BN;
77
+ migrator: PublicKey;
78
+ creator: PublicKey;
79
+ timestamp: BN;
80
+ multiplier: number;
81
+ lpMint: PublicKey;
82
+ lpTokensMinted: BN;
83
+ marketCapUsd: BN;
84
+ solPriceUsd: BN | null;
85
+ buybackAmountMigrated: BN;
86
+ }
87
+ /** Event emitted when a bonding curve is marked as complete */
88
+ export interface CurveCompletedEvent {
89
+ mint: PublicKey;
90
+ bondingCurve: PublicKey;
91
+ marketCapUsd: BN;
92
+ solPriceUsd: BN;
93
+ virtualTokenReserves: BN;
94
+ virtualQuoteReserves: BN;
95
+ realTokenReserves: BN;
96
+ realQuoteReserves: BN;
97
+ timestamp: BN;
98
+ }
99
+ /** Event emitted when a buyback is executed on a bonding curve */
100
+ export interface BondingCurveBuybackExecutedEvent {
101
+ mint: PublicKey;
102
+ quoteMint: PublicKey | null;
103
+ quoteAmountIn: BN;
104
+ tokensBurned: BN;
105
+ bondingCurve: PublicKey;
106
+ executor: PublicKey;
107
+ timestamp: BN;
108
+ }
109
+ /** Event emitted when referral rewards are withdrawn */
110
+ export interface ReferralRewardsWithdrawnEvent {
111
+ user: PublicKey;
112
+ mint: PublicKey | null;
113
+ amount: BN;
114
+ timestamp: BN;
115
+ }
116
+ /** Event emitted when the bonding curve protocol is paused */
117
+ export interface BondingCurveProtocolPausedEvent {
118
+ admin: PublicKey;
119
+ timestamp: BN;
120
+ }
121
+ /** Event emitted when the bonding curve protocol is unpaused */
122
+ export interface BondingCurveProtocolUnpausedEvent {
123
+ admin: PublicKey;
124
+ timestamp: BN;
125
+ }
126
+ /** Event emitted after an AMM swap */
127
+ export interface SwapEvent {
128
+ poolId: PublicKey;
129
+ inputVaultBefore: BN;
130
+ outputVaultBefore: BN;
131
+ inputAmount: BN;
132
+ outputAmount: BN;
133
+ inputTransferFee: BN;
134
+ outputTransferFee: BN;
135
+ baseInput: boolean;
136
+ inputMint: PublicKey;
137
+ outputMint: PublicKey;
138
+ lpFee: BN;
139
+ creatorFee: BN;
140
+ protocolFee: BN;
141
+ lpFeeBps: number;
142
+ creatorFeeBps: number;
143
+ protocolFeeBps: number;
144
+ feeMode: FeeModeAnchor;
145
+ user: PublicKey;
146
+ creator: PublicKey;
147
+ totalSolVolume: BN;
148
+ totalTokenVolume: BN;
149
+ timestamp: BN;
150
+ cashback: BN;
151
+ cashbackBps: number;
152
+ }
153
+ /** Event emitted on LP deposit/withdraw */
154
+ export interface LpChangeEvent {
155
+ poolId: PublicKey;
156
+ lpAmountBefore: BN;
157
+ baseVaultBefore: BN;
158
+ quoteVaultBefore: BN;
159
+ baseAmount: BN;
160
+ quoteAmount: BN;
161
+ baseTransferFee: BN;
162
+ quoteTransferFee: BN;
163
+ /** 0 = deposit, 1 = withdraw */
164
+ changeType: number;
165
+ user: PublicKey;
166
+ timestamp: BN;
167
+ lpSupply: BN;
168
+ baseMint: PublicKey;
169
+ quoteMint: PublicKey;
170
+ }
171
+ /** Event emitted when an AMM pool is created */
172
+ export interface PoolCreatedEvent {
173
+ poolId: PublicKey;
174
+ baseMint: PublicKey;
175
+ quoteMint: PublicKey;
176
+ creator: PublicKey;
177
+ initialBaseAmount: BN;
178
+ initialQuoteAmount: BN;
179
+ lpTokensMinted: BN;
180
+ lpMint: PublicKey;
181
+ timestamp: BN;
182
+ }
183
+ /** Event emitted when an AMM buyback is executed */
184
+ export interface AmmBuybackExecutedEvent {
185
+ poolId: PublicKey;
186
+ quoteAmountIn: BN;
187
+ baseAmountBurned: BN;
188
+ baseMint: PublicKey;
189
+ quoteMint: PublicKey;
190
+ executor: PublicKey;
191
+ timestamp: BN;
192
+ }
193
+ /** Event emitted when the AMM protocol is paused */
194
+ export interface AmmProtocolPausedEvent {
195
+ admin: PublicKey;
196
+ timestamp: BN;
197
+ }
198
+ /** Event emitted when the AMM protocol is unpaused */
199
+ export interface AmmProtocolUnpausedEvent {
200
+ admin: PublicKey;
201
+ timestamp: BN;
202
+ }
203
+ /** Event emitted after fees are distributed */
204
+ export interface FeesDistributedEvent {
205
+ feeConfig: PublicKey;
206
+ mint: PublicKey;
207
+ totalAmount: BN;
208
+ recipientsCount: number;
209
+ distributor: PublicKey;
210
+ timestamp: BN;
211
+ }
212
+ /** Event emitted when a fee configuration is revoked */
213
+ export interface FeeConfigRevokedEvent {
214
+ feeConfig: PublicKey;
215
+ tokenMint: PublicKey;
216
+ revoker: PublicKey;
217
+ timestamp: BN;
218
+ }
219
+ /** Event emitted when a deal is created */
220
+ export interface DealCreatedEvent {
221
+ owner: PublicKey;
222
+ cashbackMultiplierBps: number;
223
+ timestamp: BN;
224
+ }
225
+ /** Event emitted when a deal is updated */
226
+ export interface DealUpdatedEvent {
227
+ owner: PublicKey;
228
+ oldMultiplierBps: number;
229
+ newMultiplierBps: number;
230
+ timestamp: BN;
231
+ }
232
+ /** Event emitted when a deal is closed */
233
+ export interface DealClosedEvent {
234
+ owner: PublicKey;
235
+ redemptionCount: number;
236
+ timestamp: BN;
237
+ }
238
+ /** Event emitted when a deal is redeemed */
239
+ export interface DealRedeemedEvent {
240
+ user: PublicKey;
241
+ dealOwner: PublicKey;
242
+ cashbackMultiplierBps: number;
243
+ timestamp: BN;
244
+ }
245
+ /** Event emitted when a snapshot is taken */
246
+ export interface SnapshotTakenEvent {
247
+ user: PublicKey;
248
+ index: number;
249
+ solVolume: BN;
250
+ tokenVolume: BN;
251
+ timestamp: BN;
252
+ }
253
+ /** Event emitted when a user is updated by admin */
254
+ export interface UserUpdatedByAdminEvent {
255
+ user: PublicKey;
256
+ admin: PublicKey;
257
+ snapshotIndex: number;
258
+ timestamp: BN;
259
+ }
260
+ /** Event emitted when a referrer is set */
261
+ export interface ReferrerSetEvent {
262
+ user: PublicKey;
263
+ referrer: PublicKey;
264
+ timestamp: BN;
265
+ }
266
+ /** Event emitted when cashback mode is activated */
267
+ export interface CashbackModeActivatedEvent {
268
+ user: PublicKey;
269
+ multiplierBps: number;
270
+ timestamp: BN;
271
+ }
272
+ /** Event emitted when cashback is earned */
273
+ export interface CashbackEarnedEvent {
274
+ user: PublicKey;
275
+ amount: BN;
276
+ newBalance: BN;
277
+ timestamp: BN;
278
+ }
279
+ /** Event emitted when cashback is spent */
280
+ export interface CashbackSpentEvent {
281
+ user: PublicKey;
282
+ amount: BN;
283
+ remainingBalance: BN;
284
+ timestamp: BN;
285
+ }
286
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { previewBuyOnCurve, previewSellOnCurve, previewSwapSell, previewSwapBuy, calculateBuyCurvePreview, calculateSellCurvePreview, calculateSwapSellPreview, calculateSwapBuyPreview, } from "./preview.js";
2
+ export type { CurvePreviewState, SwapPreviewState, CurvePreviewOptions, CurvePrefetchedState, NativeCurveOptions, StableCurveOptions, CurveAsyncOptions, SwapPrefetchedState, } from "./preview.js";
3
+ export { resolveTokenProgram } from "./user.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACX,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { previewBuyOnCurve, previewSellOnCurve, previewSwapSell, previewSwapBuy, calculateBuyCurvePreview, calculateSellCurvePreview, calculateSwapSellPreview, calculateSwapBuyPreview, } from "./preview.js";
2
+ export { resolveTokenProgram } from "./user.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,cAAc,CAAC;AAatB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}