@liquid-af/sdk 0.8.1 → 0.8.2

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.
package/dist/lut.d.ts CHANGED
@@ -1,31 +1,19 @@
1
1
  import { PublicKey, type Connection, type AddressLookupTableAccount } from "@solana/web3.js";
2
2
  import { type LiquidConfig } from "./config.js";
3
3
  /**
4
- * Returns the 15 account addresses for the liquid-swap global LUT.
4
+ * Returns the 21 account addresses for the global LUT.
5
5
  *
6
- * Programs (7): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events
6
+ * Programs (9): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events, Fees, Swap
7
+ * Liquid PDAs (2): global_config, cpi_authority
7
8
  * Swap PDAs (3): authority, global_config, cpi_authority
8
- * State PDAs (3): global_amm_volume, cashback_config, state_events_cpi_authority
9
+ * State PDAs (4): global_amm_volume, global_curve_volume, cashback_config, cpi_authority
9
10
  * Constants (2): WSOL mint, oracle price feed
10
11
  *
11
12
  * @param config - Liquid protocol configuration
12
13
  * @param connection - Solana RPC connection (for fetching oracle price feed)
13
- * @returns Array of 15 public keys to populate the LUT
14
- */
15
- export declare function getSwapLutAccounts(config: LiquidConfig, connection: Connection): Promise<PublicKey[]>;
16
- /**
17
- * Returns the 18 account addresses for the liquid (bonding curve) global LUT.
18
- *
19
- * Programs (9): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events, Fees, Swap
20
- * Liquid PDAs (2): global_config, cpi_authority
21
- * State PDAs (3): global_curve_volume, cashback_config, state_events_cpi_authority
22
- * Swap PDAs for migration (3): amm_global_config, amm_authority, swap_cpi_authority
23
- * Constants (1): WSOL mint
24
- *
25
- * @param config - Liquid protocol configuration
26
- * @returns Array of 18 public keys to populate the LUT
14
+ * @returns Array of 21 public keys to populate the LUT
27
15
  */
28
- export declare function getLiquidLutAccounts(config: LiquidConfig): PublicKey[];
16
+ export declare function getLutAccounts(config: LiquidConfig, connection: Connection): Promise<PublicKey[]>;
29
17
  /**
30
18
  * Fetches an Address Lookup Table account from the chain.
31
19
  *
package/dist/lut.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lut.d.ts","sourceRoot":"","sources":["../src/lut.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,SAAS,EAET,KAAK,UAAU,EACf,KAAK,yBAAyB,EAC9B,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,aAAa,CAAC;AA0B3D;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,GACpB,OAAO,CAAC,SAAS,EAAE,CAAC,CAqCtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,EAAE,CA2CtE;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC7B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,SAAS,GACnB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAG3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACzC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,SAAS,EAAE,EACrB,UAAU,EAAE,MAAM;;;EAgBlB"}
1
+ {"version":3,"file":"lut.d.ts","sourceRoot":"","sources":["../src/lut.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,SAAS,EAET,KAAK,UAAU,EACf,KAAK,yBAAyB,EAC9B,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,aAAa,CAAC;AA0B3D;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,GACpB,OAAO,CAAC,SAAS,EAAE,CAAC,CAsDtB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC7B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,SAAS,GACnB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAG3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACzC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,SAAS,EAAE,EACrB,UAAU,EAAE,MAAM;;;EAgBlB"}
package/dist/lut.js CHANGED
@@ -14,69 +14,33 @@ function getCpiAuthorityPDA(programId) {
14
14
  return pda;
15
15
  }
16
16
  /**
17
- * Returns the 15 account addresses for the liquid-swap global LUT.
17
+ * Returns the 21 account addresses for the global LUT.
18
18
  *
19
- * Programs (7): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events
19
+ * Programs (9): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events, Fees, Swap
20
+ * Liquid PDAs (2): global_config, cpi_authority
20
21
  * Swap PDAs (3): authority, global_config, cpi_authority
21
- * State PDAs (3): global_amm_volume, cashback_config, state_events_cpi_authority
22
+ * State PDAs (4): global_amm_volume, global_curve_volume, cashback_config, cpi_authority
22
23
  * Constants (2): WSOL mint, oracle price feed
23
24
  *
24
25
  * @param config - Liquid protocol configuration
25
26
  * @param connection - Solana RPC connection (for fetching oracle price feed)
26
- * @returns Array of 15 public keys to populate the LUT
27
+ * @returns Array of 21 public keys to populate the LUT
27
28
  */
