@elemental-stv-core/sdk 0.1.1
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/common/buffer.d.ts +13 -0
- package/dist/common/buffer.d.ts.map +1 -0
- package/dist/common/buffer.js +84 -0
- package/dist/common/buffer.js.map +1 -0
- package/dist/common/constants.d.ts +9 -0
- package/dist/common/constants.d.ts.map +1 -0
- package/dist/common/constants.js +12 -0
- package/dist/common/constants.js.map +1 -0
- package/dist/common/index.d.ts +5 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +23 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/strategy-interface.d.ts +29 -0
- package/dist/common/strategy-interface.d.ts.map +1 -0
- package/dist/common/strategy-interface.js +40 -0
- package/dist/common/strategy-interface.js.map +1 -0
- package/dist/elemental-lend/accounts.d.ts +22 -0
- package/dist/elemental-lend/accounts.d.ts.map +1 -0
- package/dist/elemental-lend/accounts.js +162 -0
- package/dist/elemental-lend/accounts.js.map +1 -0
- package/dist/elemental-lend/constants.d.ts +23 -0
- package/dist/elemental-lend/constants.d.ts.map +1 -0
- package/dist/elemental-lend/constants.js +34 -0
- package/dist/elemental-lend/constants.js.map +1 -0
- package/dist/elemental-lend/index.d.ts +7 -0
- package/dist/elemental-lend/index.d.ts.map +1 -0
- package/dist/elemental-lend/index.js +23 -0
- package/dist/elemental-lend/index.js.map +1 -0
- package/dist/elemental-lend/instructions.d.ts +55 -0
- package/dist/elemental-lend/instructions.d.ts.map +1 -0
- package/dist/elemental-lend/instructions.js +146 -0
- package/dist/elemental-lend/instructions.js.map +1 -0
- package/dist/elemental-lend/jupiter-lend.d.ts +56 -0
- package/dist/elemental-lend/jupiter-lend.d.ts.map +1 -0
- package/dist/elemental-lend/jupiter-lend.js +95 -0
- package/dist/elemental-lend/jupiter-lend.js.map +1 -0
- package/dist/elemental-lend/pda.d.ts +4 -0
- package/dist/elemental-lend/pda.d.ts.map +1 -0
- package/dist/elemental-lend/pda.js +13 -0
- package/dist/elemental-lend/pda.js.map +1 -0
- package/dist/elemental-lend/types.d.ts +97 -0
- package/dist/elemental-lend/types.d.ts.map +1 -0
- package/dist/elemental-lend/types.js +3 -0
- package/dist/elemental-lend/types.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/jlp-strategy/accounts.d.ts +11 -0
- package/dist/jlp-strategy/accounts.d.ts.map +1 -0
- package/dist/jlp-strategy/accounts.js +118 -0
- package/dist/jlp-strategy/accounts.js.map +1 -0
- package/dist/jlp-strategy/constants.d.ts +36 -0
- package/dist/jlp-strategy/constants.d.ts.map +1 -0
- package/dist/jlp-strategy/constants.js +47 -0
- package/dist/jlp-strategy/constants.js.map +1 -0
- package/dist/jlp-strategy/index.d.ts +5 -0
- package/dist/jlp-strategy/index.d.ts.map +1 -0
- package/dist/jlp-strategy/index.js +21 -0
- package/dist/jlp-strategy/index.js.map +1 -0
- package/dist/jlp-strategy/pda.d.ts +5 -0
- package/dist/jlp-strategy/pda.d.ts.map +1 -0
- package/dist/jlp-strategy/pda.js +17 -0
- package/dist/jlp-strategy/pda.js.map +1 -0
- package/dist/jlp-strategy/types.d.ts +25 -0
- package/dist/jlp-strategy/types.d.ts.map +1 -0
- package/dist/jlp-strategy/types.js +3 -0
- package/dist/jlp-strategy/types.js.map +1 -0
- package/dist/p-stv-core/accounts.d.ts +14 -0
- package/dist/p-stv-core/accounts.d.ts.map +1 -0
- package/dist/p-stv-core/accounts.js +154 -0
- package/dist/p-stv-core/accounts.js.map +1 -0
- package/dist/p-stv-core/constants.d.ts +43 -0
- package/dist/p-stv-core/constants.d.ts.map +1 -0
- package/dist/p-stv-core/constants.js +79 -0
- package/dist/p-stv-core/constants.js.map +1 -0
- package/dist/p-stv-core/events.d.ts +8 -0
- package/dist/p-stv-core/events.d.ts.map +1 -0
- package/dist/p-stv-core/events.js +115 -0
- package/dist/p-stv-core/events.js.map +1 -0
- package/dist/p-stv-core/index.d.ts +7 -0
- package/dist/p-stv-core/index.d.ts.map +1 -0
- package/dist/p-stv-core/index.js +23 -0
- package/dist/p-stv-core/index.js.map +1 -0
- package/dist/p-stv-core/instructions.d.ts +132 -0
- package/dist/p-stv-core/instructions.d.ts.map +1 -0
- package/dist/p-stv-core/instructions.js +206 -0
- package/dist/p-stv-core/instructions.js.map +1 -0
- package/dist/p-stv-core/pda.d.ts +7 -0
- package/dist/p-stv-core/pda.d.ts.map +1 -0
- package/dist/p-stv-core/pda.js +29 -0
- package/dist/p-stv-core/pda.js.map +1 -0
- package/dist/p-stv-core/types.d.ts +149 -0
- package/dist/p-stv-core/types.d.ts.map +1 -0
- package/dist/p-stv-core/types.js +3 -0
- package/dist/p-stv-core/types.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { PublicKey, TransactionInstruction, AccountMeta } from "@solana/web3.js";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
export interface InitOrUpdateStrategyArgs {
|
|
4
|
+
admin: PublicKey;
|
|
5
|
+
strategyState: PublicKey;
|
|
6
|
+
baseMint: PublicKey;
|
|
7
|
+
strategyBaseAta: PublicKey;
|
|
8
|
+
tokenProgram: PublicKey;
|
|
9
|
+
systemProgram?: PublicKey;
|
|
10
|
+
associatedTokenProgram?: PublicKey;
|
|
11
|
+
authority?: PublicKey | null;
|
|
12
|
+
flags?: number | null;
|
|
13
|
+
addProtocol?: PublicKey | null;
|
|
14
|
+
removeProtocol?: PublicKey | null;
|
|
15
|
+
newAdmin?: PublicKey | null;
|
|
16
|
+
remainingAccounts?: AccountMeta[];
|
|
17
|
+
}
|
|
18
|
+
export declare function createInitOrUpdateStrategyIx(args: InitOrUpdateStrategyArgs, programId?: PublicKey): TransactionInstruction;
|
|
19
|
+
export interface KvaultDepositArgs {
|
|
20
|
+
admin: PublicKey;
|
|
21
|
+
strategyState: PublicKey;
|
|
22
|
+
depositorBaseAta: PublicKey;
|
|
23
|
+
depositorSharesAta: PublicKey;
|
|
24
|
+
amount: BN | number;
|
|
25
|
+
remainingAccounts: AccountMeta[];
|
|
26
|
+
}
|
|
27
|
+
export declare function createKvaultDepositIx(args: KvaultDepositArgs, programId?: PublicKey): TransactionInstruction;
|
|
28
|
+
export interface KvaultWithdrawArgs {
|
|
29
|
+
admin: PublicKey;
|
|
30
|
+
strategyState: PublicKey;
|
|
31
|
+
depositorBaseAta: PublicKey;
|
|
32
|
+
depositorSharesAta: PublicKey;
|
|
33
|
+
shares: BN | number;
|
|
34
|
+
remainingAccounts: AccountMeta[];
|
|
35
|
+
}
|
|
36
|
+
export declare function createKvaultWithdrawIx(args: KvaultWithdrawArgs, programId?: PublicKey): TransactionInstruction;
|
|
37
|
+
export interface JupLendDepositArgs {
|
|
38
|
+
admin: PublicKey;
|
|
39
|
+
strategyState: PublicKey;
|
|
40
|
+
depositorBaseAta: PublicKey;
|
|
41
|
+
depositorFtokenAta: PublicKey;
|
|
42
|
+
amount: BN | number;
|
|
43
|
+
remainingAccounts: AccountMeta[];
|
|
44
|
+
}
|
|
45
|
+
export declare function createJupLendDepositIx(args: JupLendDepositArgs, programId?: PublicKey): TransactionInstruction;
|
|
46
|
+
export interface JupLendWithdrawArgs {
|
|
47
|
+
admin: PublicKey;
|
|
48
|
+
strategyState: PublicKey;
|
|
49
|
+
depositorBaseAta: PublicKey;
|
|
50
|
+
depositorFtokenAta: PublicKey;
|
|
51
|
+
amount: BN | number;
|
|
52
|
+
remainingAccounts: AccountMeta[];
|
|
53
|
+
}
|
|
54
|
+
export declare function createJupLendWithdrawIx(args: JupLendWithdrawArgs, programId?: PublicKey): TransactionInstruction;
|
|
55
|
+
//# sourceMappingURL=instructions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/elemental-lend/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEtB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,OAAO,CAAC;AAgBvB,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,SAAS,CAAC;IAC3B,YAAY,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,sBAAsB,CAAC,EAAE,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC;CACnC;AA4DD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,wBAAwB,EAC9B,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CA4BxB;AAMD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,iBAAiB,EAAE,WAAW,EAAE,CAAC;CAClC;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,iBAAiB,EACvB,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAexB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,iBAAiB,EAAE,WAAW,EAAE,CAAC;CAClC;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,kBAAkB,EACxB,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAexB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,iBAAiB,EAAE,WAAW,EAAE,CAAC;CAClC;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,kBAAkB,EACxB,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAexB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,iBAAiB,EAAE,WAAW,EAAE,CAAC;CAClC;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,mBAAmB,EACzB,SAAS,GAAE,SAAsB,GAChC,sBAAsB,CAexB"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createInitOrUpdateStrategyIx = createInitOrUpdateStrategyIx;
|
|
4
|
+
exports.createKvaultDepositIx = createKvaultDepositIx;
|
|
5
|
+
exports.createKvaultWithdrawIx = createKvaultWithdrawIx;
|
|
6
|
+
exports.createJupLendDepositIx = createJupLendDepositIx;
|
|
7
|
+
exports.createJupLendWithdrawIx = createJupLendWithdrawIx;
|
|
8
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
9
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
10
|
+
const buffer_1 = require("../common/buffer");
|
|
11
|
+
const constants_1 = require("./constants");
|
|
12
|
+
/** Serialize InitOrUpdateStrategyParams for Anchor (Borsh Option<T> encoding) */
|
|
13
|
+
function serializeInitOrUpdateStrategyParams(args) {
|
|
14
|
+
const parts = [];
|
|
15
|
+
// admin: Option<Pubkey>
|
|
16
|
+
if (args.newAdmin != null) {
|
|
17
|
+
parts.push(0x01);
|
|
18
|
+
parts.push(...args.newAdmin.toBuffer());
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
parts.push(0x00);
|
|
22
|
+
}
|
|
23
|
+
// base_mint: Option<Pubkey> — always None from SDK (set from accounts)
|
|
24
|
+
parts.push(0x00);
|
|
25
|
+
// authority: Option<Pubkey>
|
|
26
|
+
if (args.authority != null) {
|
|
27
|
+
parts.push(0x01);
|
|
28
|
+
parts.push(...args.authority.toBuffer());
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
parts.push(0x00);
|
|
32
|
+
}
|
|
33
|
+
// flags: Option<u16>
|
|
34
|
+
if (args.flags != null) {
|
|
35
|
+
parts.push(0x01);
|
|
36
|
+
const buf = Buffer.alloc(2);
|
|
37
|
+
buf.writeUInt16LE(args.flags, 0);
|
|
38
|
+
parts.push(...buf);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
parts.push(0x00);
|
|
42
|
+
}
|
|
43
|
+
// add_protocol: Option<Pubkey>
|
|
44
|
+
if (args.addProtocol != null) {
|
|
45
|
+
parts.push(0x01);
|
|
46
|
+
parts.push(...args.addProtocol.toBuffer());
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
parts.push(0x00);
|
|
50
|
+
}
|
|
51
|
+
// remove_protocol: Option<Pubkey>
|
|
52
|
+
if (args.removeProtocol != null) {
|
|
53
|
+
parts.push(0x01);
|
|
54
|
+
parts.push(...args.removeProtocol.toBuffer());
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
parts.push(0x00);
|
|
58
|
+
}
|
|
59
|
+
return Buffer.from(parts);
|
|
60
|
+
}
|
|
61
|
+
function createInitOrUpdateStrategyIx(args, programId = constants_1.PROGRAM_ID) {
|
|
62
|
+
const { admin, strategyState, baseMint, strategyBaseAta, tokenProgram, systemProgram = web3_js_1.SystemProgram.programId, associatedTokenProgram = spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID, authority, flags, addProtocol, removeProtocol, newAdmin, remainingAccounts = [], } = args;
|
|
63
|
+
const params = serializeInitOrUpdateStrategyParams({
|
|
64
|
+
newAdmin, authority, flags, addProtocol, removeProtocol,
|
|
65
|
+
});
|
|
66
|
+
const data = Buffer.concat([constants_1.IX_INIT_OR_UPDATE_STRATEGY, params]);
|
|
67
|
+
return new web3_js_1.TransactionInstruction({
|
|
68
|
+
keys: [
|
|
69
|
+
{ pubkey: admin, isSigner: true, isWritable: true },
|
|
70
|
+
{ pubkey: strategyState, isSigner: false, isWritable: true },
|
|
71
|
+
{ pubkey: baseMint, isSigner: false, isWritable: false },
|
|
72
|
+
{ pubkey: strategyBaseAta, isSigner: false, isWritable: true },
|
|
73
|
+
{ pubkey: systemProgram, isSigner: false, isWritable: false },
|
|
74
|
+
{ pubkey: tokenProgram, isSigner: false, isWritable: false },
|
|
75
|
+
{ pubkey: associatedTokenProgram, isSigner: false, isWritable: false },
|
|
76
|
+
...remainingAccounts,
|
|
77
|
+
],
|
|
78
|
+
programId,
|
|
79
|
+
data,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function createKvaultDepositIx(args, programId = constants_1.PROGRAM_ID) {
|
|
83
|
+
const { admin, strategyState, depositorBaseAta, depositorSharesAta, amount, remainingAccounts } = args;
|
|
84
|
+
const data = [...constants_1.IX_KVAULT_DEPOSIT];
|
|
85
|
+
(0, buffer_1.writeU64)(data, amount);
|
|
86
|
+
return new web3_js_1.TransactionInstruction({
|
|
87
|
+
keys: [
|
|
88
|
+
{ pubkey: admin, isSigner: true, isWritable: true },
|
|
89
|
+
{ pubkey: strategyState, isSigner: false, isWritable: true },
|
|
90
|
+
{ pubkey: depositorBaseAta, isSigner: false, isWritable: true },
|
|
91
|
+
{ pubkey: depositorSharesAta, isSigner: false, isWritable: true },
|
|
92
|
+
...remainingAccounts,
|
|
93
|
+
],
|
|
94
|
+
programId,
|
|
95
|
+
data: Buffer.from(data),
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function createKvaultWithdrawIx(args, programId = constants_1.PROGRAM_ID) {
|
|
99
|
+
const { admin, strategyState, depositorBaseAta, depositorSharesAta, shares, remainingAccounts } = args;
|
|
100
|
+
const data = [...constants_1.IX_KVAULT_WITHDRAW];
|
|
101
|
+
(0, buffer_1.writeU64)(data, shares);
|
|
102
|
+
return new web3_js_1.TransactionInstruction({
|
|
103
|
+
keys: [
|
|
104
|
+
{ pubkey: admin, isSigner: true, isWritable: true },
|
|
105
|
+
{ pubkey: strategyState, isSigner: false, isWritable: true },
|
|
106
|
+
{ pubkey: depositorBaseAta, isSigner: false, isWritable: true },
|
|
107
|
+
{ pubkey: depositorSharesAta, isSigner: false, isWritable: true },
|
|
108
|
+
...remainingAccounts,
|
|
109
|
+
],
|
|
110
|
+
programId,
|
|
111
|
+
data: Buffer.from(data),
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
function createJupLendDepositIx(args, programId = constants_1.PROGRAM_ID) {
|
|
115
|
+
const { admin, strategyState, depositorBaseAta, depositorFtokenAta, amount, remainingAccounts } = args;
|
|
116
|
+
const data = [...constants_1.IX_JUP_LEND_DEPOSIT];
|
|
117
|
+
(0, buffer_1.writeU64)(data, amount);
|
|
118
|
+
return new web3_js_1.TransactionInstruction({
|
|
119
|
+
keys: [
|
|
120
|
+
{ pubkey: admin, isSigner: true, isWritable: true },
|
|
121
|
+
{ pubkey: strategyState, isSigner: false, isWritable: true },
|
|
122
|
+
{ pubkey: depositorBaseAta, isSigner: false, isWritable: true },
|
|
123
|
+
{ pubkey: depositorFtokenAta, isSigner: false, isWritable: true },
|
|
124
|
+
...remainingAccounts,
|
|
125
|
+
],
|
|
126
|
+
programId,
|
|
127
|
+
data: Buffer.from(data),
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
function createJupLendWithdrawIx(args, programId = constants_1.PROGRAM_ID) {
|
|
131
|
+
const { admin, strategyState, depositorBaseAta, depositorFtokenAta, amount, remainingAccounts } = args;
|
|
132
|
+
const data = [...constants_1.IX_JUP_LEND_WITHDRAW];
|
|
133
|
+
(0, buffer_1.writeU64)(data, amount);
|
|
134
|
+
return new web3_js_1.TransactionInstruction({
|
|
135
|
+
keys: [
|
|
136
|
+
{ pubkey: admin, isSigner: true, isWritable: true },
|
|
137
|
+
{ pubkey: strategyState, isSigner: false, isWritable: true },
|
|
138
|
+
{ pubkey: depositorBaseAta, isSigner: false, isWritable: true },
|
|
139
|
+
{ pubkey: depositorFtokenAta, isSigner: false, isWritable: true },
|
|
140
|
+
...remainingAccounts,
|
|
141
|
+
],
|
|
142
|
+
programId,
|
|
143
|
+
data: Buffer.from(data),
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/elemental-lend/instructions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jupiter Lend USDC pool configuration and auto-route account builders.
|
|
3
|
+
*
|
|
4
|
+
* All account addresses are mainnet values discovered from on-chain data.
|
|
5
|
+
* These are used to build the remaining_accounts for auto-routing deposits
|
|
6
|
+
* from elemental-lend into Jupiter Lend.
|
|
7
|
+
*/
|
|
8
|
+
import { AccountMeta, PublicKey } from "@solana/web3.js";
|
|
9
|
+
/** Lending Admin PDA: ["lending_admin"] on jup3Y... */
|
|
10
|
+
export declare const LENDING_ADMIN: PublicKey;
|
|
11
|
+
/** Fluid/Jupiter Liquidity Program */
|
|
12
|
+
export declare const LIQUIDITY_PROGRAM_ID: PublicKey;
|
|
13
|
+
/** Liquidity singleton PDA */
|
|
14
|
+
export declare const LIQUIDITY_SINGLETON: PublicKey;
|
|
15
|
+
export interface JupiterLendPool {
|
|
16
|
+
mint: PublicKey;
|
|
17
|
+
lending: PublicKey;
|
|
18
|
+
fTokenMint: PublicKey;
|
|
19
|
+
tokenReservesLiquidity: PublicKey;
|
|
20
|
+
supplyPositionOnLiquidity: PublicKey;
|
|
21
|
+
rewardsRateModel: PublicKey;
|
|
22
|
+
vault: PublicKey;
|
|
23
|
+
rateModel: PublicKey;
|
|
24
|
+
}
|
|
25
|
+
export declare const USDC_POOL: JupiterLendPool;
|
|
26
|
+
/**
|
|
27
|
+
* Build the 17 CPI accounts for Jupiter Lend deposit.
|
|
28
|
+
*
|
|
29
|
+
* Account order matches `jup_lend::deposit_accounts`:
|
|
30
|
+
* [0] signer (strategy_state PDA)
|
|
31
|
+
* [1] depositor_token_account (strategy base ATA)
|
|
32
|
+
* [2] recipient_token_account (strategy fToken ATA)
|
|
33
|
+
* [3] mint (base token mint)
|
|
34
|
+
* [4] lending_admin
|
|
35
|
+
* [5] lending
|
|
36
|
+
* [6] f_token_mint
|
|
37
|
+
* [7] supply_token_reserves_liquidity
|
|
38
|
+
* [8] lending_supply_position_on_liquidity
|
|
39
|
+
* [9] rate_model
|
|
40
|
+
* [10] vault
|
|
41
|
+
* [11] liquidity
|
|
42
|
+
* [12] liquidity_program
|
|
43
|
+
* [13] rewards_rate_model
|
|
44
|
+
* [14] token_program
|
|
45
|
+
* [15] associated_token_program
|
|
46
|
+
* [16] system_program
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildJupLendDepositAccounts(pool: JupiterLendPool, signer: PublicKey, depositorTokenAccount: PublicKey, recipientTokenAccount: PublicKey): AccountMeta[];
|
|
49
|
+
/**
|
|
50
|
+
* Build the full auto-route remaining_accounts for Jupiter Lend deposit.
|
|
51
|
+
*
|
|
52
|
+
* Returns [jup_lend_program, ...17 CPI accounts] = 18 accounts total.
|
|
53
|
+
* This is what p-stv-core's `sweep_to_lend` forwards to elemental-lend's deposit.
|
|
54
|
+
*/
|
|
55
|
+
export declare function buildJupLendAutoRouteAccounts(pool: JupiterLendPool, strategyStatePda: PublicKey, strategyBaseAta: PublicKey, strategyFtokenAta: PublicKey): AccountMeta[];
|
|
56
|
+
//# sourceMappingURL=jupiter-lend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jupiter-lend.d.ts","sourceRoot":"","sources":["../../src/elemental-lend/jupiter-lend.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAQxE,uDAAuD;AACvD,eAAO,MAAM,aAAa,WAAgE,CAAC;AAE3F,sCAAsC;AACtC,eAAO,MAAM,oBAAoB,WAA+D,CAAC;AAEjG,8BAA8B;AAC9B,eAAO,MAAM,mBAAmB,WAAgE,CAAC;AAMjG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,SAAS,CAAC;IACtB,sBAAsB,EAAE,SAAS,CAAC;IAClC,yBAAyB,EAAE,SAAS,CAAC;IACrC,gBAAgB,EAAE,SAAS,CAAC;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,EAAE,eASvB,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,SAAS,EACjB,qBAAqB,EAAE,SAAS,EAChC,qBAAqB,EAAE,SAAS,GAC/B,WAAW,EAAE,CAoBf;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,eAAe,EACrB,gBAAgB,EAAE,SAAS,EAC3B,eAAe,EAAE,SAAS,EAC1B,iBAAiB,EAAE,SAAS,GAC3B,WAAW,EAAE,CAYf"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Jupiter Lend USDC pool configuration and auto-route account builders.
|
|
4
|
+
*
|
|
5
|
+
* All account addresses are mainnet values discovered from on-chain data.
|
|
6
|
+
* These are used to build the remaining_accounts for auto-routing deposits
|
|
7
|
+
* from elemental-lend into Jupiter Lend.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.USDC_POOL = exports.LIQUIDITY_SINGLETON = exports.LIQUIDITY_PROGRAM_ID = exports.LENDING_ADMIN = void 0;
|
|
11
|
+
exports.buildJupLendDepositAccounts = buildJupLendDepositAccounts;
|
|
12
|
+
exports.buildJupLendAutoRouteAccounts = buildJupLendAutoRouteAccounts;
|
|
13
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
14
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
15
|
+
const constants_1 = require("./constants");
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Jupiter Lend Infrastructure
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
/** Lending Admin PDA: ["lending_admin"] on jup3Y... */
|
|
20
|
+
exports.LENDING_ADMIN = new web3_js_1.PublicKey("5nmGjA4s7ATzpBQXC5RNceRpaJ7pYw2wKsNBWyuSAZV6");
|
|
21
|
+
/** Fluid/Jupiter Liquidity Program */
|
|
22
|
+
exports.LIQUIDITY_PROGRAM_ID = new web3_js_1.PublicKey("jupeiUmn818Jg1ekPURTpr4mFo29p46vygyykFJ3wZC");
|
|
23
|
+
/** Liquidity singleton PDA */
|
|
24
|
+
exports.LIQUIDITY_SINGLETON = new web3_js_1.PublicKey("7s1da8DduuBFqGra5bJBjpnvL5E9mGzCuMk1Qkh4or2Z");
|
|
25
|
+
exports.USDC_POOL = {
|
|
26
|
+
mint: new web3_js_1.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),
|
|
27
|
+
lending: new web3_js_1.PublicKey("2vVYHYM8VYnvZqQWpTJSj8o8DBf1wM8pVs3bsTgYZiqJ"),
|
|
28
|
+
fTokenMint: new web3_js_1.PublicKey("9BEcn9aPEmhSPbPQeFGjidRiEKki46fVQDyPpSQXPA2D"),
|
|
29
|
+
tokenReservesLiquidity: new web3_js_1.PublicKey("94vK29npVbyRHXH63rRcTiSr26SFhrQTzbpNJuhQEDu"),
|
|
30
|
+
supplyPositionOnLiquidity: new web3_js_1.PublicKey("Hf9gtkM4dpVBahVSzEXSVCAPpKzBsBcns3s8As3z77oF"),
|
|
31
|
+
rewardsRateModel: new web3_js_1.PublicKey("5xSPBiD3TibamAnwHDhZABdB4z4F9dcj5PnbteroBTTd"),
|
|
32
|
+
vault: new web3_js_1.PublicKey("BmkUoKMFYBxNSzWXyUjyMJjMAaVz4d8ZnxwwmhDCUXFB"),
|
|
33
|
+
rateModel: new web3_js_1.PublicKey("5pjzT5dFTsXcwixoab1QDLvZQvpYJxJeBphkyfHGn688"),
|
|
34
|
+
};
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// Auto-Route Account Builders
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
/**
|
|
39
|
+
* Build the 17 CPI accounts for Jupiter Lend deposit.
|
|
40
|
+
*
|
|
41
|
+
* Account order matches `jup_lend::deposit_accounts`:
|
|
42
|
+
* [0] signer (strategy_state PDA)
|
|
43
|
+
* [1] depositor_token_account (strategy base ATA)
|
|
44
|
+
* [2] recipient_token_account (strategy fToken ATA)
|
|
45
|
+
* [3] mint (base token mint)
|
|
46
|
+
* [4] lending_admin
|
|
47
|
+
* [5] lending
|
|
48
|
+
* [6] f_token_mint
|
|
49
|
+
* [7] supply_token_reserves_liquidity
|
|
50
|
+
* [8] lending_supply_position_on_liquidity
|
|
51
|
+
* [9] rate_model
|
|
52
|
+
* [10] vault
|
|
53
|
+
* [11] liquidity
|
|
54
|
+
* [12] liquidity_program
|
|
55
|
+
* [13] rewards_rate_model
|
|
56
|
+
* [14] token_program
|
|
57
|
+
* [15] associated_token_program
|
|
58
|
+
* [16] system_program
|
|
59
|
+
*/
|
|
60
|
+
function buildJupLendDepositAccounts(pool, signer, depositorTokenAccount, recipientTokenAccount) {
|
|
61
|
+
return [
|
|
62
|
+
{ pubkey: signer, isSigner: true, isWritable: true },
|
|
63
|
+
{ pubkey: depositorTokenAccount, isSigner: false, isWritable: true },
|
|
64
|
+
{ pubkey: recipientTokenAccount, isSigner: false, isWritable: true },
|
|
65
|
+
{ pubkey: pool.mint, isSigner: false, isWritable: false },
|
|
66
|
+
{ pubkey: exports.LENDING_ADMIN, isSigner: false, isWritable: false },
|
|
67
|
+
{ pubkey: pool.lending, isSigner: false, isWritable: true },
|
|
68
|
+
{ pubkey: pool.fTokenMint, isSigner: false, isWritable: true },
|
|
69
|
+
{ pubkey: pool.tokenReservesLiquidity, isSigner: false, isWritable: true },
|
|
70
|
+
{ pubkey: pool.supplyPositionOnLiquidity, isSigner: false, isWritable: true },
|
|
71
|
+
{ pubkey: pool.rateModel, isSigner: false, isWritable: false },
|
|
72
|
+
{ pubkey: pool.vault, isSigner: false, isWritable: true },
|
|
73
|
+
{ pubkey: exports.LIQUIDITY_SINGLETON, isSigner: false, isWritable: true },
|
|
74
|
+
{ pubkey: exports.LIQUIDITY_PROGRAM_ID, isSigner: false, isWritable: true },
|
|
75
|
+
{ pubkey: pool.rewardsRateModel, isSigner: false, isWritable: false },
|
|
76
|
+
{ pubkey: spl_token_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
|
|
77
|
+
{ pubkey: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
|
|
78
|
+
{ pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Build the full auto-route remaining_accounts for Jupiter Lend deposit.
|
|
83
|
+
*
|
|
84
|
+
* Returns [jup_lend_program, ...17 CPI accounts] = 18 accounts total.
|
|
85
|
+
* This is what p-stv-core's `sweep_to_lend` forwards to elemental-lend's deposit.
|
|
86
|
+
*/
|
|
87
|
+
function buildJupLendAutoRouteAccounts(pool, strategyStatePda, strategyBaseAta, strategyFtokenAta) {
|
|
88
|
+
return [
|
|
89
|
+
// [0] Protocol program (identifies the route)
|
|
90
|
+
{ pubkey: constants_1.JUP_LEND_PROGRAM, isSigner: false, isWritable: false },
|
|
91
|
+
// [1..18] Full CPI account array
|
|
92
|
+
...buildJupLendDepositAccounts(pool, strategyStatePda, strategyBaseAta, strategyFtokenAta),
|
|
93
|
+
];
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=jupiter-lend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jupiter-lend.js","sourceRoot":"","sources":["../../src/elemental-lend/jupiter-lend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
export declare function findStrategyStatePda(baseMint: PublicKey, programId?: PublicKey): [PublicKey, number];
|
|
3
|
+
export declare function findStvPositionPda(stv: PublicKey, programId?: PublicKey): [PublicKey, number];
|
|
4
|
+
//# sourceMappingURL=pda.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../../src/elemental-lend/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,EACnB,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAKrB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAKrB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findStrategyStatePda = findStrategyStatePda;
|
|
4
|
+
exports.findStvPositionPda = findStvPositionPda;
|
|
5
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
function findStrategyStatePda(baseMint, programId = constants_1.PROGRAM_ID) {
|
|
8
|
+
return web3_js_1.PublicKey.findProgramAddressSync([constants_1.STRATEGY_STATE_SEED, baseMint.toBuffer()], programId);
|
|
9
|
+
}
|
|
10
|
+
function findStvPositionPda(stv, programId = constants_1.PROGRAM_ID) {
|
|
11
|
+
return web3_js_1.PublicKey.findProgramAddressSync([constants_1.POSITION_SEED, stv.toBuffer()], programId);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=pda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../src/elemental-lend/pda.ts"],"names":[],"mappings":";;AAGA,oDAQC;AAED,gDAQC;AArBD,6CAA4C;AAC5C,2CAA6E;AAE7E,SAAgB,oBAAoB,CAClC,QAAmB,EACnB,YAAuB,sBAAU;IAEjC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,+BAAmB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAC1C,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAChC,GAAc,EACd,YAAuB,sBAAU;IAEjC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,yBAAa,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,EAC/B,SAAS,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
import type { StrategyStateHeader } from "../common/strategy-interface";
|
|
4
|
+
/** Full StrategyState for Elemental Lend (472 bytes) */
|
|
5
|
+
export interface LendStrategyState extends StrategyStateHeader {
|
|
6
|
+
admin: PublicKey;
|
|
7
|
+
protocols: PublicKey[];
|
|
8
|
+
protocolCount: number;
|
|
9
|
+
}
|
|
10
|
+
export type { StvPosition } from "../common/strategy-interface";
|
|
11
|
+
export interface StrategyInitializedEvent {
|
|
12
|
+
name: "StrategyInitialized";
|
|
13
|
+
strategyState: PublicKey;
|
|
14
|
+
admin: PublicKey;
|
|
15
|
+
baseMint: PublicKey;
|
|
16
|
+
authority: PublicKey;
|
|
17
|
+
}
|
|
18
|
+
export interface StrategyUpdatedEvent {
|
|
19
|
+
name: "StrategyUpdated";
|
|
20
|
+
strategyState: PublicKey;
|
|
21
|
+
oldAdmin: PublicKey;
|
|
22
|
+
newAdmin: PublicKey;
|
|
23
|
+
oldAuthority: PublicKey;
|
|
24
|
+
newAuthority: PublicKey;
|
|
25
|
+
oldFlags: number;
|
|
26
|
+
newFlags: number;
|
|
27
|
+
}
|
|
28
|
+
export interface PositionInitializedEvent {
|
|
29
|
+
name: "PositionInitialized";
|
|
30
|
+
strategyState: PublicKey;
|
|
31
|
+
stv: PublicKey;
|
|
32
|
+
}
|
|
33
|
+
export interface LendDepositEvent {
|
|
34
|
+
name: "DepositEvent";
|
|
35
|
+
strategyState: PublicKey;
|
|
36
|
+
stv: PublicKey;
|
|
37
|
+
amount: BN;
|
|
38
|
+
shares: BN;
|
|
39
|
+
pps: BN;
|
|
40
|
+
}
|
|
41
|
+
export interface LendWithdrawEvent {
|
|
42
|
+
name: "WithdrawEvent";
|
|
43
|
+
strategyState: PublicKey;
|
|
44
|
+
stv: PublicKey;
|
|
45
|
+
shares: BN;
|
|
46
|
+
amount: BN;
|
|
47
|
+
pps: BN;
|
|
48
|
+
}
|
|
49
|
+
export interface AumUpdatedEvent {
|
|
50
|
+
name: "AumUpdated";
|
|
51
|
+
strategyState: PublicKey;
|
|
52
|
+
totalAum: BN;
|
|
53
|
+
pps: BN;
|
|
54
|
+
lastUpdated: BN;
|
|
55
|
+
}
|
|
56
|
+
export interface KvaultDepositEvent {
|
|
57
|
+
name: "KvaultDepositEvent";
|
|
58
|
+
strategyState: PublicKey;
|
|
59
|
+
amount: BN;
|
|
60
|
+
sharesReceived: BN;
|
|
61
|
+
timestamp: BN;
|
|
62
|
+
}
|
|
63
|
+
export interface KvaultWithdrawEvent {
|
|
64
|
+
name: "KvaultWithdrawEvent";
|
|
65
|
+
strategyState: PublicKey;
|
|
66
|
+
shares: BN;
|
|
67
|
+
baseReceived: BN;
|
|
68
|
+
timestamp: BN;
|
|
69
|
+
}
|
|
70
|
+
export interface JupLendDepositEvent {
|
|
71
|
+
name: "JupLendDepositEvent";
|
|
72
|
+
strategyState: PublicKey;
|
|
73
|
+
amount: BN;
|
|
74
|
+
ftokensReceived: BN;
|
|
75
|
+
timestamp: BN;
|
|
76
|
+
}
|
|
77
|
+
export interface JupLendWithdrawEvent {
|
|
78
|
+
name: "JupLendWithdrawEvent";
|
|
79
|
+
strategyState: PublicKey;
|
|
80
|
+
amount: BN;
|
|
81
|
+
ftokensBurned: BN;
|
|
82
|
+
timestamp: BN;
|
|
83
|
+
}
|
|
84
|
+
export interface ProtocolAddedEvent {
|
|
85
|
+
name: "ProtocolAdded";
|
|
86
|
+
strategyState: PublicKey;
|
|
87
|
+
protocolAccount: PublicKey;
|
|
88
|
+
protocolCount: number;
|
|
89
|
+
}
|
|
90
|
+
export interface ProtocolRemovedEvent {
|
|
91
|
+
name: "ProtocolRemoved";
|
|
92
|
+
strategyState: PublicKey;
|
|
93
|
+
protocolAccount: PublicKey;
|
|
94
|
+
protocolCount: number;
|
|
95
|
+
}
|
|
96
|
+
export type LendEvent = StrategyInitializedEvent | StrategyUpdatedEvent | PositionInitializedEvent | LendDepositEvent | LendWithdrawEvent | AumUpdatedEvent | KvaultDepositEvent | KvaultWithdrawEvent | JupLendDepositEvent | JupLendWithdrawEvent | ProtocolAddedEvent | ProtocolRemovedEvent;
|
|
97
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/elemental-lend/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/elemental-lend/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.jlpStrategy = exports.elementalLend = exports.pStvCore = exports.common = void 0;
|
|
37
|
+
exports.common = __importStar(require("./common"));
|
|
38
|
+
exports.pStvCore = __importStar(require("./p-stv-core"));
|
|
39
|
+
exports.elementalLend = __importStar(require("./elemental-lend"));
|
|
40
|
+
exports.jlpStrategy = __importStar(require("./jlp-strategy"));
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAmC;AACnC,yDAAyC;AACzC,kEAAkD;AAClD,8DAA8C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Connection, PublicKey } from "@solana/web3.js";
|
|
2
|
+
import type { StvPosition } from "../common/strategy-interface";
|
|
3
|
+
import { JLPVault, JlpStrategyState } from "./types";
|
|
4
|
+
export declare function deserializeJlpVault(data: Buffer): JLPVault;
|
|
5
|
+
export declare function deserializeJlpStrategyState(data: Buffer): JlpStrategyState;
|
|
6
|
+
export declare function deserializeJlpStvPosition(data: Buffer): StvPosition;
|
|
7
|
+
export declare function fetchJlpVault(connection: Connection, programId?: PublicKey): Promise<JLPVault>;
|
|
8
|
+
export declare function fetchJlpStrategyState(connection: Connection, baseMint: PublicKey, programId?: PublicKey): Promise<JlpStrategyState>;
|
|
9
|
+
export declare function fetchJlpStvPosition(connection: Connection, stv: PublicKey, programId?: PublicKey): Promise<StvPosition>;
|
|
10
|
+
export declare function fetchAllJlpStrategyStates(connection: Connection, programId?: PublicKey): Promise<[PublicKey, JlpStrategyState][]>;
|
|
11
|
+
//# sourceMappingURL=accounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/jlp-strategy/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAWhE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAOrD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAgC1D;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAwB1E;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CASnE;AAMD,wBAAsB,aAAa,CACjC,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,SAAsB,GAChC,OAAO,CAAC,QAAQ,CAAC,CAKnB;AAED,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,SAAS,EACnB,SAAS,GAAE,SAAsB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAK3B;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,SAAS,EACd,SAAS,GAAE,SAAsB,GAChC,OAAO,CAAC,WAAW,CAAC,CAKtB;AAMD,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,SAAsB,GAChC,OAAO,CAAC,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAQ1C"}
|