flash-sdk 2.11.0 → 2.11.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/PerpetualsClient.d.ts +4 -0
- package/dist/PerpetualsClient.js +128 -1
- package/dist/PoolConfig.d.ts +2 -1
- package/dist/PoolConfig.js +3 -2
- package/dist/PoolConfig.json +15 -5
- package/dist/idl/perp_composability.d.ts +124 -0
- package/dist/idl/perp_composability.js +124 -0
- package/dist/idl/perpetuals.d.ts +187 -0
- package/dist/idl/perpetuals.js +187 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -2420,6 +2420,10 @@ export declare class PerpetualsClient {
|
|
2420
2420
|
instructions: TransactionInstruction[];
|
2421
2421
|
additionalSigners: Signer[];
|
2422
2422
|
}>;
|
2423
|
+
addLiquidityAndStake: (inputSymbol: string, amountIn: BN, minLpAmountOut: BN, poolConfig: PoolConfig, skipBalanceChecks?: boolean) => Promise<{
|
2424
|
+
instructions: TransactionInstruction[];
|
2425
|
+
additionalSigners: Signer[];
|
2426
|
+
}>;
|
2423
2427
|
removeLiquidity: (recieveTokenSymbol: string, liquidityAmountIn: BN, minTokenAmountOut: BN, poolConfig: PoolConfig, closeLpATA?: boolean, createUserATA?: boolean, closeUsersWSOLATA?: boolean) => Promise<{
|
2424
2428
|
instructions: TransactionInstruction[];
|
2425
2429
|
additionalSigners: Signer[];
|
package/dist/PerpetualsClient.js
CHANGED
@@ -3140,6 +3140,133 @@ var PerpetualsClient = (function () {
|
|
3140
3140
|
});
|
3141
3141
|
});
|
3142
3142
|
};
|
3143
|
+
this.addLiquidityAndStake = function (inputSymbol, amountIn, minLpAmountOut, poolConfig, skipBalanceChecks) {
|
3144
|
+
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
3145
|
+
return __awaiter(_this, void 0, void 0, function () {
|
3146
|
+
var publicKey, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lpTokenMint, inputCustodyConfig, lpTokenAccount, flpStakeAccount, poolStakedFlpVault, accCreationLamports, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _c, custody, _d, _e, market, instruction;
|
3147
|
+
return __generator(this, function (_f) {
|
3148
|
+
switch (_f.label) {
|
3149
|
+
case 0:
|
3150
|
+
publicKey = this.provider.wallet.publicKey;
|
3151
|
+
preInstructions = [];
|
3152
|
+
instructions = [];
|
3153
|
+
postInstructions = [];
|
3154
|
+
additionalSigners = [];
|
3155
|
+
lpTokenMint = poolConfig.lpTokenMint;
|
3156
|
+
inputCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(inputSymbol).mintKey); });
|
3157
|
+
return [4, (0, spl_token_1.getAssociatedTokenAddress)(lpTokenMint, publicKey)];
|
3158
|
+
case 1:
|
3159
|
+
lpTokenAccount = _f.sent();
|
3160
|
+
flpStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake"), publicKey.toBuffer(), poolConfig.poolAddress.toBuffer()], this.programId)[0];
|
3161
|
+
poolStakedFlpVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("staked_lp_token_account"), poolConfig.poolAddress.toBuffer(), lpTokenMint.toBuffer()], this.programId)[0];
|
3162
|
+
if (!(inputSymbol == 'SOL')) return [3, 4];
|
3163
|
+
console.log("inputSymbol === SOL", inputSymbol);
|
3164
|
+
wrappedSolAccount = new web3_js_1.Keypair();
|
3165
|
+
return [4, (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(this.provider.connection)];
|
3166
|
+
case 2:
|
3167
|
+
accCreationLamports = (_f.sent());
|
3168
|
+
console.log("accCreationLamports:", accCreationLamports);
|
3169
|
+
lamports = amountIn.add(new anchor_1.BN(accCreationLamports));
|
3170
|
+
console.log("lamports:", lamports.toNumber());
|
3171
|
+
_a = anchor_1.BN.bind;
|
3172
|
+
return [4, this.provider.connection.getBalance(publicKey)];
|
3173
|
+
case 3:
|
3174
|
+
unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _f.sent()]))();
|
3175
|
+
if (unWrappedSolBalance.lt(lamports)) {
|
3176
|
+
throw "Insufficient SOL Funds";
|
3177
|
+
}
|
3178
|
+
preInstructions = [
|
3179
|
+
web3_js_1.SystemProgram.createAccount({
|
3180
|
+
fromPubkey: publicKey,
|
3181
|
+
newAccountPubkey: wrappedSolAccount.publicKey,
|
3182
|
+
lamports: lamports.toNumber(),
|
3183
|
+
space: 165,
|
3184
|
+
programId: spl_token_1.TOKEN_PROGRAM_ID,
|
3185
|
+
}),
|
3186
|
+
(0, spl_token_1.createInitializeAccount3Instruction)(wrappedSolAccount.publicKey, spl_token_1.NATIVE_MINT, publicKey),
|
3187
|
+
];
|
3188
|
+
postInstructions = [
|
3189
|
+
(0, spl_token_1.createCloseAccountInstruction)(wrappedSolAccount.publicKey, publicKey, publicKey),
|
3190
|
+
];
|
3191
|
+
additionalSigners.push(wrappedSolAccount);
|
3192
|
+
return [3, 7];
|
3193
|
+
case 4:
|
3194
|
+
userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputCustodyConfig.mintKey, publicKey, true);
|
3195
|
+
return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
|
3196
|
+
case 5:
|
3197
|
+
if (!(_f.sent())) {
|
3198
|
+
throw "Insufficient Funds , token Account doesn't exist";
|
3199
|
+
}
|
3200
|
+
if (!!skipBalanceChecks) return [3, 7];
|
3201
|
+
_b = anchor_1.BN.bind;
|
3202
|
+
return [4, this.provider.connection.getTokenAccountBalance(userInputTokenAccount)];
|
3203
|
+
case 6:
|
3204
|
+
tokenAccountBalance = new (_b.apply(anchor_1.BN, [void 0, (_f.sent()).value.amount]))();
|
3205
|
+
if (tokenAccountBalance.lt(amountIn)) {
|
3206
|
+
throw "Insufficient Funds need more ".concat(amountIn.sub(tokenAccountBalance), " tokens");
|
3207
|
+
}
|
3208
|
+
_f.label = 7;
|
3209
|
+
case 7:
|
3210
|
+
custodyAccountMetas = [];
|
3211
|
+
custodyOracleAccountMetas = [];
|
3212
|
+
markets = [];
|
3213
|
+
for (_i = 0, _c = poolConfig.custodies; _i < _c.length; _i++) {
|
3214
|
+
custody = _c[_i];
|
3215
|
+
custodyAccountMetas.push({
|
3216
|
+
pubkey: custody.custodyAccount,
|
3217
|
+
isSigner: false,
|
3218
|
+
isWritable: false,
|
3219
|
+
});
|
3220
|
+
custodyOracleAccountMetas.push({
|
3221
|
+
pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
|
3222
|
+
isSigner: false,
|
3223
|
+
isWritable: false,
|
3224
|
+
});
|
3225
|
+
}
|
3226
|
+
for (_d = 0, _e = poolConfig.markets; _d < _e.length; _d++) {
|
3227
|
+
market = _e[_d];
|
3228
|
+
markets.push({
|
3229
|
+
pubkey: market.marketAccount,
|
3230
|
+
isSigner: false,
|
3231
|
+
isWritable: false,
|
3232
|
+
});
|
3233
|
+
}
|
3234
|
+
return [4, this.programPerpComposability.methods.addLiquidityAndStake({
|
3235
|
+
amountIn: amountIn,
|
3236
|
+
minLpAmountOut: minLpAmountOut,
|
3237
|
+
}).accounts({
|
3238
|
+
perpProgram: this.programId,
|
3239
|
+
owner: publicKey,
|
3240
|
+
feePayer: publicKey,
|
3241
|
+
fundingAccount: inputSymbol == 'SOL' ? wrappedSolAccount.publicKey : userInputTokenAccount,
|
3242
|
+
lpTokenAccount: lpTokenAccount,
|
3243
|
+
transferAuthority: poolConfig.transferAuthority,
|
3244
|
+
perpetuals: poolConfig.perpetuals,
|
3245
|
+
pool: poolConfig.poolAddress,
|
3246
|
+
custody: inputCustodyConfig.custodyAccount,
|
3247
|
+
custodyOracleAccount: this.useExtOracleAccount ? inputCustodyConfig.extOracleAccount : inputCustodyConfig.intOracleAccount,
|
3248
|
+
custodyTokenAccount: inputCustodyConfig.tokenAccount,
|
3249
|
+
lpTokenMint: lpTokenMint,
|
3250
|
+
flpStakeAccount: flpStakeAccount,
|
3251
|
+
poolStakedFlpVault: poolStakedFlpVault,
|
3252
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
3253
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
3254
|
+
eventAuthority: this.eventAuthority.publicKey,
|
3255
|
+
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
3256
|
+
})
|
3257
|
+
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
3258
|
+
.instruction()];
|
3259
|
+
case 8:
|
3260
|
+
instruction = _f.sent();
|
3261
|
+
instructions.push(instruction);
|
3262
|
+
return [2, {
|
3263
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
3264
|
+
additionalSigners: additionalSigners
|
3265
|
+
}];
|
3266
|
+
}
|
3267
|
+
});
|
3268
|
+
});
|
3269
|
+
};
|
3143
3270
|
this.removeLiquidity = function (recieveTokenSymbol, liquidityAmountIn, minTokenAmountOut, poolConfig, closeLpATA, createUserATA, closeUsersWSOLATA) {
|
3144
3271
|
if (closeLpATA === void 0) { closeLpATA = false; }
|
3145
3272
|
if (createUserATA === void 0) { createUserATA = true; }
|
@@ -3536,7 +3663,7 @@ var PerpetualsClient = (function () {
|
|
3536
3663
|
_a.trys.push([1, 3, , 4]);
|
3537
3664
|
rewardCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(rewardSymbol).mintKey); });
|
3538
3665
|
compoundingTokenMint = this.getPoolCompoundingTokenKey(poolConfig.poolName);
|
3539
|
-
compoundingVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("compounding_lp_token_account"), poolConfig.poolAddress.toBuffer(),
|
3666
|
+
compoundingVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("compounding_lp_token_account"), poolConfig.poolAddress.toBuffer(), poolConfig.lpTokenMint.toBuffer()], this.programId)[0];
|
3540
3667
|
metadataAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("metadata"), constants_1.METAPLEX_PROGRAM_ID.toBuffer(), compoundingTokenMint.toBuffer()], constants_1.METAPLEX_PROGRAM_ID)[0];
|
3541
3668
|
return [4, this.program.methods
|
3542
3669
|
.initCompounding({
|
package/dist/PoolConfig.d.ts
CHANGED
@@ -54,6 +54,7 @@ export declare class PoolConfig {
|
|
54
54
|
flpTokenAccount: PublicKey;
|
55
55
|
lpDecimals: number;
|
56
56
|
lpTokenSymbol: string;
|
57
|
+
stakedLpTokenSymbol: string;
|
57
58
|
perpetuals: PublicKey;
|
58
59
|
transferAuthority: PublicKey;
|
59
60
|
multisig: PublicKey;
|
@@ -70,7 +71,7 @@ export declare class PoolConfig {
|
|
70
71
|
tokens: Token[];
|
71
72
|
custodies: CustodyConfig[];
|
72
73
|
markets: MarketConfig[];
|
73
|
-
constructor(programId: PublicKey, perpComposibilityProgramId: PublicKey, fbNftRewardProgramId: PublicKey, cluster: Cluster, poolName: string, poolAddress: PublicKey, lpTokenMint: PublicKey, sFlpTokenMint: PublicKey, flpTokenAccount: PublicKey, lpDecimals: number, lpTokenSymbol: string, perpetuals: PublicKey, transferAuthority: PublicKey, multisig: PublicKey, addressLookupTableAddresses: PublicKey[], backupOracle: PublicKey, nftCollectionAddress: PublicKey, rewardDistributionProgram: {
|
74
|
+
constructor(programId: PublicKey, perpComposibilityProgramId: PublicKey, fbNftRewardProgramId: PublicKey, cluster: Cluster, poolName: string, poolAddress: PublicKey, lpTokenMint: PublicKey, sFlpTokenMint: PublicKey, flpTokenAccount: PublicKey, lpDecimals: number, lpTokenSymbol: string, stakedLpTokenSymbol: string, perpetuals: PublicKey, transferAuthority: PublicKey, multisig: PublicKey, addressLookupTableAddresses: PublicKey[], backupOracle: PublicKey, nftCollectionAddress: PublicKey, rewardDistributionProgram: {
|
74
75
|
programId: PublicKey;
|
75
76
|
transferAuthority: PublicKey;
|
76
77
|
rewardVault: PublicKey;
|
package/dist/PoolConfig.js
CHANGED
@@ -19,7 +19,7 @@ var web3_js_1 = require("@solana/web3.js");
|
|
19
19
|
var PoolConfig_json_1 = __importDefault(require("./PoolConfig.json"));
|
20
20
|
var types_1 = require("./types");
|
21
21
|
var PoolConfig = (function () {
|
22
|
-
function PoolConfig(programId, perpComposibilityProgramId, fbNftRewardProgramId, cluster, poolName, poolAddress, lpTokenMint, sFlpTokenMint, flpTokenAccount, lpDecimals, lpTokenSymbol, perpetuals, transferAuthority, multisig, addressLookupTableAddresses, backupOracle, nftCollectionAddress, rewardDistributionProgram, tokens, custodies, markets) {
|
22
|
+
function PoolConfig(programId, perpComposibilityProgramId, fbNftRewardProgramId, cluster, poolName, poolAddress, lpTokenMint, sFlpTokenMint, flpTokenAccount, lpDecimals, lpTokenSymbol, stakedLpTokenSymbol, perpetuals, transferAuthority, multisig, addressLookupTableAddresses, backupOracle, nftCollectionAddress, rewardDistributionProgram, tokens, custodies, markets) {
|
23
23
|
var _this = this;
|
24
24
|
this.programId = programId;
|
25
25
|
this.perpComposibilityProgramId = perpComposibilityProgramId;
|
@@ -32,6 +32,7 @@ var PoolConfig = (function () {
|
|
32
32
|
this.flpTokenAccount = flpTokenAccount;
|
33
33
|
this.lpDecimals = lpDecimals;
|
34
34
|
this.lpTokenSymbol = lpTokenSymbol;
|
35
|
+
this.stakedLpTokenSymbol = stakedLpTokenSymbol;
|
35
36
|
this.perpetuals = perpetuals;
|
36
37
|
this.transferAuthority = transferAuthority;
|
37
38
|
this.multisig = multisig;
|
@@ -164,7 +165,7 @@ var PoolConfig = (function () {
|
|
164
165
|
catch (error) {
|
165
166
|
console.log("ERROR: buildPoolconfigFromJson unable to load markets ");
|
166
167
|
}
|
167
|
-
return new PoolConfig(new web3_js_1.PublicKey(poolConfig.programId), new web3_js_1.PublicKey(poolConfig.perpComposibilityProgramId), new web3_js_1.PublicKey(poolConfig.fbNftRewardProgramId), poolConfig.cluster, poolConfig.poolName, new web3_js_1.PublicKey(poolConfig.poolAddress), new web3_js_1.PublicKey(poolConfig.lpTokenMint), new web3_js_1.PublicKey(poolConfig.sFlpTokenMint), new web3_js_1.PublicKey(poolConfig.flpTokenAccount), poolConfig.lpDecimals, poolConfig.lpTokenSymbol, new web3_js_1.PublicKey(poolConfig.perpetuals), new web3_js_1.PublicKey(poolConfig.transferAuthority), new web3_js_1.PublicKey(poolConfig.multisig), addressLookupTableAddresses, new web3_js_1.PublicKey(poolConfig.backupOracle), new web3_js_1.PublicKey(poolConfig.nftCollectionAddress), {
|
168
|
+
return new PoolConfig(new web3_js_1.PublicKey(poolConfig.programId), new web3_js_1.PublicKey(poolConfig.perpComposibilityProgramId), new web3_js_1.PublicKey(poolConfig.fbNftRewardProgramId), poolConfig.cluster, poolConfig.poolName, new web3_js_1.PublicKey(poolConfig.poolAddress), new web3_js_1.PublicKey(poolConfig.lpTokenMint), new web3_js_1.PublicKey(poolConfig.sFlpTokenMint), new web3_js_1.PublicKey(poolConfig.flpTokenAccount), poolConfig.lpDecimals, poolConfig.lpTokenSymbol, poolConfig.stakedLpTokenSymbol, new web3_js_1.PublicKey(poolConfig.perpetuals), new web3_js_1.PublicKey(poolConfig.transferAuthority), new web3_js_1.PublicKey(poolConfig.multisig), addressLookupTableAddresses, new web3_js_1.PublicKey(poolConfig.backupOracle), new web3_js_1.PublicKey(poolConfig.nftCollectionAddress), {
|
168
169
|
programId: new web3_js_1.PublicKey(poolConfig.rewardDistributionProgram.programId),
|
169
170
|
rewardMint: new web3_js_1.PublicKey(poolConfig.rewardDistributionProgram.rewardMint),
|
170
171
|
rewardTokenAccount: new web3_js_1.PublicKey(poolConfig.rewardDistributionProgram.rewardTokenAccount),
|
package/dist/PoolConfig.json
CHANGED
@@ -19,6 +19,7 @@
|
|
19
19
|
"metadataAccount": "H9kfgaiHv8LnQUBWVoM8x69bidG2d16uWPDbMS3JCP5c",
|
20
20
|
"lpDecimals": 6,
|
21
21
|
"lpTokenSymbol": "FLP.1",
|
22
|
+
"stakedLpTokenSymbol": "sFLP.1",
|
22
23
|
"perpetuals": "7DWCtB5Z8rPiyBMKUwqyC95R9tJpbhoQhLM9LbK3Z5QZ",
|
23
24
|
"transferAuthority": "81xGAvJ27ZeRThU2JEfKAUeT4Fx6qCCd8WHZpujZbiiG",
|
24
25
|
"multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
|
@@ -251,6 +252,7 @@
|
|
251
252
|
"metadataAccount": "HD5cfUWyMw8J1CaRENKw8zruY9DMJDWni5iejg4onY7G",
|
252
253
|
"lpDecimals": 6,
|
253
254
|
"lpTokenSymbol": "FLP.2",
|
255
|
+
"stakedLpTokenSymbol": "sFLP.2",
|
254
256
|
"perpetuals": "7DWCtB5Z8rPiyBMKUwqyC95R9tJpbhoQhLM9LbK3Z5QZ",
|
255
257
|
"transferAuthority": "81xGAvJ27ZeRThU2JEfKAUeT4Fx6qCCd8WHZpujZbiiG",
|
256
258
|
"multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
|
@@ -578,6 +580,7 @@
|
|
578
580
|
"metadataAccount": "G86ybpQVnnQUBPPPHNT9jERuSPJ9HFEo5PDcSaMQhRMX",
|
579
581
|
"lpDecimals": 6,
|
580
582
|
"lpTokenSymbol": "FLP.3",
|
583
|
+
"stakedLpTokenSymbol": "sFLP.3",
|
581
584
|
"perpetuals": "7DWCtB5Z8rPiyBMKUwqyC95R9tJpbhoQhLM9LbK3Z5QZ",
|
582
585
|
"transferAuthority": "81xGAvJ27ZeRThU2JEfKAUeT4Fx6qCCd8WHZpujZbiiG",
|
583
586
|
"multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
|
@@ -958,6 +961,7 @@
|
|
958
961
|
"metadataAccount": "8HPm3sNXqFxNkEDYBMwX1BnXxxfn4XY6Jt5b8ikv6m7b",
|
959
962
|
"lpDecimals": 6,
|
960
963
|
"lpTokenSymbol": "FLP.4",
|
964
|
+
"stakedLpTokenSymbol": "sFLP.4",
|
961
965
|
"perpetuals": "7DWCtB5Z8rPiyBMKUwqyC95R9tJpbhoQhLM9LbK3Z5QZ",
|
962
966
|
"transferAuthority": "81xGAvJ27ZeRThU2JEfKAUeT4Fx6qCCd8WHZpujZbiiG",
|
963
967
|
"multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
|
@@ -1073,6 +1077,7 @@
|
|
1073
1077
|
"metadataAccount": "BR4ZZ8wkomYSbiap9jDfTPCBT348eciPWBnLHUXKu5rL",
|
1074
1078
|
"lpDecimals": 6,
|
1075
1079
|
"lpTokenSymbol": "FLP.5",
|
1080
|
+
"stakedLpTokenSymbol": "sFLP.5",
|
1076
1081
|
"perpetuals": "7DWCtB5Z8rPiyBMKUwqyC95R9tJpbhoQhLM9LbK3Z5QZ",
|
1077
1082
|
"transferAuthority": "81xGAvJ27ZeRThU2JEfKAUeT4Fx6qCCd8WHZpujZbiiG",
|
1078
1083
|
"multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
|
@@ -1183,11 +1188,12 @@
|
|
1183
1188
|
"poolName": "devnet.1",
|
1184
1189
|
"poolAddress": "7jA4ZSGwaBxXk5EmPKDCSc5RtZNHxyoxy22iQt3D2mH9",
|
1185
1190
|
"lpTokenMint": "H4h7nsZaz53KZHMdSXc5byBjcbymEFYX6an8UVbh51yU",
|
1186
|
-
"sFlpTokenMint": "
|
1191
|
+
"sFlpTokenMint": "AJPPBo7PqA1uLoVLVRX4UPdzVsb4S2Qvw8V1XiyCTiLA",
|
1187
1192
|
"flpTokenAccount": "5saGiRTc9iszokguCfPs7vtgmhsCpqYLfbRgemvsxM4T",
|
1188
1193
|
"metadataAccount": "7NvA4CEqr9Tei1MDDKrbYFKV5D39fkPPEfRv5Z5ZXZEb",
|
1189
1194
|
"lpDecimals": 6,
|
1190
1195
|
"lpTokenSymbol": "FLP.1",
|
1196
|
+
"stakedLpTokenSymbol": "sFLP.1",
|
1191
1197
|
"perpetuals": "445GcRLAJ64DcxSRbvQTkbwXgWUyubAxzQUQ2wL73KLS",
|
1192
1198
|
"transferAuthority": "EPyHAAHUYnFATwd8CJ7owLnozFeS8pFsr3RNJD1eueYq",
|
1193
1199
|
"multisig": "Eu3cBFRo18AeN9BFb5ndzk2PEmBT7yWEhh3VkG21pyGo",
|
@@ -1415,11 +1421,12 @@
|
|
1415
1421
|
"poolName": "devnet.2",
|
1416
1422
|
"poolAddress": "5MCtcNsF3dxna8ArzMamyciWDV3TBkiAzY1NqLtNiXvw",
|
1417
1423
|
"lpTokenMint": "CEBnqSukYQjcRiKiZKmkbJSDYojtc4GdSipKJ5bSYvHd",
|
1418
|
-
"sFlpTokenMint": "
|
1424
|
+
"sFlpTokenMint": "C6UBsabfTL8dCygt53jf4gf6KdwPBRKXihquJyy6RJUe",
|
1419
1425
|
"flpTokenAccount": "CEBnqSukYQjcRiKiZKmkbJSDYojtc4GdSipKJ5bSYvHd",
|
1420
1426
|
"metadataAccount": "CeUy9d6CGyj4mL3JVhYKK2A462yjpb4FGyWUyA7zDoWi",
|
1421
1427
|
"lpDecimals": 6,
|
1422
1428
|
"lpTokenSymbol": "FLP.2",
|
1429
|
+
"stakedLpTokenSymbol": "sFLP.2",
|
1423
1430
|
"perpetuals": "445GcRLAJ64DcxSRbvQTkbwXgWUyubAxzQUQ2wL73KLS",
|
1424
1431
|
"transferAuthority": "EPyHAAHUYnFATwd8CJ7owLnozFeS8pFsr3RNJD1eueYq",
|
1425
1432
|
"multisig": "Eu3cBFRo18AeN9BFb5ndzk2PEmBT7yWEhh3VkG21pyGo",
|
@@ -1742,11 +1749,12 @@
|
|
1742
1749
|
"poolName": "devnet.3",
|
1743
1750
|
"poolAddress": "FpRXePeSYyPZrBKrCSvLNSQGYT6gkgZXGDCBWVVRkNRT",
|
1744
1751
|
"lpTokenMint": "BAh7XbUKRFYtt5a9FjJqeyUqqrx3SZqayiPosYiZFneJ",
|
1745
|
-
"sFlpTokenMint": "
|
1752
|
+
"sFlpTokenMint": "CU1z35oJ56ZFq1jgsaKPzbWT72BPKQ2UBDP35Lm1uo9C",
|
1746
1753
|
"flpTokenAccount": "5HYrb2rKjF2b2ye5EiZAYeBYNeNEUzCct3N2rBmVjzLu",
|
1747
1754
|
"metadataAccount": "Hm6oanS5hrcu3QMC4jumKq2U5aUaJrfasE1sQ2Lct3zF",
|
1748
1755
|
"lpDecimals": 6,
|
1749
1756
|
"lpTokenSymbol": "FLP.3",
|
1757
|
+
"stakedLpTokenSymbol": "sFLP.3",
|
1750
1758
|
"perpetuals": "445GcRLAJ64DcxSRbvQTkbwXgWUyubAxzQUQ2wL73KLS",
|
1751
1759
|
"transferAuthority": "EPyHAAHUYnFATwd8CJ7owLnozFeS8pFsr3RNJD1eueYq",
|
1752
1760
|
"multisig": "Eu3cBFRo18AeN9BFb5ndzk2PEmBT7yWEhh3VkG21pyGo",
|
@@ -2122,11 +2130,12 @@
|
|
2122
2130
|
"poolName": "devnet.4",
|
2123
2131
|
"poolAddress": "2SLfjsonPtdBugZke3UJzQ8s7DcHQHJxqUuVN1wrthnc",
|
2124
2132
|
"lpTokenMint": "58YkJCFQZ3htRUtkHMdUZNfdpEcjGTFi1jx3DceZvd6N",
|
2125
|
-
"sFlpTokenMint": "
|
2133
|
+
"sFlpTokenMint": "82Jj9HJbrz4w2ZeFaGpco76sR6BmQLYYgoSkAeyHqAgj",
|
2126
2134
|
"flpTokenAccount": "5HYrb2rKjF2b2ye5EiZAYeBYNeNEUzCct3N2rBmVjzLu",
|
2127
2135
|
"metadataAccount": "Hm6oanS5hrcu3QMC4jumKq2U5aUaJrfasE1sQ2Lct3zF",
|
2128
2136
|
"lpDecimals": 6,
|
2129
2137
|
"lpTokenSymbol": "FLP.4",
|
2138
|
+
"stakedLpTokenSymbol": "sFLP.4",
|
2130
2139
|
"perpetuals": "445GcRLAJ64DcxSRbvQTkbwXgWUyubAxzQUQ2wL73KLS",
|
2131
2140
|
"transferAuthority": "EPyHAAHUYnFATwd8CJ7owLnozFeS8pFsr3RNJD1eueYq",
|
2132
2141
|
"multisig": "Eu3cBFRo18AeN9BFb5ndzk2PEmBT7yWEhh3VkG21pyGo",
|
@@ -2237,11 +2246,12 @@
|
|
2237
2246
|
"poolName": "devnet.5",
|
2238
2247
|
"poolAddress": "74MmsAH8H4S95KbBgWA4XP4vHcxe7jxEopjUkMabQUa",
|
2239
2248
|
"lpTokenMint": "FBZ3eWtCmwkEnEMQ1t7dStRV5Xb5B41xfwWNsBmSUxFT",
|
2240
|
-
"sFlpTokenMint": "
|
2249
|
+
"sFlpTokenMint": "A2aKhBQiNTTZmXrR1bUoRwMCGuDtaQ8Hi8uesozqoc3x",
|
2241
2250
|
"flpTokenAccount": "11111111111111111111111111111111",
|
2242
2251
|
"metadataAccount": "5J42aH92z42HaUzSHoaA4iCCBE1iUsVt2u5oaYdN5yPx",
|
2243
2252
|
"lpDecimals": 6,
|
2244
2253
|
"lpTokenSymbol": "FLP.5",
|
2254
|
+
"stakedLpTokenSymbol": "sFLP.5",
|
2245
2255
|
"perpetuals": "445GcRLAJ64DcxSRbvQTkbwXgWUyubAxzQUQ2wL73KLS",
|
2246
2256
|
"transferAuthority": "EPyHAAHUYnFATwd8CJ7owLnozFeS8pFsr3RNJD1eueYq",
|
2247
2257
|
"multisig": "Eu3cBFRo18AeN9BFb5ndzk2PEmBT7yWEhh3VkG21pyGo",
|
@@ -624,6 +624,114 @@ export type PerpComposability = {
|
|
624
624
|
}
|
625
625
|
];
|
626
626
|
"args": [];
|
627
|
+
},
|
628
|
+
{
|
629
|
+
"name": "addLiquidityAndStake";
|
630
|
+
"accounts": [
|
631
|
+
{
|
632
|
+
"name": "perpProgram";
|
633
|
+
"isMut": false;
|
634
|
+
"isSigner": false;
|
635
|
+
},
|
636
|
+
{
|
637
|
+
"name": "owner";
|
638
|
+
"isMut": false;
|
639
|
+
"isSigner": true;
|
640
|
+
},
|
641
|
+
{
|
642
|
+
"name": "feePayer";
|
643
|
+
"isMut": true;
|
644
|
+
"isSigner": true;
|
645
|
+
},
|
646
|
+
{
|
647
|
+
"name": "fundingAccount";
|
648
|
+
"isMut": true;
|
649
|
+
"isSigner": false;
|
650
|
+
},
|
651
|
+
{
|
652
|
+
"name": "lpTokenAccount";
|
653
|
+
"isMut": true;
|
654
|
+
"isSigner": false;
|
655
|
+
},
|
656
|
+
{
|
657
|
+
"name": "transferAuthority";
|
658
|
+
"isMut": false;
|
659
|
+
"isSigner": false;
|
660
|
+
},
|
661
|
+
{
|
662
|
+
"name": "perpetuals";
|
663
|
+
"isMut": false;
|
664
|
+
"isSigner": false;
|
665
|
+
},
|
666
|
+
{
|
667
|
+
"name": "pool";
|
668
|
+
"isMut": true;
|
669
|
+
"isSigner": false;
|
670
|
+
},
|
671
|
+
{
|
672
|
+
"name": "custody";
|
673
|
+
"isMut": true;
|
674
|
+
"isSigner": false;
|
675
|
+
},
|
676
|
+
{
|
677
|
+
"name": "custodyOracleAccount";
|
678
|
+
"isMut": false;
|
679
|
+
"isSigner": false;
|
680
|
+
},
|
681
|
+
{
|
682
|
+
"name": "custodyTokenAccount";
|
683
|
+
"isMut": true;
|
684
|
+
"isSigner": false;
|
685
|
+
},
|
686
|
+
{
|
687
|
+
"name": "lpTokenMint";
|
688
|
+
"isMut": true;
|
689
|
+
"isSigner": false;
|
690
|
+
},
|
691
|
+
{
|
692
|
+
"name": "flpStakeAccount";
|
693
|
+
"isMut": true;
|
694
|
+
"isSigner": false;
|
695
|
+
},
|
696
|
+
{
|
697
|
+
"name": "poolStakedFlpVault";
|
698
|
+
"isMut": true;
|
699
|
+
"isSigner": false;
|
700
|
+
},
|
701
|
+
{
|
702
|
+
"name": "systemProgram";
|
703
|
+
"isMut": false;
|
704
|
+
"isSigner": false;
|
705
|
+
},
|
706
|
+
{
|
707
|
+
"name": "tokenProgram";
|
708
|
+
"isMut": false;
|
709
|
+
"isSigner": false;
|
710
|
+
},
|
711
|
+
{
|
712
|
+
"name": "eventAuthority";
|
713
|
+
"isMut": false;
|
714
|
+
"isSigner": false;
|
715
|
+
},
|
716
|
+
{
|
717
|
+
"name": "program";
|
718
|
+
"isMut": false;
|
719
|
+
"isSigner": false;
|
720
|
+
},
|
721
|
+
{
|
722
|
+
"name": "ixSysvar";
|
723
|
+
"isMut": false;
|
724
|
+
"isSigner": false;
|
725
|
+
}
|
726
|
+
];
|
727
|
+
"args": [
|
728
|
+
{
|
729
|
+
"name": "params";
|
730
|
+
"type": {
|
731
|
+
"defined": "AddLiquidityAndStakeParams";
|
732
|
+
};
|
733
|
+
}
|
734
|
+
];
|
627
735
|
}
|
628
736
|
];
|
629
737
|
"types": [
|
@@ -738,6 +846,22 @@ export type PerpComposability = {
|
|
738
846
|
"fields": [];
|
739
847
|
};
|
740
848
|
},
|
849
|
+
{
|
850
|
+
"name": "AddLiquidityAndStakeParams";
|
851
|
+
"type": {
|
852
|
+
"kind": "struct";
|
853
|
+
"fields": [
|
854
|
+
{
|
855
|
+
"name": "amountIn";
|
856
|
+
"type": "u64";
|
857
|
+
},
|
858
|
+
{
|
859
|
+
"name": "minLpAmountOut";
|
860
|
+
"type": "u64";
|
861
|
+
}
|
862
|
+
];
|
863
|
+
};
|
864
|
+
},
|
741
865
|
{
|
742
866
|
"name": "Privilege";
|
743
867
|
"type": {
|
@@ -627,6 +627,114 @@ exports.IDL = {
|
|
627
627
|
}
|
628
628
|
],
|
629
629
|
"args": []
|
630
|
+
},
|
631
|
+
{
|
632
|
+
"name": "addLiquidityAndStake",
|
633
|
+
"accounts": [
|
634
|
+
{
|
635
|
+
"name": "perpProgram",
|
636
|
+
"isMut": false,
|
637
|
+
"isSigner": false
|
638
|
+
},
|
639
|
+
{
|
640
|
+
"name": "owner",
|
641
|
+
"isMut": false,
|
642
|
+
"isSigner": true
|
643
|
+
},
|
644
|
+
{
|
645
|
+
"name": "feePayer",
|
646
|
+
"isMut": true,
|
647
|
+
"isSigner": true
|
648
|
+
},
|
649
|
+
{
|
650
|
+
"name": "fundingAccount",
|
651
|
+
"isMut": true,
|
652
|
+
"isSigner": false
|
653
|
+
},
|
654
|
+
{
|
655
|
+
"name": "lpTokenAccount",
|
656
|
+
"isMut": true,
|
657
|
+
"isSigner": false
|
658
|
+
},
|
659
|
+
{
|
660
|
+
"name": "transferAuthority",
|
661
|
+
"isMut": false,
|
662
|
+
"isSigner": false
|
663
|
+
},
|
664
|
+
{
|
665
|
+
"name": "perpetuals",
|
666
|
+
"isMut": false,
|
667
|
+
"isSigner": false
|
668
|
+
},
|
669
|
+
{
|
670
|
+
"name": "pool",
|
671
|
+
"isMut": true,
|
672
|
+
"isSigner": false
|
673
|
+
},
|
674
|
+
{
|
675
|
+
"name": "custody",
|
676
|
+
"isMut": true,
|
677
|
+
"isSigner": false
|
678
|
+
},
|
679
|
+
{
|
680
|
+
"name": "custodyOracleAccount",
|
681
|
+
"isMut": false,
|
682
|
+
"isSigner": false
|
683
|
+
},
|
684
|
+
{
|
685
|
+
"name": "custodyTokenAccount",
|
686
|
+
"isMut": true,
|
687
|
+
"isSigner": false
|
688
|
+
},
|
689
|
+
{
|
690
|
+
"name": "lpTokenMint",
|
691
|
+
"isMut": true,
|
692
|
+
"isSigner": false
|
693
|
+
},
|
694
|
+
{
|
695
|
+
"name": "flpStakeAccount",
|
696
|
+
"isMut": true,
|
697
|
+
"isSigner": false
|
698
|
+
},
|
699
|
+
{
|
700
|
+
"name": "poolStakedFlpVault",
|
701
|
+
"isMut": true,
|
702
|
+
"isSigner": false
|
703
|
+
},
|
704
|
+
{
|
705
|
+
"name": "systemProgram",
|
706
|
+
"isMut": false,
|
707
|
+
"isSigner": false
|
708
|
+
},
|
709
|
+
{
|
710
|
+
"name": "tokenProgram",
|
711
|
+
"isMut": false,
|
712
|
+
"isSigner": false
|
713
|
+
},
|
714
|
+
{
|
715
|
+
"name": "eventAuthority",
|
716
|
+
"isMut": false,
|
717
|
+
"isSigner": false
|
718
|
+
},
|
719
|
+
{
|
720
|
+
"name": "program",
|
721
|
+
"isMut": false,
|
722
|
+
"isSigner": false
|
723
|
+
},
|
724
|
+
{
|
725
|
+
"name": "ixSysvar",
|
726
|
+
"isMut": false,
|
727
|
+
"isSigner": false
|
728
|
+
}
|
729
|
+
],
|
730
|
+
"args": [
|
731
|
+
{
|
732
|
+
"name": "params",
|
733
|
+
"type": {
|
734
|
+
"defined": "AddLiquidityAndStakeParams"
|
735
|
+
}
|
736
|
+
}
|
737
|
+
]
|
630
738
|
}
|
631
739
|
],
|
632
740
|
"types": [
|
@@ -741,6 +849,22 @@ exports.IDL = {
|
|
741
849
|
"fields": []
|
742
850
|
}
|
743
851
|
},
|
852
|
+
{
|
853
|
+
"name": "AddLiquidityAndStakeParams",
|
854
|
+
"type": {
|
855
|
+
"kind": "struct",
|
856
|
+
"fields": [
|
857
|
+
{
|
858
|
+
"name": "amountIn",
|
859
|
+
"type": "u64"
|
860
|
+
},
|
861
|
+
{
|
862
|
+
"name": "minLpAmountOut",
|
863
|
+
"type": "u64"
|
864
|
+
}
|
865
|
+
]
|
866
|
+
}
|
867
|
+
},
|
744
868
|
{
|
745
869
|
"name": "Privilege",
|
746
870
|
"type": {
|