@liquid-af/sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +776 -0
- package/dist/accounts/index.d.ts +5 -0
- package/dist/accounts/index.d.ts.map +1 -0
- package/dist/accounts/index.js +5 -0
- package/dist/accounts/index.js.map +1 -0
- package/dist/accounts/liquid-fees.d.ts +63 -0
- package/dist/accounts/liquid-fees.d.ts.map +1 -0
- package/dist/accounts/liquid-fees.js +27 -0
- package/dist/accounts/liquid-fees.js.map +1 -0
- package/dist/accounts/liquid-state.d.ts +112 -0
- package/dist/accounts/liquid-state.d.ts.map +1 -0
- package/dist/accounts/liquid-state.js +92 -0
- package/dist/accounts/liquid-state.js.map +1 -0
- package/dist/accounts/liquid-swap.d.ts +97 -0
- package/dist/accounts/liquid-swap.d.ts.map +1 -0
- package/dist/accounts/liquid-swap.js +54 -0
- package/dist/accounts/liquid-swap.js.map +1 -0
- package/dist/accounts/liquid.d.ts +175 -0
- package/dist/accounts/liquid.d.ts.map +1 -0
- package/dist/accounts/liquid.js +66 -0
- package/dist/accounts/liquid.js.map +1 -0
- package/dist/client.d.ts +621 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +511 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +56 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +44 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +39 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +63 -0
- package/dist/errors.js.map +1 -0
- package/dist/events/index.d.ts +4 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +2 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/parser.d.ts +40 -0
- package/dist/events/parser.d.ts.map +1 -0
- package/dist/events/parser.js +67 -0
- package/dist/events/parser.js.map +1 -0
- package/dist/events/types.d.ts +286 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +2 -0
- package/dist/events/types.js.map +1 -0
- package/dist/helpers/index.d.ts +4 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +3 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/preview.d.ts +259 -0
- package/dist/helpers/preview.d.ts.map +1 -0
- package/dist/helpers/preview.js +458 -0
- package/dist/helpers/preview.js.map +1 -0
- package/dist/helpers/user.d.ts +11 -0
- package/dist/helpers/user.d.ts.map +1 -0
- package/dist/helpers/user.js +20 -0
- package/dist/helpers/user.js.map +1 -0
- package/dist/idl/index.d.ts +53 -0
- package/dist/idl/index.d.ts.map +1 -0
- package/dist/idl/index.js +64 -0
- package/dist/idl/index.js.map +1 -0
- package/dist/idl/liquid.d.ts +10523 -0
- package/dist/idl/liquid.d.ts.map +1 -0
- package/dist/idl/liquid.js +2 -0
- package/dist/idl/liquid.js.map +1 -0
- package/dist/idl/liquid.json +10516 -0
- package/dist/idl/liquid_fees.d.ts +1520 -0
- package/dist/idl/liquid_fees.d.ts.map +1 -0
- package/dist/idl/liquid_fees.js +2 -0
- package/dist/idl/liquid_fees.js.map +1 -0
- package/dist/idl/liquid_fees.json +1513 -0
- package/dist/idl/liquid_state.d.ts +2936 -0
- package/dist/idl/liquid_state.d.ts.map +1 -0
- package/dist/idl/liquid_state.js +2 -0
- package/dist/idl/liquid_state.js.map +1 -0
- package/dist/idl/liquid_state.json +2929 -0
- package/dist/idl/liquid_swap.d.ts +5849 -0
- package/dist/idl/liquid_swap.d.ts.map +1 -0
- package/dist/idl/liquid_swap.js +2 -0
- package/dist/idl/liquid_swap.js.map +1 -0
- package/dist/idl/liquid_swap.json +5842 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/instructions/index.d.ts +9 -0
- package/dist/instructions/index.d.ts.map +1 -0
- package/dist/instructions/index.js +9 -0
- package/dist/instructions/index.js.map +1 -0
- package/dist/instructions/liquid-fees.d.ts +111 -0
- package/dist/instructions/liquid-fees.d.ts.map +1 -0
- package/dist/instructions/liquid-fees.js +169 -0
- package/dist/instructions/liquid-fees.js.map +1 -0
- package/dist/instructions/liquid-state.d.ts +173 -0
- package/dist/instructions/liquid-state.d.ts.map +1 -0
- package/dist/instructions/liquid-state.js +194 -0
- package/dist/instructions/liquid-state.js.map +1 -0
- package/dist/instructions/liquid-swap.d.ts +122 -0
- package/dist/instructions/liquid-swap.d.ts.map +1 -0
- package/dist/instructions/liquid-swap.js +167 -0
- package/dist/instructions/liquid-swap.js.map +1 -0
- package/dist/instructions/liquid.d.ts +297 -0
- package/dist/instructions/liquid.d.ts.map +1 -0
- package/dist/instructions/liquid.js +483 -0
- package/dist/instructions/liquid.js.map +1 -0
- package/dist/instructions/program-cache.d.ts +35 -0
- package/dist/instructions/program-cache.d.ts.map +1 -0
- package/dist/instructions/program-cache.js +68 -0
- package/dist/instructions/program-cache.js.map +1 -0
- package/dist/math/amm.d.ts +42 -0
- package/dist/math/amm.d.ts.map +1 -0
- package/dist/math/amm.js +109 -0
- package/dist/math/amm.js.map +1 -0
- package/dist/math/bonding-curve.d.ts +34 -0
- package/dist/math/bonding-curve.d.ts.map +1 -0
- package/dist/math/bonding-curve.js +80 -0
- package/dist/math/bonding-curve.js.map +1 -0
- package/dist/math/constants.d.ts +14 -0
- package/dist/math/constants.d.ts.map +1 -0
- package/dist/math/constants.js +14 -0
- package/dist/math/constants.js.map +1 -0
- package/dist/math/fees.d.ts +88 -0
- package/dist/math/fees.d.ts.map +1 -0
- package/dist/math/fees.js +135 -0
- package/dist/math/fees.js.map +1 -0
- package/dist/math/index.d.ts +8 -0
- package/dist/math/index.d.ts.map +1 -0
- package/dist/math/index.js +6 -0
- package/dist/math/index.js.map +1 -0
- package/dist/math/tiered-fees.d.ts +80 -0
- package/dist/math/tiered-fees.d.ts.map +1 -0
- package/dist/math/tiered-fees.js +129 -0
- package/dist/math/tiered-fees.js.map +1 -0
- package/dist/oracle.d.ts +53 -0
- package/dist/oracle.d.ts.map +1 -0
- package/dist/oracle.js +70 -0
- package/dist/oracle.js.map +1 -0
- package/dist/pda/index.d.ts +89 -0
- package/dist/pda/index.d.ts.map +1 -0
- package/dist/pda/index.js +127 -0
- package/dist/pda/index.js.map +1 -0
- package/dist/pda/liquid-fees.d.ts +27 -0
- package/dist/pda/liquid-fees.d.ts.map +1 -0
- package/dist/pda/liquid-fees.js +36 -0
- package/dist/pda/liquid-fees.js.map +1 -0
- package/dist/pda/liquid-state.d.ts +56 -0
- package/dist/pda/liquid-state.d.ts.map +1 -0
- package/dist/pda/liquid-state.js +79 -0
- package/dist/pda/liquid-state.js.map +1 -0
- package/dist/pda/liquid-swap.d.ts +76 -0
- package/dist/pda/liquid-swap.d.ts.map +1 -0
- package/dist/pda/liquid-swap.js +103 -0
- package/dist/pda/liquid-swap.js.map +1 -0
- package/dist/pda/liquid.d.ts +67 -0
- package/dist/pda/liquid.d.ts.map +1 -0
- package/dist/pda/liquid.js +91 -0
- package/dist/pda/liquid.js.map +1 -0
- package/dist/provider.d.ts +26 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +47 -0
- package/dist/provider.js.map +1 -0
- package/dist/transaction/builder.d.ts +30 -0
- package/dist/transaction/builder.d.ts.map +1 -0
- package/dist/transaction/builder.js +48 -0
- package/dist/transaction/builder.js.map +1 -0
- package/dist/transaction/index.d.ts +3 -0
- package/dist/transaction/index.d.ts.map +1 -0
- package/dist/transaction/index.js +3 -0
- package/dist/transaction/index.js.map +1 -0
- package/dist/transaction/send.d.ts +25 -0
- package/dist/transaction/send.d.ts.map +1 -0
- package/dist/transaction/send.js +52 -0
- package/dist/transaction/send.js.map +1 -0
- package/dist/types.d.ts +311 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +46 -0
- package/dist/types.js.map +1 -0
- package/package.json +112 -0
- package/src/accounts/index.ts +26 -0
- package/src/accounts/liquid-fees.ts +38 -0
- package/src/accounts/liquid-state.ts +134 -0
- package/src/accounts/liquid-swap.ts +79 -0
- package/src/accounts/liquid.ts +100 -0
- package/src/client.ts +1001 -0
- package/src/config.ts +91 -0
- package/src/errors.ts +94 -0
- package/src/events/index.ts +42 -0
- package/src/events/parser.ts +90 -0
- package/src/events/types.ts +310 -0
- package/src/helpers/index.ts +23 -0
- package/src/helpers/preview.ts +798 -0
- package/src/helpers/user.ts +24 -0
- package/src/idl/index.ts +94 -0
- package/src/idl/liquid.json +10516 -0
- package/src/idl/liquid.ts +10522 -0
- package/src/idl/liquid_fees.json +1513 -0
- package/src/idl/liquid_fees.ts +1519 -0
- package/src/idl/liquid_state.json +2929 -0
- package/src/idl/liquid_state.ts +2935 -0
- package/src/idl/liquid_swap.json +5842 -0
- package/src/idl/liquid_swap.ts +5848 -0
- package/src/index.ts +98 -0
- package/src/instructions/index.ts +109 -0
- package/src/instructions/liquid-fees.ts +289 -0
- package/src/instructions/liquid-state.ts +336 -0
- package/src/instructions/liquid-swap.ts +414 -0
- package/src/instructions/liquid.ts +884 -0
- package/src/instructions/program-cache.ts +106 -0
- package/src/math/amm.ts +146 -0
- package/src/math/bonding-curve.ts +122 -0
- package/src/math/constants.ts +19 -0
- package/src/math/fees.ts +191 -0
- package/src/math/index.ts +40 -0
- package/src/math/tiered-fees.ts +165 -0
- package/src/oracle.ts +97 -0
- package/src/pda/index.ts +331 -0
- package/src/pda/liquid-fees.ts +58 -0
- package/src/pda/liquid-state.ts +123 -0
- package/src/pda/liquid-swap.ts +162 -0
- package/src/pda/liquid.ts +152 -0
- package/src/provider.ts +60 -0
- package/src/transaction/builder.ts +80 -0
- package/src/transaction/index.ts +6 -0
- package/src/transaction/send.ts +72 -0
- package/src/types.ts +354 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Connection, PublicKey } from "@solana/web3.js";
|
|
2
|
+
import { TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID } from "@solana/spl-token";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Resolves the token program for a given mint by inspecting the account owner.
|
|
6
|
+
* Bonding curve tokens use Token-2022, WSOL and quote mints use standard SPL Token.
|
|
7
|
+
*
|
|
8
|
+
* @param connection - Solana connection
|
|
9
|
+
* @param mint - Mint address to check
|
|
10
|
+
* @returns The token program ID (TOKEN_PROGRAM_ID or TOKEN_2022_PROGRAM_ID)
|
|
11
|
+
*/
|
|
12
|
+
export const resolveTokenProgram = async (
|
|
13
|
+
connection: Connection,
|
|
14
|
+
mint: PublicKey
|
|
15
|
+
): Promise<PublicKey> => {
|
|
16
|
+
const account = await connection.getAccountInfo(mint);
|
|
17
|
+
if (!account) {
|
|
18
|
+
throw new Error(`Mint account ${mint.toBase58()} not found`);
|
|
19
|
+
}
|
|
20
|
+
if (account.owner.equals(TOKEN_2022_PROGRAM_ID)) {
|
|
21
|
+
return TOKEN_2022_PROGRAM_ID;
|
|
22
|
+
}
|
|
23
|
+
return TOKEN_PROGRAM_ID;
|
|
24
|
+
};
|
package/src/idl/index.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Program } from "@coral-xyz/anchor";
|
|
2
|
+
import { Connection } from "@solana/web3.js";
|
|
3
|
+
import type { LiquidConfig } from "../config.js";
|
|
4
|
+
import { createReadonlyProvider } from "../provider.js";
|
|
5
|
+
|
|
6
|
+
import liquidIdl from "./liquid.json" with { type: "json" };
|
|
7
|
+
import liquidSwapIdl from "./liquid_swap.json" with { type: "json" };
|
|
8
|
+
import liquidFeesIdl from "./liquid_fees.json" with { type: "json" };
|
|
9
|
+
import liquidStateIdl from "./liquid_state.json" with { type: "json" };
|
|
10
|
+
|
|
11
|
+
export { liquidIdl, liquidSwapIdl, liquidFeesIdl, liquidStateIdl };
|
|
12
|
+
|
|
13
|
+
// Re-export Anchor-generated IDL types
|
|
14
|
+
export type { Liquid } from "./liquid.js";
|
|
15
|
+
export type { LiquidSwap } from "./liquid_swap.js";
|
|
16
|
+
export type { LiquidFees } from "./liquid_fees.js";
|
|
17
|
+
export type { LiquidState } from "./liquid_state.js";
|
|
18
|
+
|
|
19
|
+
import type { Liquid } from "./liquid.js";
|
|
20
|
+
import type { LiquidSwap } from "./liquid_swap.js";
|
|
21
|
+
import type { LiquidFees } from "./liquid_fees.js";
|
|
22
|
+
import type { LiquidState } from "./liquid_state.js";
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Creates a typed Program instance for the Liquid bonding curve program.
|
|
26
|
+
* Uses a readonly provider — no signing capability.
|
|
27
|
+
*
|
|
28
|
+
* @param connection - Solana RPC connection
|
|
29
|
+
* @param config - Optional protocol configuration (overrides IDL address)
|
|
30
|
+
* @returns Read-only Program instance typed as Liquid
|
|
31
|
+
*/
|
|
32
|
+
export function getLiquidProgram(
|
|
33
|
+
connection: Connection,
|
|
34
|
+
config?: LiquidConfig
|
|
35
|
+
): Program<Liquid> {
|
|
36
|
+
const idl = config
|
|
37
|
+
? { ...liquidIdl, address: config.liquidProgramId.toBase58() }
|
|
38
|
+
: liquidIdl;
|
|
39
|
+
return new Program(idl as Liquid, createReadonlyProvider(connection));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Creates a typed Program instance for the Liquid Swap AMM program.
|
|
44
|
+
* Uses a readonly provider — no signing capability.
|
|
45
|
+
*
|
|
46
|
+
* @param connection - Solana RPC connection
|
|
47
|
+
* @param config - Optional protocol configuration (overrides IDL address)
|
|
48
|
+
* @returns Read-only Program instance typed as LiquidSwap
|
|
49
|
+
*/
|
|
50
|
+
export function getLiquidSwapProgram(
|
|
51
|
+
connection: Connection,
|
|
52
|
+
config?: LiquidConfig
|
|
53
|
+
): Program<LiquidSwap> {
|
|
54
|
+
const idl = config
|
|
55
|
+
? { ...liquidSwapIdl, address: config.liquidSwapProgramId.toBase58() }
|
|
56
|
+
: liquidSwapIdl;
|
|
57
|
+
return new Program(idl as LiquidSwap, createReadonlyProvider(connection));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Creates a typed Program instance for the Liquid Fees program.
|
|
62
|
+
* Uses a readonly provider — no signing capability.
|
|
63
|
+
*
|
|
64
|
+
* @param connection - Solana RPC connection
|
|
65
|
+
* @param config - Optional protocol configuration (overrides IDL address)
|
|
66
|
+
* @returns Read-only Program instance typed as LiquidFees
|
|
67
|
+
*/
|
|
68
|
+
export function getLiquidFeesProgram(
|
|
69
|
+
connection: Connection,
|
|
70
|
+
config?: LiquidConfig
|
|
71
|
+
): Program<LiquidFees> {
|
|
72
|
+
const idl = config
|
|
73
|
+
? { ...liquidFeesIdl, address: config.liquidFeesProgramId.toBase58() }
|
|
74
|
+
: liquidFeesIdl;
|
|
75
|
+
return new Program(idl as LiquidFees, createReadonlyProvider(connection));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Creates a typed Program instance for the Liquid State program.
|
|
80
|
+
* Uses a readonly provider — no signing capability.
|
|
81
|
+
*
|
|
82
|
+
* @param connection - Solana RPC connection
|
|
83
|
+
* @param config - Optional protocol configuration (overrides IDL address)
|
|
84
|
+
* @returns Read-only Program instance typed as LiquidState
|
|
85
|
+
*/
|
|
86
|
+
export function getLiquidStateProgram(
|
|
87
|
+
connection: Connection,
|
|
88
|
+
config?: LiquidConfig
|
|
89
|
+
): Program<LiquidState> {
|
|
90
|
+
const idl = config
|
|
91
|
+
? { ...liquidStateIdl, address: config.liquidStateProgramId.toBase58() }
|
|
92
|
+
: liquidStateIdl;
|
|
93
|
+
return new Program(idl as LiquidState, createReadonlyProvider(connection));
|
|
94
|
+
}
|