28
- export async function getSwapLutAccounts(config, connection) {
29
+ export async function getLutAccounts(config, connection) {
29
30
  const ammConfig = await fetchAmmConfig(connection, config);
30
31
  const oraclePriceFeed = ammConfig.oraclePriceFeed;
32
+ // Liquid PDAs
33
+ const [liquidGlobalConfig] = getLiquidGlobalConfigPDA(config.liquidProgramId);
34
+ const liquidCpiAuthority = getCpiAuthorityPDA(config.liquidProgramId);
35
+ // Swap PDAs
31
36
  const [swapAuthority] = getSwapAuthorityPDA(config.liquidSwapProgramId);
32
37
  const [swapGlobalConfig] = getSwapGlobalConfigPDA(config.liquidSwapProgramId);
33
38
  const swapCpiAuthority = getCpiAuthorityPDA(config.liquidSwapProgramId);
39
+ // State PDAs
34
40
  const [globalAmmVolume] = getGlobalAmmVolumePDA(config.liquidStateProgramId);
35
- const [cashbackConfig] = getCashbackConfigPDA(config.liquidStateProgramId);
36
- const stateCpiAuthority = getCpiAuthorityPDA(config.liquidStateProgramId);
37
- return [
38
- // Programs
39
- SystemProgram.programId,
40
- TOKEN_PROGRAM_ID,
41
- TOKEN_2022_PROGRAM_ID,
42
- ASSOCIATED_TOKEN_PROGRAM_ID,
43
- ComputeBudgetProgram.programId,
44
- config.liquidStateProgramId,
45
- config.liquidEventsProgramId,
46
- // Swap global PDAs
47
- swapAuthority,
48
- swapGlobalConfig,
49
- swapCpiAuthority,
50
- // State global PDAs
51
- globalAmmVolume,
52
- cashbackConfig,
53
- stateCpiAuthority,
54
- // Constants
55
- WSOL_MINT,
56
- oraclePriceFeed,
57
- ];
58
- }
59
- /**
60
- * Returns the 18 account addresses for the liquid (bonding curve) global LUT.
61
- *
62
- * Programs (9): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events, Fees, Swap
63
- * Liquid PDAs (2): global_config, cpi_authority
64
- * State PDAs (3): global_curve_volume, cashback_config, state_events_cpi_authority
65
- * Swap PDAs for migration (3): amm_global_config, amm_authority, swap_cpi_authority
66
- * Constants (1): WSOL mint
67
- *
68
- * @param config - Liquid protocol configuration
69
- * @returns Array of 18 public keys to populate the LUT
70
- */
71
- export function getLiquidLutAccounts(config) {
72
- const [liquidGlobalConfig] = getLiquidGlobalConfigPDA(config.liquidProgramId);
73
- const liquidCpiAuthority = getCpiAuthorityPDA(config.liquidProgramId);
74
41
  const [globalCurveVolume] = getGlobalCurveVolumePDA(config.liquidStateProgramId);
75
42
  const [cashbackConfig] = getCashbackConfigPDA(config.liquidStateProgramId);
76
43
  const stateCpiAuthority = getCpiAuthorityPDA(config.liquidStateProgramId);
77
- const [swapGlobalConfig] = getSwapGlobalConfigPDA(config.liquidSwapProgramId);
78
- const [swapAuthority] = getSwapAuthorityPDA(config.liquidSwapProgramId);
79
- const swapCpiAuthority = getCpiAuthorityPDA(config.liquidSwapProgramId);
80
44
  return [
81
45
  // Programs
82
46
  SystemProgram.programId,
@@ -91,16 +55,18 @@ export function getLiquidLutAccounts(config) {
91
55
  // Liquid global PDAs
92
56
  liquidGlobalConfig,
93
57
  liquidCpiAuthority,
58
+ // Swap global PDAs
59
+ swapAuthority,
60
+ swapGlobalConfig,
61
+ swapCpiAuthority,
94
62
  // State global PDAs
63
+ globalAmmVolume,
95
64
  globalCurveVolume,
96
65
  cashbackConfig,
97
66
  stateCpiAuthority,
98
- // Swap PDAs (for migration CPI)
99
- swapGlobalConfig,
100
- swapAuthority,
101
- swapCpiAuthority,
102
67
  // Constants
103
68
  WSOL_MINT,
69
+ oraclePriceFeed,
104
70
  ];
105
71
  }
106
72
  /**
package/dist/lut.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lut.js","sourceRoot":"","sources":["../src/lut.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lut.js","sourceRoot":"","sources":["../src/lut.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liquid-af/sdk",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "TypeScript SDK for the Liquid DeFi protocol on Solana",
5
5
  "type": "module",
6
6
  "publishConfig": {
package/src/lut.ts CHANGED
@@ -38,89 +38,48 @@ function getCpiAuthorityPDA(programId: PublicKey): PublicKey {
38
38
  }
39
39
 
40
40
  /**
41
- * Returns the 15 account addresses for the liquid-swap global LUT.
41
+ * Returns the 21 account addresses for the global LUT.
42
42
  *
43
- * Programs (7): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events
43
+ * Programs (9): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events, Fees, Swap
44
+ * Liquid PDAs (2): global_config, cpi_authority
44
45
  * Swap PDAs (3): authority, global_config, cpi_authority
45
- * State PDAs (3): global_amm_volume, cashback_config, state_events_cpi_authority
46
+ * State PDAs (4): global_amm_volume, global_curve_volume, cashback_config, cpi_authority
46
47
  * Constants (2): WSOL mint, oracle price feed
47
48
  *
48
49
  * @param config - Liquid protocol configuration
49
50
  * @param connection - Solana RPC connection (for fetching oracle price feed)
50
- * @returns Array of 15 public keys to populate the LUT
51
+ * @returns Array of 21 public keys to populate the LUT
51
52
  */
52
- export async function getSwapLutAccounts(
53
+ export async function getLutAccounts(
53
54
  config: LiquidConfig,
54
55
  connection: Connection,
55
56
  ): Promise<PublicKey[]> {
56
57
  const ammConfig = await fetchAmmConfig(connection, config);
57
58
  const oraclePriceFeed = ammConfig.oraclePriceFeed as PublicKey;
58
59
 
60
+ // Liquid PDAs
61
+ const [liquidGlobalConfig] = getLiquidGlobalConfigPDA(
62
+ config.liquidProgramId,
63
+ );
64
+ const liquidCpiAuthority = getCpiAuthorityPDA(config.liquidProgramId);
65
+
66
+ // Swap PDAs
59
67
  const [swapAuthority] = getSwapAuthorityPDA(config.liquidSwapProgramId);
60
68
  const [swapGlobalConfig] = getSwapGlobalConfigPDA(
61
69
  config.liquidSwapProgramId,
62
70
  );
63
71
  const swapCpiAuthority = getCpiAuthorityPDA(config.liquidSwapProgramId);
64
72
 
73
+ // State PDAs
65
74
  const [globalAmmVolume] = getGlobalAmmVolumePDA(
66
75
  config.liquidStateProgramId,
67
76
  );
68
- const [cashbackConfig] = getCashbackConfigPDA(config.liquidStateProgramId);
69
- const stateCpiAuthority = getCpiAuthorityPDA(config.liquidStateProgramId);
70
-
71
- return [
72
- // Programs
73
- SystemProgram.programId,
74
- TOKEN_PROGRAM_ID,
75
- TOKEN_2022_PROGRAM_ID,
76
- ASSOCIATED_TOKEN_PROGRAM_ID,
77
- ComputeBudgetProgram.programId,
78
- config.liquidStateProgramId,
79
- config.liquidEventsProgramId,
80
- // Swap global PDAs
81
- swapAuthority,
82
- swapGlobalConfig,
83
- swapCpiAuthority,
84
- // State global PDAs
85
- globalAmmVolume,
86
- cashbackConfig,
87
- stateCpiAuthority,
88
- // Constants
89
- WSOL_MINT,
90
- oraclePriceFeed,
91
- ];
92
- }
93
-
94
- /**
95
- * Returns the 18 account addresses for the liquid (bonding curve) global LUT.
96
- *
97
- * Programs (9): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events, Fees, Swap
98
- * Liquid PDAs (2): global_config, cpi_authority
99
- * State PDAs (3): global_curve_volume, cashback_config, state_events_cpi_authority
100
- * Swap PDAs for migration (3): amm_global_config, amm_authority, swap_cpi_authority
101
- * Constants (1): WSOL mint
102
- *
103
- * @param config - Liquid protocol configuration
104
- * @returns Array of 18 public keys to populate the LUT
105
- */
106
- export function getLiquidLutAccounts(config: LiquidConfig): PublicKey[] {
107
- const [liquidGlobalConfig] = getLiquidGlobalConfigPDA(
108
- config.liquidProgramId,
109
- );
110
- const liquidCpiAuthority = getCpiAuthorityPDA(config.liquidProgramId);
111
-
112
77
  const [globalCurveVolume] = getGlobalCurveVolumePDA(
113
78
  config.liquidStateProgramId,
114
79
  );
115
80
  const [cashbackConfig] = getCashbackConfigPDA(config.liquidStateProgramId);
116
81
  const stateCpiAuthority = getCpiAuthorityPDA(config.liquidStateProgramId);
117
82
 
118
- const [swapGlobalConfig] = getSwapGlobalConfigPDA(
119
- config.liquidSwapProgramId,
120
- );
121
- const [swapAuthority] = getSwapAuthorityPDA(config.liquidSwapProgramId);
122
- const swapCpiAuthority = getCpiAuthorityPDA(config.liquidSwapProgramId);
123
-
124
83
  return [
125
84
  // Programs
126
85
  SystemProgram.programId,
@@ -135,16 +94,18 @@ export function getLiquidLutAccounts(config: LiquidConfig): PublicKey[] {
135
94
  // Liquid global PDAs
136
95
  liquidGlobalConfig,
137
96
  liquidCpiAuthority,
97
+ // Swap global PDAs
98
+ swapAuthority,
99
+ swapGlobalConfig,
100
+ swapCpiAuthority,
138
101
  // State global PDAs
102
+ globalAmmVolume,
139
103
  globalCurveVolume,
140
104
  cashbackConfig,
141
105
  stateCpiAuthority,
142
- // Swap PDAs (for migration CPI)
143
- swapGlobalConfig,
144
- swapAuthority,
145
- swapCpiAuthority,
146
106
  // Constants
147
107
  WSOL_MINT,
108
+ oraclePriceFeed,
148
109
  ];
149
110
  }
150
111