@exponent-labs/generic-sy-sdk 0.0.6 → 0.0.7
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 +60 -4
- package/build/index.js +35 -13
- package/build/index.js.map +1 -1
- package/package.json +6 -6
- package/src/index.ts +45 -11
package/build/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="bn.js" />
|
|
2
2
|
import { BN, web3 } from "@coral-xyz/anchor";
|
|
3
|
+
import { GenericStandard } from "@exponent-labs/generic-sy-idl";
|
|
3
4
|
import { GenericSyPda } from "@exponent-labs/generic-sy-pda";
|
|
4
|
-
import { GenericSyState, GenericSyMetaAccount, InterfaceTypeGeneric } from "@exponent-labs/exponent-types";
|
|
5
|
+
import { GenericSyState, GenericSyMetaAccount, InterfaceTypeGeneric, Hook } from "@exponent-labs/exponent-types";
|
|
5
6
|
export declare enum InterfaceType {
|
|
6
7
|
Pyth = 0,
|
|
7
8
|
SplStakePool = 1,
|
|
@@ -11,25 +12,31 @@ export declare enum InterfaceType {
|
|
|
11
12
|
}
|
|
12
13
|
export declare function getInterfaceTypeObj(interfaceType: number): InterfaceTypeGeneric;
|
|
13
14
|
export declare function getInterfaceTypeFromString(interfaceType: string): InterfaceTypeGeneric;
|
|
15
|
+
interface GenericSyConfig {
|
|
16
|
+
skipFragmetricWrap?: boolean;
|
|
17
|
+
}
|
|
14
18
|
export declare class GenericSySdk {
|
|
15
19
|
state: GenericSyState;
|
|
16
20
|
/** Private program for building instructions */
|
|
17
21
|
private program;
|
|
22
|
+
private config;
|
|
18
23
|
syPda: GenericSyPda;
|
|
19
|
-
constructor(state: GenericSyState, programId?: web3.PublicKey);
|
|
24
|
+
constructor(state: GenericSyState, programId?: web3.PublicKey, config?: GenericSyConfig);
|
|
20
25
|
private static calculateSyRate;
|
|
21
26
|
/** Load an instance of SyMeta */
|
|
22
|
-
static load({ cnx, yieldBearingMint, interfaceType, genericStandardProgramId, }: {
|
|
27
|
+
static load({ cnx, yieldBearingMint, interfaceType, genericStandardProgramId, config, }: {
|
|
23
28
|
cnx: web3.Connection;
|
|
24
29
|
yieldBearingMint: web3.PublicKey;
|
|
25
30
|
interfaceType: InterfaceTypeGeneric;
|
|
26
31
|
genericStandardProgramId: web3.PublicKey;
|
|
32
|
+
config?: GenericSyConfig;
|
|
27
33
|
}): Promise<GenericSySdk>;
|
|
28
34
|
/** Load an instance of SyMeta from just the syMeta address */
|
|
29
|
-
static loadFromSyMeta({ cnx, syMetaAddress, genericStandardProgramId, }: {
|
|
35
|
+
static loadFromSyMeta({ cnx, syMetaAddress, genericStandardProgramId, config, }: {
|
|
30
36
|
cnx: web3.Connection;
|
|
31
37
|
syMetaAddress: web3.PublicKey;
|
|
32
38
|
genericStandardProgramId: web3.PublicKey;
|
|
39
|
+
config?: GenericSyConfig;
|
|
33
40
|
}): Promise<GenericSySdk>;
|
|
34
41
|
/** Reload the state of the account */
|
|
35
42
|
reload(cnx: web3.Connection): Promise<void>;
|
|
@@ -77,5 +84,54 @@ export declare class GenericSySdk {
|
|
|
77
84
|
emissionMint: web3.PublicKey;
|
|
78
85
|
emissionTokenAccount: web3.PublicKey;
|
|
79
86
|
}): Promise<web3.TransactionInstruction>;
|
|
87
|
+
ixModifyHook({ signer, hook }: {
|
|
88
|
+
signer: web3.PublicKey;
|
|
89
|
+
hook: Hook;
|
|
90
|
+
}): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods").MethodsBuilder<GenericStandard, {
|
|
91
|
+
name: "modifyHook";
|
|
92
|
+
discriminator: [12];
|
|
93
|
+
accounts: [{
|
|
94
|
+
name: "signer";
|
|
95
|
+
signer: true;
|
|
96
|
+
}, {
|
|
97
|
+
name: "feePayer";
|
|
98
|
+
writable: true;
|
|
99
|
+
signer: true;
|
|
100
|
+
}, {
|
|
101
|
+
name: "meta";
|
|
102
|
+
writable: true;
|
|
103
|
+
}, {
|
|
104
|
+
name: "systemProgram";
|
|
105
|
+
docs: ["Needed for realloc'ing the emission tracker"];
|
|
106
|
+
}, {
|
|
107
|
+
name: "adminState";
|
|
108
|
+
}];
|
|
109
|
+
args: [{
|
|
110
|
+
name: "hook";
|
|
111
|
+
type: {
|
|
112
|
+
defined: {
|
|
113
|
+
name: "hook";
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
}];
|
|
117
|
+
} & {
|
|
118
|
+
name: "modifyHook";
|
|
119
|
+
}, {
|
|
120
|
+
name: "signer";
|
|
121
|
+
signer: true;
|
|
122
|
+
} | {
|
|
123
|
+
name: "feePayer";
|
|
124
|
+
writable: true;
|
|
125
|
+
signer: true;
|
|
126
|
+
} | {
|
|
127
|
+
name: "meta";
|
|
128
|
+
writable: true;
|
|
129
|
+
} | {
|
|
130
|
+
name: "systemProgram";
|
|
131
|
+
docs: ["Needed for realloc'ing the emission tracker"];
|
|
132
|
+
} | {
|
|
133
|
+
name: "adminState";
|
|
134
|
+
}>;
|
|
80
135
|
}
|
|
81
136
|
export declare function initSy(signer: web3.PublicKey, interfaceAccounts: web3.PublicKey[], yieldBearingMint: web3.PublicKey, interfaceIndex: number): Promise<web3.TransactionInstruction>;
|
|
137
|
+
export {};
|
package/build/index.js
CHANGED
|
@@ -84,9 +84,11 @@ class GenericSySdk {
|
|
|
84
84
|
state;
|
|
85
85
|
/** Private program for building instructions */
|
|
86
86
|
program;
|
|
87
|
+
config;
|
|
87
88
|
syPda;
|
|
88
|
-
constructor(state, programId = new anchor_1.web3.PublicKey(generic_sy_idl_2.PROGRAM_ID)) {
|
|
89
|
+
constructor(state, programId = new anchor_1.web3.PublicKey(generic_sy_idl_2.PROGRAM_ID), config = {}) {
|
|
89
90
|
this.state = state;
|
|
91
|
+
this.config = config;
|
|
90
92
|
// create a fake AnchorProvider -- which is unused
|
|
91
93
|
this.program = new anchor_1.Program(generic_sy_idl_1.IDL, new anchor_1.AnchorProvider(new anchor_1.web3.Connection("https://api.devnet.solana.com"), new utils_1.MyWallet(anchor_1.web3.Keypair.generate())));
|
|
92
94
|
// Determine interface index based on the interface type from state
|
|
@@ -141,7 +143,7 @@ class GenericSySdk {
|
|
|
141
143
|
}
|
|
142
144
|
}
|
|
143
145
|
/** Load an instance of SyMeta */
|
|
144
|
-
static async load({ cnx, yieldBearingMint, interfaceType, genericStandardProgramId, }) {
|
|
146
|
+
static async load({ cnx, yieldBearingMint, interfaceType, genericStandardProgramId, config = {}, }) {
|
|
145
147
|
const account = await loadAccountState(cnx, yieldBearingMint, genericStandardProgramId, interfaceType);
|
|
146
148
|
const tokenProgramBase = spl_token_1.TOKEN_PROGRAM_ID;
|
|
147
149
|
let interfaceIndex;
|
|
@@ -174,10 +176,10 @@ class GenericSySdk {
|
|
|
174
176
|
syRate,
|
|
175
177
|
fragmetricData,
|
|
176
178
|
};
|
|
177
|
-
return new GenericSySdk(state, genericStandardProgramId);
|
|
179
|
+
return new GenericSySdk(state, genericStandardProgramId, config);
|
|
178
180
|
}
|
|
179
181
|
/** Load an instance of SyMeta from just the syMeta address */
|
|
180
|
-
static async loadFromSyMeta({ cnx, syMetaAddress, genericStandardProgramId, }) {
|
|
182
|
+
static async loadFromSyMeta({ cnx, syMetaAddress, genericStandardProgramId, config = {}, }) {
|
|
181
183
|
const fetcher = new exponent_fetcher_1.ExponentFetcher({ connection: cnx, genericStandardProgramId });
|
|
182
184
|
const account = await fetcher.fetchGenericSyMeta(syMetaAddress);
|
|
183
185
|
const tokenProgramBase = spl_token_1.TOKEN_PROGRAM_ID;
|
|
@@ -189,7 +191,7 @@ class GenericSySdk {
|
|
|
189
191
|
syRate,
|
|
190
192
|
fragmetricData,
|
|
191
193
|
};
|
|
192
|
-
return new GenericSySdk(state, genericStandardProgramId);
|
|
194
|
+
return new GenericSySdk(state, genericStandardProgramId, config);
|
|
193
195
|
}
|
|
194
196
|
/** Reload the state of the account */
|
|
195
197
|
async reload(cnx) {
|
|
@@ -258,8 +260,19 @@ class GenericSySdk {
|
|
|
258
260
|
return accounts;
|
|
259
261
|
}
|
|
260
262
|
getAccountsWithSigner(signer) {
|
|
261
|
-
const accounts = this.
|
|
263
|
+
const accounts = this.account.interfaceAccounts
|
|
264
|
+
.map((a) => ({
|
|
265
|
+
pubkey: a,
|
|
266
|
+
isSigner: false,
|
|
267
|
+
isWritable: true,
|
|
268
|
+
}))
|
|
269
|
+
.concat(this.emissions.map((e) => ({ pubkey: e.escrowAccount, isSigner: false, isWritable: false })));
|
|
262
270
|
if ("fragmetric" in this.state.account.interfaceType && signer) {
|
|
271
|
+
// If skipFragmetricWrap is true, return minimal accounts
|
|
272
|
+
if (this.config.skipFragmetricWrap) {
|
|
273
|
+
return accounts;
|
|
274
|
+
}
|
|
275
|
+
// Existing fragmetric account logic
|
|
263
276
|
const fragmetricReceiptTokenMint = this.state.fragmetricData.receiptTokenMint;
|
|
264
277
|
const fragmetricWrappedTokenMint = this.state.fragmetricData.wrappedTokenMint;
|
|
265
278
|
const fragmetricPda = new fragmetric_pda_1.FragmetricPda();
|
|
@@ -273,12 +286,6 @@ class GenericSySdk {
|
|
|
273
286
|
const userFundAccount = fragmetricPda.userFundAccount(fragmetricReceiptTokenMint, signer);
|
|
274
287
|
const userRewardAccount = fragmetricPda.userRewardAccount(fragmetricReceiptTokenMint, signer);
|
|
275
288
|
const eventAuthority = fragmetricPda.eventAuthority();
|
|
276
|
-
console.log("fund wrap account", fundWrapAccount.toBase58());
|
|
277
|
-
console.log("user fund account", userFundAccount.toBase58());
|
|
278
|
-
console.log("user reward account", userRewardAccount.toBase58());
|
|
279
|
-
console.log("receipt token mint", fragmetricReceiptTokenMint.toBase58());
|
|
280
|
-
console.log("wrapped token mint", fragmetricWrappedTokenMint.toBase58());
|
|
281
|
-
console.log("receipt token wrap account", receiptTokenWrapAccount.toBase58());
|
|
282
289
|
accounts.push(
|
|
283
290
|
// user
|
|
284
291
|
{ pubkey: signer, isSigner: true, isWritable: true },
|
|
@@ -359,6 +366,21 @@ class GenericSySdk {
|
|
|
359
366
|
})
|
|
360
367
|
.instruction();
|
|
361
368
|
}
|
|
369
|
+
ixModifyHook({ signer, hook }) {
|
|
370
|
+
// Convert number arrays to Buffer objects
|
|
371
|
+
const modifiedHook = {
|
|
372
|
+
...hook,
|
|
373
|
+
preMintHookDiscriminator: Buffer.from(hook.preMintHookDiscriminator),
|
|
374
|
+
postRedeemHookDiscriminator: Buffer.from(hook.postRedeemHookDiscriminator),
|
|
375
|
+
};
|
|
376
|
+
return this.program.methods.modifyHook(modifiedHook).accountsStrict({
|
|
377
|
+
adminState: this.adminState,
|
|
378
|
+
signer,
|
|
379
|
+
feePayer: signer,
|
|
380
|
+
meta: this.selfAddress,
|
|
381
|
+
systemProgram: anchor_1.web3.SystemProgram.programId,
|
|
382
|
+
});
|
|
383
|
+
}
|
|
362
384
|
}
|
|
363
385
|
exports.GenericSySdk = GenericSySdk;
|
|
364
386
|
function initSy(signer, interfaceAccounts, yieldBearingMint, interfaceIndex) {
|
|
@@ -375,7 +397,7 @@ function initSy(signer, interfaceAccounts, yieldBearingMint, interfaceIndex) {
|
|
|
375
397
|
const tokenVrtEscrow = (0, spl_token_1.getAssociatedTokenAddressSync)(yieldBearingMint, syMetaAddress, true, spl_token_1.TOKEN_PROGRAM_ID);
|
|
376
398
|
const interfaceType = getInterfaceTypeObj(interfaceIndex);
|
|
377
399
|
const ix = program.methods
|
|
378
|
-
.initSy(new anchor_1.BN(0), new anchor_1.BN(0), "Exponent Wrapped
|
|
400
|
+
.initSy(new anchor_1.BN(0), new anchor_1.BN(0), "Exponent Wrapped USDe", "wUSDe", "", interfaceAccounts, interfaceType)
|
|
379
401
|
.accountsStrict({
|
|
380
402
|
syMeta: syMetaAddress,
|
|
381
403
|
mintSy: mintSy,
|
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.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@coral-xyz/anchor": "^0.30.1",
|
|
13
|
-
"@exponent-labs/exponent-admin-pda": "0.0.
|
|
14
|
-
"@exponent-labs/exponent-fetcher": "0.0.
|
|
15
|
-
"@exponent-labs/fragmetric-pda": "0.0.
|
|
16
|
-
"@exponent-labs/generic-sy-idl": "0.0.
|
|
17
|
-
"@exponent-labs/generic-sy-pda": "0.0.
|
|
13
|
+
"@exponent-labs/exponent-admin-pda": "0.0.7",
|
|
14
|
+
"@exponent-labs/exponent-fetcher": "0.0.7",
|
|
15
|
+
"@exponent-labs/fragmetric-pda": "0.0.7",
|
|
16
|
+
"@exponent-labs/generic-sy-idl": "0.0.7",
|
|
17
|
+
"@exponent-labs/generic-sy-pda": "0.0.7",
|
|
18
18
|
"@solana/spl-token": "^0.4.6"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
package/src/index.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { AnchorProvider, BN, Program, web3 } from "@coral-xyz/anchor"
|
|
|
2
2
|
import { IDL, GenericStandard } from "@exponent-labs/generic-sy-idl"
|
|
3
3
|
import { getAssociatedTokenAddressSync, TOKEN_2022_PROGRAM_ID, TOKEN_PROGRAM_ID } from "@solana/spl-token"
|
|
4
4
|
import { GenericSyPda } from "@exponent-labs/generic-sy-pda"
|
|
5
|
-
import { GenericSyState, GenericSyMetaAccount, InterfaceTypeGeneric } from "@exponent-labs/exponent-types"
|
|
5
|
+
import { GenericSyState, GenericSyMetaAccount, InterfaceTypeGeneric, Hook } from "@exponent-labs/exponent-types"
|
|
6
6
|
import {
|
|
7
7
|
ExponentFetcher,
|
|
8
8
|
fetchFragmetricIndex,
|
|
@@ -86,16 +86,23 @@ export function getInterfaceTypeFromString(interfaceType: string): InterfaceType
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
interface GenericSyConfig {
|
|
90
|
+
skipFragmetricWrap?: boolean
|
|
91
|
+
}
|
|
92
|
+
|
|
89
93
|
export class GenericSySdk {
|
|
90
94
|
/** Private program for building instructions */
|
|
91
95
|
private program: Program<GenericStandard>
|
|
96
|
+
private config: GenericSyConfig
|
|
92
97
|
|
|
93
98
|
syPda: GenericSyPda
|
|
94
99
|
|
|
95
100
|
constructor(
|
|
96
101
|
public state: GenericSyState,
|
|
97
102
|
programId: web3.PublicKey = new web3.PublicKey(GENERIC_STANDARD_PROGRAM_ID),
|
|
103
|
+
config: GenericSyConfig = {},
|
|
98
104
|
) {
|
|
105
|
+
this.config = config
|
|
99
106
|
// create a fake AnchorProvider -- which is unused
|
|
100
107
|
this.program = new Program<GenericStandard>(
|
|
101
108
|
IDL,
|
|
@@ -161,11 +168,13 @@ export class GenericSySdk {
|
|
|
161
168
|
yieldBearingMint,
|
|
162
169
|
interfaceType,
|
|
163
170
|
genericStandardProgramId,
|
|
171
|
+
config = {},
|
|
164
172
|
}: {
|
|
165
173
|
cnx: web3.Connection
|
|
166
174
|
yieldBearingMint: web3.PublicKey
|
|
167
175
|
interfaceType: InterfaceTypeGeneric
|
|
168
176
|
genericStandardProgramId: web3.PublicKey
|
|
177
|
+
config?: GenericSyConfig
|
|
169
178
|
}) {
|
|
170
179
|
const account = await loadAccountState(cnx, yieldBearingMint, genericStandardProgramId, interfaceType)
|
|
171
180
|
const tokenProgramBase = TOKEN_PROGRAM_ID
|
|
@@ -198,7 +207,7 @@ export class GenericSySdk {
|
|
|
198
207
|
fragmetricData,
|
|
199
208
|
}
|
|
200
209
|
|
|
201
|
-
return new GenericSySdk(state, genericStandardProgramId)
|
|
210
|
+
return new GenericSySdk(state, genericStandardProgramId, config)
|
|
202
211
|
}
|
|
203
212
|
|
|
204
213
|
/** Load an instance of SyMeta from just the syMeta address */
|
|
@@ -206,10 +215,12 @@ export class GenericSySdk {
|
|
|
206
215
|
cnx,
|
|
207
216
|
syMetaAddress,
|
|
208
217
|
genericStandardProgramId,
|
|
218
|
+
config = {},
|
|
209
219
|
}: {
|
|
210
220
|
cnx: web3.Connection
|
|
211
221
|
syMetaAddress: web3.PublicKey
|
|
212
222
|
genericStandardProgramId: web3.PublicKey
|
|
223
|
+
config?: GenericSyConfig
|
|
213
224
|
}) {
|
|
214
225
|
const fetcher = new ExponentFetcher({ connection: cnx, genericStandardProgramId })
|
|
215
226
|
const account = await fetcher.fetchGenericSyMeta(syMetaAddress)
|
|
@@ -225,7 +236,7 @@ export class GenericSySdk {
|
|
|
225
236
|
fragmetricData,
|
|
226
237
|
}
|
|
227
238
|
|
|
228
|
-
return new GenericSySdk(state, genericStandardProgramId)
|
|
239
|
+
return new GenericSySdk(state, genericStandardProgramId, config)
|
|
229
240
|
}
|
|
230
241
|
|
|
231
242
|
/** Reload the state of the account */
|
|
@@ -317,9 +328,21 @@ export class GenericSySdk {
|
|
|
317
328
|
}
|
|
318
329
|
|
|
319
330
|
getAccountsWithSigner(signer?: web3.PublicKey) {
|
|
320
|
-
const accounts = this.
|
|
331
|
+
const accounts = this.account.interfaceAccounts
|
|
332
|
+
.map((a) => ({
|
|
333
|
+
pubkey: a,
|
|
334
|
+
isSigner: false,
|
|
335
|
+
isWritable: true,
|
|
336
|
+
}))
|
|
337
|
+
.concat(this.emissions.map((e) => ({ pubkey: e.escrowAccount, isSigner: false, isWritable: false })))
|
|
321
338
|
|
|
322
339
|
if ("fragmetric" in this.state.account.interfaceType && signer) {
|
|
340
|
+
// If skipFragmetricWrap is true, return minimal accounts
|
|
341
|
+
if (this.config.skipFragmetricWrap) {
|
|
342
|
+
return accounts
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
// Existing fragmetric account logic
|
|
323
346
|
const fragmetricReceiptTokenMint = this.state.fragmetricData.receiptTokenMint
|
|
324
347
|
const fragmetricWrappedTokenMint = this.state.fragmetricData.wrappedTokenMint
|
|
325
348
|
const fragmetricPda = new FragmetricPda()
|
|
@@ -355,12 +378,6 @@ export class GenericSySdk {
|
|
|
355
378
|
|
|
356
379
|
const eventAuthority = fragmetricPda.eventAuthority()
|
|
357
380
|
|
|
358
|
-
console.log("fund wrap account", fundWrapAccount.toBase58())
|
|
359
|
-
console.log("user fund account", userFundAccount.toBase58())
|
|
360
|
-
console.log("user reward account", userRewardAccount.toBase58())
|
|
361
|
-
console.log("receipt token mint", fragmetricReceiptTokenMint.toBase58())
|
|
362
|
-
console.log("wrapped token mint", fragmetricWrappedTokenMint.toBase58())
|
|
363
|
-
console.log("receipt token wrap account", receiptTokenWrapAccount.toBase58())
|
|
364
381
|
accounts.push(
|
|
365
382
|
// user
|
|
366
383
|
{ pubkey: signer, isSigner: true, isWritable: true },
|
|
@@ -489,6 +506,23 @@ export class GenericSySdk {
|
|
|
489
506
|
})
|
|
490
507
|
.instruction()
|
|
491
508
|
}
|
|
509
|
+
|
|
510
|
+
ixModifyHook({ signer, hook }: { signer: web3.PublicKey; hook: Hook }) {
|
|
511
|
+
// Convert number arrays to Buffer objects
|
|
512
|
+
const modifiedHook = {
|
|
513
|
+
...hook,
|
|
514
|
+
preMintHookDiscriminator: Buffer.from(hook.preMintHookDiscriminator),
|
|
515
|
+
postRedeemHookDiscriminator: Buffer.from(hook.postRedeemHookDiscriminator),
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
return this.program.methods.modifyHook(modifiedHook).accountsStrict({
|
|
519
|
+
adminState: this.adminState,
|
|
520
|
+
signer,
|
|
521
|
+
feePayer: signer,
|
|
522
|
+
meta: this.selfAddress,
|
|
523
|
+
systemProgram: web3.SystemProgram.programId,
|
|
524
|
+
})
|
|
525
|
+
}
|
|
492
526
|
}
|
|
493
527
|
|
|
494
528
|
export function initSy(
|
|
@@ -520,7 +554,7 @@ export function initSy(
|
|
|
520
554
|
|
|
521
555
|
const interfaceType = getInterfaceTypeObj(interfaceIndex)
|
|
522
556
|
const ix = program.methods
|
|
523
|
-
.initSy(new BN(0), new BN(0), "Exponent Wrapped
|
|
557
|
+
.initSy(new BN(0), new BN(0), "Exponent Wrapped USDe", "wUSDe", "", interfaceAccounts, interfaceType)
|
|
524
558
|
.accountsStrict({
|
|
525
559
|
syMeta: syMetaAddress,
|
|
526
560
|
mintSy: mintSy,
|