@exponent-labs/generic-sy-sdk 0.1.7 → 0.9.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/build/index.d.ts +4 -1
- package/build/index.js +139 -5
- package/build/index.js.map +1 -1
- package/package.json +10 -9
- package/src/index.ts +183 -42
- package/src/utils.ts +1 -1
package/build/index.d.ts
CHANGED
|
@@ -16,7 +16,10 @@ export declare enum InterfaceType {
|
|
|
16
16
|
HyloLpToken = 9,
|
|
17
17
|
JupiterLend = 10,
|
|
18
18
|
KaminoVault = 11,
|
|
19
|
-
Solstice = 12
|
|
19
|
+
Solstice = 12,
|
|
20
|
+
Reflect = 13,
|
|
21
|
+
Ore = 14,
|
|
22
|
+
Chainlink = 15
|
|
20
23
|
}
|
|
21
24
|
export declare function getInterfaceTypeObj(interfaceType: number): InterfaceTypeGeneric;
|
|
22
25
|
export declare function getInterfaceTypeFromString(interfaceType: string): InterfaceTypeGeneric;
|
package/build/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.initSy = exports.GenericSySdk = exports.getInterfaceTypeFromString = exports.getInterfaceTypeObj = exports.InterfaceType = void 0;
|
|
4
4
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
5
|
+
const spl_stake_pool_1 = require("@solana/spl-stake-pool");
|
|
5
6
|
const spl_token_1 = require("@solana/spl-token");
|
|
6
7
|
const exponent_admin_pda_1 = require("@exponent-labs/exponent-admin-pda");
|
|
7
8
|
const exponent_fetcher_1 = require("@exponent-labs/exponent-fetcher");
|
|
@@ -10,6 +11,28 @@ const generic_sy_idl_1 = require("@exponent-labs/generic-sy-idl");
|
|
|
10
11
|
const generic_sy_pda_1 = require("@exponent-labs/generic-sy-pda");
|
|
11
12
|
const precise_number_1 = require("@exponent-labs/precise-number");
|
|
12
13
|
const utils_1 = require("./utils");
|
|
14
|
+
/**
|
|
15
|
+
* Create a custom updateStakePoolBalance instruction using dynamic program ID
|
|
16
|
+
*/
|
|
17
|
+
function createUpdateStakePoolBalanceInstruction({ stakePool, withdrawAuthority, validatorList, reserveStake, managerFeeAccount, poolMint, stakePoolProgramId, }) {
|
|
18
|
+
// UpdateStakePoolBalance instruction index is 7
|
|
19
|
+
const data = Buffer.alloc(1);
|
|
20
|
+
data.writeUInt8(7, 0);
|
|
21
|
+
const keys = [
|
|
22
|
+
{ pubkey: stakePool, isSigner: false, isWritable: true },
|
|
23
|
+
{ pubkey: withdrawAuthority, isSigner: false, isWritable: false },
|
|
24
|
+
{ pubkey: validatorList, isSigner: false, isWritable: true },
|
|
25
|
+
{ pubkey: reserveStake, isSigner: false, isWritable: false },
|
|
26
|
+
{ pubkey: managerFeeAccount, isSigner: false, isWritable: true },
|
|
27
|
+
{ pubkey: poolMint, isSigner: false, isWritable: true },
|
|
28
|
+
{ pubkey: spl_token_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
|
|
29
|
+
];
|
|
30
|
+
return new anchor_1.web3.TransactionInstruction({
|
|
31
|
+
programId: stakePoolProgramId,
|
|
32
|
+
keys,
|
|
33
|
+
data,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
13
36
|
async function loadAccountState(cnx, yieldBearingMint, genericStandardProgramId, interfaceType) {
|
|
14
37
|
let interfaceIndex;
|
|
15
38
|
if ("pyth" in interfaceType) {
|
|
@@ -51,6 +74,15 @@ async function loadAccountState(cnx, yieldBearingMint, genericStandardProgramId,
|
|
|
51
74
|
else if ("solstice" in interfaceType) {
|
|
52
75
|
interfaceIndex = InterfaceType.Solstice;
|
|
53
76
|
}
|
|
77
|
+
else if ("reflect" in interfaceType) {
|
|
78
|
+
interfaceIndex = InterfaceType.Reflect;
|
|
79
|
+
}
|
|
80
|
+
else if ("ore" in interfaceType) {
|
|
81
|
+
interfaceIndex = InterfaceType.Ore;
|
|
82
|
+
}
|
|
83
|
+
else if ("chainlink" in interfaceType) {
|
|
84
|
+
interfaceIndex = InterfaceType.Chainlink;
|
|
85
|
+
}
|
|
54
86
|
else {
|
|
55
87
|
throw new Error("Unsupported interface type");
|
|
56
88
|
}
|
|
@@ -77,6 +109,9 @@ var InterfaceType;
|
|
|
77
109
|
InterfaceType[InterfaceType["JupiterLend"] = 10] = "JupiterLend";
|
|
78
110
|
InterfaceType[InterfaceType["KaminoVault"] = 11] = "KaminoVault";
|
|
79
111
|
InterfaceType[InterfaceType["Solstice"] = 12] = "Solstice";
|
|
112
|
+
InterfaceType[InterfaceType["Reflect"] = 13] = "Reflect";
|
|
113
|
+
InterfaceType[InterfaceType["Ore"] = 14] = "Ore";
|
|
114
|
+
InterfaceType[InterfaceType["Chainlink"] = 15] = "Chainlink";
|
|
80
115
|
})(InterfaceType || (exports.InterfaceType = InterfaceType = {}));
|
|
81
116
|
function getInterfaceTypeObj(interfaceType) {
|
|
82
117
|
switch (interfaceType) {
|
|
@@ -113,6 +148,12 @@ function getInterfaceTypeObj(interfaceType) {
|
|
|
113
148
|
return { kaminoVault: { padding: [] } };
|
|
114
149
|
case InterfaceType.Solstice:
|
|
115
150
|
return { solstice: { padding: [] } };
|
|
151
|
+
case InterfaceType.Reflect:
|
|
152
|
+
return { reflect: { padding: [] } };
|
|
153
|
+
case InterfaceType.Ore:
|
|
154
|
+
return { ore: {} };
|
|
155
|
+
case InterfaceType.Chainlink:
|
|
156
|
+
return { chainlink: { padding: [] } };
|
|
116
157
|
default:
|
|
117
158
|
throw new Error(`Unsupported interface type: ${interfaceType}`);
|
|
118
159
|
}
|
|
@@ -153,6 +194,10 @@ function getInterfaceTypeFromString(interfaceType) {
|
|
|
153
194
|
return { kaminoVault: { padding: [] } };
|
|
154
195
|
case "solstice":
|
|
155
196
|
return { solstice: { padding: [] } };
|
|
197
|
+
case "ore":
|
|
198
|
+
return { ore: {} };
|
|
199
|
+
case "chainlink":
|
|
200
|
+
return { chainlink: { padding: [] } };
|
|
156
201
|
default:
|
|
157
202
|
throw new Error(`Unsupported interface type: ${interfaceType}`);
|
|
158
203
|
}
|
|
@@ -210,6 +255,15 @@ class GenericSySdk {
|
|
|
210
255
|
else if ("solstice" in this.state.account.interfaceType) {
|
|
211
256
|
interfaceIndex = InterfaceType.Solstice;
|
|
212
257
|
}
|
|
258
|
+
else if ("reflect" in this.state.account.interfaceType) {
|
|
259
|
+
interfaceIndex = InterfaceType.Reflect;
|
|
260
|
+
}
|
|
261
|
+
else if ("ore" in this.state.account.interfaceType) {
|
|
262
|
+
interfaceIndex = InterfaceType.Ore;
|
|
263
|
+
}
|
|
264
|
+
else if ("chainlink" in this.state.account.interfaceType) {
|
|
265
|
+
interfaceIndex = InterfaceType.Chainlink;
|
|
266
|
+
}
|
|
213
267
|
else {
|
|
214
268
|
throw new Error("Unsupported interface type");
|
|
215
269
|
}
|
|
@@ -221,8 +275,25 @@ class GenericSySdk {
|
|
|
221
275
|
return { syRate: syRate };
|
|
222
276
|
}
|
|
223
277
|
else if ("splStakePool" in interfaceType) {
|
|
224
|
-
const
|
|
225
|
-
|
|
278
|
+
const stakePoolAddress = account.interfaceAccounts[0];
|
|
279
|
+
// Fetch the stake pool account data
|
|
280
|
+
const stakePoolAccount = await (0, spl_stake_pool_1.getStakePoolAccount)(cnx, stakePoolAddress);
|
|
281
|
+
// Calculate the index manually instead of using fetchSplStakePoolIndex to avoid duplicate fetching
|
|
282
|
+
const index = Number(stakePoolAccount.account.data.totalLamports) / Number(stakePoolAccount.account.data.poolTokenSupply);
|
|
283
|
+
return {
|
|
284
|
+
syRate: index,
|
|
285
|
+
additionalData: {
|
|
286
|
+
splStakePoolData: {
|
|
287
|
+
stakePoolAccount,
|
|
288
|
+
stakePoolAddress,
|
|
289
|
+
stakePoolProgramId: stakePoolAccount.account.owner, // Use dynamic program ID from account owner
|
|
290
|
+
validatorList: stakePoolAccount.account.data.validatorList,
|
|
291
|
+
reserveStake: stakePoolAccount.account.data.reserveStake,
|
|
292
|
+
managerFeeAccount: stakePoolAccount.account.data.managerFeeAccount,
|
|
293
|
+
poolMint: stakePoolAccount.account.data.poolMint,
|
|
294
|
+
},
|
|
295
|
+
},
|
|
296
|
+
};
|
|
226
297
|
}
|
|
227
298
|
else if ("fragmetricSupportedAsset" in interfaceType) {
|
|
228
299
|
const { index, receiptTokenMint, wrappedTokenMint } = await (0, exponent_fetcher_1.fetchFragmetricSupportedTokenIndex)({
|
|
@@ -256,6 +327,7 @@ class GenericSySdk {
|
|
|
256
327
|
vaultA: account.interfaceAccounts[4],
|
|
257
328
|
vaultB: account.interfaceAccounts[5],
|
|
258
329
|
};
|
|
330
|
+
//TODO Use calculateMeteoraIndex function from @exponent-labs/exponent-fetcher utils/meteora
|
|
259
331
|
const virtualPrice = await (0, exponent_fetcher_1.fetchMeteoraIndex)({ connection: cnx, accounts, onChainTime: currentTs });
|
|
260
332
|
return { syRate: virtualPrice.virtualPrice };
|
|
261
333
|
}
|
|
@@ -351,6 +423,40 @@ class GenericSySdk {
|
|
|
351
423
|
});
|
|
352
424
|
return { syRate: redemptionRate };
|
|
353
425
|
}
|
|
426
|
+
else if ("reflect" in interfaceType) {
|
|
427
|
+
const redemptionRate = await (0, exponent_fetcher_1.fetchReflectRedemptionRate)({
|
|
428
|
+
connection: cnx,
|
|
429
|
+
oracle: account.interfaceAccounts[0],
|
|
430
|
+
});
|
|
431
|
+
return { syRate: redemptionRate };
|
|
432
|
+
}
|
|
433
|
+
else if ("ore" in interfaceType) {
|
|
434
|
+
// interfaceAccounts structure (matching Rust implementation in utils.rs):
|
|
435
|
+
// [0] = store_mint (stORE mint: sTorERYB6xAZ1SSbwpK3zoK2EEwbBrc7TZAzg1uCGiH)
|
|
436
|
+
// [1] = stake_account (stake account from ORE protocol)
|
|
437
|
+
// [2] = treasury (treasury account from ORE protocol)
|
|
438
|
+
//
|
|
439
|
+
// Note: stake_tokens is no longer needed - we use stake.balance instead
|
|
440
|
+
// to prevent exchange rate manipulation via direct token transfers.
|
|
441
|
+
const exchangeRate = await (0, exponent_fetcher_1.fetchOreExchangeRate)({
|
|
442
|
+
connection: cnx,
|
|
443
|
+
storeMint: account.interfaceAccounts[0],
|
|
444
|
+
stakeAccount: account.interfaceAccounts[1],
|
|
445
|
+
treasury: account.interfaceAccounts[2],
|
|
446
|
+
});
|
|
447
|
+
return { syRate: exchangeRate };
|
|
448
|
+
}
|
|
449
|
+
else if ("chainlink" in interfaceType) {
|
|
450
|
+
const priceFeed = account.interfaceAccounts[0];
|
|
451
|
+
if (!priceFeed) {
|
|
452
|
+
throw new Error("Missing Chainlink price feed account");
|
|
453
|
+
}
|
|
454
|
+
const syRate = await (0, exponent_fetcher_1.fetchChainlinkRate)({
|
|
455
|
+
connection: cnx,
|
|
456
|
+
priceFeed,
|
|
457
|
+
});
|
|
458
|
+
return { syRate };
|
|
459
|
+
}
|
|
354
460
|
else {
|
|
355
461
|
return { syRate: 1 };
|
|
356
462
|
}
|
|
@@ -399,6 +505,15 @@ class GenericSySdk {
|
|
|
399
505
|
else if ("solstice" in interfaceType) {
|
|
400
506
|
interfaceIndex = InterfaceType.Solstice;
|
|
401
507
|
}
|
|
508
|
+
else if ("reflect" in interfaceType) {
|
|
509
|
+
interfaceIndex = InterfaceType.Reflect;
|
|
510
|
+
}
|
|
511
|
+
else if ("ore" in interfaceType) {
|
|
512
|
+
interfaceIndex = InterfaceType.Ore;
|
|
513
|
+
}
|
|
514
|
+
else if ("chainlink" in interfaceType) {
|
|
515
|
+
interfaceIndex = InterfaceType.Chainlink;
|
|
516
|
+
}
|
|
402
517
|
else {
|
|
403
518
|
throw new Error("Unsupported interface type");
|
|
404
519
|
}
|
|
@@ -419,7 +534,7 @@ class GenericSySdk {
|
|
|
419
534
|
static async loadFromSyMeta({ cnx, syMetaAddress, genericStandardProgramId, config = {}, }) {
|
|
420
535
|
const fetcher = new exponent_fetcher_1.ExponentFetcher({ connection: cnx, genericStandardProgramId });
|
|
421
536
|
const account = await fetcher.fetchGenericSyMeta(syMetaAddress);
|
|
422
|
-
const tokenProgramBase =
|
|
537
|
+
const tokenProgramBase = (await cnx.getAccountInfo(account.yieldBearingMint))?.owner;
|
|
423
538
|
const { syRate, additionalData } = await GenericSySdk.calculateSyRate(account, account.interfaceType, cnx);
|
|
424
539
|
const state = {
|
|
425
540
|
selfAddress: syMetaAddress,
|
|
@@ -630,7 +745,7 @@ class GenericSySdk {
|
|
|
630
745
|
},
|
|
631
746
|
// claim account
|
|
632
747
|
{
|
|
633
|
-
pubkey: new anchor_1.web3.PublicKey("
|
|
748
|
+
pubkey: new anchor_1.web3.PublicKey("AfbHM89oHKXCbHKRZ2G31kgBRuADGyAso7rsyzcqdzDY"),
|
|
634
749
|
isSigner: false,
|
|
635
750
|
isWritable: true,
|
|
636
751
|
},
|
|
@@ -793,6 +908,25 @@ class GenericSySdk {
|
|
|
793
908
|
});
|
|
794
909
|
ixs.push(refreshInstruction);
|
|
795
910
|
}
|
|
911
|
+
if ("splStakePool" in this.state.account.interfaceType) {
|
|
912
|
+
const splStakePoolData = this.state.additionalData?.splStakePoolData;
|
|
913
|
+
if (!splStakePoolData) {
|
|
914
|
+
throw new Error("SPL stake pool data not loaded");
|
|
915
|
+
}
|
|
916
|
+
// Derive the withdraw authority PDA using the dynamic program ID
|
|
917
|
+
const [withdrawAuthority] = anchor_1.web3.PublicKey.findProgramAddressSync([splStakePoolData.stakePoolAddress.toBuffer(), Buffer.from("withdraw")], splStakePoolData.stakePoolProgramId);
|
|
918
|
+
// Create the updateStakePoolBalance instruction using dynamic program ID
|
|
919
|
+
const updateStakePoolBalanceIx = createUpdateStakePoolBalanceInstruction({
|
|
920
|
+
stakePool: splStakePoolData.stakePoolAddress,
|
|
921
|
+
withdrawAuthority,
|
|
922
|
+
validatorList: splStakePoolData.validatorList,
|
|
923
|
+
reserveStake: splStakePoolData.reserveStake,
|
|
924
|
+
managerFeeAccount: splStakePoolData.managerFeeAccount,
|
|
925
|
+
poolMint: splStakePoolData.poolMint,
|
|
926
|
+
stakePoolProgramId: splStakePoolData.stakePoolProgramId,
|
|
927
|
+
});
|
|
928
|
+
ixs.push(updateStakePoolBalanceIx);
|
|
929
|
+
}
|
|
796
930
|
return ixs;
|
|
797
931
|
}
|
|
798
932
|
getSyState() {
|
|
@@ -850,7 +984,7 @@ function initSy(signer, interfaceAccounts, yieldBearingMint, interfaceIndex, syT
|
|
|
850
984
|
const mintSyMetaplexMetadataPda = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("metadata"), metaplexMetadataProgram.toBuffer(), mintSy.toBuffer()], metaplexMetadataProgram)[0];
|
|
851
985
|
const tokenVrtEscrow = (0, spl_token_1.getAssociatedTokenAddressSync)(yieldBearingMint, syMetaAddress, true, yieldBearingMintTokenProgram);
|
|
852
986
|
const { minMintSize, minRedeemSize } = initConfig ? initConfig : { minMintSize: new anchor_1.BN(0), minRedeemSize: new anchor_1.BN(0) };
|
|
853
|
-
const { name: tokenName, uri: tokenUri, symbol: tokenSymbol, } = syToken ? syToken : { symbol: "
|
|
987
|
+
const { name: tokenName, uri: tokenUri, symbol: tokenSymbol, } = syToken ? syToken : { symbol: "wstORE", name: "Exponent Wrapped stORE", uri: "" };
|
|
854
988
|
const interfaceType = getInterfaceTypeObj(interfaceIndex);
|
|
855
989
|
const ix = program.methods
|
|
856
990
|
.initSy(minMintSize, minRedeemSize, tokenName, tokenSymbol, tokenUri, interfaceAccounts, interfaceType)
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exponent-labs/generic-sy-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
@@ -10,14 +10,15 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@coral-xyz/anchor": "^0.31.0",
|
|
13
|
-
"@
|
|
14
|
-
"@
|
|
15
|
-
"@exponent-labs/
|
|
16
|
-
"@exponent-labs/
|
|
17
|
-
"@exponent-labs/
|
|
18
|
-
"@exponent-labs/
|
|
19
|
-
"@
|
|
20
|
-
"@exponent-labs/
|
|
13
|
+
"@solana/spl-stake-pool": "1.1.8",
|
|
14
|
+
"@solana/spl-token": "0.4.6",
|
|
15
|
+
"@exponent-labs/exponent-admin-pda": "0.9.0",
|
|
16
|
+
"@exponent-labs/exponent-fetcher": "0.9.0",
|
|
17
|
+
"@exponent-labs/exponent-types": "0.9.0",
|
|
18
|
+
"@exponent-labs/fragmetric-pda": "0.9.0",
|
|
19
|
+
"@exponent-labs/generic-sy-idl": "0.9.0",
|
|
20
|
+
"@exponent-labs/generic-sy-pda": "0.9.0",
|
|
21
|
+
"@exponent-labs/precise-number": "0.9.0"
|
|
21
22
|
},
|
|
22
23
|
"devDependencies": {
|
|
23
24
|
"typescript": "5.4.5"
|
package/src/index.ts
CHANGED
|
@@ -1,39 +1,66 @@
|
|
|
1
|
-
import { AnchorProvider, BN, Program, web3 } from "@coral-xyz/anchor"
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from "@
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
import { AnchorProvider, BN, Program, web3 } from "@coral-xyz/anchor";
|
|
2
|
+
import { getStakePoolAccount } from "@solana/spl-stake-pool";
|
|
3
|
+
import { ASSOCIATED_TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID, TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync } from "@solana/spl-token";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
import { EXPONENT_ADMIN_PROGRAM_ID, ExponentAdminPda } from "@exponent-labs/exponent-admin-pda";
|
|
8
|
+
import { ExponentFetcher, fetchAdrenaIndex, fetchChainlinkRate, fetchFragmetricIndex, fetchFragmetricSupportedTokenIndex, fetchJupiterLendIndex, fetchJupiterPerpsIndex, fetchKaminoVaultIndex, fetchMeteoraIndex, fetchOreExchangeRate, fetchReflectRedemptionRate, fetchSanctumIndex, fetchSolsticeRedemptionRate } from "@exponent-labs/exponent-fetcher";
|
|
9
|
+
import { AdditionalDataGeneric, GenericSyMetaAccount, GenericSyState, Hook, InterfaceTypeGeneric } from "@exponent-labs/exponent-types";
|
|
10
|
+
import { FRAGMETRIC_PROGRAM_ID, FragmetricPda } from "@exponent-labs/fragmetric-pda";
|
|
11
|
+
import { PROGRAM_ID as GENERIC_STANDARD_PROGRAM_ID, GenericStandard, IDL } from "@exponent-labs/generic-sy-idl";
|
|
12
|
+
import { GenericSyPda } from "@exponent-labs/generic-sy-pda";
|
|
13
|
+
import { PreciseNumber } from "@exponent-labs/precise-number";
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
import { SyInitializeConfig, SyTokenMetadata } from "./types";
|
|
18
|
+
import { MyWallet } from "./utils";
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Create a custom updateStakePoolBalance instruction using dynamic program ID
|
|
26
|
+
*/
|
|
27
|
+
function createUpdateStakePoolBalanceInstruction({
|
|
28
|
+
stakePool,
|
|
29
|
+
withdrawAuthority,
|
|
30
|
+
validatorList,
|
|
31
|
+
reserveStake,
|
|
32
|
+
managerFeeAccount,
|
|
33
|
+
poolMint,
|
|
34
|
+
stakePoolProgramId,
|
|
35
|
+
}: {
|
|
36
|
+
stakePool: web3.PublicKey
|
|
37
|
+
withdrawAuthority: web3.PublicKey
|
|
38
|
+
validatorList: web3.PublicKey
|
|
39
|
+
reserveStake: web3.PublicKey
|
|
40
|
+
managerFeeAccount: web3.PublicKey
|
|
41
|
+
poolMint: web3.PublicKey
|
|
42
|
+
stakePoolProgramId: web3.PublicKey
|
|
43
|
+
}): web3.TransactionInstruction {
|
|
44
|
+
// UpdateStakePoolBalance instruction index is 7
|
|
45
|
+
const data = Buffer.alloc(1)
|
|
46
|
+
data.writeUInt8(7, 0)
|
|
47
|
+
|
|
48
|
+
const keys = [
|
|
49
|
+
{ pubkey: stakePool, isSigner: false, isWritable: true },
|
|
50
|
+
{ pubkey: withdrawAuthority, isSigner: false, isWritable: false },
|
|
51
|
+
{ pubkey: validatorList, isSigner: false, isWritable: true },
|
|
52
|
+
{ pubkey: reserveStake, isSigner: false, isWritable: false },
|
|
53
|
+
{ pubkey: managerFeeAccount, isSigner: false, isWritable: true },
|
|
54
|
+
{ pubkey: poolMint, isSigner: false, isWritable: true },
|
|
55
|
+
{ pubkey: TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
|
|
56
|
+
]
|
|
57
|
+
|
|
58
|
+
return new web3.TransactionInstruction({
|
|
59
|
+
programId: stakePoolProgramId,
|
|
60
|
+
keys,
|
|
61
|
+
data,
|
|
62
|
+
})
|
|
63
|
+
}
|
|
37
64
|
|
|
38
65
|
async function loadAccountState(
|
|
39
66
|
cnx: web3.Connection,
|
|
@@ -68,6 +95,12 @@ async function loadAccountState(
|
|
|
68
95
|
interfaceIndex = InterfaceType.KaminoVault
|
|
69
96
|
} else if ("solstice" in interfaceType) {
|
|
70
97
|
interfaceIndex = InterfaceType.Solstice
|
|
98
|
+
} else if ("reflect" in interfaceType) {
|
|
99
|
+
interfaceIndex = InterfaceType.Reflect
|
|
100
|
+
} else if ("ore" in interfaceType) {
|
|
101
|
+
interfaceIndex = InterfaceType.Ore
|
|
102
|
+
} else if ("chainlink" in interfaceType) {
|
|
103
|
+
interfaceIndex = InterfaceType.Chainlink
|
|
71
104
|
} else {
|
|
72
105
|
throw new Error("Unsupported interface type")
|
|
73
106
|
}
|
|
@@ -94,6 +127,9 @@ export enum InterfaceType {
|
|
|
94
127
|
JupiterLend = 10,
|
|
95
128
|
KaminoVault = 11,
|
|
96
129
|
Solstice = 12,
|
|
130
|
+
Reflect = 13,
|
|
131
|
+
Ore = 14,
|
|
132
|
+
Chainlink = 15,
|
|
97
133
|
}
|
|
98
134
|
|
|
99
135
|
export function getInterfaceTypeObj(interfaceType: number): InterfaceTypeGeneric {
|
|
@@ -131,6 +167,12 @@ export function getInterfaceTypeObj(interfaceType: number): InterfaceTypeGeneric
|
|
|
131
167
|
return { kaminoVault: { padding: [] } }
|
|
132
168
|
case InterfaceType.Solstice:
|
|
133
169
|
return { solstice: { padding: [] } }
|
|
170
|
+
case InterfaceType.Reflect:
|
|
171
|
+
return { reflect: { padding: [] } }
|
|
172
|
+
case InterfaceType.Ore:
|
|
173
|
+
return { ore: {} }
|
|
174
|
+
case InterfaceType.Chainlink:
|
|
175
|
+
return { chainlink: { padding: [] } }
|
|
134
176
|
default:
|
|
135
177
|
throw new Error(`Unsupported interface type: ${interfaceType}`)
|
|
136
178
|
}
|
|
@@ -171,6 +213,10 @@ export function getInterfaceTypeFromString(interfaceType: string): InterfaceType
|
|
|
171
213
|
return { kaminoVault: { padding: [] } }
|
|
172
214
|
case "solstice":
|
|
173
215
|
return { solstice: { padding: [] } }
|
|
216
|
+
case "ore":
|
|
217
|
+
return { ore: {} }
|
|
218
|
+
case "chainlink":
|
|
219
|
+
return { chainlink: { padding: [] } }
|
|
174
220
|
default:
|
|
175
221
|
throw new Error(`Unsupported interface type: ${interfaceType}`)
|
|
176
222
|
}
|
|
@@ -227,6 +273,12 @@ export class GenericSySdk {
|
|
|
227
273
|
interfaceIndex = InterfaceType.KaminoVault
|
|
228
274
|
} else if ("solstice" in this.state.account.interfaceType) {
|
|
229
275
|
interfaceIndex = InterfaceType.Solstice
|
|
276
|
+
} else if ("reflect" in this.state.account.interfaceType) {
|
|
277
|
+
interfaceIndex = InterfaceType.Reflect
|
|
278
|
+
} else if ("ore" in this.state.account.interfaceType) {
|
|
279
|
+
interfaceIndex = InterfaceType.Ore
|
|
280
|
+
} else if ("chainlink" in this.state.account.interfaceType) {
|
|
281
|
+
interfaceIndex = InterfaceType.Chainlink
|
|
230
282
|
} else {
|
|
231
283
|
throw new Error("Unsupported interface type")
|
|
232
284
|
}
|
|
@@ -246,8 +298,29 @@ export class GenericSySdk {
|
|
|
246
298
|
const syRate = Number(PreciseNumber.fromRaw(account.index[0]).valueString)
|
|
247
299
|
return { syRate: syRate }
|
|
248
300
|
} else if ("splStakePool" in interfaceType) {
|
|
249
|
-
const
|
|
250
|
-
|
|
301
|
+
const stakePoolAddress = account.interfaceAccounts[0]
|
|
302
|
+
|
|
303
|
+
// Fetch the stake pool account data
|
|
304
|
+
const stakePoolAccount = await getStakePoolAccount(cnx, stakePoolAddress)
|
|
305
|
+
|
|
306
|
+
// Calculate the index manually instead of using fetchSplStakePoolIndex to avoid duplicate fetching
|
|
307
|
+
const index =
|
|
308
|
+
Number(stakePoolAccount.account.data.totalLamports) / Number(stakePoolAccount.account.data.poolTokenSupply)
|
|
309
|
+
|
|
310
|
+
return {
|
|
311
|
+
syRate: index,
|
|
312
|
+
additionalData: {
|
|
313
|
+
splStakePoolData: {
|
|
314
|
+
stakePoolAccount,
|
|
315
|
+
stakePoolAddress,
|
|
316
|
+
stakePoolProgramId: stakePoolAccount.account.owner, // Use dynamic program ID from account owner
|
|
317
|
+
validatorList: stakePoolAccount.account.data.validatorList,
|
|
318
|
+
reserveStake: stakePoolAccount.account.data.reserveStake,
|
|
319
|
+
managerFeeAccount: stakePoolAccount.account.data.managerFeeAccount,
|
|
320
|
+
poolMint: stakePoolAccount.account.data.poolMint,
|
|
321
|
+
},
|
|
322
|
+
},
|
|
323
|
+
}
|
|
251
324
|
} else if ("fragmetricSupportedAsset" in interfaceType) {
|
|
252
325
|
const { index, receiptTokenMint, wrappedTokenMint } = await fetchFragmetricSupportedTokenIndex({
|
|
253
326
|
connection: cnx,
|
|
@@ -280,6 +353,7 @@ export class GenericSySdk {
|
|
|
280
353
|
vaultB: account.interfaceAccounts[5],
|
|
281
354
|
}
|
|
282
355
|
|
|
356
|
+
//TODO Use calculateMeteoraIndex function from @exponent-labs/exponent-fetcher utils/meteora
|
|
283
357
|
const virtualPrice = await fetchMeteoraIndex({ connection: cnx, accounts, onChainTime: currentTs })
|
|
284
358
|
|
|
285
359
|
return { syRate: virtualPrice.virtualPrice }
|
|
@@ -375,6 +449,41 @@ export class GenericSySdk {
|
|
|
375
449
|
vestingSchedule: account.interfaceAccounts[1],
|
|
376
450
|
})
|
|
377
451
|
return { syRate: redemptionRate }
|
|
452
|
+
} else if ("reflect" in interfaceType) {
|
|
453
|
+
const redemptionRate = await fetchReflectRedemptionRate({
|
|
454
|
+
connection: cnx,
|
|
455
|
+
oracle: account.interfaceAccounts[0],
|
|
456
|
+
})
|
|
457
|
+
return { syRate: redemptionRate }
|
|
458
|
+
} else if ("ore" in interfaceType) {
|
|
459
|
+
// interfaceAccounts structure (matching Rust implementation in utils.rs):
|
|
460
|
+
// [0] = store_mint (stORE mint: sTorERYB6xAZ1SSbwpK3zoK2EEwbBrc7TZAzg1uCGiH)
|
|
461
|
+
// [1] = stake_account (stake account from ORE protocol)
|
|
462
|
+
// [2] = treasury (treasury account from ORE protocol)
|
|
463
|
+
//
|
|
464
|
+
// Note: stake_tokens is no longer needed - we use stake.balance instead
|
|
465
|
+
// to prevent exchange rate manipulation via direct token transfers.
|
|
466
|
+
|
|
467
|
+
const exchangeRate = await fetchOreExchangeRate({
|
|
468
|
+
connection: cnx,
|
|
469
|
+
storeMint: account.interfaceAccounts[0],
|
|
470
|
+
stakeAccount: account.interfaceAccounts[1],
|
|
471
|
+
treasury: account.interfaceAccounts[2],
|
|
472
|
+
})
|
|
473
|
+
|
|
474
|
+
return { syRate: exchangeRate }
|
|
475
|
+
} else if ("chainlink" in interfaceType) {
|
|
476
|
+
const priceFeed = account.interfaceAccounts[0]
|
|
477
|
+
if (!priceFeed) {
|
|
478
|
+
throw new Error("Missing Chainlink price feed account")
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
const syRate = await fetchChainlinkRate({
|
|
482
|
+
connection: cnx,
|
|
483
|
+
priceFeed,
|
|
484
|
+
})
|
|
485
|
+
|
|
486
|
+
return { syRate }
|
|
378
487
|
} else {
|
|
379
488
|
return { syRate: 1 }
|
|
380
489
|
}
|
|
@@ -424,6 +533,12 @@ export class GenericSySdk {
|
|
|
424
533
|
interfaceIndex = InterfaceType.KaminoVault
|
|
425
534
|
} else if ("solstice" in interfaceType) {
|
|
426
535
|
interfaceIndex = InterfaceType.Solstice
|
|
536
|
+
} else if ("reflect" in interfaceType) {
|
|
537
|
+
interfaceIndex = InterfaceType.Reflect
|
|
538
|
+
} else if ("ore" in interfaceType) {
|
|
539
|
+
interfaceIndex = InterfaceType.Ore
|
|
540
|
+
} else if ("chainlink" in interfaceType) {
|
|
541
|
+
interfaceIndex = InterfaceType.Chainlink
|
|
427
542
|
} else {
|
|
428
543
|
throw new Error("Unsupported interface type")
|
|
429
544
|
}
|
|
@@ -458,7 +573,7 @@ export class GenericSySdk {
|
|
|
458
573
|
}) {
|
|
459
574
|
const fetcher = new ExponentFetcher({ connection: cnx, genericStandardProgramId })
|
|
460
575
|
const account = await fetcher.fetchGenericSyMeta(syMetaAddress)
|
|
461
|
-
const tokenProgramBase =
|
|
576
|
+
const tokenProgramBase = (await cnx.getAccountInfo(account.yieldBearingMint))?.owner
|
|
462
577
|
|
|
463
578
|
const { syRate, additionalData } = await GenericSySdk.calculateSyRate(account, account.interfaceType, cnx)
|
|
464
579
|
|
|
@@ -782,7 +897,7 @@ export class GenericSySdk {
|
|
|
782
897
|
},
|
|
783
898
|
// claim account
|
|
784
899
|
{
|
|
785
|
-
pubkey: new web3.PublicKey("
|
|
900
|
+
pubkey: new web3.PublicKey("AfbHM89oHKXCbHKRZ2G31kgBRuADGyAso7rsyzcqdzDY"),
|
|
786
901
|
isSigner: false,
|
|
787
902
|
isWritable: true,
|
|
788
903
|
},
|
|
@@ -984,6 +1099,32 @@ export class GenericSySdk {
|
|
|
984
1099
|
ixs.push(refreshInstruction)
|
|
985
1100
|
}
|
|
986
1101
|
|
|
1102
|
+
if ("splStakePool" in this.state.account.interfaceType) {
|
|
1103
|
+
const splStakePoolData = this.state.additionalData?.splStakePoolData
|
|
1104
|
+
if (!splStakePoolData) {
|
|
1105
|
+
throw new Error("SPL stake pool data not loaded")
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
// Derive the withdraw authority PDA using the dynamic program ID
|
|
1109
|
+
const [withdrawAuthority] = web3.PublicKey.findProgramAddressSync(
|
|
1110
|
+
[splStakePoolData.stakePoolAddress.toBuffer(), Buffer.from("withdraw")],
|
|
1111
|
+
splStakePoolData.stakePoolProgramId,
|
|
1112
|
+
)
|
|
1113
|
+
|
|
1114
|
+
// Create the updateStakePoolBalance instruction using dynamic program ID
|
|
1115
|
+
const updateStakePoolBalanceIx = createUpdateStakePoolBalanceInstruction({
|
|
1116
|
+
stakePool: splStakePoolData.stakePoolAddress,
|
|
1117
|
+
withdrawAuthority,
|
|
1118
|
+
validatorList: splStakePoolData.validatorList,
|
|
1119
|
+
reserveStake: splStakePoolData.reserveStake,
|
|
1120
|
+
managerFeeAccount: splStakePoolData.managerFeeAccount,
|
|
1121
|
+
poolMint: splStakePoolData.poolMint,
|
|
1122
|
+
stakePoolProgramId: splStakePoolData.stakePoolProgramId,
|
|
1123
|
+
})
|
|
1124
|
+
|
|
1125
|
+
ixs.push(updateStakePoolBalanceIx)
|
|
1126
|
+
}
|
|
1127
|
+
|
|
987
1128
|
return ixs
|
|
988
1129
|
}
|
|
989
1130
|
|
|
@@ -1082,7 +1223,7 @@ export function initSy(
|
|
|
1082
1223
|
name: tokenName,
|
|
1083
1224
|
uri: tokenUri,
|
|
1084
1225
|
symbol: tokenSymbol,
|
|
1085
|
-
} = syToken ? syToken : { symbol: "
|
|
1226
|
+
} = syToken ? syToken : { symbol: "wstORE", name: "Exponent Wrapped stORE", uri: "" }
|
|
1086
1227
|
|
|
1087
1228
|
const interfaceType = getInterfaceTypeObj(interfaceIndex)
|
|
1088
1229
|
const ix = program.methods
|
|
@@ -1104,4 +1245,4 @@ export function initSy(
|
|
|
1104
1245
|
.instruction()
|
|
1105
1246
|
|
|
1106
1247
|
return ix
|
|
1107
|
-
}
|
|
1248
|
+
}
|
package/src/utils.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { web3 } from "@coral-xyz/anchor"
|
|
2
2
|
import type { Wallet } from "@coral-xyz/anchor"
|
|
3
|
-
import { AnchorizedPNum } from "@exponent-labs/exponent-types
|
|
3
|
+
import { AnchorizedPNum } from "@exponent-labs/exponent-types"
|
|
4
4
|
|
|
5
5
|
export class MyWallet implements Wallet {
|
|
6
6
|
constructor(readonly payer: web3.Keypair) {
|