@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,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deserializeJlpVault = deserializeJlpVault;
|
|
4
|
+
exports.deserializeJlpStrategyState = deserializeJlpStrategyState;
|
|
5
|
+
exports.deserializeJlpStvPosition = deserializeJlpStvPosition;
|
|
6
|
+
exports.fetchJlpVault = fetchJlpVault;
|
|
7
|
+
exports.fetchJlpStrategyState = fetchJlpStrategyState;
|
|
8
|
+
exports.fetchJlpStvPosition = fetchJlpStvPosition;
|
|
9
|
+
exports.fetchAllJlpStrategyStates = fetchAllJlpStrategyStates;
|
|
10
|
+
const buffer_1 = require("../common/buffer");
|
|
11
|
+
const strategy_interface_1 = require("../common/strategy-interface");
|
|
12
|
+
const constants_1 = require("./constants");
|
|
13
|
+
const pda_1 = require("./pda");
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Deserialization
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
function deserializeJlpVault(data) {
|
|
18
|
+
if (data.length < constants_1.JLP_VAULT_SIZE) {
|
|
19
|
+
throw new Error(`JLPVault data too short: ${data.length} < ${constants_1.JLP_VAULT_SIZE}`);
|
|
20
|
+
}
|
|
21
|
+
const disc = data.subarray(0, 8);
|
|
22
|
+
if (!disc.equals(constants_1.DISC_JLP_VAULT)) {
|
|
23
|
+
throw new Error(`Invalid JLPVault discriminator`);
|
|
24
|
+
}
|
|
25
|
+
const baseAssetMints = [];
|
|
26
|
+
for (let i = 0; i < constants_1.NUM_ASSETS; i++) {
|
|
27
|
+
baseAssetMints.push((0, buffer_1.readPubkey)(data, 136 + i * 32));
|
|
28
|
+
}
|
|
29
|
+
const jlxAssetMints = [];
|
|
30
|
+
for (let i = 0; i < constants_1.NUM_ASSETS; i++) {
|
|
31
|
+
jlxAssetMints.push((0, buffer_1.readPubkey)(data, 296 + i * 32));
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
admin: (0, buffer_1.readPubkey)(data, 8),
|
|
35
|
+
manager: (0, buffer_1.readPubkey)(data, 40),
|
|
36
|
+
feeReceiver: (0, buffer_1.readPubkey)(data, 72),
|
|
37
|
+
jlpMint: (0, buffer_1.readPubkey)(data, 104),
|
|
38
|
+
baseAssetMints,
|
|
39
|
+
jlxAssetMints,
|
|
40
|
+
oracleStalenessTh: (0, buffer_1.readU64)(data, 456),
|
|
41
|
+
flags: (0, buffer_1.readU16)(data, 464),
|
|
42
|
+
jlpSlippageBps: (0, buffer_1.readU16)(data, 466),
|
|
43
|
+
version: (0, buffer_1.readU8)(data, 468),
|
|
44
|
+
bump: (0, buffer_1.readU8)(data, 469),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function deserializeJlpStrategyState(data) {
|
|
48
|
+
if (data.length < constants_1.STRATEGY_STATE_SIZE) {
|
|
49
|
+
throw new Error(`JlpStrategyState data too short: ${data.length} < ${constants_1.STRATEGY_STATE_SIZE}`);
|
|
50
|
+
}
|
|
51
|
+
const disc = data.subarray(0, 8);
|
|
52
|
+
if (!disc.equals(constants_1.DISC_STRATEGY_STATE)) {
|
|
53
|
+
throw new Error(`Invalid JlpStrategyState discriminator`);
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
// Header
|
|
57
|
+
baseMint: (0, buffer_1.readPubkey)(data, 8),
|
|
58
|
+
authority: (0, buffer_1.readPubkey)(data, 40),
|
|
59
|
+
pps: (0, buffer_1.readU64)(data, 72),
|
|
60
|
+
totalAum: (0, buffer_1.readU64)(data, 80),
|
|
61
|
+
totalShares: (0, buffer_1.readU64)(data, 88),
|
|
62
|
+
lastUpdated: (0, buffer_1.readU64)(data, 96),
|
|
63
|
+
flags: (0, buffer_1.readU16)(data, 104),
|
|
64
|
+
version: (0, buffer_1.readU8)(data, 106),
|
|
65
|
+
bump: (0, buffer_1.readU8)(data, 107),
|
|
66
|
+
// Custom
|
|
67
|
+
jlpVault: (0, buffer_1.readPubkey)(data, 112),
|
|
68
|
+
jlMint: (0, buffer_1.readPubkey)(data, 144),
|
|
69
|
+
baseLoaned: (0, buffer_1.readU64)(data, 176),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function deserializeJlpStvPosition(data) {
|
|
73
|
+
if (data.length < constants_1.STV_POSITION_SIZE) {
|
|
74
|
+
throw new Error(`StvPosition data too short: ${data.length} < ${constants_1.STV_POSITION_SIZE}`);
|
|
75
|
+
}
|
|
76
|
+
const disc = data.subarray(0, 8);
|
|
77
|
+
if (!disc.equals(constants_1.DISC_STV_POSITION)) {
|
|
78
|
+
throw new Error(`Invalid StvPosition discriminator`);
|
|
79
|
+
}
|
|
80
|
+
return (0, strategy_interface_1.deserializeStvPosition)(data);
|
|
81
|
+
}
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
// Fetch Helpers
|
|
84
|
+
// ---------------------------------------------------------------------------
|
|
85
|
+
async function fetchJlpVault(connection, programId = constants_1.PROGRAM_ID) {
|
|
86
|
+
const [pda] = (0, pda_1.findJlpVaultPda)(programId);
|
|
87
|
+
const info = await connection.getAccountInfo(pda);
|
|
88
|
+
if (!info)
|
|
89
|
+
throw new Error("JLPVault account not found");
|
|
90
|
+
return deserializeJlpVault(info.data);
|
|
91
|
+
}
|
|
92
|
+
async function fetchJlpStrategyState(connection, baseMint, programId = constants_1.PROGRAM_ID) {
|
|
93
|
+
const [pda] = (0, pda_1.findStrategyStatePda)(baseMint, programId);
|
|
94
|
+
const info = await connection.getAccountInfo(pda);
|
|
95
|
+
if (!info)
|
|
96
|
+
throw new Error(`JlpStrategyState not found for mint ${baseMint.toBase58()}`);
|
|
97
|
+
return deserializeJlpStrategyState(info.data);
|
|
98
|
+
}
|
|
99
|
+
async function fetchJlpStvPosition(connection, stv, programId = constants_1.PROGRAM_ID) {
|
|
100
|
+
const [pda] = (0, pda_1.findStvPositionPda)(stv, programId);
|
|
101
|
+
const info = await connection.getAccountInfo(pda);
|
|
102
|
+
if (!info)
|
|
103
|
+
throw new Error(`StvPosition not found for stv ${stv.toBase58()}`);
|
|
104
|
+
return deserializeJlpStvPosition(info.data);
|
|
105
|
+
}
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// GPA Helpers
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
async function fetchAllJlpStrategyStates(connection, programId = constants_1.PROGRAM_ID) {
|
|
110
|
+
const accounts = await connection.getProgramAccounts(programId, {
|
|
111
|
+
filters: [
|
|
112
|
+
{ dataSize: constants_1.STRATEGY_STATE_SIZE },
|
|
113
|
+
{ memcmp: { offset: 0, bytes: constants_1.DISC_STRATEGY_STATE.toString("base64"), encoding: "base64" } },
|
|
114
|
+
],
|
|
115
|
+
});
|
|
116
|
+
return accounts.map((a) => [a.pubkey, deserializeJlpStrategyState(a.account.data)]);
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=accounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/jlp-strategy/accounts.ts"],"names":[],"mappings":";;AAqBA,kDAgCC;AAED,kEAwBC;AAED,8DASC;AAMD,sCAQC;AAED,sDASC;AAED,kDASC;AAMD,8DAWC;AA9ID,6CAAwE;AACxE,qEAAsE;AAEtE,2CASqB;AAErB,+BAAkF;AAElF,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,IAAI,IAAI,CAAC,MAAM,GAAG,0BAAc,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,MAAM,0BAAc,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,0BAAc,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,cAAc,GAAgB,EAAE,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,cAAc,CAAC,IAAI,CAAC,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,aAAa,GAAgB,EAAE,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,aAAa,CAAC,IAAI,CAAC,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAA,mBAAU,EAAC,IAAI,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,IAAA,mBAAU,EAAC,IAAI,EAAE,EAAE,CAAC;QAC7B,WAAW,EAAE,IAAA,mBAAU,EAAC,IAAI,EAAE,EAAE,CAAC;QACjC,OAAO,EAAE,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,CAAC;QAC9B,cAAc;QACd,aAAa;QACb,iBAAiB,EAAE,IAAA,gBAAO,EAAC,IAAI,EAAE,GAAG,CAAC;QACrC,KAAK,EAAE,IAAA,gBAAO,EAAC,IAAI,EAAE,GAAG,CAAC;QACzB,cAAc,EAAE,IAAA,gBAAO,EAAC,IAAI,EAAE,GAAG,CAAC;QAClC,OAAO,EAAE,IAAA,eAAM,EAAC,IAAI,EAAE,GAAG,CAAC;QAC1B,IAAI,EAAE,IAAA,eAAM,EAAC,IAAI,EAAE,GAAG,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,SAAgB,2BAA2B,CAAC,IAAY;IACtD,IAAI,IAAI,CAAC,MAAM,GAAG,+BAAmB,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,MAAM,MAAM,+BAAmB,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,+BAAmB,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,IAAA,mBAAU,EAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,IAAA,mBAAU,EAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,GAAG,EAAE,IAAA,gBAAO,EAAC,IAAI,EAAE,EAAE,CAAC;QACtB,QAAQ,EAAE,IAAA,gBAAO,EAAC,IAAI,EAAE,EAAE,CAAC;QAC3B,WAAW,EAAE,IAAA,gBAAO,EAAC,IAAI,EAAE,EAAE,CAAC;QAC9B,WAAW,EAAE,IAAA,gBAAO,EAAC,IAAI,EAAE,EAAE,CAAC;QAC9B,KAAK,EAAE,IAAA,gBAAO,EAAC,IAAI,EAAE,GAAG,CAAC;QACzB,OAAO,EAAE,IAAA,eAAM,EAAC,IAAI,EAAE,GAAG,CAAC;QAC1B,IAAI,EAAE,IAAA,eAAM,EAAC,IAAI,EAAE,GAAG,CAAC;QACvB,SAAS;QACT,QAAQ,EAAE,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,CAAC;QAC/B,MAAM,EAAE,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,CAAC;QAC7B,UAAU,EAAE,IAAA,gBAAO,EAAC,IAAI,EAAE,GAAG,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,SAAgB,yBAAyB,CAAC,IAAY;IACpD,IAAI,IAAI,CAAC,MAAM,GAAG,6BAAiB,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,MAAM,6BAAiB,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,6BAAiB,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAA,2CAAsB,EAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAEvE,KAAK,UAAU,aAAa,CACjC,UAAsB,EACtB,YAAuB,sBAAU;IAEjC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,qBAAe,EAAC,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACzD,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC;AAClD,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,UAAsB,EACtB,QAAmB,EACnB,YAAuB,sBAAU;IAEjC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,0BAAoB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzF,OAAO,2BAA2B,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC;AAC1D,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,UAAsB,EACtB,GAAc,EACd,YAAuB,sBAAU;IAEjC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,wBAAkB,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,yBAAyB,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC;AACxD,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAEvE,KAAK,UAAU,yBAAyB,CAC7C,UAAsB,EACtB,YAAuB,sBAAU;IAEjC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC9D,OAAO,EAAE;YACP,EAAE,QAAQ,EAAE,+BAAmB,EAAE;YACjC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,+BAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;SAC7F;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
export declare const PROGRAM_ID: PublicKey;
|
|
3
|
+
export declare const PROGRAM_ID_MAINNET: PublicKey;
|
|
4
|
+
export declare const PROGRAM_ID_DEVNET: PublicKey;
|
|
5
|
+
export declare const JLP_VAULT_SEED: Buffer<ArrayBuffer>;
|
|
6
|
+
export declare const STRATEGY_STATE_SEED: Buffer<ArrayBuffer>;
|
|
7
|
+
export declare const POSITION_SEED: Buffer<ArrayBuffer>;
|
|
8
|
+
export declare const DISC_JLP_VAULT: Buffer<ArrayBuffer>;
|
|
9
|
+
export declare const DISC_STRATEGY_STATE: Buffer<ArrayBuffer>;
|
|
10
|
+
export declare const DISC_STV_POSITION: Buffer<ArrayBuffer>;
|
|
11
|
+
export declare const IX_INIT_OR_UPDATE_JLP_VAULT: Buffer<ArrayBuffer>;
|
|
12
|
+
export declare const IX_INIT_STRATEGY_STATE: Buffer<ArrayBuffer>;
|
|
13
|
+
export declare const IX_UPDATE_STRATEGY_STATE: Buffer<ArrayBuffer>;
|
|
14
|
+
export declare const IX_INIT_POSITION: Buffer<ArrayBuffer>;
|
|
15
|
+
export declare const IX_CLOSE_POSITION: Buffer<ArrayBuffer>;
|
|
16
|
+
export declare const IX_DEPOSIT: Buffer<ArrayBuffer>;
|
|
17
|
+
export declare const IX_WITHDRAW: Buffer<ArrayBuffer>;
|
|
18
|
+
export declare const IX_UPDATE_AUM: Buffer<ArrayBuffer>;
|
|
19
|
+
export declare const IX_JUP_EARN_DEPOSIT_WITHDRAW: Buffer<ArrayBuffer>;
|
|
20
|
+
export declare const IX_MOVE_TO_FROM_VAULT: Buffer<ArrayBuffer>;
|
|
21
|
+
export declare const IX_SWAP_JLX_TO_FROM_JLP: Buffer<ArrayBuffer>;
|
|
22
|
+
export declare const IX_SETTLE_YIELD: Buffer<ArrayBuffer>;
|
|
23
|
+
export declare const JLP_VAULT_SIZE = 472;
|
|
24
|
+
export declare const STRATEGY_STATE_SIZE = 216;
|
|
25
|
+
export declare const STV_POSITION_SIZE = 56;
|
|
26
|
+
export declare const FLAG_PAUSED = 1;
|
|
27
|
+
export declare const FLAG_DEPOSITS_DISABLED = 2;
|
|
28
|
+
export declare const FLAG_WITHDRAWALS_DISABLED = 4;
|
|
29
|
+
export declare const FLAG_JLP_DISABLED = 8;
|
|
30
|
+
export declare const FLAG_REBALANCE_DISABLED = 16;
|
|
31
|
+
export declare const FLAG_TEST_MODE = 32;
|
|
32
|
+
export declare const NUM_ASSETS = 5;
|
|
33
|
+
export declare const MAX_MGMT_FEE_BPS = 500;
|
|
34
|
+
export declare const MAX_PERF_FEE_BPS = 3000;
|
|
35
|
+
export { PPS_DECIMALS, BPS_DENOMINATOR } from "../common/constants";
|
|
36
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/jlp-strategy/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,UAAU,WAAgE,CAAC;AACxF,eAAO,MAAM,kBAAkB,WAAa,CAAC;AAC7C,eAAO,MAAM,iBAAiB,WAAgE,CAAC;AAG/F,eAAO,MAAM,cAAc,qBAA2B,CAAC;AACvD,eAAO,MAAM,mBAAmB,qBAAgC,CAAC;AACjE,eAAO,MAAM,aAAa,qBAA0B,CAAC;AAGrD,eAAO,MAAM,cAAc,qBAAuD,CAAC;AACnF,eAAO,MAAM,mBAAmB,qBAAqD,CAAC;AACtF,eAAO,MAAM,iBAAiB,qBAAqD,CAAC;AAGpF,eAAO,MAAM,2BAA2B,qBAAuD,CAAC;AAChG,eAAO,MAAM,sBAAsB,qBAAkD,CAAC;AACtF,eAAO,MAAM,wBAAwB,qBAAoD,CAAC;AAC1F,eAAO,MAAM,gBAAgB,qBAAkD,CAAC;AAChF,eAAO,MAAM,iBAAiB,qBAAiD,CAAC;AAChF,eAAO,MAAM,UAAU,qBAAsD,CAAC;AAC9E,eAAO,MAAM,WAAW,qBAAqD,CAAC;AAC9E,eAAO,MAAM,aAAa,qBAAqD,CAAC;AAChF,eAAO,MAAM,4BAA4B,qBAAsD,CAAC;AAChG,eAAO,MAAM,qBAAqB,qBAAqD,CAAC;AACxF,eAAO,MAAM,uBAAuB,qBAAwD,CAAC;AAC7F,eAAO,MAAM,eAAe,qBAAkD,CAAC;AAG/E,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAGpC,eAAO,MAAM,WAAW,IAAS,CAAC;AAClC,eAAO,MAAM,sBAAsB,IAAS,CAAC;AAC7C,eAAO,MAAM,yBAAyB,IAAS,CAAC;AAChD,eAAO,MAAM,iBAAiB,IAAS,CAAC;AACxC,eAAO,MAAM,uBAAuB,KAAS,CAAC;AAC9C,eAAO,MAAM,cAAc,KAAS,CAAC;AAGrC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BPS_DENOMINATOR = exports.PPS_DECIMALS = exports.MAX_PERF_FEE_BPS = exports.MAX_MGMT_FEE_BPS = exports.NUM_ASSETS = exports.FLAG_TEST_MODE = exports.FLAG_REBALANCE_DISABLED = exports.FLAG_JLP_DISABLED = exports.FLAG_WITHDRAWALS_DISABLED = exports.FLAG_DEPOSITS_DISABLED = exports.FLAG_PAUSED = exports.STV_POSITION_SIZE = exports.STRATEGY_STATE_SIZE = exports.JLP_VAULT_SIZE = exports.IX_SETTLE_YIELD = exports.IX_SWAP_JLX_TO_FROM_JLP = exports.IX_MOVE_TO_FROM_VAULT = exports.IX_JUP_EARN_DEPOSIT_WITHDRAW = exports.IX_UPDATE_AUM = exports.IX_WITHDRAW = exports.IX_DEPOSIT = exports.IX_CLOSE_POSITION = exports.IX_INIT_POSITION = exports.IX_UPDATE_STRATEGY_STATE = exports.IX_INIT_STRATEGY_STATE = exports.IX_INIT_OR_UPDATE_JLP_VAULT = exports.DISC_STV_POSITION = exports.DISC_STRATEGY_STATE = exports.DISC_JLP_VAULT = exports.POSITION_SEED = exports.STRATEGY_STATE_SEED = exports.JLP_VAULT_SEED = exports.PROGRAM_ID_DEVNET = exports.PROGRAM_ID_MAINNET = exports.PROGRAM_ID = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
exports.PROGRAM_ID = new web3_js_1.PublicKey("ELEM2bAobpZNuysfhyF28XGVjA1aTUwm6rPYyv1JX3oq");
|
|
6
|
+
exports.PROGRAM_ID_MAINNET = exports.PROGRAM_ID;
|
|
7
|
+
exports.PROGRAM_ID_DEVNET = new web3_js_1.PublicKey("AcVcAihjB9Z3Lg3ZiboWxni2sTzXUrrsF3unGX4ntn6p");
|
|
8
|
+
// PDA Seeds
|
|
9
|
+
exports.JLP_VAULT_SEED = Buffer.from("jlp_vault");
|
|
10
|
+
exports.STRATEGY_STATE_SEED = Buffer.from("strategy_state");
|
|
11
|
+
exports.POSITION_SEED = Buffer.from("position");
|
|
12
|
+
// Account discriminators (Anchor 8-byte)
|
|
13
|
+
exports.DISC_JLP_VAULT = Buffer.from([41, 108, 189, 168, 199, 152, 221, 119]);
|
|
14
|
+
exports.DISC_STRATEGY_STATE = Buffer.from([83, 18, 224, 109, 174, 100, 39, 139]);
|
|
15
|
+
exports.DISC_STV_POSITION = Buffer.from([47, 212, 251, 176, 138, 160, 30, 87]);
|
|
16
|
+
// Instruction discriminators (Anchor 8-byte)
|
|
17
|
+
exports.IX_INIT_OR_UPDATE_JLP_VAULT = Buffer.from([234, 24, 218, 120, 213, 149, 245, 213]);
|
|
18
|
+
exports.IX_INIT_STRATEGY_STATE = Buffer.from([223, 7, 93, 99, 12, 44, 180, 255]);
|
|
19
|
+
exports.IX_UPDATE_STRATEGY_STATE = Buffer.from([249, 58, 49, 124, 53, 255, 25, 133]);
|
|
20
|
+
exports.IX_INIT_POSITION = Buffer.from([197, 20, 10, 1, 97, 160, 177, 91]);
|
|
21
|
+
exports.IX_CLOSE_POSITION = Buffer.from([123, 134, 81, 0, 49, 68, 98, 98]);
|
|
22
|
+
exports.IX_DEPOSIT = Buffer.from([242, 35, 198, 137, 82, 225, 242, 182]);
|
|
23
|
+
exports.IX_WITHDRAW = Buffer.from([183, 18, 70, 156, 148, 109, 161, 34]);
|
|
24
|
+
exports.IX_UPDATE_AUM = Buffer.from([162, 40, 227, 16, 84, 169, 182, 185]);
|
|
25
|
+
exports.IX_JUP_EARN_DEPOSIT_WITHDRAW = Buffer.from([124, 60, 71, 122, 162, 212, 164, 191]);
|
|
26
|
+
exports.IX_MOVE_TO_FROM_VAULT = Buffer.from([90, 184, 132, 244, 83, 130, 240, 78]);
|
|
27
|
+
exports.IX_SWAP_JLX_TO_FROM_JLP = Buffer.from([229, 185, 136, 170, 210, 189, 172, 241]);
|
|
28
|
+
exports.IX_SETTLE_YIELD = Buffer.from([64, 28, 44, 24, 43, 204, 58, 215]);
|
|
29
|
+
// Account sizes
|
|
30
|
+
exports.JLP_VAULT_SIZE = 472;
|
|
31
|
+
exports.STRATEGY_STATE_SIZE = 216;
|
|
32
|
+
exports.STV_POSITION_SIZE = 56;
|
|
33
|
+
// Flags
|
|
34
|
+
exports.FLAG_PAUSED = 0x0001;
|
|
35
|
+
exports.FLAG_DEPOSITS_DISABLED = 0x0002;
|
|
36
|
+
exports.FLAG_WITHDRAWALS_DISABLED = 0x0004;
|
|
37
|
+
exports.FLAG_JLP_DISABLED = 0x0008;
|
|
38
|
+
exports.FLAG_REBALANCE_DISABLED = 0x0010;
|
|
39
|
+
exports.FLAG_TEST_MODE = 0x0020;
|
|
40
|
+
// Limits
|
|
41
|
+
exports.NUM_ASSETS = 5;
|
|
42
|
+
exports.MAX_MGMT_FEE_BPS = 500;
|
|
43
|
+
exports.MAX_PERF_FEE_BPS = 3000;
|
|
44
|
+
var constants_1 = require("../common/constants");
|
|
45
|
+
Object.defineProperty(exports, "PPS_DECIMALS", { enumerable: true, get: function () { return constants_1.PPS_DECIMALS; } });
|
|
46
|
+
Object.defineProperty(exports, "BPS_DENOMINATOR", { enumerable: true, get: function () { return constants_1.BPS_DENOMINATOR; } });
|
|
47
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/jlp-strategy/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jlp-strategy/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./constants"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
__exportStar(require("./pda"), exports);
|
|
20
|
+
__exportStar(require("./accounts"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jlp-strategy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB;AACxB,wCAAsB;AACtB,6CAA2B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
export declare function findJlpVaultPda(programId?: PublicKey): [PublicKey, number];
|
|
3
|
+
export declare function findStrategyStatePda(baseMint: PublicKey, programId?: PublicKey): [PublicKey, number];
|
|
4
|
+
export declare function findStvPositionPda(stv: PublicKey, programId?: PublicKey): [PublicKey, number];
|
|
5
|
+
//# sourceMappingURL=pda.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../../src/jlp-strategy/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,wBAAgB,eAAe,CAC7B,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAErB;AAED,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,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findJlpVaultPda = findJlpVaultPda;
|
|
4
|
+
exports.findStrategyStatePda = findStrategyStatePda;
|
|
5
|
+
exports.findStvPositionPda = findStvPositionPda;
|
|
6
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
8
|
+
function findJlpVaultPda(programId = constants_1.PROGRAM_ID) {
|
|
9
|
+
return web3_js_1.PublicKey.findProgramAddressSync([constants_1.JLP_VAULT_SEED], programId);
|
|
10
|
+
}
|
|
11
|
+
function findStrategyStatePda(baseMint, programId = constants_1.PROGRAM_ID) {
|
|
12
|
+
return web3_js_1.PublicKey.findProgramAddressSync([constants_1.STRATEGY_STATE_SEED, baseMint.toBuffer()], programId);
|
|
13
|
+
}
|
|
14
|
+
function findStvPositionPda(stv, programId = constants_1.PROGRAM_ID) {
|
|
15
|
+
return web3_js_1.PublicKey.findProgramAddressSync([constants_1.POSITION_SEED, stv.toBuffer()], programId);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=pda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../src/jlp-strategy/pda.ts"],"names":[],"mappings":";;AAGA,0CAIC;AAED,oDAQC;AAED,gDAQC;AA3BD,6CAA4C;AAC5C,2CAA6F;AAE7F,SAAgB,eAAe,CAC7B,YAAuB,sBAAU;IAEjC,OAAO,mBAAS,CAAC,sBAAsB,CAAC,CAAC,0BAAc,CAAC,EAAE,SAAS,CAAC,CAAC;AACvE,CAAC;AAED,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,25 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
import type { StrategyStateHeader } from "../common/strategy-interface";
|
|
4
|
+
/** JLPVault global config (472 bytes) */
|
|
5
|
+
export interface JLPVault {
|
|
6
|
+
admin: PublicKey;
|
|
7
|
+
manager: PublicKey;
|
|
8
|
+
feeReceiver: PublicKey;
|
|
9
|
+
jlpMint: PublicKey;
|
|
10
|
+
baseAssetMints: PublicKey[];
|
|
11
|
+
jlxAssetMints: PublicKey[];
|
|
12
|
+
oracleStalenessTh: BN;
|
|
13
|
+
flags: number;
|
|
14
|
+
jlpSlippageBps: number;
|
|
15
|
+
version: number;
|
|
16
|
+
bump: number;
|
|
17
|
+
}
|
|
18
|
+
/** JLP StrategyState (216 bytes) — extends standard 104-byte header */
|
|
19
|
+
export interface JlpStrategyState extends StrategyStateHeader {
|
|
20
|
+
jlpVault: PublicKey;
|
|
21
|
+
jlMint: PublicKey;
|
|
22
|
+
baseLoaned: BN;
|
|
23
|
+
}
|
|
24
|
+
export type { StvPosition } from "../common/strategy-interface";
|
|
25
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jlp-strategy/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,8BAA8B,CAAC;AAMrF,yCAAyC;AACzC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC;IACnB,WAAW,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,iBAAiB,EAAE,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,EAAE,CAAC;CAChB;AAGD,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/jlp-strategy/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Connection, PublicKey } from "@solana/web3.js";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
import { GlobalConfig, Stv, WithdrawRequest } from "./types";
|
|
4
|
+
export declare function deserializeGlobalConfig(data: Buffer): GlobalConfig;
|
|
5
|
+
export declare function deserializeStv(data: Buffer): Stv;
|
|
6
|
+
export declare function deserializeWithdrawRequest(data: Buffer): WithdrawRequest;
|
|
7
|
+
export declare function fetchGlobalConfig(connection: Connection, programId?: PublicKey): Promise<GlobalConfig>;
|
|
8
|
+
export declare function fetchStv(connection: Connection, vaultId: number | BN, programId?: PublicKey): Promise<Stv>;
|
|
9
|
+
export declare function fetchStvByAddress(connection: Connection, address: PublicKey): Promise<Stv>;
|
|
10
|
+
export declare function fetchWithdrawRequest(connection: Connection, stv: PublicKey, user: PublicKey, epochId: number, programId?: PublicKey): Promise<WithdrawRequest>;
|
|
11
|
+
export declare function fetchWithdrawRequestByAddress(connection: Connection, address: PublicKey): Promise<WithdrawRequest>;
|
|
12
|
+
export declare function fetchAllStvs(connection: Connection, programId?: PublicKey): Promise<[PublicKey, Stv][]>;
|
|
13
|
+
export declare function fetchPendingWithdrawRequests(connection: Connection, stv: PublicKey, epochId: number, programId?: PublicKey): Promise<[PublicKey, WithdrawRequest][]>;
|
|
14
|
+
//# sourceMappingURL=accounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/p-stv-core/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,MAAM,OAAO,CAAC;AAWvB,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAO7D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAelE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAyChD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAiBxE;AAMD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,SAAsB,GAChC,OAAO,CAAC,YAAY,CAAC,CAKvB;AAED,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,GAAG,EAAE,EACpB,SAAS,GAAE,SAAsB,GAChC,OAAO,CAAC,GAAG,CAAC,CAKd;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,GAAG,CAAC,CAId;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,SAAsB,GAChC,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,eAAe,CAAC,CAI1B;AAMD,wBAAsB,YAAY,CAChC,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,SAAsB,GAChC,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAQ7B;AAED,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,SAAsB,GAChC,OAAO,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC,CAYzC"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deserializeGlobalConfig = deserializeGlobalConfig;
|
|
4
|
+
exports.deserializeStv = deserializeStv;
|
|
5
|
+
exports.deserializeWithdrawRequest = deserializeWithdrawRequest;
|
|
6
|
+
exports.fetchGlobalConfig = fetchGlobalConfig;
|
|
7
|
+
exports.fetchStv = fetchStv;
|
|
8
|
+
exports.fetchStvByAddress = fetchStvByAddress;
|
|
9
|
+
exports.fetchWithdrawRequest = fetchWithdrawRequest;
|
|
10
|
+
exports.fetchWithdrawRequestByAddress = fetchWithdrawRequestByAddress;
|
|
11
|
+
exports.fetchAllStvs = fetchAllStvs;
|
|
12
|
+
exports.fetchPendingWithdrawRequests = fetchPendingWithdrawRequests;
|
|
13
|
+
const buffer_1 = require("../common/buffer");
|
|
14
|
+
const constants_1 = require("./constants");
|
|
15
|
+
const pda_1 = require("./pda");
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Deserialization
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
function deserializeGlobalConfig(data) {
|
|
20
|
+
if (data.length < constants_1.GLOBAL_CONFIG_SIZE) {
|
|
21
|
+
throw new Error(`GlobalConfig data too short: ${data.length} < ${constants_1.GLOBAL_CONFIG_SIZE}`);
|
|
22
|
+
}
|
|
23
|
+
const disc = data.subarray(0, 8);
|
|
24
|
+
if (!disc.equals(constants_1.DISC_GLOBAL_CONFIG)) {
|
|
25
|
+
throw new Error(`Invalid GlobalConfig discriminator`);
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
admin: (0, buffer_1.readPubkey)(data, 8),
|
|
29
|
+
nextVaultId: (0, buffer_1.readU64)(data, 40),
|
|
30
|
+
flags: (0, buffer_1.readU16)(data, 48),
|
|
31
|
+
version: (0, buffer_1.readU8)(data, 50),
|
|
32
|
+
bump: (0, buffer_1.readU8)(data, 51),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function deserializeStv(data) {
|
|
36
|
+
if (data.length < constants_1.STV_SIZE) {
|
|
37
|
+
throw new Error(`Stv data too short: ${data.length} < ${constants_1.STV_SIZE}`);
|
|
38
|
+
}
|
|
39
|
+
const disc = data.subarray(0, 8);
|
|
40
|
+
if (!disc.equals(constants_1.DISC_STV)) {
|
|
41
|
+
throw new Error(`Invalid Stv discriminator`);
|
|
42
|
+
}
|
|
43
|
+
const strategies = [];
|
|
44
|
+
for (let i = 0; i < 10; i++) {
|
|
45
|
+
strategies.push((0, buffer_1.readPubkey)(data, 200 + i * 32));
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
baseMint: (0, buffer_1.readPubkey)(data, 8),
|
|
49
|
+
evMint: (0, buffer_1.readPubkey)(data, 40),
|
|
50
|
+
strategy: (0, buffer_1.readPubkey)(data, 72),
|
|
51
|
+
manager: (0, buffer_1.readPubkey)(data, 104),
|
|
52
|
+
feeReceiver: (0, buffer_1.readPubkey)(data, 136),
|
|
53
|
+
lendProgram: (0, buffer_1.readPubkey)(data, 168),
|
|
54
|
+
strategies,
|
|
55
|
+
vaultId: (0, buffer_1.readU64)(data, 520),
|
|
56
|
+
reservedBase: (0, buffer_1.readU64)(data, 528),
|
|
57
|
+
requestedBase: (0, buffer_1.readU64)(data, 536),
|
|
58
|
+
vaultCapacity: (0, buffer_1.readU64)(data, 544),
|
|
59
|
+
minDeposit: (0, buffer_1.readU64)(data, 552),
|
|
60
|
+
hwm: (0, buffer_1.readU64)(data, 560),
|
|
61
|
+
lastFeeTs: (0, buffer_1.readU64)(data, 568),
|
|
62
|
+
epochPps: (0, buffer_1.readU64)(data, 576),
|
|
63
|
+
nextEpochTs: (0, buffer_1.readU32)(data, 584),
|
|
64
|
+
epochSec: (0, buffer_1.readU32)(data, 588),
|
|
65
|
+
currentEpochId: (0, buffer_1.readU32)(data, 592),
|
|
66
|
+
pendingWithdrawals: (0, buffer_1.readU32)(data, 596),
|
|
67
|
+
mgmtFeeBps: (0, buffer_1.readU16)(data, 600),
|
|
68
|
+
perfFeeBps: (0, buffer_1.readU16)(data, 602),
|
|
69
|
+
flags: (0, buffer_1.readU16)(data, 604),
|
|
70
|
+
strategyCount: (0, buffer_1.readU8)(data, 606),
|
|
71
|
+
version: (0, buffer_1.readU8)(data, 607),
|
|
72
|
+
bump: (0, buffer_1.readU8)(data, 608),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function deserializeWithdrawRequest(data) {
|
|
76
|
+
if (data.length < constants_1.WITHDRAW_REQUEST_SIZE) {
|
|
77
|
+
throw new Error(`WithdrawRequest data too short: ${data.length} < ${constants_1.WITHDRAW_REQUEST_SIZE}`);
|
|
78
|
+
}
|
|
79
|
+
const disc = data.subarray(0, 8);
|
|
80
|
+
if (!disc.equals(constants_1.DISC_WITHDRAW_REQUEST)) {
|
|
81
|
+
throw new Error(`Invalid WithdrawRequest discriminator`);
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
stv: (0, buffer_1.readPubkey)(data, 8),
|
|
85
|
+
user: (0, buffer_1.readPubkey)(data, 40),
|
|
86
|
+
shares: (0, buffer_1.readU64)(data, 72),
|
|
87
|
+
pps: (0, buffer_1.readU64)(data, 80),
|
|
88
|
+
epochId: (0, buffer_1.readU32)(data, 88),
|
|
89
|
+
claimAvailableAfter: (0, buffer_1.readU32)(data, 92),
|
|
90
|
+
bump: (0, buffer_1.readU8)(data, 96),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
// ---------------------------------------------------------------------------
|
|
94
|
+
// Fetch Helpers
|
|
95
|
+
// ---------------------------------------------------------------------------
|
|
96
|
+
async function fetchGlobalConfig(connection, programId = constants_1.PROGRAM_ID) {
|
|
97
|
+
const [configPda] = (0, pda_1.findConfigPda)(programId);
|
|
98
|
+
const info = await connection.getAccountInfo(configPda);
|
|
99
|
+
if (!info)
|
|
100
|
+
throw new Error("GlobalConfig account not found");
|
|
101
|
+
return deserializeGlobalConfig(info.data);
|
|
102
|
+
}
|
|
103
|
+
async function fetchStv(connection, vaultId, programId = constants_1.PROGRAM_ID) {
|
|
104
|
+
const [stvPda] = (0, pda_1.findStvPda)(vaultId, programId);
|
|
105
|
+
const info = await connection.getAccountInfo(stvPda);
|
|
106
|
+
if (!info)
|
|
107
|
+
throw new Error(`Stv account not found for vault_id ${vaultId}`);
|
|
108
|
+
return deserializeStv(info.data);
|
|
109
|
+
}
|
|
110
|
+
async function fetchStvByAddress(connection, address) {
|
|
111
|
+
const info = await connection.getAccountInfo(address);
|
|
112
|
+
if (!info)
|
|
113
|
+
throw new Error(`Stv account not found at ${address.toBase58()}`);
|
|
114
|
+
return deserializeStv(info.data);
|
|
115
|
+
}
|
|
116
|
+
async function fetchWithdrawRequest(connection, stv, user, epochId, programId = constants_1.PROGRAM_ID) {
|
|
117
|
+
const [wrPda] = (0, pda_1.findWithdrawRequestPda)(stv, user, epochId, programId);
|
|
118
|
+
const info = await connection.getAccountInfo(wrPda);
|
|
119
|
+
if (!info)
|
|
120
|
+
throw new Error("WithdrawRequest account not found");
|
|
121
|
+
return deserializeWithdrawRequest(info.data);
|
|
122
|
+
}
|
|
123
|
+
async function fetchWithdrawRequestByAddress(connection, address) {
|
|
124
|
+
const info = await connection.getAccountInfo(address);
|
|
125
|
+
if (!info)
|
|
126
|
+
throw new Error(`WithdrawRequest not found at ${address.toBase58()}`);
|
|
127
|
+
return deserializeWithdrawRequest(info.data);
|
|
128
|
+
}
|
|
129
|
+
// ---------------------------------------------------------------------------
|
|
130
|
+
// GPA Helpers
|
|
131
|
+
// ---------------------------------------------------------------------------
|
|
132
|
+
async function fetchAllStvs(connection, programId = constants_1.PROGRAM_ID) {
|
|
133
|
+
const accounts = await connection.getProgramAccounts(programId, {
|
|
134
|
+
filters: [
|
|
135
|
+
{ dataSize: constants_1.STV_SIZE },
|
|
136
|
+
{ memcmp: { offset: 0, bytes: constants_1.DISC_STV.toString("base64"), encoding: "base64" } },
|
|
137
|
+
],
|
|
138
|
+
});
|
|
139
|
+
return accounts.map((a) => [a.pubkey, deserializeStv(a.account.data)]);
|
|
140
|
+
}
|
|
141
|
+
async function fetchPendingWithdrawRequests(connection, stv, epochId, programId = constants_1.PROGRAM_ID) {
|
|
142
|
+
const epochBuf = Buffer.alloc(4);
|
|
143
|
+
epochBuf.writeUInt32LE(epochId, 0);
|
|
144
|
+
const accounts = await connection.getProgramAccounts(programId, {
|
|
145
|
+
filters: [
|
|
146
|
+
{ dataSize: constants_1.WITHDRAW_REQUEST_SIZE },
|
|
147
|
+
{ memcmp: { offset: 0, bytes: constants_1.DISC_WITHDRAW_REQUEST.toString("base64"), encoding: "base64" } },
|
|
148
|
+
{ memcmp: { offset: 8, bytes: stv.toBase58() } },
|
|
149
|
+
{ memcmp: { offset: 88, bytes: epochBuf.toString("base64"), encoding: "base64" } },
|
|
150
|
+
],
|
|
151
|
+
});
|
|
152
|
+
return accounts.map((a) => [a.pubkey, deserializeWithdrawRequest(a.account.data)]);
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=accounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/p-stv-core/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
export declare const PROGRAM_ID: PublicKey;
|
|
3
|
+
export declare const CONFIG_SEED: Buffer<ArrayBuffer>;
|
|
4
|
+
export declare const STV_SEED: Buffer<ArrayBuffer>;
|
|
5
|
+
export declare const EV_MINT_SEED: Buffer<ArrayBuffer>;
|
|
6
|
+
export declare const WITHDRAW_REQUEST_SEED: Buffer<ArrayBuffer>;
|
|
7
|
+
export declare const DISC_GLOBAL_CONFIG: Buffer<ArrayBuffer>;
|
|
8
|
+
export declare const DISC_STV: Buffer<ArrayBuffer>;
|
|
9
|
+
export declare const DISC_WITHDRAW_REQUEST: Buffer<ArrayBuffer>;
|
|
10
|
+
export declare const IX_INIT_OR_UPDATE_CONFIG = 0;
|
|
11
|
+
export declare const IX_INIT_OR_UPDATE_STV = 1;
|
|
12
|
+
export declare const IX_DEPOSIT = 2;
|
|
13
|
+
export declare const IX_REQUEST_WITHDRAW = 3;
|
|
14
|
+
export declare const IX_CLAIM_WITHDRAW = 4;
|
|
15
|
+
export declare const IX_PROCESS_EPOCH = 5;
|
|
16
|
+
export declare const IX_DEPOSIT_TO_STRATEGY = 6;
|
|
17
|
+
export declare const IX_WITHDRAW_FROM_STRATEGY = 7;
|
|
18
|
+
export declare const EVT_CONFIG_INITIALIZED = 0;
|
|
19
|
+
export declare const EVT_CONFIG_UPDATED = 1;
|
|
20
|
+
export declare const EVT_STV_CREATED = 2;
|
|
21
|
+
export declare const EVT_STV_UPDATED = 3;
|
|
22
|
+
export declare const EVT_DEPOSITED = 4;
|
|
23
|
+
export declare const EVT_WITHDRAW_REQUESTED = 5;
|
|
24
|
+
export declare const EVT_WITHDRAW_REQUEST_INCREASED = 6;
|
|
25
|
+
export declare const EVT_WITHDRAW_CLAIMED = 7;
|
|
26
|
+
export declare const EVT_DEPOSITED_TO_STRATEGY = 8;
|
|
27
|
+
export declare const EVT_WITHDRAWN_FROM_STRATEGY = 9;
|
|
28
|
+
export declare const EVT_EPOCH_PROCESSED = 10;
|
|
29
|
+
export declare const EVT_EPOCH_ADVANCED = 11;
|
|
30
|
+
export declare const EVT_FEES_SETTLED = 12;
|
|
31
|
+
export declare const FLAG_PAUSED = 1;
|
|
32
|
+
export declare const FLAG_DEPOSITS_DISABLED = 2;
|
|
33
|
+
export declare const FLAG_WITHDRAWALS_DISABLED = 4;
|
|
34
|
+
export declare const FLAG_REBALANCE_DISABLED = 8;
|
|
35
|
+
export declare const FLAG_TEST_MODE = 16;
|
|
36
|
+
export declare const FLAG_ALLOCATOR = 32;
|
|
37
|
+
export { PPS_DECIMALS, BPS_DENOMINATOR, STALENESS_THRESHOLD } from "../common/constants";
|
|
38
|
+
export declare const MAX_STRATEGIES = 10;
|
|
39
|
+
export declare const FEE_CAP_BPS = 9900;
|
|
40
|
+
export declare const GLOBAL_CONFIG_SIZE = 56;
|
|
41
|
+
export declare const STV_SIZE = 616;
|
|
42
|
+
export declare const WITHDRAW_REQUEST_SIZE = 104;
|
|
43
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/p-stv-core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,eAAO,MAAM,UAAU,WAEtB,CAAC;AAMF,eAAO,MAAM,WAAW,qBAAwB,CAAC;AACjD,eAAO,MAAM,QAAQ,qBAAqB,CAAC;AAC3C,eAAO,MAAM,YAAY,qBAAyB,CAAC;AACnD,eAAO,MAAM,qBAAqB,qBAAkC,CAAC;AAMrE,eAAO,MAAM,kBAAkB,qBAE7B,CAAC;AACH,eAAO,MAAM,QAAQ,qBAEnB,CAAC;AACH,eAAO,MAAM,qBAAqB,qBAEhC,CAAC;AAMH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAM3C,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAMnC,eAAO,MAAM,WAAW,IAAS,CAAC;AAClC,eAAO,MAAM,sBAAsB,IAAS,CAAC;AAC7C,eAAO,MAAM,yBAAyB,IAAS,CAAC;AAChD,eAAO,MAAM,uBAAuB,IAAS,CAAC;AAC9C,eAAO,MAAM,cAAc,KAAS,CAAC;AACrC,eAAO,MAAM,cAAc,KAAS,CAAC;AAMrC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzF,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,WAAW,OAAQ,CAAC;AAMjC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,QAAQ,MAAM,CAAC;AAC5B,eAAO,MAAM,qBAAqB,MAAM,CAAC"}
|