@exponent-labs/generic-sy-sdk 0.9.21 → 0.9.23
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 +2 -1
- package/build/index.js +91 -5
- package/build/index.js.map +1 -1
- package/package.json +9 -9
- package/src/index.ts +117 -15
package/build/index.d.ts
CHANGED
|
@@ -23,7 +23,8 @@ export declare enum InterfaceType {
|
|
|
23
23
|
Scope = 17,
|
|
24
24
|
SolsticeGlamVault = 18,
|
|
25
25
|
ExponentTranching = 19,
|
|
26
|
-
GlowVault = 20
|
|
26
|
+
GlowVault = 20,
|
|
27
|
+
LoopscaleVaultLp = 21
|
|
27
28
|
}
|
|
28
29
|
export declare function getInterfaceTypeIndex(interfaceType: InterfaceTypeGeneric): InterfaceType;
|
|
29
30
|
export declare function getInterfaceTypeObj(interfaceType: number, scopePriceChain?: number[], scopeMaximumAgeSeconds?: number): InterfaceTypeGeneric;
|
package/build/index.js
CHANGED
|
@@ -18,6 +18,47 @@ const precise_number_1 = require("@exponent-labs/precise-number");
|
|
|
18
18
|
const exponentTranching_1 = require("./interfaces/exponentTranching");
|
|
19
19
|
const glowVault_1 = require("./interfaces/glowVault");
|
|
20
20
|
const utils_1 = require("./utils");
|
|
21
|
+
const GET_STATE_DISCRIMINATOR = Buffer.from([7]);
|
|
22
|
+
async function fetchOnChainSyRate({ connection, programId, meta, mintSy, tokenSyEscrow, remainingAccounts, }) {
|
|
23
|
+
const instruction = new anchor_1.web3.TransactionInstruction({
|
|
24
|
+
programId,
|
|
25
|
+
keys: [
|
|
26
|
+
{ pubkey: meta, isSigner: false, isWritable: true },
|
|
27
|
+
{ pubkey: mintSy, isSigner: false, isWritable: false },
|
|
28
|
+
{ pubkey: tokenSyEscrow, isSigner: false, isWritable: false },
|
|
29
|
+
...remainingAccounts,
|
|
30
|
+
],
|
|
31
|
+
data: GET_STATE_DISCRIMINATOR,
|
|
32
|
+
});
|
|
33
|
+
const [feePayer, { blockhash }] = await Promise.all([
|
|
34
|
+
connection.getSlotLeader("confirmed"),
|
|
35
|
+
connection.getLatestBlockhash("confirmed"),
|
|
36
|
+
]);
|
|
37
|
+
const message = new anchor_1.web3.TransactionMessage({
|
|
38
|
+
payerKey: new anchor_1.web3.PublicKey(feePayer),
|
|
39
|
+
recentBlockhash: blockhash,
|
|
40
|
+
instructions: [instruction],
|
|
41
|
+
}).compileToV0Message();
|
|
42
|
+
const simulation = await connection.simulateTransaction(new anchor_1.web3.VersionedTransaction(message), {
|
|
43
|
+
commitment: "confirmed",
|
|
44
|
+
replaceRecentBlockhash: true,
|
|
45
|
+
sigVerify: false,
|
|
46
|
+
});
|
|
47
|
+
if (simulation.value.err) {
|
|
48
|
+
const logs = simulation.value.logs?.join("\n") ?? "No simulation logs";
|
|
49
|
+
throw new Error(`Generic Standard get_state simulation failed: ${JSON.stringify(simulation.value.err)}\n${logs}`);
|
|
50
|
+
}
|
|
51
|
+
const returnData = simulation.value.returnData;
|
|
52
|
+
if (!returnData || returnData.programId !== programId.toBase58()) {
|
|
53
|
+
throw new Error("Generic Standard get_state returned invalid program data");
|
|
54
|
+
}
|
|
55
|
+
const data = Buffer.from(returnData.data[0], "base64");
|
|
56
|
+
if (data.length < 32) {
|
|
57
|
+
throw new Error("Generic Standard get_state return data is too short");
|
|
58
|
+
}
|
|
59
|
+
const exchangeRate = Array.from({ length: 4 }, (_, index) => new anchor_1.BN(data.subarray(index * 8, (index + 1) * 8), "le"));
|
|
60
|
+
return Number(precise_number_1.PreciseNumber.fromRaw(exchangeRate).valueString);
|
|
61
|
+
}
|
|
21
62
|
/**
|
|
22
63
|
* Create a custom updateStakePoolBalance instruction using dynamic program ID
|
|
23
64
|
*/
|
|
@@ -73,6 +114,7 @@ var InterfaceType;
|
|
|
73
114
|
InterfaceType[InterfaceType["SolsticeGlamVault"] = 18] = "SolsticeGlamVault";
|
|
74
115
|
InterfaceType[InterfaceType["ExponentTranching"] = 19] = "ExponentTranching";
|
|
75
116
|
InterfaceType[InterfaceType["GlowVault"] = 20] = "GlowVault";
|
|
117
|
+
InterfaceType[InterfaceType["LoopscaleVaultLp"] = 21] = "LoopscaleVaultLp";
|
|
76
118
|
})(InterfaceType || (exports.InterfaceType = InterfaceType = {}));
|
|
77
119
|
function getInterfaceTypeIndex(interfaceType) {
|
|
78
120
|
if ("pyth" in interfaceType)
|
|
@@ -117,6 +159,8 @@ function getInterfaceTypeIndex(interfaceType) {
|
|
|
117
159
|
return InterfaceType.ExponentTranching;
|
|
118
160
|
if ("glowVault" in interfaceType)
|
|
119
161
|
return InterfaceType.GlowVault;
|
|
162
|
+
if ("loopscaleVaultLp" in interfaceType)
|
|
163
|
+
return InterfaceType.LoopscaleVaultLp;
|
|
120
164
|
throw new Error("Unsupported interface type");
|
|
121
165
|
}
|
|
122
166
|
function getInterfaceTypeObj(interfaceType, scopePriceChain = [0, 512, 512, 512], scopeMaximumAgeSeconds = 3600) {
|
|
@@ -179,6 +223,8 @@ function getInterfaceTypeObj(interfaceType, scopePriceChain = [0, 512, 512, 512]
|
|
|
179
223
|
return { exponentTranching: {} };
|
|
180
224
|
case InterfaceType.GlowVault:
|
|
181
225
|
return { glowVault: { padding: [] } };
|
|
226
|
+
case InterfaceType.LoopscaleVaultLp:
|
|
227
|
+
return { loopscaleVaultLp: { padding: [] } };
|
|
182
228
|
default:
|
|
183
229
|
throw new Error(`Unsupported interface type: ${interfaceType}`);
|
|
184
230
|
}
|
|
@@ -241,6 +287,9 @@ function getInterfaceTypeFromString(interfaceType) {
|
|
|
241
287
|
return { exponentTranching: {} };
|
|
242
288
|
case "glow-vault":
|
|
243
289
|
return { glowVault: { padding: [] } };
|
|
290
|
+
case "loopscale-vault":
|
|
291
|
+
case "loopscale-vault-lp":
|
|
292
|
+
return { loopscaleVaultLp: { padding: [] } };
|
|
244
293
|
default:
|
|
245
294
|
throw new Error(`Unsupported interface type: ${interfaceType}`);
|
|
246
295
|
}
|
|
@@ -259,7 +308,8 @@ class GenericSySdk {
|
|
|
259
308
|
const interfaceIndex = getInterfaceTypeIndex((0, exponent_types_1.getGenericSyMetaInitInterfaceType)(this.state.account));
|
|
260
309
|
this.syPda = new generic_sy_pda_1.GenericSyPda(programId, interfaceIndex);
|
|
261
310
|
}
|
|
262
|
-
static async calculateSyRate(account,
|
|
311
|
+
static async calculateSyRate({ account, cnx, syMetaAddress, genericStandardProgramId, }) {
|
|
312
|
+
const interfaceType = (0, exponent_types_1.getGenericSyMetaInterfaceType)(account);
|
|
263
313
|
if ("pyth" in interfaceType) {
|
|
264
314
|
const syRate = Number(precise_number_1.PreciseNumber.fromRaw(account.index[0]).valueString);
|
|
265
315
|
return { syRate: syRate };
|
|
@@ -492,6 +542,26 @@ class GenericSySdk {
|
|
|
492
542
|
});
|
|
493
543
|
return { syRate };
|
|
494
544
|
}
|
|
545
|
+
else if ("loopscaleVaultLp" in interfaceType) {
|
|
546
|
+
if (account.interfaceAccounts.length !== 3) {
|
|
547
|
+
throw new Error("Loopscale Vault LP interface requires exactly three accounts");
|
|
548
|
+
}
|
|
549
|
+
const syRate = await fetchOnChainSyRate({
|
|
550
|
+
connection: cnx,
|
|
551
|
+
programId: genericStandardProgramId,
|
|
552
|
+
meta: syMetaAddress,
|
|
553
|
+
mintSy: account.mintSy,
|
|
554
|
+
tokenSyEscrow: account.tokenSyEscrow,
|
|
555
|
+
remainingAccounts: account.interfaceAccounts
|
|
556
|
+
.map((pubkey) => ({ pubkey, isSigner: false, isWritable: false }))
|
|
557
|
+
.concat(account.emissions.map((emission) => ({
|
|
558
|
+
pubkey: emission.escrowAccount,
|
|
559
|
+
isSigner: false,
|
|
560
|
+
isWritable: false,
|
|
561
|
+
}))),
|
|
562
|
+
});
|
|
563
|
+
return { syRate };
|
|
564
|
+
}
|
|
495
565
|
else {
|
|
496
566
|
return { syRate: 1 };
|
|
497
567
|
}
|
|
@@ -504,7 +574,12 @@ class GenericSySdk {
|
|
|
504
574
|
const selfAddress = new generic_sy_pda_1.GenericSyPda(genericStandardProgramId, interfaceIndex).syMeta({
|
|
505
575
|
yieldBearingMint,
|
|
506
576
|
});
|
|
507
|
-
const { syRate, additionalData } = await GenericSySdk.calculateSyRate(
|
|
577
|
+
const { syRate, additionalData } = await GenericSySdk.calculateSyRate({
|
|
578
|
+
account,
|
|
579
|
+
cnx,
|
|
580
|
+
syMetaAddress: selfAddress,
|
|
581
|
+
genericStandardProgramId,
|
|
582
|
+
});
|
|
508
583
|
const state = {
|
|
509
584
|
selfAddress,
|
|
510
585
|
account,
|
|
@@ -519,7 +594,12 @@ class GenericSySdk {
|
|
|
519
594
|
const fetcher = new exponent_fetcher_1.ExponentFetcher({ connection: cnx, genericStandardProgramId });
|
|
520
595
|
const account = await fetcher.fetchGenericSyMeta(syMetaAddress);
|
|
521
596
|
const tokenProgramBase = (await cnx.getAccountInfo(account.yieldBearingMint))?.owner;
|
|
522
|
-
const { syRate, additionalData } = await GenericSySdk.calculateSyRate(
|
|
597
|
+
const { syRate, additionalData } = await GenericSySdk.calculateSyRate({
|
|
598
|
+
account,
|
|
599
|
+
cnx,
|
|
600
|
+
syMetaAddress,
|
|
601
|
+
genericStandardProgramId,
|
|
602
|
+
});
|
|
523
603
|
const state = {
|
|
524
604
|
selfAddress: syMetaAddress,
|
|
525
605
|
account,
|
|
@@ -531,10 +611,16 @@ class GenericSySdk {
|
|
|
531
611
|
}
|
|
532
612
|
/** Reload the state of the account */
|
|
533
613
|
async reload(cnx) {
|
|
534
|
-
const
|
|
614
|
+
const genericStandardProgramId = this.syPda.programId;
|
|
615
|
+
const fetcher = new exponent_fetcher_1.ExponentFetcher({ connection: cnx, genericStandardProgramId });
|
|
535
616
|
const account = await fetcher.fetchGenericSyMeta(this.state.selfAddress);
|
|
536
617
|
this.state.account = account;
|
|
537
|
-
const { syRate, additionalData } = await GenericSySdk.calculateSyRate(
|
|
618
|
+
const { syRate, additionalData } = await GenericSySdk.calculateSyRate({
|
|
619
|
+
account,
|
|
620
|
+
cnx,
|
|
621
|
+
syMetaAddress: this.state.selfAddress,
|
|
622
|
+
genericStandardProgramId,
|
|
623
|
+
});
|
|
538
624
|
this.state.syRate = syRate;
|
|
539
625
|
this.state.additionalData = additionalData;
|
|
540
626
|
}
|
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.9.
|
|
3
|
+
"version": "0.9.23",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
"@coral-xyz/anchor": "^0.31.0",
|
|
13
13
|
"@solana/spl-stake-pool": "1.1.8",
|
|
14
14
|
"@solana/spl-token": "0.4.6",
|
|
15
|
-
"@exponent-labs/exponent-admin-pda": "0.9.
|
|
16
|
-
"@exponent-labs/exponent-fetcher": "0.9.
|
|
17
|
-
"@exponent-labs/exponent-tranching-idl": "0.9.
|
|
18
|
-
"@exponent-labs/exponent-types": "0.9.
|
|
19
|
-
"@exponent-labs/fragmetric-pda": "0.9.
|
|
20
|
-
"@exponent-labs/generic-sy-idl": "0.9.
|
|
21
|
-
"@exponent-labs/generic-sy-pda": "0.9.
|
|
22
|
-
"@exponent-labs/precise-number": "0.9.
|
|
15
|
+
"@exponent-labs/exponent-admin-pda": "0.9.23",
|
|
16
|
+
"@exponent-labs/exponent-fetcher": "0.9.23",
|
|
17
|
+
"@exponent-labs/exponent-tranching-idl": "0.9.23",
|
|
18
|
+
"@exponent-labs/exponent-types": "0.9.23",
|
|
19
|
+
"@exponent-labs/fragmetric-pda": "0.9.23",
|
|
20
|
+
"@exponent-labs/generic-sy-idl": "0.9.23",
|
|
21
|
+
"@exponent-labs/generic-sy-pda": "0.9.23",
|
|
22
|
+
"@exponent-labs/precise-number": "0.9.23"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "5.4.5"
|
package/src/index.ts
CHANGED
|
@@ -47,6 +47,67 @@ import { fetchGlowVaultRate } from "./interfaces/glowVault"
|
|
|
47
47
|
import { SyInitializeConfig, SyTokenMetadata } from "./types"
|
|
48
48
|
import { MyWallet } from "./utils"
|
|
49
49
|
|
|
50
|
+
const GET_STATE_DISCRIMINATOR = Buffer.from([7])
|
|
51
|
+
|
|
52
|
+
async function fetchOnChainSyRate({
|
|
53
|
+
connection,
|
|
54
|
+
programId,
|
|
55
|
+
meta,
|
|
56
|
+
mintSy,
|
|
57
|
+
tokenSyEscrow,
|
|
58
|
+
remainingAccounts,
|
|
59
|
+
}: {
|
|
60
|
+
connection: web3.Connection
|
|
61
|
+
programId: web3.PublicKey
|
|
62
|
+
meta: web3.PublicKey
|
|
63
|
+
mintSy: web3.PublicKey
|
|
64
|
+
tokenSyEscrow: web3.PublicKey
|
|
65
|
+
remainingAccounts: web3.AccountMeta[]
|
|
66
|
+
}): Promise<number> {
|
|
67
|
+
const instruction = new web3.TransactionInstruction({
|
|
68
|
+
programId,
|
|
69
|
+
keys: [
|
|
70
|
+
{ pubkey: meta, isSigner: false, isWritable: true },
|
|
71
|
+
{ pubkey: mintSy, isSigner: false, isWritable: false },
|
|
72
|
+
{ pubkey: tokenSyEscrow, isSigner: false, isWritable: false },
|
|
73
|
+
...remainingAccounts,
|
|
74
|
+
],
|
|
75
|
+
data: GET_STATE_DISCRIMINATOR,
|
|
76
|
+
})
|
|
77
|
+
const [feePayer, { blockhash }] = await Promise.all([
|
|
78
|
+
connection.getSlotLeader("confirmed"),
|
|
79
|
+
connection.getLatestBlockhash("confirmed"),
|
|
80
|
+
])
|
|
81
|
+
const message = new web3.TransactionMessage({
|
|
82
|
+
payerKey: new web3.PublicKey(feePayer),
|
|
83
|
+
recentBlockhash: blockhash,
|
|
84
|
+
instructions: [instruction],
|
|
85
|
+
}).compileToV0Message()
|
|
86
|
+
const simulation = await connection.simulateTransaction(new web3.VersionedTransaction(message), {
|
|
87
|
+
commitment: "confirmed",
|
|
88
|
+
replaceRecentBlockhash: true,
|
|
89
|
+
sigVerify: false,
|
|
90
|
+
})
|
|
91
|
+
|
|
92
|
+
if (simulation.value.err) {
|
|
93
|
+
const logs = simulation.value.logs?.join("\n") ?? "No simulation logs"
|
|
94
|
+
throw new Error(`Generic Standard get_state simulation failed: ${JSON.stringify(simulation.value.err)}\n${logs}`)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const returnData = simulation.value.returnData
|
|
98
|
+
if (!returnData || returnData.programId !== programId.toBase58()) {
|
|
99
|
+
throw new Error("Generic Standard get_state returned invalid program data")
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const data = Buffer.from(returnData.data[0], "base64")
|
|
103
|
+
if (data.length < 32) {
|
|
104
|
+
throw new Error("Generic Standard get_state return data is too short")
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const exchangeRate = Array.from({ length: 4 }, (_, index) => new BN(data.subarray(index * 8, (index + 1) * 8), "le"))
|
|
108
|
+
return Number(PreciseNumber.fromRaw(exchangeRate).valueString)
|
|
109
|
+
}
|
|
110
|
+
|
|
50
111
|
/**
|
|
51
112
|
* Create a custom updateStakePoolBalance instruction using dynamic program ID
|
|
52
113
|
*/
|
|
@@ -126,6 +187,7 @@ export enum InterfaceType {
|
|
|
126
187
|
SolsticeGlamVault = 18,
|
|
127
188
|
ExponentTranching = 19,
|
|
128
189
|
GlowVault = 20,
|
|
190
|
+
LoopscaleVaultLp = 21,
|
|
129
191
|
}
|
|
130
192
|
|
|
131
193
|
export function getInterfaceTypeIndex(interfaceType: InterfaceTypeGeneric): InterfaceType {
|
|
@@ -150,6 +212,7 @@ export function getInterfaceTypeIndex(interfaceType: InterfaceTypeGeneric): Inte
|
|
|
150
212
|
if ("solsticeGlamVault" in interfaceType) return InterfaceType.SolsticeGlamVault
|
|
151
213
|
if ("exponentTranching" in interfaceType) return InterfaceType.ExponentTranching
|
|
152
214
|
if ("glowVault" in interfaceType) return InterfaceType.GlowVault
|
|
215
|
+
if ("loopscaleVaultLp" in interfaceType) return InterfaceType.LoopscaleVaultLp
|
|
153
216
|
|
|
154
217
|
throw new Error("Unsupported interface type")
|
|
155
218
|
}
|
|
@@ -218,6 +281,8 @@ export function getInterfaceTypeObj(
|
|
|
218
281
|
return { exponentTranching: {} }
|
|
219
282
|
case InterfaceType.GlowVault:
|
|
220
283
|
return { glowVault: { padding: [] } }
|
|
284
|
+
case InterfaceType.LoopscaleVaultLp:
|
|
285
|
+
return { loopscaleVaultLp: { padding: [] } }
|
|
221
286
|
default:
|
|
222
287
|
throw new Error(`Unsupported interface type: ${interfaceType}`)
|
|
223
288
|
}
|
|
@@ -281,6 +346,9 @@ export function getInterfaceTypeFromString(interfaceType: string): InterfaceType
|
|
|
281
346
|
return { exponentTranching: {} }
|
|
282
347
|
case "glow-vault":
|
|
283
348
|
return { glowVault: { padding: [] } }
|
|
349
|
+
case "loopscale-vault":
|
|
350
|
+
case "loopscale-vault-lp":
|
|
351
|
+
return { loopscaleVaultLp: { padding: [] } }
|
|
284
352
|
default:
|
|
285
353
|
throw new Error(`Unsupported interface type: ${interfaceType}`)
|
|
286
354
|
}
|
|
@@ -313,14 +381,22 @@ export class GenericSySdk {
|
|
|
313
381
|
this.syPda = new GenericSyPda(programId, interfaceIndex)
|
|
314
382
|
}
|
|
315
383
|
|
|
316
|
-
private static async calculateSyRate(
|
|
317
|
-
account
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
384
|
+
private static async calculateSyRate({
|
|
385
|
+
account,
|
|
386
|
+
cnx,
|
|
387
|
+
syMetaAddress,
|
|
388
|
+
genericStandardProgramId,
|
|
389
|
+
}: {
|
|
390
|
+
account: GenericSyMetaAccount
|
|
391
|
+
cnx: web3.Connection
|
|
392
|
+
syMetaAddress: web3.PublicKey
|
|
393
|
+
genericStandardProgramId: web3.PublicKey
|
|
394
|
+
}): Promise<{
|
|
321
395
|
syRate: number
|
|
322
396
|
additionalData?: AdditionalDataGeneric
|
|
323
397
|
}> {
|
|
398
|
+
const interfaceType = getGenericSyMetaInterfaceType(account)
|
|
399
|
+
|
|
324
400
|
if ("pyth" in interfaceType) {
|
|
325
401
|
const syRate = Number(PreciseNumber.fromRaw(account.index[0]).valueString)
|
|
326
402
|
return { syRate: syRate }
|
|
@@ -554,6 +630,28 @@ export class GenericSySdk {
|
|
|
554
630
|
expectedShareMint: account.yieldBearingMint,
|
|
555
631
|
})
|
|
556
632
|
return { syRate }
|
|
633
|
+
} else if ("loopscaleVaultLp" in interfaceType) {
|
|
634
|
+
if (account.interfaceAccounts.length !== 3) {
|
|
635
|
+
throw new Error("Loopscale Vault LP interface requires exactly three accounts")
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
const syRate = await fetchOnChainSyRate({
|
|
639
|
+
connection: cnx,
|
|
640
|
+
programId: genericStandardProgramId,
|
|
641
|
+
meta: syMetaAddress,
|
|
642
|
+
mintSy: account.mintSy,
|
|
643
|
+
tokenSyEscrow: account.tokenSyEscrow,
|
|
644
|
+
remainingAccounts: account.interfaceAccounts
|
|
645
|
+
.map((pubkey) => ({ pubkey, isSigner: false, isWritable: false }))
|
|
646
|
+
.concat(
|
|
647
|
+
account.emissions.map((emission) => ({
|
|
648
|
+
pubkey: emission.escrowAccount,
|
|
649
|
+
isSigner: false,
|
|
650
|
+
isWritable: false,
|
|
651
|
+
})),
|
|
652
|
+
),
|
|
653
|
+
})
|
|
654
|
+
return { syRate }
|
|
557
655
|
} else {
|
|
558
656
|
return { syRate: 1 }
|
|
559
657
|
}
|
|
@@ -581,11 +679,12 @@ export class GenericSySdk {
|
|
|
581
679
|
yieldBearingMint,
|
|
582
680
|
})
|
|
583
681
|
|
|
584
|
-
const { syRate, additionalData } = await GenericSySdk.calculateSyRate(
|
|
682
|
+
const { syRate, additionalData } = await GenericSySdk.calculateSyRate({
|
|
585
683
|
account,
|
|
586
|
-
getGenericSyMetaInterfaceType(account),
|
|
587
684
|
cnx,
|
|
588
|
-
|
|
685
|
+
syMetaAddress: selfAddress,
|
|
686
|
+
genericStandardProgramId,
|
|
687
|
+
})
|
|
589
688
|
|
|
590
689
|
const state: GenericSyState = {
|
|
591
690
|
selfAddress,
|
|
@@ -614,11 +713,12 @@ export class GenericSySdk {
|
|
|
614
713
|
const account = await fetcher.fetchGenericSyMeta(syMetaAddress)
|
|
615
714
|
const tokenProgramBase = (await cnx.getAccountInfo(account.yieldBearingMint))?.owner
|
|
616
715
|
|
|
617
|
-
const { syRate, additionalData } = await GenericSySdk.calculateSyRate(
|
|
716
|
+
const { syRate, additionalData } = await GenericSySdk.calculateSyRate({
|
|
618
717
|
account,
|
|
619
|
-
getGenericSyMetaInterfaceType(account),
|
|
620
718
|
cnx,
|
|
621
|
-
|
|
719
|
+
syMetaAddress,
|
|
720
|
+
genericStandardProgramId,
|
|
721
|
+
})
|
|
622
722
|
|
|
623
723
|
const state: GenericSyState = {
|
|
624
724
|
selfAddress: syMetaAddress,
|
|
@@ -633,14 +733,16 @@ export class GenericSySdk {
|
|
|
633
733
|
|
|
634
734
|
/** Reload the state of the account */
|
|
635
735
|
async reload(cnx: web3.Connection) {
|
|
636
|
-
const
|
|
736
|
+
const genericStandardProgramId = this.syPda.programId
|
|
737
|
+
const fetcher = new ExponentFetcher({ connection: cnx, genericStandardProgramId })
|
|
637
738
|
const account = await fetcher.fetchGenericSyMeta(this.state.selfAddress)
|
|
638
739
|
this.state.account = account
|
|
639
|
-
const { syRate, additionalData } = await GenericSySdk.calculateSyRate(
|
|
740
|
+
const { syRate, additionalData } = await GenericSySdk.calculateSyRate({
|
|
640
741
|
account,
|
|
641
|
-
getGenericSyMetaInterfaceType(account),
|
|
642
742
|
cnx,
|
|
643
|
-
|
|
743
|
+
syMetaAddress: this.state.selfAddress,
|
|
744
|
+
genericStandardProgramId,
|
|
745
|
+
})
|
|
644
746
|
this.state.syRate = syRate
|
|
645
747
|
this.state.additionalData = additionalData
|
|
646
748
|
}
|