@stabbleorg/mclmm-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 (157) hide show
  1. package/README.md +267 -0
  2. package/idl/stabble_clmm.json +5407 -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 +45 -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 +122 -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 +9404 -0
  134. package/lib/index.mjs +10038 -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 +302 -0
  144. package/lib/types.d.ts.map +1 -0
  145. package/lib/utils/index.d.ts +79 -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 +171 -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 +59 -0
@@ -0,0 +1,15 @@
1
+ import { PoolsApi } from "./pools";
2
+ export interface ClmmApiConfig {
3
+ /** Base URL for the API */
4
+ baseUrl: string;
5
+ /** Optional API key for authentication */
6
+ apiKey?: string;
7
+ /** Request timeout in milliseconds */
8
+ timeout?: number;
9
+ }
10
+ export declare class ClmmApi {
11
+ private readonly config;
12
+ readonly pools: PoolsApi;
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,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,OAAO;IAGN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,SAAgB,KAAK,EAAE,QAAQ,CAAC;gBAEH,MAAM,EAAE,aAAa;CAGnD"}
@@ -0,0 +1,45 @@
1
+ import { Address } from "@solana/kit";
2
+ import { PoolInfo } 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<PoolInfo | null>;
14
+ /**
15
+ * Fetch all pools
16
+ * @returns Array of pool information
17
+ */
18
+ getAllPools(): Promise<PoolInfo[]>;
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<PoolInfo[]>;
26
+ /**
27
+ * Map API response to SDK PoolInfo type
28
+ * @param apiPool - API pool response
29
+ * @returns Transformed PoolInfo object
30
+ */
31
+ private mapApiResponseToPoolInfo;
32
+ /**
33
+ * Handle API errors and convert to Error
34
+ * @param error - Error from axios
35
+ * @returns Error with appropriate message
36
+ */
37
+ private handleApiError;
38
+ /**
39
+ * Check if error is a 404 Not Found
40
+ * @param error - Error to check
41
+ * @returns True if 404 error
42
+ */
43
+ private isNotFoundError;
44
+ }
45
+ //# 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,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAuBlC,qBAAa,QAAQ;IAGP,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAEV,MAAM,EAAE,aAAa;IAWlD;;;;OAIG;IACG,OAAO,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAY7D;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IASxC;;;;;OAKG;IACG,mBAAmB,CACvB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,EAAE,CAAC;IAetB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA0DhC;;;;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;AAIhC,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;IAUjC;;;;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,122 @@
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 PRICE_PRECISION = 1000000;
48
+ export declare const LIQUIDITY_PRECISION = 1000000000000;
49
+ export declare const FEE_PRECISION = 1000000;
50
+ export declare const DEFAULT_COMPUTE_UNITS = 400000;
51
+ export declare const PRIORITY_FEE_MICRO_LAMPORTS = 1000;
52
+ export declare const WELL_KNOWN_TOKENS: {
53
+ readonly SOL: Address;
54
+ readonly USDC: Address;
55
+ readonly USDT: Address;
56
+ };
57
+ export declare const ERROR_MESSAGES: {
58
+ readonly 6000: "LOK error";
59
+ readonly 6001: "Not approved";
60
+ readonly 6002: "Invalid update config flag";
61
+ readonly 6003: "Account lack";
62
+ readonly 6004: "Must collect fees and rewards before closing position";
63
+ readonly 6005: "Minting amount should be greater than 0";
64
+ readonly 6006: "Tick out of range";
65
+ readonly 6007: "Lower tick must be below upper tick";
66
+ readonly 6008: "Tick must be >= minimum tick (-443636)";
67
+ readonly 6009: "Tick must be <= maximum tick (443636)";
68
+ readonly 6010: "Tick must be divisible by tick spacing";
69
+ readonly 6011: "Invalid tick array account";
70
+ readonly 6012: "Invalid tick array boundary";
71
+ readonly 6013: "Square root price limit overflow";
72
+ readonly 6014: "sqrt_price_x64 out of range";
73
+ readonly 6015: "Liquidity sub delta L must be smaller than before";
74
+ readonly 6016: "Liquidity add delta L must be >= before";
75
+ readonly 6017: "Invalid liquidity when updating position";
76
+ readonly 6018: "Both token amounts must not be zero while supplying liquidity";
77
+ readonly 6019: "Liquidity insufficient";
78
+ readonly 6020: "Transaction too old";
79
+ readonly 6021: "Price slippage check failed";
80
+ readonly 6022: "Too little output received";
81
+ readonly 6023: "Too much input paid";
82
+ readonly 6024: "Swap amount cannot be zero";
83
+ readonly 6025: "Input pool vault is invalid";
84
+ readonly 6026: "Swap input or output amount is too small";
85
+ readonly 6027: "Not enough tick array accounts";
86
+ readonly 6028: "Invalid first tick array account";
87
+ readonly 6029: "Invalid reward index";
88
+ readonly 6030: "Reward token limit reached";
89
+ readonly 6031: "Reward token already in use";
90
+ readonly 6032: "Reward tokens must contain one of pool vault mints";
91
+ readonly 6033: "Invalid reward init param";
92
+ readonly 6034: "Invalid collect reward desired amount";
93
+ readonly 6035: "Invalid collect reward input account number";
94
+ readonly 6036: "Invalid reward period";
95
+ readonly 6037: "Reward emissions modification only allowed within 72 hours of cycle end";
96
+ readonly 6038: "Uninitialized reward info";
97
+ readonly 6039: "Token2022 mint extension not supported";
98
+ readonly 6040: "Missing tick array bitmap extension account";
99
+ readonly 6041: "Insufficient liquidity for this direction";
100
+ readonly 6042: "Max token overflow";
101
+ readonly 6043: "Calculate overflow";
102
+ readonly 6044: "Transfer fee calculation mismatch";
103
+ };
104
+ export declare const DISCRIMINATORS: {
105
+ readonly POOL_STATE: Uint8Array<ArrayBuffer>;
106
+ readonly AMM_CONFIG: Uint8Array<ArrayBuffer>;
107
+ readonly POSITION_STATE: Uint8Array<ArrayBuffer>;
108
+ readonly TICK_ARRAY_STATE: Uint8Array<ArrayBuffer>;
109
+ readonly OBSERVATION_STATE: Uint8Array<ArrayBuffer>;
110
+ };
111
+ export declare const PDA_SEEDS: {
112
+ readonly AMM_CONFIG: "amm_config";
113
+ readonly POOL_STATE: "pool";
114
+ readonly POOL_VAULT: "pool_vault";
115
+ readonly POOL_REWARD_VAULT_SEED: "pool_reward_vault";
116
+ readonly POSITION_STATE: "position";
117
+ readonly TICK_ARRAY_STATE: "tick_array";
118
+ readonly OBSERVATION_STATE: "observation";
119
+ readonly OPERATION: "operation";
120
+ readonly BITMAP_EXTENSION: "pool_tick_array_bitmap_extension";
121
+ };
122
+ //# 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,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvB,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,eAAe,UAAM,CAAC;AACnC,eAAO,MAAM,mBAAmB,gBAAO,CAAC;AACxC,eAAO,MAAM,aAAa,UAAM,CAAC;AAGjC,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAC7C,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAGhD,eAAO,MAAM,iBAAiB;kBAC0B,OAAO;mBACL,OAAO;mBACP,OAAO;CAEvD,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CjB,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAGX,eAAO,MAAM,SAAS;;;;;;;;;;CAUZ,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":"AAAA;;;;;;GAMG;AAEH,OAAO,EAKL,mBAAmB,EACnB,oBAAoB,EAcpB,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,6BAA6B,yBAExC,CAAC;AAEH,wBAAgB,mCAAmC,uBAIlD;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,kBAAkB,CAAC;IAClC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,mDAAmD;IACnD,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,mDAAmD;IACnD,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,CAU/E;AAED,wBAAgB,wBAAwB,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAO3E;AAED,wBAAgB,sBAAsB,IAAI,cAAc,CACtD,kBAAkB,EAClB,cAAc,CACf,CAEA;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EACnE,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,GACvC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AACrC,wBAAgB,oBAAoB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EACnE,cAAc,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAC5C,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAU1C,wBAAsB,mBAAmB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EACxE,GAAG,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAC9C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAI5C;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,SAAS,MAAM,GAAG,MAAM,EAEhC,GAAG,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAC9C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAGjD;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAC/C,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EACzB,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAQpC;AAED,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAC/C,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EACzB,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,CAKzC;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C"}
@@ -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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"}