flash-sdk 2.15.3 → 2.15.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PerpetualsClient.d.ts +1 -1
- package/dist/PerpetualsClient.js +347 -416
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/PerpetualsClient.js
CHANGED
@@ -2227,7 +2227,7 @@ var PerpetualsClient = (function () {
|
|
2227
2227
|
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
2228
2228
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
2229
2229
|
return __awaiter(_this, void 0, void 0, function () {
|
2230
|
-
var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userCollateralTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners,
|
2230
|
+
var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userCollateralTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, positionAccount, params, instruction;
|
2231
2231
|
return __generator(this, function (_c) {
|
2232
2232
|
switch (_c.label) {
|
2233
2233
|
case 0:
|
@@ -2244,18 +2244,17 @@ var PerpetualsClient = (function () {
|
|
2244
2244
|
additionalSigners = [];
|
2245
2245
|
if (!(collateralSymbol == 'SOL')) return [3, 4];
|
2246
2246
|
console.log("collateralSymbol === SOL", collateralSymbol);
|
2247
|
-
|
2248
|
-
|
2249
|
-
accCreationLamports = (_c.sent());
|
2250
|
-
console.log("accCreationLamports:", accCreationLamports);
|
2251
|
-
lamports = collateralWithfee.add(new anchor_1.BN(accCreationLamports));
|
2247
|
+
lamports = collateralWithfee.add(new anchor_1.BN(1e7));
|
2248
|
+
if (!!skipBalanceChecks) return [3, 3];
|
2252
2249
|
_a = anchor_1.BN.bind;
|
2253
2250
|
return [4, this.provider.connection.getBalance(publicKey)];
|
2254
|
-
case
|
2251
|
+
case 2:
|
2255
2252
|
unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _c.sent()]))();
|
2256
2253
|
if (unWrappedSolBalance.lt(lamports)) {
|
2257
2254
|
throw "Insufficient SOL Funds";
|
2258
2255
|
}
|
2256
|
+
_c.label = 3;
|
2257
|
+
case 3:
|
2259
2258
|
if (!ephemeralSignerPubkey) {
|
2260
2259
|
wrappedSolAccount = new web3_js_1.Keypair();
|
2261
2260
|
additionalSigners.push(wrappedSolAccount);
|
@@ -2274,12 +2273,13 @@ var PerpetualsClient = (function () {
|
|
2274
2273
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
2275
2274
|
];
|
2276
2275
|
return [3, 7];
|
2277
|
-
case 4:
|
2276
|
+
case 4:
|
2277
|
+
if (!!skipBalanceChecks) return [3, 7];
|
2278
|
+
return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
|
2278
2279
|
case 5:
|
2279
2280
|
if (!(_c.sent())) {
|
2280
2281
|
throw "Insufficient Funds , token Account doesn't exist";
|
2281
2282
|
}
|
2282
|
-
if (!!skipBalanceChecks) return [3, 7];
|
2283
2283
|
_b = anchor_1.BN.bind;
|
2284
2284
|
return [4, this.provider.connection.getTokenAccountBalance(userCollateralTokenAccount)];
|
2285
2285
|
case 6:
|
@@ -2338,7 +2338,7 @@ var PerpetualsClient = (function () {
|
|
2338
2338
|
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
2339
2339
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
2340
2340
|
return __awaiter(_this, void 0, void 0, function () {
|
2341
|
-
var publicKey, targetCustodyConfig, collateralCustodyConfig, swapOutCustodyConfig, swapInCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount,
|
2341
|
+
var publicKey, targetCustodyConfig, collateralCustodyConfig, swapOutCustodyConfig, swapInCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, userOutputTokenAccount, marketAccount, positionAccount, custodyAccountMetas, custodyOracleAccountMetas, _i, _c, custody, instruction;
|
2342
2342
|
return __generator(this, function (_d) {
|
2343
2343
|
switch (_d.label) {
|
2344
2344
|
case 0:
|
@@ -2356,18 +2356,17 @@ var PerpetualsClient = (function () {
|
|
2356
2356
|
additionalSigners = [];
|
2357
2357
|
if (!(inputSymbol == 'SOL')) return [3, 3];
|
2358
2358
|
console.log("inputSymbol === SOL", inputSymbol);
|
2359
|
-
|
2360
|
-
|
2361
|
-
accCreationLamports = (_d.sent());
|
2362
|
-
console.log("accCreationLamports:", accCreationLamports);
|
2363
|
-
lamports = amountIn.add(new anchor_1.BN(accCreationLamports));
|
2359
|
+
lamports = amountIn.add(new anchor_1.BN(1e7));
|
2360
|
+
if (!!skipBalanceChecks) return [3, 2];
|
2364
2361
|
_a = anchor_1.BN.bind;
|
2365
2362
|
return [4, this.provider.connection.getBalance(publicKey)];
|
2366
|
-
case
|
2363
|
+
case 1:
|
2367
2364
|
unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _d.sent()]))();
|
2368
2365
|
if (unWrappedSolBalance.lt(lamports)) {
|
2369
2366
|
throw "Insufficient SOL Funds";
|
2370
2367
|
}
|
2368
|
+
_d.label = 2;
|
2369
|
+
case 2:
|
2371
2370
|
if (!ephemeralSignerPubkey) {
|
2372
2371
|
wrappedSolAccount = new web3_js_1.Keypair();
|
2373
2372
|
additionalSigners.push(wrappedSolAccount);
|
@@ -2388,12 +2387,12 @@ var PerpetualsClient = (function () {
|
|
2388
2387
|
return [3, 6];
|
2389
2388
|
case 3:
|
2390
2389
|
userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(swapPoolConfig.getTokenFromSymbol(inputSymbol).mintKey, publicKey, true);
|
2390
|
+
if (!!skipBalanceChecks) return [3, 6];
|
2391
2391
|
return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
|
2392
2392
|
case 4:
|
2393
2393
|
if (!(_d.sent())) {
|
2394
2394
|
throw "Insufficient Funds , Token Account doesn't exist";
|
2395
2395
|
}
|
2396
|
-
if (!!skipBalanceChecks) return [3, 6];
|
2397
2396
|
_b = anchor_1.BN.bind;
|
2398
2397
|
return [4, this.provider.connection.getTokenAccountBalance(userInputTokenAccount)];
|
2399
2398
|
case 5:
|
@@ -2410,7 +2409,6 @@ var PerpetualsClient = (function () {
|
|
2410
2409
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userOutputTokenAccount, publicKey, swapPoolConfig.getTokenFromSymbol(swapOutCustodyConfig.symbol).mintKey));
|
2411
2410
|
}
|
2412
2411
|
marketAccount = positionPoolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
|
2413
|
-
console.log('marketAccount :>> ', marketAccount.toBase58(), targetCustodyConfig.custodyAccount.toBase58(), collateralCustodyConfig.custodyAccount.toBase58());
|
2414
2412
|
positionAccount = positionPoolConfig.getPositionFromMarketPk(publicKey, marketAccount);
|
2415
2413
|
custodyAccountMetas = [];
|
2416
2414
|
custodyOracleAccountMetas = [];
|
@@ -2495,11 +2493,9 @@ var PerpetualsClient = (function () {
|
|
2495
2493
|
additionalSigners = [];
|
2496
2494
|
_b.label = 1;
|
2497
2495
|
case 1:
|
2498
|
-
_b.trys.push([1,
|
2499
|
-
if (!(collateralSymbol == 'SOL')) return [3,
|
2500
|
-
|
2501
|
-
case 2:
|
2502
|
-
lamports = (_b.sent());
|
2496
|
+
_b.trys.push([1, 7, , 8]);
|
2497
|
+
if (!(collateralSymbol == 'SOL')) return [3, 2];
|
2498
|
+
lamports = (1e7);
|
2503
2499
|
if (!ephemeralSignerPubkey) {
|
2504
2500
|
wrappedSolAccount = new web3_js_1.Keypair();
|
2505
2501
|
additionalSigners.push(wrappedSolAccount);
|
@@ -2517,22 +2513,21 @@ var PerpetualsClient = (function () {
|
|
2517
2513
|
postInstructions = [
|
2518
2514
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
2519
2515
|
];
|
2520
|
-
return [3,
|
2521
|
-
case
|
2522
|
-
|
2523
|
-
userReceivingTokenAccount = _b.sent();
|
2516
|
+
return [3, 5];
|
2517
|
+
case 2:
|
2518
|
+
userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
|
2524
2519
|
_a = createUserATA;
|
2525
|
-
if (!_a) return [3,
|
2520
|
+
if (!_a) return [3, 4];
|
2526
2521
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
2527
|
-
case
|
2522
|
+
case 3:
|
2528
2523
|
_a = !(_b.sent());
|
2529
|
-
_b.label =
|
2530
|
-
case
|
2524
|
+
_b.label = 4;
|
2525
|
+
case 4:
|
2531
2526
|
if (_a) {
|
2532
2527
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
|
2533
2528
|
}
|
2534
|
-
_b.label =
|
2535
|
-
case
|
2529
|
+
_b.label = 5;
|
2530
|
+
case 5:
|
2536
2531
|
collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
|
2537
2532
|
targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(marketSymbol).mintKey); });
|
2538
2533
|
marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
|
@@ -2563,19 +2558,19 @@ var PerpetualsClient = (function () {
|
|
2563
2558
|
})
|
2564
2559
|
.remainingAccounts(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true))
|
2565
2560
|
.instruction()];
|
2566
|
-
case
|
2561
|
+
case 6:
|
2567
2562
|
instruction = _b.sent();
|
2568
2563
|
instructions.push(instruction);
|
2569
2564
|
if (collateralSymbol == 'WSOL' && closeUsersWSOLATA) {
|
2570
2565
|
closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userReceivingTokenAccount, publicKey, publicKey);
|
2571
2566
|
postInstructions.push(closeWsolATAIns);
|
2572
2567
|
}
|
2573
|
-
return [3,
|
2574
|
-
case
|
2568
|
+
return [3, 8];
|
2569
|
+
case 7:
|
2575
2570
|
error_2 = _b.sent();
|
2576
2571
|
console.error("perpclient closePosition error:", error_2);
|
2577
|
-
return [3,
|
2578
|
-
case
|
2572
|
+
return [3, 8];
|
2573
|
+
case 8: return [2, {
|
2579
2574
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
2580
2575
|
additionalSigners: additionalSigners
|
2581
2576
|
}];
|
@@ -2605,11 +2600,9 @@ var PerpetualsClient = (function () {
|
|
2605
2600
|
instructions = [];
|
2606
2601
|
postInstructions = [];
|
2607
2602
|
additionalSigners = [];
|
2608
|
-
if (!(outputSymbol == 'SOL')) return [3,
|
2603
|
+
if (!(outputSymbol == 'SOL')) return [3, 1];
|
2609
2604
|
console.log("outputSymbol === SOL", outputSymbol);
|
2610
|
-
|
2611
|
-
case 1:
|
2612
|
-
lamports = (_b.sent());
|
2605
|
+
lamports = (1e7);
|
2613
2606
|
if (!ephemeralSignerPubkey) {
|
2614
2607
|
wrappedSolAccount = new web3_js_1.Keypair();
|
2615
2608
|
additionalSigners.push(wrappedSolAccount);
|
@@ -2628,20 +2621,20 @@ var PerpetualsClient = (function () {
|
|
2628
2621
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
2629
2622
|
];
|
2630
2623
|
additionalSigners.push(wrappedSolAccount);
|
2631
|
-
return [3,
|
2632
|
-
case
|
2633
|
-
case
|
2624
|
+
return [3, 4];
|
2625
|
+
case 1: return [4, (0, spl_token_1.getAssociatedTokenAddress)(swapPoolConfig.getTokenFromSymbol(outputSymbol).mintKey, publicKey, true)];
|
2626
|
+
case 2:
|
2634
2627
|
userReceivingTokenAccount = _b.sent();
|
2635
2628
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
2636
|
-
case
|
2629
|
+
case 3:
|
2637
2630
|
if (!(_b.sent())) {
|
2638
2631
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, swapPoolConfig.getTokenFromSymbol(outputSymbol).mintKey));
|
2639
2632
|
}
|
2640
|
-
_b.label =
|
2641
|
-
case
|
2633
|
+
_b.label = 4;
|
2634
|
+
case 4:
|
2642
2635
|
userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(positionPoolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
|
2643
2636
|
return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
|
2644
|
-
case
|
2637
|
+
case 5:
|
2645
2638
|
if (!(_b.sent())) {
|
2646
2639
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userCollateralTokenAccount, publicKey, positionPoolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
|
2647
2640
|
}
|
@@ -2696,7 +2689,7 @@ var PerpetualsClient = (function () {
|
|
2696
2689
|
})
|
2697
2690
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true), custodyAccountMetas, true), custodyOracleAccountMetas, true))
|
2698
2691
|
.instruction()];
|
2699
|
-
case
|
2692
|
+
case 6:
|
2700
2693
|
instruction = _b.sent();
|
2701
2694
|
instructions.push(instruction);
|
2702
2695
|
return [2, {
|
@@ -2731,7 +2724,7 @@ var PerpetualsClient = (function () {
|
|
2731
2724
|
instructions = [];
|
2732
2725
|
postInstructions = [];
|
2733
2726
|
additionalSigners = [];
|
2734
|
-
if (!(userInputTokenSymbol == 'SOL' && userOutputTokenSymbol == 'WSOL')) return [3,
|
2727
|
+
if (!(userInputTokenSymbol == 'SOL' && userOutputTokenSymbol == 'WSOL')) return [3, 5];
|
2735
2728
|
return [4, (0, spl_token_1.getAssociatedTokenAddress)(spl_token_1.NATIVE_MINT, publicKey, true)];
|
2736
2729
|
case 1:
|
2737
2730
|
wsolAssociatedTokenAccount = _f.sent();
|
@@ -2741,6 +2734,7 @@ var PerpetualsClient = (function () {
|
|
2741
2734
|
if (!wsolATAExist) {
|
2742
2735
|
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, wsolAssociatedTokenAccount, publicKey, spl_token_1.NATIVE_MINT));
|
2743
2736
|
}
|
2737
|
+
if (!!skipBalanceChecks) return [3, 4];
|
2744
2738
|
_a = anchor_1.BN.bind;
|
2745
2739
|
return [4, this.provider.connection.getBalance(publicKey)];
|
2746
2740
|
case 3:
|
@@ -2748,6 +2742,8 @@ var PerpetualsClient = (function () {
|
|
2748
2742
|
if (unWrappedSolBalance.lt(amountIn)) {
|
2749
2743
|
throw "Insufficient SOL Funds";
|
2750
2744
|
}
|
2745
|
+
_f.label = 4;
|
2746
|
+
case 4:
|
2751
2747
|
instructions.push(web3_js_1.SystemProgram.transfer({
|
2752
2748
|
fromPubkey: publicKey,
|
2753
2749
|
toPubkey: wsolAssociatedTokenAccount,
|
@@ -2757,20 +2753,20 @@ var PerpetualsClient = (function () {
|
|
2757
2753
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
2758
2754
|
additionalSigners: additionalSigners
|
2759
2755
|
}];
|
2760
|
-
case 4:
|
2761
|
-
if (!(userInputTokenSymbol == 'WSOL' && userOutputTokenSymbol == 'SOL')) return [3, 6];
|
2762
|
-
console.log("WSOL=> SOL : NOTE : ONLY WAY IS TO CLOSE THE WSOL ATA and GET ALL SOL ");
|
2763
|
-
return [4, (0, spl_token_1.getAssociatedTokenAddress)(spl_token_1.NATIVE_MINT, publicKey, true)];
|
2764
2756
|
case 5:
|
2765
|
-
|
2766
|
-
|
2767
|
-
|
2768
|
-
|
2769
|
-
|
2770
|
-
|
2771
|
-
|
2757
|
+
if (userInputTokenSymbol == 'WSOL' && userOutputTokenSymbol == 'SOL') {
|
2758
|
+
console.log("WSOL=> SOL : NOTE : ONLY WAY IS TO CLOSE THE WSOL ATA and GET ALL SOL ");
|
2759
|
+
wsolAssociatedTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(spl_token_1.NATIVE_MINT, publicKey, true);
|
2760
|
+
closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(wsolAssociatedTokenAccount, publicKey, publicKey);
|
2761
|
+
instructions.push(closeWsolATAIns);
|
2762
|
+
return [2, {
|
2763
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
2764
|
+
additionalSigners: additionalSigners
|
2765
|
+
}];
|
2766
|
+
}
|
2767
|
+
_f.label = 6;
|
2772
2768
|
case 6:
|
2773
|
-
_f.trys.push([6,
|
2769
|
+
_f.trys.push([6, 19, , 20]);
|
2774
2770
|
if (!(userInputTokenSymbol == 'SOL')) return [3, 9];
|
2775
2771
|
console.log("userInputTokenSymbol === sol", userInputTokenSymbol);
|
2776
2772
|
return [4, (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(this.provider.connection)];
|
@@ -2803,29 +2799,26 @@ var PerpetualsClient = (function () {
|
|
2803
2799
|
postInstructions = [
|
2804
2800
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
2805
2801
|
];
|
2806
|
-
return [3,
|
2807
|
-
case 9:
|
2808
|
-
|
2809
|
-
userInputTokenAccount = _f.sent();
|
2802
|
+
return [3, 12];
|
2803
|
+
case 9:
|
2804
|
+
userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(userInputTokenSymbol).mintKey, publicKey, true);
|
2810
2805
|
return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
|
2811
|
-
case
|
2806
|
+
case 10:
|
2812
2807
|
if (!(_f.sent())) {
|
2813
2808
|
throw "Insufficient Funds , Token Account doesn't exist";
|
2814
2809
|
}
|
2815
|
-
if (!!skipBalanceChecks) return [3,
|
2810
|
+
if (!!skipBalanceChecks) return [3, 12];
|
2816
2811
|
_c = anchor_1.BN.bind;
|
2817
2812
|
return [4, this.provider.connection.getTokenAccountBalance(userInputTokenAccount)];
|
2818
|
-
case
|
2813
|
+
case 11:
|
2819
2814
|
tokenAccountBalance = new (_c.apply(anchor_1.BN, [void 0, (_f.sent()).value.amount]))();
|
2820
2815
|
if (tokenAccountBalance.lt(amountIn)) {
|
2821
2816
|
throw "Insufficient Funds need more ".concat(amountIn.sub(tokenAccountBalance), " tokens");
|
2822
2817
|
}
|
2823
|
-
_f.label =
|
2824
|
-
case
|
2825
|
-
if (!(userOutputTokenSymbol == 'SOL')) return [3,
|
2826
|
-
|
2827
|
-
case 14:
|
2828
|
-
lamports = (_f.sent());
|
2818
|
+
_f.label = 12;
|
2819
|
+
case 12:
|
2820
|
+
if (!(userOutputTokenSymbol == 'SOL')) return [3, 13];
|
2821
|
+
lamports = (1e7);
|
2829
2822
|
if (!ephemeralSignerPubkey) {
|
2830
2823
|
wrappedSolAccount = new web3_js_1.Keypair();
|
2831
2824
|
additionalSigners.push(wrappedSolAccount);
|
@@ -2844,22 +2837,22 @@ var PerpetualsClient = (function () {
|
|
2844
2837
|
postInstructions = [
|
2845
2838
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
2846
2839
|
];
|
2847
|
-
return [3,
|
2848
|
-
case
|
2849
|
-
case
|
2840
|
+
return [3, 17];
|
2841
|
+
case 13: return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey, publicKey, true)];
|
2842
|
+
case 14:
|
2850
2843
|
userOutputTokenAccount = _f.sent();
|
2851
2844
|
_d = createUserATA;
|
2852
|
-
if (!_d) return [3,
|
2845
|
+
if (!_d) return [3, 16];
|
2853
2846
|
return [4, (0, utils_1.checkIfAccountExists)(userOutputTokenAccount, this.provider.connection)];
|
2854
|
-
case
|
2847
|
+
case 15:
|
2855
2848
|
_d = !(_f.sent());
|
2856
|
-
_f.label =
|
2857
|
-
case
|
2849
|
+
_f.label = 16;
|
2850
|
+
case 16:
|
2858
2851
|
if (_d) {
|
2859
2852
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userOutputTokenAccount, publicKey, poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey));
|
2860
2853
|
}
|
2861
|
-
_f.label =
|
2862
|
-
case
|
2854
|
+
_f.label = 17;
|
2855
|
+
case 17:
|
2863
2856
|
custodyAccountMetas = [];
|
2864
2857
|
custodyOracleAccountMetas = [];
|
2865
2858
|
for (_i = 0, _e = poolConfig.custodies; _i < _e.length; _i++) {
|
@@ -2902,19 +2895,19 @@ var PerpetualsClient = (function () {
|
|
2902
2895
|
})
|
2903
2896
|
.remainingAccounts(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true))
|
2904
2897
|
.instruction()];
|
2905
|
-
case
|
2898
|
+
case 18:
|
2906
2899
|
inx = _f.sent();
|
2907
2900
|
instructions.push(inx);
|
2908
2901
|
if (userOutputTokenSymbol == 'SOL' && unWrapSol) {
|
2909
2902
|
closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userOutputTokenAccount, publicKey, publicKey);
|
2910
2903
|
instructions.push(closeWsolATAIns);
|
2911
2904
|
}
|
2912
|
-
return [3,
|
2913
|
-
case
|
2905
|
+
return [3, 20];
|
2906
|
+
case 19:
|
2914
2907
|
err_2 = _f.sent();
|
2915
2908
|
console.error("perpClient Swap error:: ", err_2);
|
2916
2909
|
throw err_2;
|
2917
|
-
case
|
2910
|
+
case 20: return [2, {
|
2918
2911
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
2919
2912
|
additionalSigners: additionalSigners
|
2920
2913
|
}];
|
@@ -2997,7 +2990,7 @@ var PerpetualsClient = (function () {
|
|
2997
2990
|
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
2998
2991
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
2999
2992
|
return __awaiter(_this, void 0, void 0, function () {
|
3000
|
-
var publicKey, collateralCustodyConfig, targetCustodyConfig, marketAccount, userPayingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners,
|
2993
|
+
var publicKey, collateralCustodyConfig, targetCustodyConfig, marketAccount, userPayingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, instruction;
|
3001
2994
|
return __generator(this, function (_c) {
|
3002
2995
|
switch (_c.label) {
|
3003
2996
|
case 0:
|
@@ -3013,25 +3006,20 @@ var PerpetualsClient = (function () {
|
|
3013
3006
|
instructions = [];
|
3014
3007
|
postInstructions = [];
|
3015
3008
|
additionalSigners = [];
|
3016
|
-
if (!(collateralSymbol == 'SOL')) return [3,
|
3009
|
+
if (!(collateralSymbol == 'SOL')) return [3, 3];
|
3017
3010
|
console.log("collateralSymbol === SOL", collateralSymbol);
|
3018
|
-
|
3019
|
-
case 1:
|
3020
|
-
accCreationLamports = (_c.sent());
|
3021
|
-
console.log("accCreationLamports:", accCreationLamports);
|
3022
|
-
lamports = collateralWithFee.add(new anchor_1.BN(accCreationLamports));
|
3011
|
+
lamports = collateralWithFee.add(new anchor_1.BN(1e7));
|
3023
3012
|
console.log("lamports:", lamports.toNumber());
|
3013
|
+
if (!!skipBalanceChecks) return [3, 2];
|
3024
3014
|
_a = anchor_1.BN.bind;
|
3025
3015
|
return [4, this.provider.connection.getBalance(publicKey)];
|
3026
|
-
case
|
3016
|
+
case 1:
|
3027
3017
|
unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _c.sent()]))();
|
3028
3018
|
if (unWrappedSolBalance.lt(lamports)) {
|
3029
3019
|
throw "Insufficient SOL Funds";
|
3030
3020
|
}
|
3031
|
-
|
3032
|
-
case
|
3033
|
-
solBal = _c.sent();
|
3034
|
-
console.log("solBal>>:", solBal);
|
3021
|
+
_c.label = 2;
|
3022
|
+
case 2:
|
3035
3023
|
if (!ephemeralSignerPubkey) {
|
3036
3024
|
wrappedSolAccount = new web3_js_1.Keypair();
|
3037
3025
|
additionalSigners.push(wrappedSolAccount);
|
@@ -3049,22 +3037,23 @@ var PerpetualsClient = (function () {
|
|
3049
3037
|
postInstructions = [
|
3050
3038
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
3051
3039
|
];
|
3052
|
-
return [3,
|
3053
|
-
case
|
3054
|
-
|
3040
|
+
return [3, 6];
|
3041
|
+
case 3:
|
3042
|
+
if (!!skipBalanceChecks) return [3, 6];
|
3043
|
+
return [4, (0, utils_1.checkIfAccountExists)(userPayingTokenAccount, this.provider.connection)];
|
3044
|
+
case 4:
|
3055
3045
|
if (!(_c.sent())) {
|
3056
3046
|
throw "Insufficient Funds , token Account doesn't exist";
|
3057
3047
|
}
|
3058
|
-
if (!!skipBalanceChecks) return [3, 7];
|
3059
3048
|
_b = anchor_1.BN.bind;
|
3060
3049
|
return [4, this.provider.connection.getTokenAccountBalance(userPayingTokenAccount)];
|
3061
|
-
case
|
3050
|
+
case 5:
|
3062
3051
|
tokenAccountBalance = new (_b.apply(anchor_1.BN, [void 0, (_c.sent()).value.amount]))();
|
3063
3052
|
if (tokenAccountBalance.lt(collateralWithFee)) {
|
3064
3053
|
throw "Insufficient Funds need more ".concat(collateralWithFee.sub(tokenAccountBalance), " tokens");
|
3065
3054
|
}
|
3066
|
-
_c.label =
|
3067
|
-
case
|
3055
|
+
_c.label = 6;
|
3056
|
+
case 6: return [4, this.program.methods.addCollateral({
|
3068
3057
|
collateralDelta: collateralWithFee
|
3069
3058
|
}).accounts({
|
3070
3059
|
owner: publicKey,
|
@@ -3084,7 +3073,7 @@ var PerpetualsClient = (function () {
|
|
3084
3073
|
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
|
3085
3074
|
})
|
3086
3075
|
.instruction()];
|
3087
|
-
case
|
3076
|
+
case 7:
|
3088
3077
|
instruction = _c.sent();
|
3089
3078
|
instructions.push(instruction);
|
3090
3079
|
return [2, {
|
@@ -3099,7 +3088,7 @@ var PerpetualsClient = (function () {
|
|
3099
3088
|
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
3100
3089
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
3101
3090
|
return __awaiter(_this, void 0, void 0, function () {
|
3102
|
-
var publicKey, collateralCustodyConfig, targetCustodyConfig, outputCustodyConfig, inputCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount,
|
3091
|
+
var publicKey, collateralCustodyConfig, targetCustodyConfig, outputCustodyConfig, inputCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, userCollateralTokenAccount, custodyAccountMetas, custodyOracleAccountMetas, _i, _c, custody, marketAccount, instruction;
|
3103
3092
|
return __generator(this, function (_d) {
|
3104
3093
|
switch (_d.label) {
|
3105
3094
|
case 0:
|
@@ -3120,19 +3109,18 @@ var PerpetualsClient = (function () {
|
|
3120
3109
|
additionalSigners = [];
|
3121
3110
|
if (!(inputSymbol == 'SOL')) return [3, 3];
|
3122
3111
|
console.log("inputSymbol === SOL", inputSymbol);
|
3123
|
-
|
3124
|
-
case 1:
|
3125
|
-
accCreationLamports = (_d.sent());
|
3126
|
-
console.log("accCreationLamports:", accCreationLamports);
|
3127
|
-
lamports = amountIn.add(new anchor_1.BN(accCreationLamports));
|
3112
|
+
lamports = amountIn.add(new anchor_1.BN(1e7));
|
3128
3113
|
console.log("lamports:", lamports.toNumber());
|
3114
|
+
if (!!skipBalanceChecks) return [3, 2];
|
3129
3115
|
_a = anchor_1.BN.bind;
|
3130
3116
|
return [4, this.provider.connection.getBalance(publicKey)];
|
3131
|
-
case
|
3117
|
+
case 1:
|
3132
3118
|
unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _d.sent()]))();
|
3133
3119
|
if (unWrappedSolBalance.lt(lamports)) {
|
3134
3120
|
throw "Insufficient SOL Funds";
|
3135
3121
|
}
|
3122
|
+
_d.label = 2;
|
3123
|
+
case 2:
|
3136
3124
|
if (!ephemeralSignerPubkey) {
|
3137
3125
|
wrappedSolAccount = new web3_js_1.Keypair();
|
3138
3126
|
additionalSigners.push(wrappedSolAccount);
|
@@ -3153,12 +3141,12 @@ var PerpetualsClient = (function () {
|
|
3153
3141
|
return [3, 6];
|
3154
3142
|
case 3:
|
3155
3143
|
userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputCustodyConfig.mintKey, publicKey, true);
|
3144
|
+
if (!!skipBalanceChecks) return [3, 6];
|
3156
3145
|
return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
|
3157
3146
|
case 4:
|
3158
3147
|
if (!(_d.sent())) {
|
3159
3148
|
throw "Insufficient Funds , token Account doesn't exist";
|
3160
3149
|
}
|
3161
|
-
if (!!skipBalanceChecks) return [3, 6];
|
3162
3150
|
_b = anchor_1.BN.bind;
|
3163
3151
|
return [4, this.provider.connection.getTokenAccountBalance(userInputTokenAccount)];
|
3164
3152
|
case 5:
|
@@ -3257,14 +3245,12 @@ var PerpetualsClient = (function () {
|
|
3257
3245
|
additionalSigners = [];
|
3258
3246
|
_b.label = 1;
|
3259
3247
|
case 1:
|
3260
|
-
_b.trys.push([1,
|
3248
|
+
_b.trys.push([1, 7, , 8]);
|
3261
3249
|
console.log("removeCollateral -- collateralSymbol:", collateralSymbol);
|
3262
|
-
if (!(collateralSymbol == 'SOL')) return [3,
|
3250
|
+
if (!(collateralSymbol == 'SOL')) return [3, 2];
|
3263
3251
|
console.log("remove collateral in SOL ...create WSOL temp and close it ");
|
3264
3252
|
userReceivingTokenAccount = wrappedSolAccount.publicKey;
|
3265
|
-
|
3266
|
-
case 2:
|
3267
|
-
lamports = (_b.sent());
|
3253
|
+
lamports = 1e7;
|
3268
3254
|
if (!ephemeralSignerPubkey) {
|
3269
3255
|
wrappedSolAccount = new web3_js_1.Keypair();
|
3270
3256
|
additionalSigners.push(wrappedSolAccount);
|
@@ -3282,22 +3268,21 @@ var PerpetualsClient = (function () {
|
|
3282
3268
|
postInstructions = [
|
3283
3269
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
3284
3270
|
];
|
3285
|
-
return [3,
|
3286
|
-
case
|
3287
|
-
|
3288
|
-
userReceivingTokenAccount = _b.sent();
|
3271
|
+
return [3, 5];
|
3272
|
+
case 2:
|
3273
|
+
userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
|
3289
3274
|
_a = createUserATA;
|
3290
|
-
if (!_a) return [3,
|
3275
|
+
if (!_a) return [3, 4];
|
3291
3276
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
3292
|
-
case
|
3277
|
+
case 3:
|
3293
3278
|
_a = !(_b.sent());
|
3294
|
-
_b.label =
|
3295
|
-
case
|
3279
|
+
_b.label = 4;
|
3280
|
+
case 4:
|
3296
3281
|
if (_a) {
|
3297
3282
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
|
3298
3283
|
}
|
3299
|
-
_b.label =
|
3300
|
-
case
|
3284
|
+
_b.label = 5;
|
3285
|
+
case 5:
|
3301
3286
|
marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
|
3302
3287
|
return [4, this.program.methods
|
3303
3288
|
.removeCollateral({
|
@@ -3322,19 +3307,19 @@ var PerpetualsClient = (function () {
|
|
3322
3307
|
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
3323
3308
|
})
|
3324
3309
|
.instruction()];
|
3325
|
-
case
|
3310
|
+
case 6:
|
3326
3311
|
instruction = _b.sent();
|
3327
3312
|
instructions.push(instruction);
|
3328
3313
|
if (collateralSymbol == 'WSOL' && closeUsersWSOLATA) {
|
3329
3314
|
closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userReceivingTokenAccount, publicKey, publicKey);
|
3330
3315
|
postInstructions.push(closeWsolATAIns);
|
3331
3316
|
}
|
3332
|
-
return [3,
|
3333
|
-
case
|
3317
|
+
return [3, 8];
|
3318
|
+
case 7:
|
3334
3319
|
error_3 = _b.sent();
|
3335
3320
|
console.error("perpclient removeCollateral error:", error_3);
|
3336
|
-
return [3,
|
3337
|
-
case
|
3321
|
+
return [3, 8];
|
3322
|
+
case 8: return [2, {
|
3338
3323
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
3339
3324
|
additionalSigners: additionalSigners
|
3340
3325
|
}];
|
@@ -3361,11 +3346,9 @@ var PerpetualsClient = (function () {
|
|
3361
3346
|
instructions = [];
|
3362
3347
|
postInstructions = [];
|
3363
3348
|
additionalSigners = [];
|
3364
|
-
if (!(outputSymbol == 'SOL')) return [3,
|
3349
|
+
if (!(outputSymbol == 'SOL')) return [3, 1];
|
3365
3350
|
console.log("outputSymbol === SOL", outputSymbol);
|
3366
|
-
|
3367
|
-
case 1:
|
3368
|
-
lamports = (_b.sent());
|
3351
|
+
lamports = 1e7;
|
3369
3352
|
if (!ephemeralSignerPubkey) {
|
3370
3353
|
wrappedSolAccount = new web3_js_1.Keypair();
|
3371
3354
|
additionalSigners.push(wrappedSolAccount);
|
@@ -3383,20 +3366,19 @@ var PerpetualsClient = (function () {
|
|
3383
3366
|
postInstructions = [
|
3384
3367
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
3385
3368
|
];
|
3386
|
-
return [3,
|
3387
|
-
case
|
3388
|
-
|
3389
|
-
userReceivingTokenAccount = _b.sent();
|
3369
|
+
return [3, 3];
|
3370
|
+
case 1:
|
3371
|
+
userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfigSwap.getTokenFromSymbol(outputSymbol).mintKey, publicKey, true);
|
3390
3372
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
3391
|
-
case
|
3373
|
+
case 2:
|
3392
3374
|
if (!(_b.sent())) {
|
3393
3375
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfigSwap.getTokenFromSymbol(outputSymbol).mintKey));
|
3394
3376
|
}
|
3395
|
-
_b.label =
|
3396
|
-
case
|
3377
|
+
_b.label = 3;
|
3378
|
+
case 3:
|
3397
3379
|
userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfigPosition.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
|
3398
3380
|
return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
|
3399
|
-
case
|
3381
|
+
case 4:
|
3400
3382
|
if (!(_b.sent())) {
|
3401
3383
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userCollateralTokenAccount, publicKey, poolConfigPosition.getTokenFromSymbol(collateralSymbol).mintKey));
|
3402
3384
|
}
|
@@ -3450,7 +3432,7 @@ var PerpetualsClient = (function () {
|
|
3450
3432
|
})
|
3451
3433
|
.remainingAccounts(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true))
|
3452
3434
|
.instruction()];
|
3453
|
-
case
|
3435
|
+
case 5:
|
3454
3436
|
instruction = _b.sent();
|
3455
3437
|
instructions.push(instruction);
|
3456
3438
|
return [2, {
|
@@ -3585,7 +3567,7 @@ var PerpetualsClient = (function () {
|
|
3585
3567
|
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
3586
3568
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
3587
3569
|
return __awaiter(_this, void 0, void 0, function () {
|
3588
|
-
var publicKey, payTokenCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userPayingTokenAccount, lpTokenAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market,
|
3570
|
+
var publicKey, payTokenCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userPayingTokenAccount, lpTokenAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, lamports, unWrappedSolBalance, _d, tokenAccountBalance, _e, instruction, err_4;
|
3589
3571
|
return __generator(this, function (_f) {
|
3590
3572
|
switch (_f.label) {
|
3591
3573
|
case 0:
|
@@ -3600,13 +3582,9 @@ var PerpetualsClient = (function () {
|
|
3600
3582
|
additionalSigners = [];
|
3601
3583
|
_f.label = 1;
|
3602
3584
|
case 1:
|
3603
|
-
_f.trys.push([1,
|
3604
|
-
|
3605
|
-
|
3606
|
-
userPayingTokenAccount = _f.sent();
|
3607
|
-
return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.stakedLpTokenMint, publicKey, true)];
|
3608
|
-
case 3:
|
3609
|
-
lpTokenAccount = _f.sent();
|
3585
|
+
_f.trys.push([1, 10, , 11]);
|
3586
|
+
userPayingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(payTokenCustodyConfig.mintKey, publicKey, true);
|
3587
|
+
lpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.stakedLpTokenMint, publicKey, true);
|
3610
3588
|
custodyAccountMetas = [];
|
3611
3589
|
custodyOracleAccountMetas = [];
|
3612
3590
|
markets = [];
|
@@ -3632,24 +3610,23 @@ var PerpetualsClient = (function () {
|
|
3632
3610
|
});
|
3633
3611
|
}
|
3634
3612
|
return [4, (0, utils_1.checkIfAccountExists)(lpTokenAccount, this.provider.connection)];
|
3635
|
-
case
|
3613
|
+
case 2:
|
3636
3614
|
if (!(_f.sent())) {
|
3637
3615
|
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, lpTokenAccount, publicKey, poolConfig.stakedLpTokenMint));
|
3638
3616
|
}
|
3639
|
-
if (!(payTokenSymbol == 'SOL')) return [3,
|
3617
|
+
if (!(payTokenSymbol == 'SOL')) return [3, 5];
|
3640
3618
|
console.log("payTokenSymbol === SOL", payTokenSymbol);
|
3641
|
-
|
3642
|
-
|
3643
|
-
accCreationLamports = (_f.sent());
|
3644
|
-
console.log("accCreationLamports:", accCreationLamports);
|
3645
|
-
lamports = tokenAmountIn.add(new anchor_1.BN(accCreationLamports));
|
3619
|
+
lamports = tokenAmountIn.add(new anchor_1.BN(1e7));
|
3620
|
+
if (!!skipBalanceChecks) return [3, 4];
|
3646
3621
|
_d = anchor_1.BN.bind;
|
3647
3622
|
return [4, this.provider.connection.getBalance(publicKey)];
|
3648
|
-
case
|
3623
|
+
case 3:
|
3649
3624
|
unWrappedSolBalance = new (_d.apply(anchor_1.BN, [void 0, _f.sent()]))();
|
3650
3625
|
if (unWrappedSolBalance.lt(lamports)) {
|
3651
3626
|
throw "Insufficient SOL Funds";
|
3652
3627
|
}
|
3628
|
+
_f.label = 4;
|
3629
|
+
case 4:
|
3653
3630
|
if (!ephemeralSignerPubkey) {
|
3654
3631
|
wrappedSolAccount = new web3_js_1.Keypair();
|
3655
3632
|
additionalSigners.push(wrappedSolAccount);
|
@@ -3667,22 +3644,23 @@ var PerpetualsClient = (function () {
|
|
3667
3644
|
postInstructions = [
|
3668
3645
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
3669
3646
|
];
|
3670
|
-
return [3,
|
3671
|
-
case
|
3672
|
-
|
3647
|
+
return [3, 8];
|
3648
|
+
case 5:
|
3649
|
+
if (!!skipBalanceChecks) return [3, 8];
|
3650
|
+
return [4, (0, utils_1.checkIfAccountExists)(userPayingTokenAccount, this.provider.connection)];
|
3651
|
+
case 6:
|
3673
3652
|
if (!(_f.sent())) {
|
3674
3653
|
throw "Insufficient Funds , token Account doesn't exist";
|
3675
3654
|
}
|
3676
|
-
if (!!skipBalanceChecks) return [3, 10];
|
3677
3655
|
_e = anchor_1.BN.bind;
|
3678
3656
|
return [4, this.provider.connection.getTokenAccountBalance(userPayingTokenAccount)];
|
3679
|
-
case
|
3657
|
+
case 7:
|
3680
3658
|
tokenAccountBalance = new (_e.apply(anchor_1.BN, [void 0, (_f.sent()).value.amount]))();
|
3681
3659
|
if (tokenAccountBalance.lt(tokenAmountIn)) {
|
3682
3660
|
throw "Insufficient Funds need more ".concat(tokenAmountIn.sub(tokenAccountBalance), " tokens");
|
3683
3661
|
}
|
3684
|
-
_f.label =
|
3685
|
-
case
|
3662
|
+
_f.label = 8;
|
3663
|
+
case 8: return [4, this.program.methods
|
3686
3664
|
.addLiquidity({
|
3687
3665
|
amountIn: tokenAmountIn,
|
3688
3666
|
minLpAmountOut: minLpAmountOut
|
@@ -3705,15 +3683,15 @@ var PerpetualsClient = (function () {
|
|
3705
3683
|
})
|
3706
3684
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
3707
3685
|
.instruction()];
|
3708
|
-
case
|
3686
|
+
case 9:
|
3709
3687
|
instruction = _f.sent();
|
3710
3688
|
instructions.push(instruction);
|
3711
|
-
return [3,
|
3712
|
-
case
|
3689
|
+
return [3, 11];
|
3690
|
+
case 10:
|
3713
3691
|
err_4 = _f.sent();
|
3714
3692
|
console.error("perpClient addLiquidity error:: ", err_4);
|
3715
3693
|
throw err_4;
|
3716
|
-
case
|
3694
|
+
case 11: return [2, {
|
3717
3695
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
3718
3696
|
additionalSigners: additionalSigners
|
3719
3697
|
}];
|
@@ -3725,7 +3703,7 @@ var PerpetualsClient = (function () {
|
|
3725
3703
|
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
3726
3704
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
3727
3705
|
return __awaiter(_this, void 0, void 0, function () {
|
3728
|
-
var publicKey, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lpTokenMint, inputCustodyConfig, lpTokenAccount, flpStakeAccount, poolStakedLpVault,
|
3706
|
+
var publicKey, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lpTokenMint, inputCustodyConfig, lpTokenAccount, flpStakeAccount, poolStakedLpVault, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _c, custody, _d, _e, market, instruction;
|
3729
3707
|
return __generator(this, function (_f) {
|
3730
3708
|
switch (_f.label) {
|
3731
3709
|
case 0:
|
@@ -3736,28 +3714,24 @@ var PerpetualsClient = (function () {
|
|
3736
3714
|
additionalSigners = [];
|
3737
3715
|
lpTokenMint = poolConfig.stakedLpTokenMint;
|
3738
3716
|
inputCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(inputSymbol).mintKey); });
|
3739
|
-
|
3740
|
-
case 1:
|
3741
|
-
lpTokenAccount = _f.sent();
|
3717
|
+
lpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(lpTokenMint, publicKey, true);
|
3742
3718
|
flpStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake"), publicKey.toBuffer(), poolConfig.poolAddress.toBuffer()], this.programId)[0];
|
3743
3719
|
poolStakedLpVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("staked_lp_token_account"), poolConfig.poolAddress.toBuffer(), lpTokenMint.toBuffer()], this.programId)[0];
|
3744
|
-
if (!(inputSymbol == 'SOL')) return [3,
|
3720
|
+
if (!(inputSymbol == 'SOL')) return [3, 4];
|
3745
3721
|
console.log("inputSymbol === SOL", inputSymbol);
|
3746
|
-
|
3747
|
-
case 2:
|
3748
|
-
accCreationLamports = (_f.sent());
|
3749
|
-
console.log("accCreationLamports:", accCreationLamports);
|
3750
|
-
lamports = amountIn.add(new anchor_1.BN(accCreationLamports));
|
3722
|
+
lamports = amountIn.add(new anchor_1.BN(1e7));
|
3751
3723
|
console.log("lamports:", lamports.toNumber());
|
3724
|
+
if (!!skipBalanceChecks) return [3, 2];
|
3752
3725
|
_a = anchor_1.BN.bind;
|
3753
3726
|
return [4, this.provider.connection.getBalance(publicKey)];
|
3754
|
-
case
|
3727
|
+
case 1:
|
3755
3728
|
unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _f.sent()]))();
|
3756
3729
|
if (unWrappedSolBalance.lt(lamports)) {
|
3757
3730
|
throw "Insufficient SOL Funds";
|
3758
3731
|
}
|
3759
|
-
|
3760
|
-
case 4
|
3732
|
+
_f.label = 2;
|
3733
|
+
case 2: return [4, (0, utils_1.checkIfAccountExists)(lpTokenAccount, this.provider.connection)];
|
3734
|
+
case 3:
|
3761
3735
|
if (!(_f.sent())) {
|
3762
3736
|
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, lpTokenAccount, publicKey, poolConfig.stakedLpTokenMint));
|
3763
3737
|
}
|
@@ -3778,24 +3752,24 @@ var PerpetualsClient = (function () {
|
|
3778
3752
|
postInstructions = [
|
3779
3753
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
3780
3754
|
];
|
3781
|
-
return [3,
|
3782
|
-
case
|
3755
|
+
return [3, 7];
|
3756
|
+
case 4:
|
3783
3757
|
userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputCustodyConfig.mintKey, publicKey, true);
|
3758
|
+
if (!!skipBalanceChecks) return [3, 7];
|
3784
3759
|
return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
|
3785
|
-
case
|
3760
|
+
case 5:
|
3786
3761
|
if (!(_f.sent())) {
|
3787
3762
|
throw "Insufficient Funds , token Account doesn't exist";
|
3788
3763
|
}
|
3789
|
-
if (!!skipBalanceChecks) return [3, 8];
|
3790
3764
|
_b = anchor_1.BN.bind;
|
3791
3765
|
return [4, this.provider.connection.getTokenAccountBalance(userInputTokenAccount)];
|
3792
|
-
case
|
3766
|
+
case 6:
|
3793
3767
|
tokenAccountBalance = new (_b.apply(anchor_1.BN, [void 0, (_f.sent()).value.amount]))();
|
3794
3768
|
if (tokenAccountBalance.lt(amountIn)) {
|
3795
3769
|
throw "Insufficient Funds need more ".concat(amountIn.sub(tokenAccountBalance), " tokens");
|
3796
3770
|
}
|
3797
|
-
_f.label =
|
3798
|
-
case
|
3771
|
+
_f.label = 7;
|
3772
|
+
case 7:
|
3799
3773
|
custodyAccountMetas = [];
|
3800
3774
|
custodyOracleAccountMetas = [];
|
3801
3775
|
markets = [];
|
@@ -3844,7 +3818,7 @@ var PerpetualsClient = (function () {
|
|
3844
3818
|
})
|
3845
3819
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
3846
3820
|
.instruction()];
|
3847
|
-
case
|
3821
|
+
case 8:
|
3848
3822
|
instruction = _f.sent();
|
3849
3823
|
instructions.push(instruction);
|
3850
3824
|
return [2, {
|
@@ -3876,10 +3850,8 @@ var PerpetualsClient = (function () {
|
|
3876
3850
|
additionalSigners = [];
|
3877
3851
|
_e.label = 1;
|
3878
3852
|
case 1:
|
3879
|
-
_e.trys.push([1,
|
3880
|
-
|
3881
|
-
case 2:
|
3882
|
-
stakedLpTokenAccount = _e.sent();
|
3853
|
+
_e.trys.push([1, 7, , 8]);
|
3854
|
+
stakedLpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.stakedLpTokenMint, publicKey, true);
|
3883
3855
|
custodyAccountMetas = [];
|
3884
3856
|
custodyOracleAccountMetas = [];
|
3885
3857
|
markets = [];
|
@@ -3904,10 +3876,8 @@ var PerpetualsClient = (function () {
|
|
3904
3876
|
isWritable: false,
|
3905
3877
|
});
|
3906
3878
|
}
|
3907
|
-
if (!(recieveTokenSymbol == 'SOL')) return [3,
|
3908
|
-
|
3909
|
-
case 3:
|
3910
|
-
lamports = (_e.sent());
|
3879
|
+
if (!(recieveTokenSymbol == 'SOL')) return [3, 2];
|
3880
|
+
lamports = 1e7;
|
3911
3881
|
if (!ephemeralSignerPubkey) {
|
3912
3882
|
wrappedSolAccount = new web3_js_1.Keypair();
|
3913
3883
|
additionalSigners.push(wrappedSolAccount);
|
@@ -3925,47 +3895,44 @@ var PerpetualsClient = (function () {
|
|
3925
3895
|
postInstructions = [
|
3926
3896
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
3927
3897
|
];
|
3928
|
-
return [3,
|
3929
|
-
case
|
3930
|
-
|
3931
|
-
userReceivingTokenAccount = _e.sent();
|
3898
|
+
return [3, 5];
|
3899
|
+
case 2:
|
3900
|
+
userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(recieveTokenSymbol).mintKey, publicKey, true);
|
3932
3901
|
_d = createUserATA;
|
3933
|
-
if (!_d) return [3,
|
3902
|
+
if (!_d) return [3, 4];
|
3934
3903
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
3935
|
-
case
|
3904
|
+
case 3:
|
3936
3905
|
_d = !(_e.sent());
|
3937
|
-
_e.label =
|
3938
|
-
case
|
3906
|
+
_e.label = 4;
|
3907
|
+
case 4:
|
3939
3908
|
if (_d) {
|
3940
3909
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(recieveTokenSymbol).mintKey));
|
3941
3910
|
}
|
3942
|
-
_e.label =
|
3943
|
-
case
|
3944
|
-
|
3945
|
-
|
3946
|
-
|
3947
|
-
|
3948
|
-
|
3949
|
-
|
3950
|
-
|
3951
|
-
|
3952
|
-
|
3953
|
-
|
3954
|
-
|
3955
|
-
|
3956
|
-
|
3957
|
-
|
3958
|
-
|
3959
|
-
|
3960
|
-
|
3961
|
-
|
3962
|
-
|
3963
|
-
|
3964
|
-
|
3965
|
-
|
3966
|
-
|
3967
|
-
.instruction()];
|
3968
|
-
case 9:
|
3911
|
+
_e.label = 5;
|
3912
|
+
case 5: return [4, this.program.methods
|
3913
|
+
.removeLiquidity({
|
3914
|
+
lpAmountIn: liquidityAmountIn,
|
3915
|
+
minAmountOut: minTokenAmountOut
|
3916
|
+
})
|
3917
|
+
.accounts({
|
3918
|
+
owner: publicKey,
|
3919
|
+
receivingAccount: recieveTokenSymbol == 'SOL' ? (ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey) : userReceivingTokenAccount,
|
3920
|
+
lpTokenAccount: stakedLpTokenAccount,
|
3921
|
+
transferAuthority: poolConfig.transferAuthority,
|
3922
|
+
perpetuals: poolConfig.perpetuals,
|
3923
|
+
pool: poolConfig.poolAddress,
|
3924
|
+
custody: recieveTokenCustodyConfig.custodyAccount,
|
3925
|
+
custodyOracleAccount: this.useExtOracleAccount ? recieveTokenCustodyConfig.extOracleAccount : recieveTokenCustodyConfig.intOracleAccount,
|
3926
|
+
custodyTokenAccount: recieveTokenCustodyConfig.tokenAccount,
|
3927
|
+
lpTokenMint: poolConfig.stakedLpTokenMint,
|
3928
|
+
eventAuthority: this.eventAuthority.publicKey,
|
3929
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
3930
|
+
program: this.programId,
|
3931
|
+
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
3932
|
+
})
|
3933
|
+
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
3934
|
+
.instruction()];
|
3935
|
+
case 6:
|
3969
3936
|
removeLiquidityTx = _e.sent();
|
3970
3937
|
instructions.push(removeLiquidityTx);
|
3971
3938
|
if (closeLpATA) {
|
@@ -3976,12 +3943,12 @@ var PerpetualsClient = (function () {
|
|
3976
3943
|
closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userReceivingTokenAccount, publicKey, publicKey);
|
3977
3944
|
postInstructions.push(closeWsolATAIns);
|
3978
3945
|
}
|
3979
|
-
return [3,
|
3980
|
-
case
|
3946
|
+
return [3, 8];
|
3947
|
+
case 7:
|
3981
3948
|
err_5 = _e.sent();
|
3982
3949
|
console.log("perpClient removeLiquidity error:: ", err_5);
|
3983
3950
|
throw err_5;
|
3984
|
-
case
|
3951
|
+
case 8: return [2, {
|
3985
3952
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
3986
3953
|
additionalSigners: additionalSigners
|
3987
3954
|
}];
|
@@ -4039,15 +4006,13 @@ var PerpetualsClient = (function () {
|
|
4039
4006
|
additionalSigners = [];
|
4040
4007
|
_a.label = 1;
|
4041
4008
|
case 1:
|
4042
|
-
_a.trys.push([1,
|
4009
|
+
_a.trys.push([1, 3, , 4]);
|
4043
4010
|
nftTradingAccount = web3_js_1.PublicKey.findProgramAddressSync([
|
4044
4011
|
Buffer.from("trading"),
|
4045
4012
|
nftMint.toBuffer(),
|
4046
4013
|
], this.programId)[0];
|
4047
4014
|
metadataAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("metadata"), constants_1.METAPLEX_PROGRAM_ID.toBuffer(), nftMint.toBuffer()], constants_1.METAPLEX_PROGRAM_ID)[0];
|
4048
|
-
|
4049
|
-
case 2:
|
4050
|
-
nftTokenAccount = _a.sent();
|
4015
|
+
nftTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(nftMint, owner, true);
|
4051
4016
|
return [4, this.program.methods
|
4052
4017
|
.createTradingAccount({
|
4053
4018
|
collectionIndex: 0
|
@@ -4063,15 +4028,15 @@ var PerpetualsClient = (function () {
|
|
4063
4028
|
systemProgram: web3_js_1.SystemProgram.programId
|
4064
4029
|
})
|
4065
4030
|
.instruction()];
|
4066
|
-
case
|
4031
|
+
case 2:
|
4067
4032
|
createNftTradingAccountInstruction = _a.sent();
|
4068
4033
|
instructions.push(createNftTradingAccountInstruction);
|
4069
|
-
return [3,
|
4070
|
-
case
|
4034
|
+
return [3, 4];
|
4035
|
+
case 3:
|
4071
4036
|
err_7 = _a.sent();
|
4072
4037
|
console.log("perpClient createNftAccount error:: ", err_7);
|
4073
4038
|
throw err_7;
|
4074
|
-
case
|
4039
|
+
case 4: return [2, {
|
4075
4040
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
4076
4041
|
additionalSigners: additionalSigners
|
4077
4042
|
}];
|
@@ -4436,7 +4401,7 @@ var PerpetualsClient = (function () {
|
|
4436
4401
|
});
|
4437
4402
|
}); };
|
4438
4403
|
this.unstakeInstant = function (rewardSymbol, unstakeAmount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
4439
|
-
var publicKey, preInstructions, instructions, postInstructions, additionalSigners,
|
4404
|
+
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustodyConfig, pool, flpStakeAccount, unstakeInstantInstruction, err_14;
|
4440
4405
|
return __generator(this, function (_a) {
|
4441
4406
|
switch (_a.label) {
|
4442
4407
|
case 0:
|
@@ -4448,10 +4413,8 @@ var PerpetualsClient = (function () {
|
|
4448
4413
|
_a.label = 1;
|
4449
4414
|
case 1:
|
4450
4415
|
_a.trys.push([1, 3, , 4]);
|
4451
|
-
rewardCustodyMint = poolConfig.getTokenFromSymbol(rewardSymbol).mintKey;
|
4452
4416
|
rewardCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(rewardSymbol).mintKey); });
|
4453
4417
|
pool = poolConfig.poolAddress;
|
4454
|
-
feeDistributionTokenAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("custody_token_account"), pool.toBuffer(), rewardCustodyMint.toBuffer()], this.programId)[0];
|
4455
4418
|
flpStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake"), publicKey.toBuffer(), pool.toBuffer()], this.programId)[0];
|
4456
4419
|
return [4, this.program.methods
|
4457
4420
|
.unstakeInstant({
|
@@ -4595,21 +4558,19 @@ var PerpetualsClient = (function () {
|
|
4595
4558
|
additionalSigners = [];
|
4596
4559
|
_b.label = 1;
|
4597
4560
|
case 1:
|
4598
|
-
_b.trys.push([1,
|
4561
|
+
_b.trys.push([1, 5, , 6]);
|
4599
4562
|
lpTokenMint = poolConfig.stakedLpTokenMint;
|
4600
4563
|
pool = poolConfig.poolAddress;
|
4601
4564
|
poolStakedLpVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("staked_lp_token_account"), pool.toBuffer(), lpTokenMint.toBuffer()], this.program.programId)[0];
|
4602
4565
|
flpStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake"), publicKey.toBuffer(), pool.toBuffer()], this.program.programId)[0];
|
4603
|
-
|
4604
|
-
case 2:
|
4605
|
-
userLpTokenAccount = _b.sent();
|
4566
|
+
userLpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.stakedLpTokenMint, publicKey, true);
|
4606
4567
|
_a = createUserLPTA;
|
4607
|
-
if (!_a) return [3,
|
4568
|
+
if (!_a) return [3, 3];
|
4608
4569
|
return [4, (0, utils_1.checkIfAccountExists)(userLpTokenAccount, this.provider.connection)];
|
4609
|
-
case
|
4570
|
+
case 2:
|
4610
4571
|
_a = !(_b.sent());
|
4611
|
-
_b.label =
|
4612
|
-
case
|
4572
|
+
_b.label = 3;
|
4573
|
+
case 3:
|
4613
4574
|
if (_a) {
|
4614
4575
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userLpTokenAccount, publicKey, poolConfig.stakedLpTokenMint));
|
4615
4576
|
}
|
@@ -4632,15 +4593,15 @@ var PerpetualsClient = (function () {
|
|
4632
4593
|
program: this.program.programId,
|
4633
4594
|
})
|
4634
4595
|
.instruction()];
|
4635
|
-
case
|
4596
|
+
case 4:
|
4636
4597
|
withdrawStakeInstruction = _b.sent();
|
4637
4598
|
instructions.push(withdrawStakeInstruction);
|
4638
|
-
return [3,
|
4639
|
-
case
|
4599
|
+
return [3, 6];
|
4600
|
+
case 5:
|
4640
4601
|
err_17 = _b.sent();
|
4641
4602
|
console.log("perpClient withdrawStake error:: ", err_17);
|
4642
4603
|
throw err_17;
|
4643
|
-
case
|
4604
|
+
case 6: return [2, {
|
4644
4605
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
4645
4606
|
additionalSigners: additionalSigners
|
4646
4607
|
}];
|
@@ -4788,10 +4749,8 @@ var PerpetualsClient = (function () {
|
|
4788
4749
|
additionalSigners = [];
|
4789
4750
|
_a.label = 1;
|
4790
4751
|
case 1:
|
4791
|
-
_a.trys.push([1,
|
4792
|
-
|
4793
|
-
case 2:
|
4794
|
-
fundingAccount = _a.sent();
|
4752
|
+
_a.trys.push([1, 3, , 4]);
|
4753
|
+
fundingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
|
4795
4754
|
rewardVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_vault")], this.programFbnftReward.programId)[0];
|
4796
4755
|
rewardTokenAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_token_account")], this.programFbnftReward.programId)[0];
|
4797
4756
|
return [4, this.programFbnftReward.methods
|
@@ -4806,15 +4765,15 @@ var PerpetualsClient = (function () {
|
|
4806
4765
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
4807
4766
|
})
|
4808
4767
|
.instruction()];
|
4809
|
-
case
|
4768
|
+
case 2:
|
4810
4769
|
distributeReward = _a.sent();
|
4811
4770
|
instructions.push(distributeReward);
|
4812
|
-
return [3,
|
4813
|
-
case
|
4771
|
+
return [3, 4];
|
4772
|
+
case 3:
|
4814
4773
|
err_20 = _a.sent();
|
4815
4774
|
console.log("perpClient distributeReward error:: ", err_20);
|
4816
4775
|
throw err_20;
|
4817
|
-
case
|
4776
|
+
case 4: return [2, {
|
4818
4777
|
instructions: __spreadArray([], instructions, true),
|
4819
4778
|
additionalSigners: additionalSigners
|
4820
4779
|
}];
|
@@ -4834,21 +4793,17 @@ var PerpetualsClient = (function () {
|
|
4834
4793
|
additionalSigners = [];
|
4835
4794
|
_b.label = 1;
|
4836
4795
|
case 1:
|
4837
|
-
_b.trys.push([1,
|
4838
|
-
|
4839
|
-
case 2:
|
4840
|
-
nftTokenAccount = _b.sent();
|
4796
|
+
_b.trys.push([1, 5, , 6]);
|
4797
|
+
nftTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(nftMint, publicKey, true);
|
4841
4798
|
metadataAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("metadata"), constants_1.METAPLEX_PROGRAM_ID.toBuffer(), nftMint.toBuffer()], constants_1.METAPLEX_PROGRAM_ID)[0];
|
4842
|
-
|
4843
|
-
case 3:
|
4844
|
-
receivingTokenAccount = _b.sent();
|
4799
|
+
receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
|
4845
4800
|
_a = createUserATA;
|
4846
|
-
if (!_a) return [3,
|
4801
|
+
if (!_a) return [3, 3];
|
4847
4802
|
return [4, (0, utils_1.checkIfAccountExists)(receivingTokenAccount, this.provider.connection)];
|
4848
|
-
case
|
4803
|
+
case 2:
|
4849
4804
|
_a = !(_b.sent());
|
4850
|
-
_b.label =
|
4851
|
-
case
|
4805
|
+
_b.label = 3;
|
4806
|
+
case 3:
|
4852
4807
|
if (_a) {
|
4853
4808
|
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, receivingTokenAccount, publicKey, rewardCustodyMint));
|
4854
4809
|
}
|
@@ -4873,14 +4828,14 @@ var PerpetualsClient = (function () {
|
|
4873
4828
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
4874
4829
|
})
|
4875
4830
|
.instruction()];
|
4876
|
-
case
|
4831
|
+
case 4:
|
4877
4832
|
collectNftReward = _b.sent();
|
4878
4833
|
instructions.push(collectNftReward);
|
4879
|
-
return [3,
|
4880
|
-
case
|
4834
|
+
return [3, 6];
|
4835
|
+
case 5:
|
4881
4836
|
err_21 = _b.sent();
|
4882
4837
|
throw err_21;
|
4883
|
-
case
|
4838
|
+
case 6: return [2, {
|
4884
4839
|
instructions: __spreadArray([], instructions, true),
|
4885
4840
|
additionalSigners: additionalSigners
|
4886
4841
|
}];
|
@@ -5035,12 +4990,10 @@ var PerpetualsClient = (function () {
|
|
5035
4990
|
additionalSigners = [];
|
5036
4991
|
_b.label = 1;
|
5037
4992
|
case 1:
|
5038
|
-
_b.trys.push([1,
|
5039
|
-
if (!(collateralSymbol == 'SOL')) return [3,
|
4993
|
+
_b.trys.push([1, 7, , 8]);
|
4994
|
+
if (!(collateralSymbol == 'SOL')) return [3, 2];
|
5040
4995
|
console.log("collateralSymbol === SOL", collateralSymbol);
|
5041
|
-
|
5042
|
-
case 2:
|
5043
|
-
lamports = (_b.sent());
|
4996
|
+
lamports = 1e7;
|
5044
4997
|
if (!ephemeralSignerPubkey) {
|
5045
4998
|
wrappedSolAccount = new web3_js_1.Keypair();
|
5046
4999
|
additionalSigners.push(wrappedSolAccount);
|
@@ -5058,22 +5011,21 @@ var PerpetualsClient = (function () {
|
|
5058
5011
|
postInstructions = [
|
5059
5012
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), positionAccount.owner, positionAccount.owner),
|
5060
5013
|
];
|
5061
|
-
return [3,
|
5062
|
-
case
|
5063
|
-
|
5064
|
-
userReceivingTokenAccount = _b.sent();
|
5014
|
+
return [3, 5];
|
5015
|
+
case 2:
|
5016
|
+
userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, positionAccount.owner, true);
|
5065
5017
|
_a = createUserATA;
|
5066
|
-
if (!_a) return [3,
|
5018
|
+
if (!_a) return [3, 4];
|
5067
5019
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
5068
|
-
case
|
5020
|
+
case 3:
|
5069
5021
|
_a = !(_b.sent());
|
5070
|
-
_b.label =
|
5071
|
-
case
|
5022
|
+
_b.label = 4;
|
5023
|
+
case 4:
|
5072
5024
|
if (_a) {
|
5073
5025
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, positionAccount.owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
|
5074
5026
|
}
|
5075
|
-
_b.label =
|
5076
|
-
case
|
5027
|
+
_b.label = 5;
|
5028
|
+
case 5: return [4, this.program.methods
|
5077
5029
|
.forceClosePosition({
|
5078
5030
|
privilege: types_1.Privilege.None,
|
5079
5031
|
isStopLoss: isStopLoss
|
@@ -5097,19 +5049,19 @@ var PerpetualsClient = (function () {
|
|
5097
5049
|
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
5098
5050
|
})
|
5099
5051
|
.instruction()];
|
5100
|
-
case
|
5052
|
+
case 6:
|
5101
5053
|
forceClosePosition = _b.sent();
|
5102
5054
|
instructions.push(forceClosePosition);
|
5103
5055
|
if (collateralSymbol == 'WSOL' && closeUsersWSOLATA) {
|
5104
5056
|
closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userReceivingTokenAccount, positionAccount.owner, positionAccount.owner);
|
5105
5057
|
postInstructions.push(closeWsolATAIns);
|
5106
5058
|
}
|
5107
|
-
return [3,
|
5108
|
-
case
|
5059
|
+
return [3, 8];
|
5060
|
+
case 7:
|
5109
5061
|
err_24 = _b.sent();
|
5110
5062
|
console.log("perpClient forceClosePosition error:: ", err_24);
|
5111
5063
|
throw err_24;
|
5112
|
-
case
|
5064
|
+
case 8: return [2, {
|
5113
5065
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5114
5066
|
additionalSigners: additionalSigners
|
5115
5067
|
}];
|
@@ -5269,7 +5221,6 @@ var PerpetualsClient = (function () {
|
|
5269
5221
|
instructions = [];
|
5270
5222
|
additionalSigners = [];
|
5271
5223
|
custodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(tokenMint); });
|
5272
|
-
console.log("custodyConfig: ", custodyConfig);
|
5273
5224
|
_g.label = 1;
|
5274
5225
|
case 1:
|
5275
5226
|
_g.trys.push([1, 4, , 5]);
|
@@ -5352,10 +5303,11 @@ var PerpetualsClient = (function () {
|
|
5352
5303
|
}
|
5353
5304
|
});
|
5354
5305
|
}); };
|
5355
|
-
this.addCompoundingLiquidity = function (amountIn, minCompoundingAmountOut, inTokenSymbol, rewardTokenMint, poolConfig, ephemeralSignerPubkey) {
|
5306
|
+
this.addCompoundingLiquidity = function (amountIn, minCompoundingAmountOut, inTokenSymbol, rewardTokenMint, poolConfig, skipBalanceChecks, ephemeralSignerPubkey) {
|
5307
|
+
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
5356
5308
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
5357
5309
|
return __awaiter(_this, void 0, void 0, function () {
|
5358
|
-
var publicKey, preInstructions, instructions, additionalSigners, postInstructions, rewardCustody, inCustodyConfig, lpTokenMint, compoundingTokenMint, wrappedSolAccount, lpTokenAccount, compoundingTokenAccount, fundingAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market,
|
5310
|
+
var publicKey, preInstructions, instructions, additionalSigners, postInstructions, rewardCustody, inCustodyConfig, lpTokenMint, compoundingTokenMint, wrappedSolAccount, lpTokenAccount, compoundingTokenAccount, fundingAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, lamports, unWrappedSolBalance, _d, addCompoundingLiquidity, err_30;
|
5359
5311
|
return __generator(this, function (_e) {
|
5360
5312
|
switch (_e.label) {
|
5361
5313
|
case 0:
|
@@ -5368,15 +5320,9 @@ var PerpetualsClient = (function () {
|
|
5368
5320
|
inCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(inTokenSymbol).mintKey); });
|
5369
5321
|
lpTokenMint = poolConfig.stakedLpTokenMint;
|
5370
5322
|
compoundingTokenMint = poolConfig.compoundingTokenMint;
|
5371
|
-
|
5372
|
-
|
5373
|
-
|
5374
|
-
return [4, (0, spl_token_1.getAssociatedTokenAddress)(compoundingTokenMint, publicKey, true)];
|
5375
|
-
case 2:
|
5376
|
-
compoundingTokenAccount = _e.sent();
|
5377
|
-
return [4, (0, spl_token_1.getAssociatedTokenAddress)(inCustodyConfig.mintKey, publicKey, true)];
|
5378
|
-
case 3:
|
5379
|
-
fundingAccount = _e.sent();
|
5323
|
+
lpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.stakedLpTokenMint, publicKey, true);
|
5324
|
+
compoundingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(compoundingTokenMint, publicKey, true);
|
5325
|
+
fundingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inCustodyConfig.mintKey, publicKey, true);
|
5380
5326
|
custodyAccountMetas = [];
|
5381
5327
|
custodyOracleAccountMetas = [];
|
5382
5328
|
markets = [];
|
@@ -5402,29 +5348,28 @@ var PerpetualsClient = (function () {
|
|
5402
5348
|
});
|
5403
5349
|
}
|
5404
5350
|
return [4, (0, utils_1.checkIfAccountExists)(lpTokenAccount, this.provider.connection)];
|
5405
|
-
case
|
5351
|
+
case 1:
|
5406
5352
|
if (!(_e.sent())) {
|
5407
5353
|
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, lpTokenAccount, publicKey, poolConfig.stakedLpTokenMint));
|
5408
5354
|
}
|
5409
5355
|
return [4, (0, utils_1.checkIfAccountExists)(compoundingTokenAccount, this.provider.connection)];
|
5410
|
-
case
|
5356
|
+
case 2:
|
5411
5357
|
if (!(_e.sent())) {
|
5412
5358
|
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, compoundingTokenAccount, publicKey, poolConfig.compoundingTokenMint));
|
5413
5359
|
}
|
5414
|
-
if (!(inTokenSymbol == 'SOL')) return [3,
|
5360
|
+
if (!(inTokenSymbol == 'SOL')) return [3, 5];
|
5415
5361
|
console.log("inTokenSymbol === SOL", inTokenSymbol);
|
5416
|
-
|
5417
|
-
|
5418
|
-
accCreationLamports = (_e.sent());
|
5419
|
-
console.log("accCreationLamports:", accCreationLamports);
|
5420
|
-
lamports = amountIn.add(new anchor_1.BN(accCreationLamports));
|
5362
|
+
lamports = amountIn.add(new anchor_1.BN(1e7));
|
5363
|
+
if (!!skipBalanceChecks) return [3, 4];
|
5421
5364
|
_d = anchor_1.BN.bind;
|
5422
5365
|
return [4, this.provider.connection.getBalance(publicKey)];
|
5423
|
-
case
|
5366
|
+
case 3:
|
5424
5367
|
unWrappedSolBalance = new (_d.apply(anchor_1.BN, [void 0, _e.sent()]))();
|
5425
5368
|
if (unWrappedSolBalance.lt(lamports)) {
|
5426
5369
|
throw "Insufficient SOL Funds";
|
5427
5370
|
}
|
5371
|
+
_e.label = 4;
|
5372
|
+
case 4:
|
5428
5373
|
if (!ephemeralSignerPubkey) {
|
5429
5374
|
wrappedSolAccount = new web3_js_1.Keypair();
|
5430
5375
|
additionalSigners.push(wrappedSolAccount);
|
@@ -5442,15 +5387,17 @@ var PerpetualsClient = (function () {
|
|
5442
5387
|
postInstructions = [
|
5443
5388
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
5444
5389
|
];
|
5445
|
-
return [3,
|
5446
|
-
case
|
5447
|
-
|
5390
|
+
return [3, 7];
|
5391
|
+
case 5:
|
5392
|
+
if (!!skipBalanceChecks) return [3, 7];
|
5393
|
+
return [4, (0, utils_1.checkIfAccountExists)(fundingAccount, this.provider.connection)];
|
5394
|
+
case 6:
|
5448
5395
|
if (!(_e.sent())) {
|
5449
5396
|
throw "Insufficient Funds , token Account doesn't exist";
|
5450
5397
|
}
|
5451
|
-
_e.label =
|
5452
|
-
case
|
5453
|
-
_e.trys.push([
|
5398
|
+
_e.label = 7;
|
5399
|
+
case 7:
|
5400
|
+
_e.trys.push([7, 9, , 10]);
|
5454
5401
|
return [4, this.program.methods
|
5455
5402
|
.addCompoundingLiquidity({
|
5456
5403
|
amountIn: amountIn,
|
@@ -5478,15 +5425,15 @@ var PerpetualsClient = (function () {
|
|
5478
5425
|
})
|
5479
5426
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
5480
5427
|
.instruction()];
|
5481
|
-
case
|
5428
|
+
case 8:
|
5482
5429
|
addCompoundingLiquidity = _e.sent();
|
5483
5430
|
instructions.push(addCompoundingLiquidity);
|
5484
|
-
return [3,
|
5485
|
-
case
|
5431
|
+
return [3, 10];
|
5432
|
+
case 9:
|
5486
5433
|
err_30 = _e.sent();
|
5487
5434
|
console.log("perpClient addCompoundingLiquidity error:: ", err_30);
|
5488
|
-
return [3,
|
5489
|
-
case
|
5435
|
+
return [3, 10];
|
5436
|
+
case 10: return [2, {
|
5490
5437
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5491
5438
|
additionalSigners: additionalSigners
|
5492
5439
|
}];
|
@@ -5498,7 +5445,7 @@ var PerpetualsClient = (function () {
|
|
5498
5445
|
if (createUserATA === void 0) { createUserATA = true; }
|
5499
5446
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
5500
5447
|
return __awaiter(_this, void 0, void 0, function () {
|
5501
|
-
var publicKey, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, outCustodyConfig, lpTokenMint, compoundingTokenMint, lamports, _a, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _b, custody, _c, _d, market, compoundingTokenAccount,
|
5448
|
+
var publicKey, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, outCustodyConfig, lpTokenMint, compoundingTokenMint, lamports, _a, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _b, custody, _c, _d, market, compoundingTokenAccount, removeCompoundingLiquidity, err_31;
|
5502
5449
|
return __generator(this, function (_e) {
|
5503
5450
|
switch (_e.label) {
|
5504
5451
|
case 0:
|
@@ -5511,10 +5458,8 @@ var PerpetualsClient = (function () {
|
|
5511
5458
|
outCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(outTokenSymbol).mintKey); });
|
5512
5459
|
lpTokenMint = poolConfig.stakedLpTokenMint;
|
5513
5460
|
compoundingTokenMint = poolConfig.compoundingTokenMint;
|
5514
|
-
if (!(outCustodyConfig.symbol == 'SOL')) return [3,
|
5515
|
-
|
5516
|
-
case 1:
|
5517
|
-
lamports = (_e.sent());
|
5461
|
+
if (!(outCustodyConfig.symbol == 'SOL')) return [3, 1];
|
5462
|
+
lamports = 1e7;
|
5518
5463
|
if (!ephemeralSignerPubkey) {
|
5519
5464
|
wrappedSolAccount = new web3_js_1.Keypair();
|
5520
5465
|
additionalSigners.push(wrappedSolAccount);
|
@@ -5532,22 +5477,21 @@ var PerpetualsClient = (function () {
|
|
5532
5477
|
postInstructions = [
|
5533
5478
|
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
5534
5479
|
];
|
5535
|
-
return [3,
|
5536
|
-
case
|
5537
|
-
|
5538
|
-
userReceivingTokenAccount = _e.sent();
|
5480
|
+
return [3, 4];
|
5481
|
+
case 1:
|
5482
|
+
userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(outCustodyConfig.mintKey, publicKey, true);
|
5539
5483
|
_a = createUserATA;
|
5540
|
-
if (!_a) return [3,
|
5484
|
+
if (!_a) return [3, 3];
|
5541
5485
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
5542
|
-
case
|
5486
|
+
case 2:
|
5543
5487
|
_a = !(_e.sent());
|
5544
|
-
_e.label =
|
5545
|
-
case
|
5488
|
+
_e.label = 3;
|
5489
|
+
case 3:
|
5546
5490
|
if (_a) {
|
5547
5491
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, outCustodyConfig.mintKey));
|
5548
5492
|
}
|
5549
|
-
_e.label =
|
5550
|
-
case
|
5493
|
+
_e.label = 4;
|
5494
|
+
case 4:
|
5551
5495
|
custodyAccountMetas = [];
|
5552
5496
|
custodyOracleAccountMetas = [];
|
5553
5497
|
markets = [];
|
@@ -5572,15 +5516,10 @@ var PerpetualsClient = (function () {
|
|
5572
5516
|
isWritable: false,
|
5573
5517
|
});
|
5574
5518
|
}
|
5575
|
-
|
5576
|
-
|
5577
|
-
|
5578
|
-
|
5579
|
-
case 8:
|
5580
|
-
receivingAccount = _e.sent();
|
5581
|
-
_e.label = 9;
|
5582
|
-
case 9:
|
5583
|
-
_e.trys.push([9, 11, , 12]);
|
5519
|
+
compoundingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(compoundingTokenMint, publicKey, true);
|
5520
|
+
_e.label = 5;
|
5521
|
+
case 5:
|
5522
|
+
_e.trys.push([5, 7, , 8]);
|
5584
5523
|
return [4, this.program.methods
|
5585
5524
|
.removeCompoundingLiquidity({
|
5586
5525
|
compoundingAmountIn: compoundingAmountIn,
|
@@ -5608,15 +5547,15 @@ var PerpetualsClient = (function () {
|
|
5608
5547
|
})
|
5609
5548
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
5610
5549
|
.instruction()];
|
5611
|
-
case
|
5550
|
+
case 6:
|
5612
5551
|
removeCompoundingLiquidity = _e.sent();
|
5613
5552
|
instructions.push(removeCompoundingLiquidity);
|
5614
|
-
return [3,
|
5615
|
-
case
|
5553
|
+
return [3, 8];
|
5554
|
+
case 7:
|
5616
5555
|
err_31 = _e.sent();
|
5617
5556
|
console.log("perpClient removeCompoundingLiquidity error:: ", err_31);
|
5618
|
-
return [3,
|
5619
|
-
case
|
5557
|
+
return [3, 8];
|
5558
|
+
case 8: return [2, {
|
5620
5559
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5621
5560
|
additionalSigners: additionalSigners
|
5622
5561
|
}];
|
@@ -5639,16 +5578,14 @@ var PerpetualsClient = (function () {
|
|
5639
5578
|
rewardCustody = poolConfig.custodies.find(function (i) { return i.mintKey.equals(rewardTokenMint); });
|
5640
5579
|
lpTokenMint = poolConfig.stakedLpTokenMint;
|
5641
5580
|
compoundingTokenMint = poolConfig.compoundingTokenMint;
|
5642
|
-
|
5643
|
-
case 1:
|
5644
|
-
compoudingTokenAccount = _e.sent();
|
5581
|
+
compoudingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(compoundingTokenMint, publicKey, true);
|
5645
5582
|
_a = createUserATA;
|
5646
|
-
if (!_a) return [3,
|
5583
|
+
if (!_a) return [3, 2];
|
5647
5584
|
return [4, (0, utils_1.checkIfAccountExists)(compoudingTokenAccount, this.provider.connection)];
|
5648
|
-
case
|
5585
|
+
case 1:
|
5649
5586
|
_a = !(_e.sent());
|
5650
|
-
_e.label =
|
5651
|
-
case
|
5587
|
+
_e.label = 2;
|
5588
|
+
case 2:
|
5652
5589
|
if (_a) {
|
5653
5590
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, compoudingTokenAccount, publicKey, compoundingTokenMint));
|
5654
5591
|
}
|
@@ -5678,9 +5615,9 @@ var PerpetualsClient = (function () {
|
|
5678
5615
|
isWritable: false,
|
5679
5616
|
});
|
5680
5617
|
}
|
5681
|
-
_e.label =
|
5682
|
-
case
|
5683
|
-
_e.trys.push([
|
5618
|
+
_e.label = 3;
|
5619
|
+
case 3:
|
5620
|
+
_e.trys.push([3, 5, , 6]);
|
5684
5621
|
return [4, this.program.methods
|
5685
5622
|
.migrateStake({
|
5686
5623
|
amount: amount
|
@@ -5705,15 +5642,15 @@ var PerpetualsClient = (function () {
|
|
5705
5642
|
})
|
5706
5643
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
5707
5644
|
.instruction()];
|
5708
|
-
case
|
5645
|
+
case 4:
|
5709
5646
|
migrateStake = _e.sent();
|
5710
5647
|
instructions.push(migrateStake);
|
5711
|
-
return [3,
|
5712
|
-
case
|
5648
|
+
return [3, 6];
|
5649
|
+
case 5:
|
5713
5650
|
err_32 = _e.sent();
|
5714
5651
|
console.log("perpClient migrateStake error:: ", err_32);
|
5715
|
-
return [3,
|
5716
|
-
case
|
5652
|
+
return [3, 6];
|
5653
|
+
case 6: return [2, {
|
5717
5654
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5718
5655
|
additionalSigners: additionalSigners
|
5719
5656
|
}];
|
@@ -5734,9 +5671,7 @@ var PerpetualsClient = (function () {
|
|
5734
5671
|
rewardCustody = poolConfig.custodies.find(function (i) { return i.mintKey.equals(rewardTokenMint); });
|
5735
5672
|
lpTokenMint = poolConfig.stakedLpTokenMint;
|
5736
5673
|
compoundingTokenMint = poolConfig.compoundingTokenMint;
|
5737
|
-
|
5738
|
-
case 1:
|
5739
|
-
compoudingTokenAccount = _d.sent();
|
5674
|
+
compoudingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(compoundingTokenMint, publicKey, true);
|
5740
5675
|
flpStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake"), publicKey.toBuffer(), poolConfig.poolAddress.toBuffer()], this.programId)[0];
|
5741
5676
|
poolStakedLpVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("staked_lp_token_account"), poolConfig.poolAddress.toBuffer(), lpTokenMint.toBuffer()], this.programId)[0];
|
5742
5677
|
custodyAccountMetas = [];
|
@@ -5763,9 +5698,9 @@ var PerpetualsClient = (function () {
|
|
5763
5698
|
isWritable: false,
|
5764
5699
|
});
|
5765
5700
|
}
|
5766
|
-
_d.label =
|
5767
|
-
case
|
5768
|
-
_d.trys.push([
|
5701
|
+
_d.label = 1;
|
5702
|
+
case 1:
|
5703
|
+
_d.trys.push([1, 3, , 4]);
|
5769
5704
|
return [4, this.program.methods
|
5770
5705
|
.migrateFlp({
|
5771
5706
|
compoundingTokenAmount: amount
|
@@ -5791,15 +5726,15 @@ var PerpetualsClient = (function () {
|
|
5791
5726
|
})
|
5792
5727
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
5793
5728
|
.instruction()];
|
5794
|
-
case
|
5729
|
+
case 2:
|
5795
5730
|
migrateFlp = _d.sent();
|
5796
5731
|
instructions.push(migrateFlp);
|
5797
|
-
return [3,
|
5798
|
-
case
|
5732
|
+
return [3, 4];
|
5733
|
+
case 3:
|
5799
5734
|
err_33 = _d.sent();
|
5800
5735
|
console.log("perpClient migrateFlp error:: ", err_33);
|
5801
|
-
return [3,
|
5802
|
-
case
|
5736
|
+
return [3, 4];
|
5737
|
+
case 4: return [2, {
|
5803
5738
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5804
5739
|
additionalSigners: additionalSigners
|
5805
5740
|
}];
|
@@ -6016,10 +5951,8 @@ var PerpetualsClient = (function () {
|
|
6016
5951
|
additionalSigners = [];
|
6017
5952
|
_a.label = 1;
|
6018
5953
|
case 1:
|
6019
|
-
_a.trys.push([1,
|
6020
|
-
|
6021
|
-
case 2:
|
6022
|
-
fundingAccount = _a.sent();
|
5954
|
+
_a.trys.push([1, 3, , 4]);
|
5955
|
+
fundingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
|
6023
5956
|
rewardVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_vault")], this.programRewardDistribution.programId)[0];
|
6024
5957
|
rewardTokenAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_token_account")], this.programRewardDistribution.programId)[0];
|
6025
5958
|
rewardRecord = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_record"), owner.toBuffer(), rewardVault.toBuffer(), counter.toArrayLike(Buffer, 'le', 8)], this.programRewardDistribution.programId)[0];
|
@@ -6042,15 +5975,15 @@ var PerpetualsClient = (function () {
|
|
6042
5975
|
program: this.programRewardDistribution.programId
|
6043
5976
|
})
|
6044
5977
|
.instruction()];
|
6045
|
-
case
|
5978
|
+
case 2:
|
6046
5979
|
distributeReward = _a.sent();
|
6047
5980
|
instructions.push(distributeReward);
|
6048
|
-
return [3,
|
6049
|
-
case
|
5981
|
+
return [3, 4];
|
5982
|
+
case 3:
|
6050
5983
|
err_38 = _a.sent();
|
6051
5984
|
console.log("rewardDistribution distributeReward error:: ", err_38);
|
6052
5985
|
throw err_38;
|
6053
|
-
case
|
5986
|
+
case 4: return [2, {
|
6054
5987
|
instructions: __spreadArray([], instructions, true),
|
6055
5988
|
additionalSigners: additionalSigners
|
6056
5989
|
}];
|
@@ -6070,17 +6003,15 @@ var PerpetualsClient = (function () {
|
|
6070
6003
|
additionalSigners = [];
|
6071
6004
|
_b.label = 1;
|
6072
6005
|
case 1:
|
6073
|
-
_b.trys.push([1,
|
6074
|
-
|
6075
|
-
case 2:
|
6076
|
-
receivingTokenAccount = _b.sent();
|
6006
|
+
_b.trys.push([1, 5, , 6]);
|
6007
|
+
receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
|
6077
6008
|
_a = createUserATA;
|
6078
|
-
if (!_a) return [3,
|
6009
|
+
if (!_a) return [3, 3];
|
6079
6010
|
return [4, (0, utils_1.checkIfAccountExists)(receivingTokenAccount, this.provider.connection)];
|
6080
|
-
case
|
6011
|
+
case 2:
|
6081
6012
|
_a = !(_b.sent());
|
6082
|
-
_b.label =
|
6083
|
-
case
|
6013
|
+
_b.label = 3;
|
6014
|
+
case 3:
|
6084
6015
|
if (_a) {
|
6085
6016
|
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, receivingTokenAccount, publicKey, rewardCustodyMint));
|
6086
6017
|
}
|
@@ -6103,14 +6034,14 @@ var PerpetualsClient = (function () {
|
|
6103
6034
|
program: this.programRewardDistribution.programId
|
6104
6035
|
})
|
6105
6036
|
.instruction()];
|
6106
|
-
case
|
6037
|
+
case 4:
|
6107
6038
|
collectNftReward = _b.sent();
|
6108
6039
|
instructions.push(collectNftReward);
|
6109
|
-
return [3,
|
6110
|
-
case
|
6040
|
+
return [3, 6];
|
6041
|
+
case 5:
|
6111
6042
|
err_39 = _b.sent();
|
6112
6043
|
throw err_39;
|
6113
|
-
case
|
6044
|
+
case 6: return [2, {
|
6114
6045
|
instructions: __spreadArray([], instructions, true),
|
6115
6046
|
additionalSigners: additionalSigners
|
6116
6047
|
}];
|