@stabbleorg/mclmm-sdk 0.1.6 → 0.1.7

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 (157) hide show
  1. package/lib/api/config.d.ts +25 -0
  2. package/lib/api/config.d.ts.map +1 -0
  3. package/lib/api/index.d.ts +15 -0
  4. package/lib/api/index.d.ts.map +1 -0
  5. package/lib/api/pools.d.ts +39 -0
  6. package/lib/api/pools.d.ts.map +1 -0
  7. package/lib/client.d.ts +43 -0
  8. package/lib/client.d.ts.map +1 -0
  9. package/lib/clmm.d.ts +91 -0
  10. package/lib/clmm.d.ts.map +1 -0
  11. package/lib/constants.d.ts +62 -0
  12. package/lib/constants.d.ts.map +1 -0
  13. package/lib/generated/accounts/ammConfig.d.ts +58 -0
  14. package/lib/generated/accounts/ammConfig.d.ts.map +1 -0
  15. package/lib/generated/accounts/index.d.ts +17 -0
  16. package/lib/generated/accounts/index.d.ts.map +1 -0
  17. package/lib/generated/accounts/observationState.d.ts +51 -0
  18. package/lib/generated/accounts/observationState.d.ts.map +1 -0
  19. package/lib/generated/accounts/operationState.d.ts +38 -0
  20. package/lib/generated/accounts/operationState.d.ts.map +1 -0
  21. package/lib/generated/accounts/personalPositionState.d.ts +73 -0
  22. package/lib/generated/accounts/personalPositionState.d.ts.map +1 -0
  23. package/lib/generated/accounts/poolState.d.ts +157 -0
  24. package/lib/generated/accounts/poolState.d.ts.map +1 -0
  25. package/lib/generated/accounts/protocolPositionState.d.ts +70 -0
  26. package/lib/generated/accounts/protocolPositionState.d.ts.map +1 -0
  27. package/lib/generated/accounts/supportMintAssociated.d.ts +36 -0
  28. package/lib/generated/accounts/supportMintAssociated.d.ts.map +1 -0
  29. package/lib/generated/accounts/tickArrayBitmapExtension.d.ts +36 -0
  30. package/lib/generated/accounts/tickArrayBitmapExtension.d.ts.map +1 -0
  31. package/lib/generated/accounts/tickArrayState.d.ts +39 -0
  32. package/lib/generated/accounts/tickArrayState.d.ts.map +1 -0
  33. package/lib/generated/errors/ammV3.d.ts +110 -0
  34. package/lib/generated/errors/ammV3.d.ts.map +1 -0
  35. package/lib/generated/errors/index.d.ts +9 -0
  36. package/lib/generated/errors/index.d.ts.map +1 -0
  37. package/lib/generated/index.d.ts +13 -0
  38. package/lib/generated/index.d.ts.map +1 -0
  39. package/lib/generated/instructions/closePosition.d.ts +78 -0
  40. package/lib/generated/instructions/closePosition.d.ts.map +1 -0
  41. package/lib/generated/instructions/closeProtocolPosition.d.ts +40 -0
  42. package/lib/generated/instructions/closeProtocolPosition.d.ts.map +1 -0
  43. package/lib/generated/instructions/collectFundFee.d.ts +96 -0
  44. package/lib/generated/instructions/collectFundFee.d.ts.map +1 -0
  45. package/lib/generated/instructions/collectProtocolFee.d.ts +96 -0
  46. package/lib/generated/instructions/collectProtocolFee.d.ts.map +1 -0
  47. package/lib/generated/instructions/collectRemainingRewards.d.ts +76 -0
  48. package/lib/generated/instructions/collectRemainingRewards.d.ts.map +1 -0
  49. package/lib/generated/instructions/createAmmConfig.d.ts +78 -0
  50. package/lib/generated/instructions/createAmmConfig.d.ts.map +1 -0
  51. package/lib/generated/instructions/createOperationAccount.d.ts +57 -0
  52. package/lib/generated/instructions/createOperationAccount.d.ts.map +1 -0
  53. package/lib/generated/instructions/createPool.d.ts +133 -0
  54. package/lib/generated/instructions/createPool.d.ts.map +1 -0
  55. package/lib/generated/instructions/createSupportMintAssociated.d.ts +64 -0
  56. package/lib/generated/instructions/createSupportMintAssociated.d.ts.map +1 -0
  57. package/lib/generated/instructions/decreaseLiquidity.d.ts +100 -0
  58. package/lib/generated/instructions/decreaseLiquidity.d.ts.map +1 -0
  59. package/lib/generated/instructions/decreaseLiquidityV2.d.ts +120 -0
  60. package/lib/generated/instructions/decreaseLiquidityV2.d.ts.map +1 -0
  61. package/lib/generated/instructions/increaseLiquidity.d.ts +100 -0
  62. package/lib/generated/instructions/increaseLiquidity.d.ts.map +1 -0
  63. package/lib/generated/instructions/increaseLiquidityV2.d.ts +118 -0
  64. package/lib/generated/instructions/increaseLiquidityV2.d.ts.map +1 -0
  65. package/lib/generated/instructions/index.d.ts +34 -0
  66. package/lib/generated/instructions/index.d.ts.map +1 -0
  67. package/lib/generated/instructions/initializeReward.d.ts +113 -0
  68. package/lib/generated/instructions/initializeReward.d.ts.map +1 -0
  69. package/lib/generated/instructions/openPosition.d.ts +198 -0
  70. package/lib/generated/instructions/openPosition.d.ts.map +1 -0
  71. package/lib/generated/instructions/openPositionV2.d.ts +218 -0
  72. package/lib/generated/instructions/openPositionV2.d.ts.map +1 -0
  73. package/lib/generated/instructions/openPositionWithToken22Nft.d.ts +201 -0
  74. package/lib/generated/instructions/openPositionWithToken22Nft.d.ts.map +1 -0
  75. package/lib/generated/instructions/setRewardParams.d.ts +92 -0
  76. package/lib/generated/instructions/setRewardParams.d.ts.map +1 -0
  77. package/lib/generated/instructions/swap.d.ts +95 -0
  78. package/lib/generated/instructions/swap.d.ts.map +1 -0
  79. package/lib/generated/instructions/swapRouterBaseIn.d.ts +71 -0
  80. package/lib/generated/instructions/swapRouterBaseIn.d.ts.map +1 -0
  81. package/lib/generated/instructions/swapV2.d.ts +112 -0
  82. package/lib/generated/instructions/swapV2.d.ts.map +1 -0
  83. package/lib/generated/instructions/transferRewardOwner.d.ts +46 -0
  84. package/lib/generated/instructions/transferRewardOwner.d.ts.map +1 -0
  85. package/lib/generated/instructions/updateAmmConfig.d.ts +51 -0
  86. package/lib/generated/instructions/updateAmmConfig.d.ts.map +1 -0
  87. package/lib/generated/instructions/updateOperationAccount.d.ts +66 -0
  88. package/lib/generated/instructions/updateOperationAccount.d.ts.map +1 -0
  89. package/lib/generated/instructions/updatePoolStatus.d.ts +44 -0
  90. package/lib/generated/instructions/updatePoolStatus.d.ts.map +1 -0
  91. package/lib/generated/instructions/updateRewardInfos.d.ts +39 -0
  92. package/lib/generated/instructions/updateRewardInfos.d.ts.map +1 -0
  93. package/lib/generated/programs/ammV3.d.ts +109 -0
  94. package/lib/generated/programs/ammV3.d.ts.map +1 -0
  95. package/lib/generated/programs/index.d.ts +9 -0
  96. package/lib/generated/programs/index.d.ts.map +1 -0
  97. package/lib/generated/shared/index.d.ts +50 -0
  98. package/lib/generated/shared/index.d.ts.map +1 -0
  99. package/lib/generated/types/collectPersonalFeeEvent.d.ts +37 -0
  100. package/lib/generated/types/collectPersonalFeeEvent.d.ts.map +1 -0
  101. package/lib/generated/types/collectProtocolFeeEvent.d.ts +37 -0
  102. package/lib/generated/types/collectProtocolFeeEvent.d.ts.map +1 -0
  103. package/lib/generated/types/configChangeEvent.d.ts +23 -0
  104. package/lib/generated/types/configChangeEvent.d.ts.map +1 -0
  105. package/lib/generated/types/createPersonalPositionEvent.d.ts +57 -0
  106. package/lib/generated/types/createPersonalPositionEvent.d.ts.map +1 -0
  107. package/lib/generated/types/decreaseLiquidityEvent.d.ts +51 -0
  108. package/lib/generated/types/decreaseLiquidityEvent.d.ts.map +1 -0
  109. package/lib/generated/types/increaseLiquidityEvent.d.ts +41 -0
  110. package/lib/generated/types/increaseLiquidityEvent.d.ts.map +1 -0
  111. package/lib/generated/types/index.d.ts +23 -0
  112. package/lib/generated/types/index.d.ts.map +1 -0
  113. package/lib/generated/types/liquidityCalculateEvent.d.ts +51 -0
  114. package/lib/generated/types/liquidityCalculateEvent.d.ts.map +1 -0
  115. package/lib/generated/types/liquidityChangeEvent.d.ts +41 -0
  116. package/lib/generated/types/liquidityChangeEvent.d.ts.map +1 -0
  117. package/lib/generated/types/observation.d.ts +29 -0
  118. package/lib/generated/types/observation.d.ts.map +1 -0
  119. package/lib/generated/types/poolCreatedEvent.d.ts +52 -0
  120. package/lib/generated/types/poolCreatedEvent.d.ts.map +1 -0
  121. package/lib/generated/types/positionRewardInfo.d.ts +20 -0
  122. package/lib/generated/types/positionRewardInfo.d.ts.map +1 -0
  123. package/lib/generated/types/rewardInfo.d.ts +66 -0
  124. package/lib/generated/types/rewardInfo.d.ts.map +1 -0
  125. package/lib/generated/types/swapEvent.d.ts +77 -0
  126. package/lib/generated/types/swapEvent.d.ts.map +1 -0
  127. package/lib/generated/types/tickState.d.ts +42 -0
  128. package/lib/generated/types/tickState.d.ts.map +1 -0
  129. package/lib/generated/types/updateRewardInfosEvent.d.ts +21 -0
  130. package/lib/generated/types/updateRewardInfosEvent.d.ts.map +1 -0
  131. package/lib/index.d.ts +19 -0
  132. package/lib/index.d.ts.map +1 -0
  133. package/lib/index.js +9385 -0
  134. package/lib/index.mjs +10022 -0
  135. package/lib/pool-manager.d.ts +84 -0
  136. package/lib/pool-manager.d.ts.map +1 -0
  137. package/lib/position-manager.d.ts +127 -0
  138. package/lib/position-manager.d.ts.map +1 -0
  139. package/lib/rewards.d.ts +7 -0
  140. package/lib/rewards.d.ts.map +1 -0
  141. package/lib/swap.d.ts +6 -0
  142. package/lib/swap.d.ts.map +1 -0
  143. package/lib/types.d.ts +307 -0
  144. package/lib/types.d.ts.map +1 -0
  145. package/lib/utils/index.d.ts +83 -0
  146. package/lib/utils/index.d.ts.map +1 -0
  147. package/lib/utils/math.d.ts +51 -0
  148. package/lib/utils/math.d.ts.map +1 -0
  149. package/lib/utils/pda.d.ts +80 -0
  150. package/lib/utils/pda.d.ts.map +1 -0
  151. package/lib/utils/pool.d.ts +180 -0
  152. package/lib/utils/pool.d.ts.map +1 -0
  153. package/lib/utils/tick.d.ts +172 -0
  154. package/lib/utils/tick.d.ts.map +1 -0
  155. package/lib/utils/tickQuery.d.ts +13 -0
  156. package/lib/utils/tickQuery.d.ts.map +1 -0
  157. package/package.json +3 -2
@@ -0,0 +1,25 @@
1
+ import { ClmmConfig } from "../types";
2
+ import { ClmmApiConfig } from ".";
3
+ export declare class ClmmConfigApi {
4
+ private readonly config;
5
+ private readonly client;
6
+ constructor(config: ClmmApiConfig);
7
+ /**
8
+ * Fetch all configs
9
+ * @returns CLMM config information or null if not found
10
+ */
11
+ getClmmConfigs(): Promise<ClmmConfig[] | null>;
12
+ /**
13
+ * Handle API errors and convert to Error
14
+ * @param error - Error from axios
15
+ * @returns Error with appropriate message
16
+ */
17
+ private handleApiError;
18
+ /**
19
+ * Check if error is a 404 Not Found
20
+ * @param error - Error to check
21
+ * @returns True if 404 error
22
+ */
23
+ private isNotFoundError;
24
+ }
25
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAIlC,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAEV,MAAM,EAAE,aAAa;IAUlD;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;IAYpD;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAkCtB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CAMxB"}
@@ -0,0 +1,15 @@
1
+ import { ClmmConfigApi } from "./config";
2
+ import { PoolsApi } from "./pools";
3
+ export interface ClmmApiConfig {
4
+ /** Base URL for the API */
5
+ baseUrl: string;
6
+ /** Request timeout in milliseconds */
7
+ timeout?: number;
8
+ }
9
+ export declare class ClmmApi {
10
+ private readonly config;
11
+ readonly pools: PoolsApi;
12
+ readonly clmmConfig: ClmmConfigApi;
13
+ constructor(config: ClmmApiConfig);
14
+ }
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,OAAO;IAIN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,SAAgB,KAAK,EAAE,QAAQ,CAAC;IAChC,SAAgB,UAAU,EAAE,aAAa,CAAC;gBAEb,MAAM,EAAE,aAAa;CAInD"}
@@ -0,0 +1,39 @@
1
+ import { Address } from "@solana/kit";
2
+ import { PoolApiData } from "../types";
3
+ import { ClmmApiConfig } from ".";
4
+ export declare class PoolsApi {
5
+ private readonly config;
6
+ private readonly client;
7
+ constructor(config: ClmmApiConfig);
8
+ /**
9
+ * Fetch a single pool by address
10
+ * @param poolAddress - Pool state address
11
+ * @returns Pool information or null if not found
12
+ */
13
+ getPool(poolAddress: Address): Promise<PoolApiData | null>;
14
+ /**
15
+ * Fetch all pools
16
+ * @returns Array of pool information
17
+ */
18
+ getAllPools(): Promise<PoolApiData[]>;
19
+ /**
20
+ * Fetch pools by token pair
21
+ * @param tokenA - First token mint
22
+ * @param tokenB - Second token mint
23
+ * @returns Array of pool information matching the token pair
24
+ */
25
+ getPoolsByTokenPair(tokenA: Address, tokenB: Address): Promise<PoolApiData[]>;
26
+ /**
27
+ * Handle API errors and convert to Error
28
+ * @param error - Error from axios
29
+ * @returns Error with appropriate message
30
+ */
31
+ private handleApiError;
32
+ /**
33
+ * Check if error is a 404 Not Found
34
+ * @param error - Error to check
35
+ * @returns True if 404 error
36
+ */
37
+ private isNotFoundError;
38
+ }
39
+ //# sourceMappingURL=pools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pools.d.ts","sourceRoot":"","sources":["../../src/api/pools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAQlC,qBAAa,QAAQ;IAGP,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAEV,MAAM,EAAE,aAAa;IAUlD;;;;OAIG;IACG,OAAO,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAahE;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAS3C;;;;;OAKG;IACG,mBAAmB,CACvB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,WAAW,EAAE,CAAC;IAgBzB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAkCtB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CAMxB"}
@@ -0,0 +1,43 @@
1
+ import type { ClmmSdkConfig } from "./types";
2
+ import { Clmm } from "./clmm";
3
+ import { PoolManager } from "./pool-manager";
4
+ import { PositionManager } from "./position-manager";
5
+ import { ClmmApi } from "./api";
6
+ export declare class ClmmSdk {
7
+ /** Core CLMM functionality (Raydium-style) */
8
+ readonly clmm: Clmm;
9
+ /** API functionality */
10
+ readonly api: ClmmApi;
11
+ /** Pool management functionality */
12
+ readonly pools: PoolManager;
13
+ /** Position management functionality */
14
+ readonly positions: PositionManager;
15
+ /** Swap functionality */
16
+ /** Rewards and fee collection functionality */
17
+ /** SDK configuration */
18
+ readonly config: ClmmSdkConfig;
19
+ constructor(config: ClmmSdkConfig);
20
+ /**
21
+ * Create a new instance with updated configuration
22
+ * @param newConfig - Updated configuration
23
+ * @returns New SDK instance
24
+ */
25
+ withConfig(newConfig: Partial<ClmmSdkConfig>): ClmmSdk;
26
+ /**
27
+ * Get the current program address
28
+ * @returns Program address
29
+ */
30
+ getProgramAddress(): string;
31
+ /**
32
+ * Get the current commitment level
33
+ * @returns Commitment level
34
+ */
35
+ getCommitment(): "processed" | "confirmed" | "finalized";
36
+ }
37
+ /**
38
+ * Factory function to create a new CLMM SDK instance
39
+ * @param config - SDK configuration
40
+ * @returns New SDK instance
41
+ */
42
+ export declare function createClmmSdk(config: ClmmSdkConfig): ClmmSdk;
43
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAKhC,qBAAa,OAAO;IAClB,8CAA8C;IAC9C,SAAgB,IAAI,EAAE,IAAI,CAAC;IAE3B,wBAAwB;IACxB,SAAgB,GAAG,EAAE,OAAO,CAAC;IAE7B,oCAAoC;IACpC,SAAgB,KAAK,EAAE,WAAW,CAAC;IAEnC,wCAAwC;IACxC,SAAgB,SAAS,EAAE,eAAe,CAAC;IAE3C,yBAAyB;IAGzB,+CAA+C;IAG/C,wBAAwB;IACxB,SAAgB,MAAM,EAAE,aAAa,CAAC;gBAE1B,MAAM,EAAE,aAAa;IAgBjC;;;;OAIG;IACH,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO;IAOtD;;;OAGG;IACH,iBAAiB,IAAI,MAAM;IAO3B;;;OAGG;IACH,aAAa,IAAI,WAAW,GAAG,WAAW,GAAG,WAAW;CAGzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAE5D"}
package/lib/clmm.d.ts ADDED
@@ -0,0 +1,91 @@
1
+ import { type Address, type Instruction, type TransactionSigner } from "@solana/kit";
2
+ import type { ClmmSdkConfig, RemoveLiquidityParams } from "./types";
3
+ import Decimal from "decimal.js";
4
+ /**
5
+ * Return type for instruction builders following Raydium's pattern
6
+ */
7
+ export interface InstructionResult<T = {}> {
8
+ /** The instruction to execute */
9
+ instruction: Instruction;
10
+ /** Additional information and addresses */
11
+ extInfo: T;
12
+ /** Required signers */
13
+ signers: TransactionSigner[];
14
+ }
15
+ /**
16
+ * Core CLMM class providing high-level operations
17
+ */
18
+ export declare class Clmm {
19
+ private readonly config;
20
+ constructor(config: ClmmSdkConfig);
21
+ /**
22
+ * Create a new AMM configuration
23
+ * @param params - Configuration parameters
24
+ * @returns Instruction result
25
+ */
26
+ createAmmConfig(params: {
27
+ /** Configuration owner */
28
+ owner: TransactionSigner;
29
+ /** Configuration index */
30
+ index: number;
31
+ /** Tick spacing */
32
+ tickSpacing: number;
33
+ /** Trade fee rate (in basis points) */
34
+ tradeFeeRate: number;
35
+ /** Protocol fee rate (in basis points) */
36
+ protocolFeeRate: number;
37
+ /** Fund fee rate (in basis points) */
38
+ fundFeeRate: number;
39
+ /** Fee payer (defaults to owner) */
40
+ feePayer?: TransactionSigner;
41
+ }): Promise<InstructionResult<{
42
+ ammConfigAddress: Address;
43
+ }>>;
44
+ /**
45
+ * NOTE: Not Implemented
46
+ *
47
+ * Open a new liquidity position (V2)
48
+ * @param params - Position parameters
49
+ * @returns Instruction result
50
+ */
51
+ openPositionV2(params: {
52
+ owner: Address;
53
+ payer: TransactionSigner;
54
+ mint1: Address;
55
+ mint2: Address;
56
+ config: {};
57
+ initialPrice: Decimal;
58
+ }): Promise<{}>;
59
+ /**
60
+ * NOTE: Not Implemented
61
+ *
62
+ * Increase liquidity in an existing position
63
+ * @param params - Increase liquidity parameters
64
+ * @returns Instruction result
65
+ */
66
+ increaseLiquidity(params: {
67
+ /** Position NFT mint address */
68
+ positionMint: Address;
69
+ /** Additional amount of token A */
70
+ amountA: bigint;
71
+ /** Additional amount of token B */
72
+ amountB: bigint;
73
+ /** Maximum amount of token A to use */
74
+ maxAmountA: bigint;
75
+ /** Maximum amount of token B to use */
76
+ maxAmountB: bigint;
77
+ /** Position owner */
78
+ owner: TransactionSigner;
79
+ /** Fee payer (defaults to owner) */
80
+ feePayer?: TransactionSigner;
81
+ }): Promise<{}>;
82
+ /**
83
+ * NOTE: Not Implemented
84
+ *
85
+ * Decrease liquidity from an existing position
86
+ * @param params - Decrease liquidity parameters
87
+ * @returns Instruction result
88
+ */
89
+ decreaseLiquidity(_params: RemoveLiquidityParams): Promise<{}>;
90
+ }
91
+ //# sourceMappingURL=clmm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clmm.d.ts","sourceRoot":"","sources":["../src/clmm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAMjB,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,EAAE;IACvC,iCAAiC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,2CAA2C;IAC3C,OAAO,EAAE,CAAC,CAAC;IACX,uBAAuB;IACvB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,IAAI;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE;QAC5B,0BAA0B;QAC1B,KAAK,EAAE,iBAAiB,CAAC;QACzB,0BAA0B;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,mBAAmB;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,uCAAuC;QACvC,YAAY,EAAE,MAAM,CAAC;QACrB,0CAA0C;QAC1C,eAAe,EAAE,MAAM,CAAC;QACxB,sCAAsC;QACtC,WAAW,EAAE,MAAM,CAAC;QACpB,oCAAoC;QACpC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;KAC9B,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAgC7D;;;;;;OAMG;IACG,cAAc,CAAC,MAAM,EAAE;QAC3B,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,iBAAiB,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,EAAE,CAAC;QACX,YAAY,EAAE,OAAO,CAAC;KACvB,GACE,OAAO,CAAC,EAAE,CAAC;IAKd;;;;;;OAMG;IACG,iBAAiB,CAAC,MAAM,EAAE;QAC9B,gCAAgC;QAChC,YAAY,EAAE,OAAO,CAAC;QACtB,mCAAmC;QACnC,OAAO,EAAE,MAAM,CAAC;QAChB,mCAAmC;QACnC,OAAO,EAAE,MAAM,CAAC;QAChB,uCAAuC;QACvC,UAAU,EAAE,MAAM,CAAC;QACnB,uCAAuC;QACvC,UAAU,EAAE,MAAM,CAAC;QACnB,qBAAqB;QACrB,KAAK,EAAE,iBAAiB,CAAC;QACzB,oCAAoC;QACpC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;KAC9B,GAAG,OAAO,CAAC,EAAE,CAAC;IAIf;;;;;;OAMG;IACG,iBAAiB,CACrB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,EAAE,CAAC;CAGf"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Constants and configuration values for the Stabble CLMM SDK
3
+ */
4
+ import { type Address } from "@solana/kit";
5
+ import BN from "bn.js";
6
+ export declare const STABBLE_CLMM_PROGRAM_ID: Address;
7
+ export declare const METADATA_PROGRAM_ID: Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
8
+ export declare const SYSTEM_PROGRAM_ID: Address<"11111111111111111111111111111111">;
9
+ export declare const SYSVAR_RENT_PROGRAM_ID: Address<"SysvarRent111111111111111111111111111111111">;
10
+ export declare const ZERO: BN;
11
+ export declare const ONE: BN;
12
+ export declare const NEGATIVE_ONE: BN;
13
+ export declare const BIT_PRECISION = 16;
14
+ export declare const Q64: BN;
15
+ export declare const Q128: BN;
16
+ export declare const MaxU64: BN;
17
+ export declare const MIN_TICK = -443636;
18
+ export declare const MAX_TICK = 443636;
19
+ export declare const MIN_SQRT_RATIO: BN;
20
+ export declare const MAX_SQRT_RATIO: BN;
21
+ export declare const DEFAULT_SLIPPAGE_TOLERANCE = 0.01;
22
+ export declare const DEFAULT_DEADLINE_SECONDS = 300;
23
+ export declare const FEE_RATE_DENOMINATOR: BN;
24
+ export declare const U64Resolution = 64;
25
+ export declare const MaxUint128: BN;
26
+ export declare const MIN_SQRT_PRICE_X64: BN;
27
+ export declare const MAX_SQRT_PRICE_X64: BN;
28
+ export declare const LOG_B_2_X32 = "295232799039604140847618609643520000000";
29
+ export declare const LOG_B_P_ERR_MARGIN_LOWER_X64 = "184467440737095516";
30
+ export declare const LOG_B_P_ERR_MARGIN_UPPER_X64 = "15793534762490258745";
31
+ export type Fee = number;
32
+ export declare const FEE_TIERS: {
33
+ readonly VERY_LOW: 100;
34
+ readonly LOW: 500;
35
+ readonly MEDIUM: 3000;
36
+ readonly HIGH: 10000;
37
+ };
38
+ export declare const TICK_SPACINGS: Record<number, number>;
39
+ export declare const DEFAULT_CONFIG: {
40
+ readonly SLIPPAGE_TOLERANCE: 0.01;
41
+ readonly DEADLINE_SECONDS: 300;
42
+ readonly COMMITMENT: "confirmed";
43
+ readonly MAX_RETRIES: 3;
44
+ readonly RETRY_DELAY: 1000;
45
+ };
46
+ export declare const TICKS_PER_ARRAY = 60;
47
+ export declare const PDA_SEEDS: {
48
+ readonly AMM_CONFIG: "amm_config";
49
+ readonly POOL_STATE: "pool";
50
+ readonly POOL_VAULT: "pool_vault";
51
+ readonly POOL_REWARD_VAULT_SEED: "pool_reward_vault";
52
+ readonly POSITION_STATE: "position";
53
+ readonly TICK_ARRAY_STATE: "tick_array";
54
+ readonly OBSERVATION_STATE: "observation";
55
+ readonly OPERATION: "operation";
56
+ readonly BITMAP_EXTENSION: "pool_tick_array_bitmap_extension";
57
+ };
58
+ export declare const API_ENDPONTS: {
59
+ mainnet: string;
60
+ devnet: string;
61
+ };
62
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,OAAO,CAAC;AAIvB,eAAO,MAAM,uBAAuB,EACgB,OAAO,CAAC;AAG5D,eAAO,MAAM,mBAAmB,EACmB,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAG1G,eAAO,MAAM,iBAAiB,EACU,OAAO,CAAC,kCAAkC,CAAC,CAAC;AACpF,eAAO,MAAM,sBAAsB,EACgB,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAG1G,eAAO,MAAM,IAAI,IAAY,CAAC;AAC9B,eAAO,MAAM,GAAG,IAAY,CAAC;AAC7B,eAAO,MAAM,YAAY,IAAa,CAAC;AACvC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,GAAG,IAA4B,CAAC;AAC7C,eAAO,MAAM,IAAI,IAA6B,CAAC;AAE/C,eAAO,MAAM,MAAM,IAAe,CAAC;AAGnC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,QAAQ,SAAS,CAAC;AAC/B,eAAO,MAAM,cAAc,IAAuB,CAAC;AACnD,eAAO,MAAM,cAAc,IAE1B,CAAC;AAGF,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,eAAO,MAAM,oBAAoB,IAA4B,CAAC;AAG9D,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,UAAU,IAAgB,CAAC;AACxC,eAAO,MAAM,kBAAkB,IAAiB,CAAC;AACjD,eAAO,MAAM,kBAAkB,IAAiB,CAAC;AAGjD,eAAO,MAAM,WAAW,4CAA4C,CAAC;AACrE,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AAGnE,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AAGzB,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AAGX,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAGX,eAAO,MAAM,eAAe,KAAK,CAAC;AAGlC,eAAO,MAAM,SAAS;;;;;;;;;;CAUZ,CAAC;AASX,eAAO,MAAM,YAAY;;;CAGxB,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, type ReadonlyUint8Array } from '@solana/kit';
9
+ export declare const AMM_CONFIG_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
10
+ export declare function getAmmConfigDiscriminatorBytes(): ReadonlyUint8Array;
11
+ export type AmmConfig = {
12
+ discriminator: ReadonlyUint8Array;
13
+ /** Bump to identify PDA */
14
+ bump: number;
15
+ index: number;
16
+ /** Address of the protocol owner */
17
+ owner: Address;
18
+ /** The protocol fee */
19
+ protocolFeeRate: number;
20
+ /** The trade fee, denominated in hundredths of a bip (10^-6) */
21
+ tradeFeeRate: number;
22
+ /** The tick spacing */
23
+ tickSpacing: number;
24
+ /** The fund fee, denominated in hundredths of a bip (10^-6) */
25
+ fundFeeRate: number;
26
+ paddingU32: number;
27
+ fundOwner: Address;
28
+ padding: Array<bigint>;
29
+ };
30
+ export type AmmConfigArgs = {
31
+ /** Bump to identify PDA */
32
+ bump: number;
33
+ index: number;
34
+ /** Address of the protocol owner */
35
+ owner: Address;
36
+ /** The protocol fee */
37
+ protocolFeeRate: number;
38
+ /** The trade fee, denominated in hundredths of a bip (10^-6) */
39
+ tradeFeeRate: number;
40
+ /** The tick spacing */
41
+ tickSpacing: number;
42
+ /** The fund fee, denominated in hundredths of a bip (10^-6) */
43
+ fundFeeRate: number;
44
+ paddingU32: number;
45
+ fundOwner: Address;
46
+ padding: Array<number | bigint>;
47
+ };
48
+ export declare function getAmmConfigEncoder(): FixedSizeEncoder<AmmConfigArgs>;
49
+ export declare function getAmmConfigDecoder(): FixedSizeDecoder<AmmConfig>;
50
+ export declare function getAmmConfigCodec(): FixedSizeCodec<AmmConfigArgs, AmmConfig>;
51
+ export declare function decodeAmmConfig<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<AmmConfig, TAddress>;
52
+ export declare function decodeAmmConfig<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<AmmConfig, TAddress>;
53
+ export declare function fetchAmmConfig<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<AmmConfig, TAddress>>;
54
+ export declare function fetchMaybeAmmConfig<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<AmmConfig, TAddress>>;
55
+ export declare function fetchAllAmmConfig(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<AmmConfig>[]>;
56
+ export declare function fetchAllMaybeAmmConfig(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<AmmConfig>[]>;
57
+ export declare function getAmmConfigSize(): number;
58
+ //# sourceMappingURL=ammConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ammConfig.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/ammConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ export * from './ammConfig';
9
+ export * from './observationState';
10
+ export * from './operationState';
11
+ export * from './personalPositionState';
12
+ export * from './poolState';
13
+ export * from './protocolPositionState';
14
+ export * from './supportMintAssociated';
15
+ export * from './tickArrayBitmapExtension';
16
+ export * from './tickArrayState';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, type ReadonlyUint8Array } from '@solana/kit';
9
+ import { type Observation, type ObservationArgs } from '../types';
10
+ export declare const OBSERVATION_STATE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
11
+ export declare function getObservationStateDiscriminatorBytes(): ReadonlyUint8Array;
12
+ export type ObservationState = {
13
+ discriminator: ReadonlyUint8Array;
14
+ /** Whether the ObservationState is initialized */
15
+ initialized: boolean;
16
+ /** recent update epoch */
17
+ recentEpoch: bigint;
18
+ /** the most-recently updated index of the observations array */
19
+ observationIndex: number;
20
+ /** belongs to which pool */
21
+ poolId: Address;
22
+ /** observation array */
23
+ observations: Array<Observation>;
24
+ /** padding for feature update */
25
+ padding: Array<bigint>;
26
+ };
27
+ export type ObservationStateArgs = {
28
+ /** Whether the ObservationState is initialized */
29
+ initialized: boolean;
30
+ /** recent update epoch */
31
+ recentEpoch: number | bigint;
32
+ /** the most-recently updated index of the observations array */
33
+ observationIndex: number;
34
+ /** belongs to which pool */
35
+ poolId: Address;
36
+ /** observation array */
37
+ observations: Array<ObservationArgs>;
38
+ /** padding for feature update */
39
+ padding: Array<number | bigint>;
40
+ };
41
+ export declare function getObservationStateEncoder(): FixedSizeEncoder<ObservationStateArgs>;
42
+ export declare function getObservationStateDecoder(): FixedSizeDecoder<ObservationState>;
43
+ export declare function getObservationStateCodec(): FixedSizeCodec<ObservationStateArgs, ObservationState>;
44
+ export declare function decodeObservationState<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<ObservationState, TAddress>;
45
+ export declare function decodeObservationState<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<ObservationState, TAddress>;
46
+ export declare function fetchObservationState<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<ObservationState, TAddress>>;
47
+ export declare function fetchMaybeObservationState<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<ObservationState, TAddress>>;
48
+ export declare function fetchAllObservationState(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<ObservationState>[]>;
49
+ export declare function fetchAllMaybeObservationState(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<ObservationState>[]>;
50
+ export declare function getObservationStateSize(): number;
51
+ //# sourceMappingURL=observationState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observationState.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/observationState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, type ReadonlyUint8Array } from '@solana/kit';
9
+ export declare const OPERATION_STATE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
10
+ export declare function getOperationStateDiscriminatorBytes(): ReadonlyUint8Array;
11
+ export type OperationState = {
12
+ discriminator: ReadonlyUint8Array;
13
+ /** Bump to identify PDA */
14
+ bump: number;
15
+ /** Address of the operation owner */
16
+ operationOwners: Array<Address>;
17
+ /** The mint address of whitelist to emit reward */
18
+ whitelistMints: Array<Address>;
19
+ };
20
+ export type OperationStateArgs = {
21
+ /** Bump to identify PDA */
22
+ bump: number;
23
+ /** Address of the operation owner */
24
+ operationOwners: Array<Address>;
25
+ /** The mint address of whitelist to emit reward */
26
+ whitelistMints: Array<Address>;
27
+ };
28
+ export declare function getOperationStateEncoder(): FixedSizeEncoder<OperationStateArgs>;
29
+ export declare function getOperationStateDecoder(): FixedSizeDecoder<OperationState>;
30
+ export declare function getOperationStateCodec(): FixedSizeCodec<OperationStateArgs, OperationState>;
31
+ export declare function decodeOperationState<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<OperationState, TAddress>;
32
+ export declare function decodeOperationState<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<OperationState, TAddress>;
33
+ export declare function fetchOperationState<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<OperationState, TAddress>>;
34
+ export declare function fetchMaybeOperationState<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<OperationState, TAddress>>;
35
+ export declare function fetchAllOperationState(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<OperationState>[]>;
36
+ export declare function fetchAllMaybeOperationState(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<OperationState>[]>;
37
+ export declare function getOperationStateSize(): number;
38
+ //# sourceMappingURL=operationState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operationState.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/operationState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, type ReadonlyUint8Array } from '@solana/kit';
9
+ import { type PositionRewardInfo, type PositionRewardInfoArgs } from '../types';
10
+ export declare const PERSONAL_POSITION_STATE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
11
+ export declare function getPersonalPositionStateDiscriminatorBytes(): ReadonlyUint8Array;
12
+ export type PersonalPositionState = {
13
+ discriminator: ReadonlyUint8Array;
14
+ /** Bump to identify PDA */
15
+ bump: ReadonlyUint8Array;
16
+ /** Mint address of the tokenized position */
17
+ nftMint: Address;
18
+ /** The ID of the pool with which this token is connected */
19
+ poolId: Address;
20
+ /** The lower bound tick of the position */
21
+ tickLowerIndex: number;
22
+ /** The upper bound tick of the position */
23
+ tickUpperIndex: number;
24
+ /** The amount of liquidity owned by this position */
25
+ liquidity: bigint;
26
+ /** The token_0 fee growth of the aggregate position as of the last action on the individual position */
27
+ feeGrowthInside0LastX64: bigint;
28
+ /** The token_1 fee growth of the aggregate position as of the last action on the individual position */
29
+ feeGrowthInside1LastX64: bigint;
30
+ /** The fees owed to the position owner in token_0, as of the last computation */
31
+ tokenFeesOwed0: bigint;
32
+ /** The fees owed to the position owner in token_1, as of the last computation */
33
+ tokenFeesOwed1: bigint;
34
+ rewardInfos: Array<PositionRewardInfo>;
35
+ recentEpoch: bigint;
36
+ padding: Array<bigint>;
37
+ };
38
+ export type PersonalPositionStateArgs = {
39
+ /** Bump to identify PDA */
40
+ bump: ReadonlyUint8Array;
41
+ /** Mint address of the tokenized position */
42
+ nftMint: Address;
43
+ /** The ID of the pool with which this token is connected */
44
+ poolId: Address;
45
+ /** The lower bound tick of the position */
46
+ tickLowerIndex: number;
47
+ /** The upper bound tick of the position */
48
+ tickUpperIndex: number;
49
+ /** The amount of liquidity owned by this position */
50
+ liquidity: number | bigint;
51
+ /** The token_0 fee growth of the aggregate position as of the last action on the individual position */
52
+ feeGrowthInside0LastX64: number | bigint;
53
+ /** The token_1 fee growth of the aggregate position as of the last action on the individual position */
54
+ feeGrowthInside1LastX64: number | bigint;
55
+ /** The fees owed to the position owner in token_0, as of the last computation */
56
+ tokenFeesOwed0: number | bigint;
57
+ /** The fees owed to the position owner in token_1, as of the last computation */
58
+ tokenFeesOwed1: number | bigint;
59
+ rewardInfos: Array<PositionRewardInfoArgs>;
60
+ recentEpoch: number | bigint;
61
+ padding: Array<number | bigint>;
62
+ };
63
+ export declare function getPersonalPositionStateEncoder(): FixedSizeEncoder<PersonalPositionStateArgs>;
64
+ export declare function getPersonalPositionStateDecoder(): FixedSizeDecoder<PersonalPositionState>;
65
+ export declare function getPersonalPositionStateCodec(): FixedSizeCodec<PersonalPositionStateArgs, PersonalPositionState>;
66
+ export declare function decodePersonalPositionState<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<PersonalPositionState, TAddress>;
67
+ export declare function decodePersonalPositionState<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<PersonalPositionState, TAddress>;
68
+ export declare function fetchPersonalPositionState<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<PersonalPositionState, TAddress>>;
69
+ export declare function fetchMaybePersonalPositionState<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<PersonalPositionState, TAddress>>;
70
+ export declare function fetchAllPersonalPositionState(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<PersonalPositionState>[]>;
71
+ export declare function fetchAllMaybePersonalPositionState(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<PersonalPositionState>[]>;
72
+ export declare function getPersonalPositionStateSize(): number;
73
+ //# sourceMappingURL=personalPositionState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personalPositionState.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/personalPositionState.ts"],"names":[],"mappings":"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"}