flash-sdk 2.25.8 → 2.26.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -501,7 +501,7 @@ var PerpetualsClient = (function () {
501
501
  }
502
502
  });
503
503
  }); };
504
- this.addCustody = function (poolName, tokenMint, isStable, isVirtual, token22, oracle, pricing, permissions, fees, borrowRate, ratios, depegAdjustment) { return __awaiter(_this, void 0, void 0, function () {
504
+ this.addCustody = function (poolName, tokenMint, isStable, isVirtual, oracle, pricing, permissions, fees, borrowRate, ratios, depegAdjustment) { return __awaiter(_this, void 0, void 0, function () {
505
505
  var trx_id, error_1;
506
506
  return __generator(this, function (_a) {
507
507
  switch (_a.label) {
@@ -511,7 +511,6 @@ var PerpetualsClient = (function () {
511
511
  .addCustody({
512
512
  isStable: isStable,
513
513
  isVirtual: isVirtual,
514
- token22: token22,
515
514
  oracle: oracle,
516
515
  pricing: pricing,
517
516
  permissions: permissions,
@@ -2482,33 +2481,34 @@ var PerpetualsClient = (function () {
2482
2481
  if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
2483
2482
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
2484
2483
  return __awaiter(_this, void 0, void 0, function () {
2485
- var publicKey, targetCustodyConfig, collateralCustodyConfig, collateralToken, marketAccount, userCollateralTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, positionAccount, rebateMintAccount, params, instruction;
2484
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userCollateralTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, positionAccount, params, instruction;
2486
2485
  return __generator(this, function (_c) {
2487
2486
  switch (_c.label) {
2488
2487
  case 0:
2489
2488
  publicKey = this.provider.wallet.publicKey;
2490
2489
  targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
2491
2490
  collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
2492
- collateralToken = poolConfig.getTokenFromSymbol(collateralSymbol);
2493
2491
  marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
2494
- userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true, collateralToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
2492
+ return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true)];
2493
+ case 1:
2494
+ userCollateralTokenAccount = _c.sent();
2495
2495
  preInstructions = [];
2496
2496
  instructions = [];
2497
2497
  postInstructions = [];
2498
2498
  additionalSigners = [];
2499
- if (!(collateralSymbol == 'SOL')) return [3, 3];
2499
+ if (!(collateralSymbol == 'SOL')) return [3, 4];
2500
2500
  console.log("collateralSymbol === SOL", collateralSymbol);
2501
2501
  lamports = collateralWithfee.add(new anchor_1.BN(this.minimumBalanceForRentExemptAccountLamports));
2502
- if (!!skipBalanceChecks) return [3, 2];
2502
+ if (!!skipBalanceChecks) return [3, 3];
2503
2503
  _a = anchor_1.BN.bind;
2504
2504
  return [4, this.provider.connection.getBalance(publicKey)];
2505
- case 1:
2505
+ case 2:
2506
2506
  unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _c.sent()]))();
2507
2507
  if (unWrappedSolBalance.lt(lamports)) {
2508
2508
  throw "Insufficient SOL Funds";
2509
2509
  }
2510
- _c.label = 2;
2511
- case 2:
2510
+ _c.label = 3;
2511
+ case 3:
2512
2512
  if (!ephemeralSignerPubkey) {
2513
2513
  wrappedSolAccount = new web3_js_1.Keypair();
2514
2514
  additionalSigners.push(wrappedSolAccount);
@@ -2526,29 +2526,24 @@ var PerpetualsClient = (function () {
2526
2526
  postInstructions = [
2527
2527
  (0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
2528
2528
  ];
2529
- return [3, 6];
2530
- case 3:
2531
- if (!!skipBalanceChecks) return [3, 6];
2532
- return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
2529
+ return [3, 7];
2533
2530
  case 4:
2531
+ if (!!skipBalanceChecks) return [3, 7];
2532
+ return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
2533
+ case 5:
2534
2534
  if (!(_c.sent())) {
2535
2535
  throw "Insufficient Funds , token Account doesn't exist";
2536
2536
  }
2537
2537
  _b = anchor_1.BN.bind;
2538
2538
  return [4, this.provider.connection.getTokenAccountBalance(userCollateralTokenAccount)];
2539
- case 5:
2539
+ case 6:
2540
2540
  tokenAccountBalance = new (_b.apply(anchor_1.BN, [void 0, (_c.sent()).value.amount]))();
2541
2541
  if (tokenAccountBalance.lt(collateralWithfee)) {
2542
2542
  throw "Insufficient Funds need more ".concat(collateralWithfee.sub(tokenAccountBalance), " tokens");
2543
2543
  }
2544
- _c.label = 6;
2545
- case 6:
2544
+ _c.label = 7;
2545
+ case 7:
2546
2546
  positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
2547
- rebateMintAccount = {
2548
- pubkey: collateralCustodyConfig.mintKey,
2549
- isSigner: false,
2550
- isWritable: false
2551
- };
2552
2547
  params = {
2553
2548
  priceWithSlippage: priceWithSlippage,
2554
2549
  collateralAmount: collateralWithfee,
@@ -2571,16 +2566,15 @@ var PerpetualsClient = (function () {
2571
2566
  collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
2572
2567
  collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
2573
2568
  systemProgram: web3_js_1.SystemProgram.programId,
2574
- tokenProgram: collateralToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
2569
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
2575
2570
  eventAuthority: this.eventAuthority.publicKey,
2576
2571
  program: this.programId,
2577
2572
  transferAuthority: this.authority.publicKey,
2578
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
2579
- fundingMint: collateralCustodyConfig.mintKey
2573
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
2580
2574
  })
2581
- .remainingAccounts(__spreadArray(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true), [rebateMintAccount], false))
2575
+ .remainingAccounts(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true))
2582
2576
  .instruction()];
2583
- case 7:
2577
+ case 8:
2584
2578
  instruction = _c.sent();
2585
2579
  instructions.push(instruction);
2586
2580
  return [2, {
@@ -2646,7 +2640,7 @@ var PerpetualsClient = (function () {
2646
2640
  ];
2647
2641
  return [3, 6];
2648
2642
  case 3:
2649
- userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(swapPoolConfig.getTokenFromSymbol(inputSymbol).mintKey, publicKey, true, swapPoolConfig.getTokenFromSymbol(inputSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
2643
+ userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(swapPoolConfig.getTokenFromSymbol(inputSymbol).mintKey, publicKey, true);
2650
2644
  if (!!skipBalanceChecks) return [3, 6];
2651
2645
  return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
2652
2646
  case 4:
@@ -2662,11 +2656,11 @@ var PerpetualsClient = (function () {
2662
2656
  }
2663
2657
  _d.label = 6;
2664
2658
  case 6:
2665
- userOutputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(swapPoolConfig.getTokenFromSymbol(swapOutCustodyConfig.symbol).mintKey, publicKey, true, swapPoolConfig.getTokenFromSymbol(swapOutCustodyConfig.symbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
2659
+ userOutputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(swapPoolConfig.getTokenFromSymbol(swapOutCustodyConfig.symbol).mintKey, publicKey, true);
2666
2660
  return [4, (0, utils_1.checkIfAccountExists)(userOutputTokenAccount, this.provider.connection)];
2667
2661
  case 7:
2668
2662
  if (!(_d.sent())) {
2669
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userOutputTokenAccount, publicKey, swapPoolConfig.getTokenFromSymbol(swapOutCustodyConfig.symbol).mintKey, swapPoolConfig.getTokenFromSymbol(swapOutCustodyConfig.symbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
2663
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userOutputTokenAccount, publicKey, swapPoolConfig.getTokenFromSymbol(swapOutCustodyConfig.symbol).mintKey));
2670
2664
  }
2671
2665
  marketAccount = positionPoolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
2672
2666
  positionAccount = positionPoolConfig.getPositionFromMarketPk(publicKey, marketAccount);
@@ -2741,7 +2735,7 @@ var PerpetualsClient = (function () {
2741
2735
  if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
2742
2736
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
2743
2737
  return __awaiter(_this, void 0, void 0, function () {
2744
- var publicKey, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, lamports, _a, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, rebateMintAccount, instruction, closeWsolATAIns, error_2;
2738
+ var publicKey, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, lamports, _a, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, instruction, closeWsolATAIns, error_2;
2745
2739
  return __generator(this, function (_b) {
2746
2740
  switch (_b.label) {
2747
2741
  case 0:
@@ -2775,7 +2769,7 @@ var PerpetualsClient = (function () {
2775
2769
  ];
2776
2770
  return [3, 5];
2777
2771
  case 2:
2778
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true, poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
2772
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
2779
2773
  _a = createUserATA;
2780
2774
  if (!_a) return [3, 4];
2781
2775
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
@@ -2784,7 +2778,7 @@ var PerpetualsClient = (function () {
2784
2778
  _b.label = 4;
2785
2779
  case 4:
2786
2780
  if (_a) {
2787
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
2781
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
2788
2782
  }
2789
2783
  _b.label = 5;
2790
2784
  case 5:
@@ -2792,11 +2786,6 @@ var PerpetualsClient = (function () {
2792
2786
  targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(marketSymbol).mintKey); });
2793
2787
  marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
2794
2788
  positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
2795
- rebateMintAccount = {
2796
- pubkey: collateralCustodyConfig.mintKey,
2797
- isSigner: false,
2798
- isWritable: false
2799
- };
2800
2789
  return [4, this.program.methods
2801
2790
  .closePosition({
2802
2791
  priceWithSlippage: priceWithSlippage,
@@ -2817,12 +2806,11 @@ var PerpetualsClient = (function () {
2817
2806
  collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
2818
2807
  collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
2819
2808
  eventAuthority: this.eventAuthority.publicKey,
2820
- tokenProgram: poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
2809
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
2821
2810
  program: this.programId,
2822
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
2823
- receivingMint: collateralCustodyConfig.mintKey
2811
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
2824
2812
  })
2825
- .remainingAccounts(__spreadArray(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true), [rebateMintAccount], false))
2813
+ .remainingAccounts(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true))
2826
2814
  .instruction()];
2827
2815
  case 6:
2828
2816
  instruction = _b.sent();
@@ -2887,21 +2875,22 @@ var PerpetualsClient = (function () {
2887
2875
  (0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
2888
2876
  ];
2889
2877
  additionalSigners.push(wrappedSolAccount);
2890
- return [3, 3];
2891
- case 1:
2892
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(swapPoolConfig.getTokenFromSymbol(outputSymbol).mintKey, publicKey, true, swapPoolConfig.getTokenFromSymbol(outputSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
2893
- return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
2878
+ return [3, 4];
2879
+ case 1: return [4, (0, spl_token_1.getAssociatedTokenAddress)(swapPoolConfig.getTokenFromSymbol(outputSymbol).mintKey, publicKey, true)];
2894
2880
  case 2:
2881
+ userReceivingTokenAccount = _b.sent();
2882
+ return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
2883
+ case 3:
2895
2884
  if (!(_b.sent())) {
2896
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, swapPoolConfig.getTokenFromSymbol(outputSymbol).mintKey, swapPoolConfig.getTokenFromSymbol(outputSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
2885
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, swapPoolConfig.getTokenFromSymbol(outputSymbol).mintKey));
2897
2886
  }
2898
- _b.label = 3;
2899
- case 3:
2900
- userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(positionPoolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true, positionPoolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
2901
- return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
2887
+ _b.label = 4;
2902
2888
  case 4:
2889
+ userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(positionPoolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
2890
+ return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
2891
+ case 5:
2903
2892
  if (!(_b.sent())) {
2904
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userCollateralTokenAccount, publicKey, positionPoolConfig.getTokenFromSymbol(collateralSymbol).mintKey, positionPoolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
2893
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userCollateralTokenAccount, publicKey, positionPoolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
2905
2894
  }
2906
2895
  marketAccount = positionPoolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
2907
2896
  positionAccount = positionPoolConfig.getPositionFromMarketPk(publicKey, marketAccount);
@@ -2950,11 +2939,11 @@ var PerpetualsClient = (function () {
2950
2939
  collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
2951
2940
  eventAuthority: this.eventAuthority.publicKey,
2952
2941
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
2953
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
2942
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
2954
2943
  })
2955
2944
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true), custodyAccountMetas, true), custodyOracleAccountMetas, true))
2956
2945
  .instruction()];
2957
- case 5:
2946
+ case 6:
2958
2947
  instruction = _b.sent();
2959
2948
  instructions.push(instruction);
2960
2949
  return [2, {
@@ -2972,7 +2961,7 @@ var PerpetualsClient = (function () {
2972
2961
  if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
2973
2962
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
2974
2963
  return __awaiter(_this, void 0, void 0, function () {
2975
- var publicKey, userInputCustodyConfig, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, targetToken, userInputTokenAccount, userInputToken, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, userOutputTokenAccount, rebateMintAccount, inx, err_2;
2964
+ var publicKey, userInputCustodyConfig, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, userOutputTokenAccount, inx, err_2;
2976
2965
  return __generator(this, function (_c) {
2977
2966
  switch (_c.label) {
2978
2967
  case 0:
@@ -2998,8 +2987,6 @@ var PerpetualsClient = (function () {
2998
2987
  instructions = [];
2999
2988
  postInstructions = [];
3000
2989
  additionalSigners = [];
3001
- targetToken = poolConfig.getTokenFromSymbol(targetCustodyConfig.symbol);
3002
- userInputToken = poolConfig.getTokenFromSymbol(userInputTokenSymbol);
3003
2990
  if (!(userInputTokenSymbol == 'SOL')) return [3, 3];
3004
2991
  console.log("inputSymbol === SOL", userInputTokenSymbol);
3005
2992
  lamports = amountIn.add(new anchor_1.BN(this.minimumBalanceForRentExemptAccountLamports));
@@ -3032,7 +3019,7 @@ var PerpetualsClient = (function () {
3032
3019
  ];
3033
3020
  return [3, 6];
3034
3021
  case 3:
3035
- userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(userInputToken.mintKey, publicKey, true, userInputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3022
+ userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(userInputTokenSymbol).mintKey, publicKey, true);
3036
3023
  if (!!skipBalanceChecks) return [3, 6];
3037
3024
  return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
3038
3025
  case 4:
@@ -3048,17 +3035,12 @@ var PerpetualsClient = (function () {
3048
3035
  }
3049
3036
  _c.label = 6;
3050
3037
  case 6:
3051
- userOutputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(targetToken.mintKey, publicKey, true, targetToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3038
+ userOutputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(targetCustodyConfig.symbol).mintKey, publicKey, true);
3052
3039
  return [4, (0, utils_1.checkIfAccountExists)(userOutputTokenAccount, this.provider.connection)];
3053
3040
  case 7:
3054
3041
  if (!(_c.sent())) {
3055
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userOutputTokenAccount, publicKey, targetToken.mintKey, targetToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
3042
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userOutputTokenAccount, publicKey, poolConfig.getTokenFromSymbol(targetCustodyConfig.symbol).mintKey));
3056
3043
  }
3057
- rebateMintAccount = {
3058
- pubkey: collateralCustodyConfig.mintKey,
3059
- isSigner: false,
3060
- isWritable: false
3061
- };
3062
3044
  _c.label = 8;
3063
3045
  case 8:
3064
3046
  _c.trys.push([8, 10, , 11]);
@@ -3088,14 +3070,12 @@ var PerpetualsClient = (function () {
3088
3070
  collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
3089
3071
  collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
3090
3072
  systemProgram: web3_js_1.SystemProgram.programId,
3091
- tokenProgram: poolConfig.getTokenFromSymbol(collateralTokenSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
3073
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
3092
3074
  eventAuthority: this.eventAuthority.publicKey,
3093
3075
  program: this.programId,
3094
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
3095
- fundingMint: userInputCustodyConfig.mintKey,
3096
- fundingTokenProgram: userInputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID
3076
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
3097
3077
  })
3098
- .remainingAccounts(__spreadArray(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true), [rebateMintAccount], false))
3078
+ .remainingAccounts(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true))
3099
3079
  .instruction()];
3100
3080
  case 9:
3101
3081
  inx = _c.sent();
@@ -3119,7 +3099,7 @@ var PerpetualsClient = (function () {
3119
3099
  if (nftRebateTokenAccount === void 0) { nftRebateTokenAccount = web3_js_1.PublicKey.default; }
3120
3100
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3121
3101
  return __awaiter(_this, void 0, void 0, function () {
3122
- var publicKey, userOutputCustodyConfig, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userReceivingTokenAccount, collateralToken, userOutputToken, lamports, userCollateralTokenAccount, rebateMintAccount, inx, err_3;
3102
+ var publicKey, userOutputCustodyConfig, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userReceivingTokenAccount, lamports, userCollateralTokenAccount, inx, err_3;
3123
3103
  return __generator(this, function (_a) {
3124
3104
  switch (_a.label) {
3125
3105
  case 0:
@@ -3145,8 +3125,6 @@ var PerpetualsClient = (function () {
3145
3125
  instructions = [];
3146
3126
  postInstructions = [];
3147
3127
  additionalSigners = [];
3148
- collateralToken = poolConfig.getTokenFromSymbol(collateralTokenSymbol);
3149
- userOutputToken = poolConfig.getTokenFromSymbol(userOutputTokenSymbol);
3150
3128
  if (!(userOutputTokenSymbol == 'SOL')) return [3, 1];
3151
3129
  console.log("outputSymbol === SOL", userOutputTokenSymbol);
3152
3130
  lamports = (this.minimumBalanceForRentExemptAccountLamports);
@@ -3168,30 +3146,26 @@ var PerpetualsClient = (function () {
3168
3146
  (0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
3169
3147
  ];
3170
3148
  additionalSigners.push(wrappedSolAccount);
3171
- return [3, 3];
3172
- case 1:
3173
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(userOutputToken.mintKey, publicKey, true, userOutputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3174
- return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
3149
+ return [3, 4];
3150
+ case 1: return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey, publicKey, true)];
3175
3151
  case 2:
3152
+ userReceivingTokenAccount = _a.sent();
3153
+ return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
3154
+ case 3:
3176
3155
  if (!(_a.sent())) {
3177
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, userOutputToken.mintKey, userOutputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
3156
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey));
3178
3157
  }
3179
- _a.label = 3;
3180
- case 3:
3181
- userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralToken.mintKey, publicKey, true, collateralToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3182
- return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
3158
+ _a.label = 4;
3183
3159
  case 4:
3160
+ userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralTokenSymbol).mintKey, publicKey, true);
3161
+ return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
3162
+ case 5:
3184
3163
  if (!(_a.sent())) {
3185
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userCollateralTokenAccount, publicKey, collateralToken.mintKey, collateralToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
3164
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userCollateralTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralTokenSymbol).mintKey));
3186
3165
  }
3187
- rebateMintAccount = {
3188
- pubkey: collateralCustodyConfig.mintKey,
3189
- isSigner: false,
3190
- isWritable: false
3191
- };
3192
- _a.label = 5;
3193
- case 5:
3194
- _a.trys.push([5, 7, , 8]);
3166
+ _a.label = 6;
3167
+ case 6:
3168
+ _a.trys.push([6, 8, , 9]);
3195
3169
  return [4, this.program.methods
3196
3170
  .closeAndSwap({
3197
3171
  priceWithSlippage: priceWithSlippage,
@@ -3216,25 +3190,22 @@ var PerpetualsClient = (function () {
3216
3190
  dispensingCustody: userOutputCustodyConfig.custodyAccount,
3217
3191
  dispensingOracleAccount: this.useExtOracleAccount ? userOutputCustodyConfig.extOracleAccount : userOutputCustodyConfig.intOracleAccount,
3218
3192
  dispensingCustodyTokenAccount: userOutputCustodyConfig.tokenAccount,
3193
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
3219
3194
  eventAuthority: this.eventAuthority.publicKey,
3220
3195
  program: this.programId,
3221
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
3222
- receivingMint: userOutputCustodyConfig.mintKey,
3223
- receivingTokenProgram: userOutputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
3224
- collateralMint: collateralCustodyConfig.mintKey,
3225
- collateralTokenProgram: collateralToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID
3196
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
3226
3197
  })
3227
- .remainingAccounts(__spreadArray(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true), [rebateMintAccount], false))
3198
+ .remainingAccounts(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true))
3228
3199
  .instruction()];
3229
- case 6:
3200
+ case 7:
3230
3201
  inx = _a.sent();
3231
3202
  instructions.push(inx);
3232
- return [3, 8];
3233
- case 7:
3203
+ return [3, 9];
3204
+ case 8:
3234
3205
  err_3 = _a.sent();
3235
3206
  console.error("perpClient CloseAndSwap error:: ", err_3);
3236
3207
  throw err_3;
3237
- case 8: return [2, {
3208
+ case 9: return [2, {
3238
3209
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
3239
3210
  additionalSigners: additionalSigners
3240
3211
  }];
@@ -3249,7 +3220,7 @@ var PerpetualsClient = (function () {
3249
3220
  if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
3250
3221
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3251
3222
  return __awaiter(_this, void 0, void 0, function () {
3252
- var userInputCustodyConfig, userOutputCustodyConfig, publicKey, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userOutputTokenAccount, userInputTokenAccount, userOutputToken, userInputToken, wsolAssociatedTokenAccount, wsolATAExist, unWrappedSolBalance, _a, wsolAssociatedTokenAccount, closeWsolATAIns, accCreationLamports, lamports, unWrappedSolBalance, _b, tokenAccountBalance, _c, lamports, _d, custodyAccountMetas, custodyOracleAccountMetas, _i, _e, custody, params, inx, closeWsolATAIns, err_4;
3223
+ var userInputCustodyConfig, userOutputCustodyConfig, publicKey, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userOutputTokenAccount, userInputTokenAccount, wsolAssociatedTokenAccount, wsolATAExist, unWrappedSolBalance, _a, wsolAssociatedTokenAccount, closeWsolATAIns, accCreationLamports, lamports, unWrappedSolBalance, _b, tokenAccountBalance, _c, lamports, _d, custodyAccountMetas, custodyOracleAccountMetas, _i, _e, custody, params, inx, closeWsolATAIns, err_4;
3253
3224
  return __generator(this, function (_f) {
3254
3225
  switch (_f.label) {
3255
3226
  case 0:
@@ -3266,26 +3237,26 @@ var PerpetualsClient = (function () {
3266
3237
  instructions = [];
3267
3238
  postInstructions = [];
3268
3239
  additionalSigners = [];
3269
- userOutputToken = poolConfig.getTokenFromSymbol(userOutputTokenSymbol);
3270
- userInputToken = poolConfig.getTokenFromSymbol(userInputTokenSymbol);
3271
- if (!(userInputTokenSymbol == 'SOL' && userOutputTokenSymbol == 'WSOL')) return [3, 4];
3272
- wsolAssociatedTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(spl_token_1.NATIVE_MINT, publicKey, true);
3273
- return [4, (0, utils_1.checkIfAccountExists)(wsolAssociatedTokenAccount, this.provider.connection)];
3240
+ if (!(userInputTokenSymbol == 'SOL' && userOutputTokenSymbol == 'WSOL')) return [3, 5];
3241
+ return [4, (0, spl_token_1.getAssociatedTokenAddress)(spl_token_1.NATIVE_MINT, publicKey, true)];
3274
3242
  case 1:
3243
+ wsolAssociatedTokenAccount = _f.sent();
3244
+ return [4, (0, utils_1.checkIfAccountExists)(wsolAssociatedTokenAccount, this.provider.connection)];
3245
+ case 2:
3275
3246
  wsolATAExist = _f.sent();
3276
3247
  if (!wsolATAExist) {
3277
3248
  instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, wsolAssociatedTokenAccount, publicKey, spl_token_1.NATIVE_MINT));
3278
3249
  }
3279
- if (!!skipBalanceChecks) return [3, 3];
3250
+ if (!!skipBalanceChecks) return [3, 4];
3280
3251
  _a = anchor_1.BN.bind;
3281
3252
  return [4, this.provider.connection.getBalance(publicKey)];
3282
- case 2:
3253
+ case 3:
3283
3254
  unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _f.sent()]))();
3284
3255
  if (unWrappedSolBalance.lt(amountIn)) {
3285
3256
  throw "Insufficient SOL Funds";
3286
3257
  }
3287
- _f.label = 3;
3288
- case 3:
3258
+ _f.label = 4;
3259
+ case 4:
3289
3260
  instructions.push(web3_js_1.SystemProgram.transfer({
3290
3261
  fromPubkey: publicKey,
3291
3262
  toPubkey: wsolAssociatedTokenAccount,
@@ -3295,7 +3266,7 @@ var PerpetualsClient = (function () {
3295
3266
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
3296
3267
  additionalSigners: additionalSigners
3297
3268
  }];
3298
- case 4:
3269
+ case 5:
3299
3270
  if (userInputTokenSymbol == 'WSOL' && userOutputTokenSymbol == 'SOL') {
3300
3271
  console.log("WSOL=> SOL : NOTE : ONLY WAY IS TO CLOSE THE WSOL ATA and GET ALL SOL ");
3301
3272
  wsolAssociatedTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(spl_token_1.NATIVE_MINT, publicKey, true);
@@ -3306,19 +3277,19 @@ var PerpetualsClient = (function () {
3306
3277
  additionalSigners: additionalSigners
3307
3278
  }];
3308
3279
  }
3309
- _f.label = 5;
3310
- case 5:
3311
- _f.trys.push([5, 17, , 18]);
3312
- if (!(userInputTokenSymbol == 'SOL')) return [3, 8];
3280
+ _f.label = 6;
3281
+ case 6:
3282
+ _f.trys.push([6, 19, , 20]);
3283
+ if (!(userInputTokenSymbol == 'SOL')) return [3, 9];
3313
3284
  console.log("userInputTokenSymbol === sol", userInputTokenSymbol);
3314
3285
  return [4, (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(this.provider.connection)];
3315
- case 6:
3286
+ case 7:
3316
3287
  accCreationLamports = (_f.sent());
3317
3288
  console.log("accCreationLamports:", accCreationLamports);
3318
3289
  lamports = amountIn.add(new anchor_1.BN(accCreationLamports));
3319
3290
  _b = anchor_1.BN.bind;
3320
3291
  return [4, this.provider.connection.getBalance(publicKey)];
3321
- case 7:
3292
+ case 8:
3322
3293
  unWrappedSolBalance = new (_b.apply(anchor_1.BN, [void 0, _f.sent()]))();
3323
3294
  if (unWrappedSolBalance.lt(amountIn)) {
3324
3295
  throw "Insufficient SOL Funds";
@@ -3341,25 +3312,25 @@ var PerpetualsClient = (function () {
3341
3312
  postInstructions = [
3342
3313
  (0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
3343
3314
  ];
3344
- return [3, 11];
3345
- case 8:
3346
- userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(userInputToken.mintKey, publicKey, true, userInputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3347
- return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
3315
+ return [3, 12];
3348
3316
  case 9:
3317
+ userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(userInputTokenSymbol).mintKey, publicKey, true);
3318
+ return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
3319
+ case 10:
3349
3320
  if (!(_f.sent())) {
3350
3321
  throw "Insufficient Funds , Token Account doesn't exist";
3351
3322
  }
3352
- if (!!skipBalanceChecks) return [3, 11];
3323
+ if (!!skipBalanceChecks) return [3, 12];
3353
3324
  _c = anchor_1.BN.bind;
3354
3325
  return [4, this.provider.connection.getTokenAccountBalance(userInputTokenAccount)];
3355
- case 10:
3326
+ case 11:
3356
3327
  tokenAccountBalance = new (_c.apply(anchor_1.BN, [void 0, (_f.sent()).value.amount]))();
3357
3328
  if (tokenAccountBalance.lt(amountIn)) {
3358
3329
  throw "Insufficient Funds need more ".concat(amountIn.sub(tokenAccountBalance), " tokens");
3359
3330
  }
3360
- _f.label = 11;
3361
- case 11:
3362
- if (!(userOutputTokenSymbol == 'SOL')) return [3, 12];
3331
+ _f.label = 12;
3332
+ case 12:
3333
+ if (!(userOutputTokenSymbol == 'SOL')) return [3, 13];
3363
3334
  lamports = (this.minimumBalanceForRentExemptAccountLamports);
3364
3335
  if (!ephemeralSignerPubkey) {
3365
3336
  wrappedSolAccount = new web3_js_1.Keypair();
@@ -3379,21 +3350,22 @@ var PerpetualsClient = (function () {
3379
3350
  postInstructions = [
3380
3351
  (0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
3381
3352
  ];
3382
- return [3, 15];
3383
- case 12:
3384
- userOutputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(userOutputToken.mintKey, publicKey, true, userOutputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3353
+ return [3, 17];
3354
+ case 13: return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey, publicKey, true)];
3355
+ case 14:
3356
+ userOutputTokenAccount = _f.sent();
3385
3357
  _d = createUserATA;
3386
- if (!_d) return [3, 14];
3358
+ if (!_d) return [3, 16];
3387
3359
  return [4, (0, utils_1.checkIfAccountExists)(userOutputTokenAccount, this.provider.connection)];
3388
- case 13:
3360
+ case 15:
3389
3361
  _d = !(_f.sent());
3390
- _f.label = 14;
3391
- case 14:
3362
+ _f.label = 16;
3363
+ case 16:
3392
3364
  if (_d) {
3393
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userOutputTokenAccount, publicKey, userOutputToken.mintKey, userOutputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
3365
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userOutputTokenAccount, publicKey, poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey));
3394
3366
  }
3395
- _f.label = 15;
3396
- case 15:
3367
+ _f.label = 17;
3368
+ case 17:
3397
3369
  custodyAccountMetas = [];
3398
3370
  custodyOracleAccountMetas = [];
3399
3371
  for (_i = 0, _e = poolConfig.custodies; _i < _e.length; _i++) {
@@ -3430,28 +3402,25 @@ var PerpetualsClient = (function () {
3430
3402
  dispensingCustodyOracleAccount: this.useExtOracleAccount ? userOutputCustodyConfig.extOracleAccount : userOutputCustodyConfig.intOracleAccount,
3431
3403
  dispensingCustodyTokenAccount: userOutputCustodyConfig.tokenAccount,
3432
3404
  eventAuthority: this.eventAuthority.publicKey,
3405
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
3433
3406
  program: this.programId,
3434
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
3435
- fundingMint: userInputCustodyConfig.mintKey,
3436
- fundingTokenProgram: userInputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
3437
- receivingMint: userOutputCustodyConfig.mintKey,
3438
- receivingTokenProgram: userOutputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID
3407
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
3439
3408
  })
3440
3409
  .remainingAccounts(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true))
3441
3410
  .instruction()];
3442
- case 16:
3411
+ case 18:
3443
3412
  inx = _f.sent();
3444
3413
  instructions.push(inx);
3445
3414
  if (userOutputTokenSymbol == 'SOL' && unWrapSol) {
3446
3415
  closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userOutputTokenAccount, publicKey, publicKey);
3447
3416
  instructions.push(closeWsolATAIns);
3448
3417
  }
3449
- return [3, 18];
3450
- case 17:
3418
+ return [3, 20];
3419
+ case 19:
3451
3420
  err_4 = _f.sent();
3452
3421
  console.error("perpClient Swap error:: ", err_4);
3453
3422
  throw err_4;
3454
- case 18: return [2, {
3423
+ case 20: return [2, {
3455
3424
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
3456
3425
  additionalSigners: additionalSigners
3457
3426
  }];
@@ -3545,7 +3514,7 @@ var PerpetualsClient = (function () {
3545
3514
  if (!collateralCustodyConfig || !targetCustodyConfig) {
3546
3515
  throw "payTokenCustody not found";
3547
3516
  }
3548
- userPayingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralCustodyConfig.mintKey, publicKey, true, poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3517
+ userPayingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralCustodyConfig.mintKey, publicKey, true);
3549
3518
  preInstructions = [];
3550
3519
  instructions = [];
3551
3520
  postInstructions = [];
@@ -3612,10 +3581,9 @@ var PerpetualsClient = (function () {
3612
3581
  collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
3613
3582
  collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
3614
3583
  eventAuthority: this.eventAuthority.publicKey,
3615
- tokenProgram: poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
3584
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
3616
3585
  program: this.programId,
3617
3586
  ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
3618
- fundingMint: collateralCustodyConfig.mintKey
3619
3587
  })
3620
3588
  .instruction()];
3621
3589
  case 7:
@@ -3685,7 +3653,7 @@ var PerpetualsClient = (function () {
3685
3653
  ];
3686
3654
  return [3, 6];
3687
3655
  case 3:
3688
- userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputCustodyConfig.mintKey, publicKey, true, poolConfigSwap.getTokenFromSymbol(inputSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3656
+ userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputCustodyConfig.mintKey, publicKey, true);
3689
3657
  if (!!skipBalanceChecks) return [3, 6];
3690
3658
  return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
3691
3659
  case 4:
@@ -3701,11 +3669,11 @@ var PerpetualsClient = (function () {
3701
3669
  }
3702
3670
  _d.label = 6;
3703
3671
  case 6:
3704
- userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralCustodyConfig.mintKey, publicKey, true, poolConfigPosition.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3672
+ userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralCustodyConfig.mintKey, publicKey, true);
3705
3673
  return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
3706
3674
  case 7:
3707
3675
  if (!(_d.sent())) {
3708
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userCollateralTokenAccount, publicKey, collateralCustodyConfig.mintKey, poolConfigPosition.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
3676
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userCollateralTokenAccount, publicKey, collateralCustodyConfig.mintKey));
3709
3677
  }
3710
3678
  custodyAccountMetas = [];
3711
3679
  custodyOracleAccountMetas = [];
@@ -3814,7 +3782,7 @@ var PerpetualsClient = (function () {
3814
3782
  ];
3815
3783
  return [3, 5];
3816
3784
  case 2:
3817
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true, poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3785
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
3818
3786
  _a = createUserATA;
3819
3787
  if (!_a) return [3, 4];
3820
3788
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
@@ -3823,7 +3791,7 @@ var PerpetualsClient = (function () {
3823
3791
  _b.label = 4;
3824
3792
  case 4:
3825
3793
  if (_a) {
3826
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
3794
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
3827
3795
  }
3828
3796
  _b.label = 5;
3829
3797
  case 5:
@@ -3846,10 +3814,9 @@ var PerpetualsClient = (function () {
3846
3814
  collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
3847
3815
  collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
3848
3816
  eventAuthority: this.eventAuthority.publicKey,
3849
- tokenProgram: poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
3817
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
3850
3818
  program: this.programId,
3851
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
3852
- receivingMint: collateralCustodyConfig.mintKey
3819
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
3853
3820
  })
3854
3821
  .instruction()];
3855
3822
  case 6:
@@ -3913,19 +3880,19 @@ var PerpetualsClient = (function () {
3913
3880
  ];
3914
3881
  return [3, 3];
3915
3882
  case 1:
3916
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfigSwap.getTokenFromSymbol(outputSymbol).mintKey, publicKey, true, poolConfigSwap.getTokenFromSymbol(outputSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3883
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfigSwap.getTokenFromSymbol(outputSymbol).mintKey, publicKey, true);
3917
3884
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
3918
3885
  case 2:
3919
3886
  if (!(_b.sent())) {
3920
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfigSwap.getTokenFromSymbol(outputSymbol).mintKey, poolConfigSwap.getTokenFromSymbol(outputSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
3887
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfigSwap.getTokenFromSymbol(outputSymbol).mintKey));
3921
3888
  }
3922
3889
  _b.label = 3;
3923
3890
  case 3:
3924
- userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfigPosition.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true, poolConfigPosition.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
3891
+ userCollateralTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfigPosition.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
3925
3892
  return [4, (0, utils_1.checkIfAccountExists)(userCollateralTokenAccount, this.provider.connection)];
3926
3893
  case 4:
3927
3894
  if (!(_b.sent())) {
3928
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userCollateralTokenAccount, publicKey, poolConfigPosition.getTokenFromSymbol(collateralSymbol).mintKey, poolConfigPosition.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
3895
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userCollateralTokenAccount, publicKey, poolConfigPosition.getTokenFromSymbol(collateralSymbol).mintKey));
3929
3896
  }
3930
3897
  marketAccount = poolConfigPosition.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
3931
3898
  positionAccount = poolConfigPosition.getPositionFromMarketPk(publicKey, marketAccount);
@@ -3993,7 +3960,7 @@ var PerpetualsClient = (function () {
3993
3960
  if (nftReferralAccount === void 0) { nftReferralAccount = web3_js_1.PublicKey.default; }
3994
3961
  if (nftRebateTokenAccount === void 0) { nftRebateTokenAccount = web3_js_1.PublicKey.default; }
3995
3962
  return __awaiter(_this, void 0, void 0, function () {
3996
- var publicKey, collateralCustodyConfig, targetCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, rebateMintAccount, instruction;
3963
+ var publicKey, collateralCustodyConfig, targetCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, instruction;
3997
3964
  return __generator(this, function (_a) {
3998
3965
  switch (_a.label) {
3999
3966
  case 0:
@@ -4012,11 +3979,6 @@ var PerpetualsClient = (function () {
4012
3979
  instructions = [];
4013
3980
  postInstructions = [];
4014
3981
  additionalSigners = [];
4015
- rebateMintAccount = {
4016
- pubkey: collateralCustodyConfig.mintKey,
4017
- isSigner: false,
4018
- isWritable: false
4019
- };
4020
3982
  return [4, this.program.methods
4021
3983
  .increaseSize({
4022
3984
  priceWithSlippage: priceWithSlippage,
@@ -4035,12 +3997,12 @@ var PerpetualsClient = (function () {
4035
3997
  collateralCustody: collateralCustodyConfig.custodyAccount,
4036
3998
  collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
4037
3999
  collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
4038
- tokenProgram: poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
4000
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
4039
4001
  eventAuthority: this.eventAuthority.publicKey,
4040
4002
  program: this.programId,
4041
4003
  ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
4042
4004
  })
4043
- .remainingAccounts(__spreadArray(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true), [rebateMintAccount], false))
4005
+ .remainingAccounts(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true))
4044
4006
  .instruction()];
4045
4007
  case 1:
4046
4008
  instruction = _a.sent();
@@ -4058,7 +4020,7 @@ var PerpetualsClient = (function () {
4058
4020
  if (nftReferralAccount === void 0) { nftReferralAccount = web3_js_1.PublicKey.default; }
4059
4021
  if (nftRebateTokenAccount === void 0) { nftRebateTokenAccount = web3_js_1.PublicKey.default; }
4060
4022
  return __awaiter(_this, void 0, void 0, function () {
4061
- var publicKey, collateralCustodyConfig, targetCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, rebateMintAccount, instruction;
4023
+ var publicKey, collateralCustodyConfig, targetCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, instruction;
4062
4024
  return __generator(this, function (_a) {
4063
4025
  switch (_a.label) {
4064
4026
  case 0:
@@ -4077,11 +4039,6 @@ var PerpetualsClient = (function () {
4077
4039
  instructions = [];
4078
4040
  postInstructions = [];
4079
4041
  additionalSigners = [];
4080
- rebateMintAccount = {
4081
- pubkey: collateralCustodyConfig.mintKey,
4082
- isSigner: false,
4083
- isWritable: false
4084
- };
4085
4042
  return [4, this.program.methods
4086
4043
  .decreaseSize({
4087
4044
  priceWithSlippage: priceWithSlippage,
@@ -4100,12 +4057,12 @@ var PerpetualsClient = (function () {
4100
4057
  collateralCustody: collateralCustodyConfig.custodyAccount,
4101
4058
  collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
4102
4059
  collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
4103
- tokenProgram: poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
4060
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
4104
4061
  eventAuthority: this.eventAuthority.publicKey,
4105
4062
  program: this.programId,
4106
4063
  ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
4107
4064
  })
4108
- .remainingAccounts(__spreadArray(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true), [rebateMintAccount], false))
4065
+ .remainingAccounts(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true))
4109
4066
  .instruction()];
4110
4067
  case 1:
4111
4068
  instruction = _a.sent();
@@ -4122,7 +4079,7 @@ var PerpetualsClient = (function () {
4122
4079
  if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
4123
4080
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
4124
4081
  return __awaiter(_this, void 0, void 0, function () {
4125
- var publicKey, payTokenCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, payToken, userPayingTokenAccount, lpTokenAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, lamports, unWrappedSolBalance, _d, tokenAccountBalance, _e, instruction, err_6;
4082
+ 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_6;
4126
4083
  return __generator(this, function (_f) {
4127
4084
  switch (_f.label) {
4128
4085
  case 0:
@@ -4135,11 +4092,10 @@ var PerpetualsClient = (function () {
4135
4092
  instructions = [];
4136
4093
  postInstructions = [];
4137
4094
  additionalSigners = [];
4138
- payToken = poolConfig.getTokenFromSymbol(payTokenSymbol);
4139
4095
  _f.label = 1;
4140
4096
  case 1:
4141
4097
  _f.trys.push([1, 10, , 11]);
4142
- userPayingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(payTokenCustodyConfig.mintKey, publicKey, true, payToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
4098
+ userPayingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(payTokenCustodyConfig.mintKey, publicKey, true);
4143
4099
  lpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.stakedLpTokenMint, publicKey, true);
4144
4100
  custodyAccountMetas = [];
4145
4101
  custodyOracleAccountMetas = [];
@@ -4235,9 +4191,7 @@ var PerpetualsClient = (function () {
4235
4191
  eventAuthority: this.eventAuthority.publicKey,
4236
4192
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
4237
4193
  program: this.programId,
4238
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
4239
- fundingMint: payTokenCustodyConfig.mintKey,
4240
- fundingTokenProgram: payToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID
4194
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
4241
4195
  })
4242
4196
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
4243
4197
  .instruction()];
@@ -4261,7 +4215,7 @@ var PerpetualsClient = (function () {
4261
4215
  if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
4262
4216
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
4263
4217
  return __awaiter(_this, void 0, void 0, function () {
4264
- var publicKey, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lpTokenMint, inputCustodyConfig, inputToken, lpTokenAccount, flpStakeAccount, poolStakedLpVault, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _c, custody, _d, _e, market, instruction;
4218
+ 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;
4265
4219
  return __generator(this, function (_f) {
4266
4220
  switch (_f.label) {
4267
4221
  case 0:
@@ -4272,7 +4226,6 @@ var PerpetualsClient = (function () {
4272
4226
  additionalSigners = [];
4273
4227
  lpTokenMint = poolConfig.stakedLpTokenMint;
4274
4228
  inputCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(inputSymbol).mintKey); });
4275
- inputToken = poolConfig.getTokenFromSymbol(inputSymbol);
4276
4229
  lpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(lpTokenMint, publicKey, true);
4277
4230
  flpStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake"), publicKey.toBuffer(), poolConfig.poolAddress.toBuffer()], this.programId)[0];
4278
4231
  poolStakedLpVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("staked_lp_token_account"), poolConfig.poolAddress.toBuffer(), lpTokenMint.toBuffer()], this.programId)[0];
@@ -4313,7 +4266,7 @@ var PerpetualsClient = (function () {
4313
4266
  ];
4314
4267
  return [3, 7];
4315
4268
  case 4:
4316
- userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputCustodyConfig.mintKey, publicKey, true, inputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
4269
+ userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputCustodyConfig.mintKey, publicKey, true);
4317
4270
  if (!!skipBalanceChecks) return [3, 7];
4318
4271
  return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
4319
4272
  case 5:
@@ -4373,9 +4326,7 @@ var PerpetualsClient = (function () {
4373
4326
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
4374
4327
  eventAuthority: this.eventAuthority.publicKey,
4375
4328
  program: this.programId,
4376
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
4377
- fundingMint: inputCustodyConfig.mintKey,
4378
- fundingTokenProgram: inputToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID
4329
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
4379
4330
  })
4380
4331
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
4381
4332
  .instruction()];
@@ -4396,7 +4347,7 @@ var PerpetualsClient = (function () {
4396
4347
  if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
4397
4348
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
4398
4349
  return __awaiter(_this, void 0, void 0, function () {
4399
- var recieveTokenCustodyConfig, publicKey, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, recieveToken, stakedLpTokenAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, lamports, _d, removeLiquidityTx, closeInx, closeWsolATAIns, err_7;
4350
+ var recieveTokenCustodyConfig, publicKey, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, stakedLpTokenAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, lamports, _d, removeLiquidityTx, closeInx, closeWsolATAIns, err_7;
4400
4351
  return __generator(this, function (_e) {
4401
4352
  switch (_e.label) {
4402
4353
  case 0:
@@ -4409,7 +4360,6 @@ var PerpetualsClient = (function () {
4409
4360
  instructions = [];
4410
4361
  postInstructions = [];
4411
4362
  additionalSigners = [];
4412
- recieveToken = poolConfig.getTokenFromSymbol(recieveTokenSymbol);
4413
4363
  _e.label = 1;
4414
4364
  case 1:
4415
4365
  _e.trys.push([1, 7, , 8]);
@@ -4459,7 +4409,7 @@ var PerpetualsClient = (function () {
4459
4409
  ];
4460
4410
  return [3, 5];
4461
4411
  case 2:
4462
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(recieveToken.mintKey, publicKey, true, recieveToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
4412
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(recieveTokenSymbol).mintKey, publicKey, true);
4463
4413
  _d = createUserATA;
4464
4414
  if (!_d) return [3, 4];
4465
4415
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
@@ -4468,7 +4418,7 @@ var PerpetualsClient = (function () {
4468
4418
  _e.label = 4;
4469
4419
  case 4:
4470
4420
  if (_d) {
4471
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, recieveToken.mintKey, recieveToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
4421
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(recieveTokenSymbol).mintKey));
4472
4422
  }
4473
4423
  _e.label = 5;
4474
4424
  case 5: return [4, this.program.methods
@@ -4490,9 +4440,7 @@ var PerpetualsClient = (function () {
4490
4440
  eventAuthority: this.eventAuthority.publicKey,
4491
4441
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
4492
4442
  program: this.programId,
4493
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
4494
- receivingMint: recieveTokenCustodyConfig.mintKey,
4495
- receivingTokenProgram: recieveToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID
4443
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
4496
4444
  })
4497
4445
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
4498
4446
  .instruction()];
@@ -4619,7 +4567,7 @@ var PerpetualsClient = (function () {
4619
4567
  additionalSigners = [];
4620
4568
  _a.label = 1;
4621
4569
  case 1:
4622
- _a.trys.push([1, 3, , 4]);
4570
+ _a.trys.push([1, 4, , 5]);
4623
4571
  nftTradingAccount = web3_js_1.PublicKey.findProgramAddressSync([
4624
4572
  Buffer.from("trading"),
4625
4573
  nftMint.toBuffer(),
@@ -4628,7 +4576,9 @@ var PerpetualsClient = (function () {
4628
4576
  Buffer.from("referral"),
4629
4577
  publicKey.toBuffer(),
4630
4578
  ], this.programId)[0];
4631
- nftTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(nftMint, publicKey, true);
4579
+ return [4, (0, spl_token_1.getAssociatedTokenAddress)(nftMint, publicKey, true)];
4580
+ case 2:
4581
+ nftTokenAccount = _a.sent();
4632
4582
  flpStakeAccountMetas = [];
4633
4583
  for (_i = 0, flpStakeAccounts_1 = flpStakeAccounts; _i < flpStakeAccounts_1.length; _i++) {
4634
4584
  flpStakeAccountPk = flpStakeAccounts_1[_i];
@@ -4651,15 +4601,15 @@ var PerpetualsClient = (function () {
4651
4601
  tradingAccount: nftTradingAccount
4652
4602
  })
4653
4603
  .instruction()];
4654
- case 2:
4604
+ case 3:
4655
4605
  updateNftTradingAccountInstruction = _a.sent();
4656
4606
  instructions.push(updateNftTradingAccountInstruction);
4657
- return [3, 4];
4658
- case 3:
4607
+ return [3, 5];
4608
+ case 4:
4659
4609
  err_10 = _a.sent();
4660
4610
  console.log("perpClient updateNftAccount error:: ", err_10);
4661
4611
  throw err_10;
4662
- case 4: return [2, {
4612
+ case 5: return [2, {
4663
4613
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4664
4614
  additionalSigners: additionalSigners
4665
4615
  }];
@@ -4832,11 +4782,13 @@ var PerpetualsClient = (function () {
4832
4782
  additionalSigners = [];
4833
4783
  _a.label = 1;
4834
4784
  case 1:
4835
- _a.trys.push([1, 3, , 4]);
4785
+ _a.trys.push([1, 4, , 5]);
4836
4786
  lpTokenMint = poolConfig.stakedLpTokenMint;
4837
4787
  poolStakedLpVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("staked_lp_token_account"), poolConfig.poolAddress.toBuffer(), lpTokenMint.toBuffer()], this.programId)[0];
4838
4788
  flpStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake"), owner.toBuffer(), poolConfig.poolAddress.toBuffer()], this.programId)[0];
4839
- userLpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.stakedLpTokenMint, owner, true);
4789
+ return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.stakedLpTokenMint, owner, true)];
4790
+ case 2:
4791
+ userLpTokenAccount = _a.sent();
4840
4792
  return [4, this.program.methods
4841
4793
  .depositStake({
4842
4794
  depositAmount: depositAmount
@@ -4853,19 +4805,18 @@ var PerpetualsClient = (function () {
4853
4805
  systemProgram: web3_js_1.SystemProgram.programId,
4854
4806
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
4855
4807
  eventAuthority: this.eventAuthority.publicKey,
4856
- program: this.programId,
4857
- lpTokenMint: poolConfig.stakedLpTokenMint
4808
+ program: this.programId
4858
4809
  })
4859
4810
  .instruction()];
4860
- case 2:
4811
+ case 3:
4861
4812
  depositStakeInstruction = _a.sent();
4862
4813
  instructions.push(depositStakeInstruction);
4863
- return [3, 4];
4864
- case 3:
4814
+ return [3, 5];
4815
+ case 4:
4865
4816
  err_14 = _a.sent();
4866
4817
  console.log("perpClient depositStaking error:: ", err_14);
4867
4818
  throw err_14;
4868
- case 4: return [2, {
4819
+ case 5: return [2, {
4869
4820
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4870
4821
  additionalSigners: additionalSigners
4871
4822
  }];
@@ -5152,7 +5103,6 @@ var PerpetualsClient = (function () {
5152
5103
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
5153
5104
  eventAuthority: this.eventAuthority.publicKey,
5154
5105
  program: this.program.programId,
5155
- lpMint: poolConfig.stakedLpTokenMint
5156
5106
  })
5157
5107
  .instruction()];
5158
5108
  case 4:
@@ -5190,7 +5140,7 @@ var PerpetualsClient = (function () {
5190
5140
  _b.trys.push([1, 5, , 6]);
5191
5141
  pool = poolConfig.poolAddress;
5192
5142
  flpStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake"), publicKey.toBuffer(), pool.toBuffer()], this.program.programId)[0];
5193
- receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true, poolConfig.getTokenFromSymbol(rewardSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
5143
+ receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
5194
5144
  _a = createUserATA;
5195
5145
  if (!_a) return [3, 3];
5196
5146
  return [4, (0, utils_1.checkIfAccountExists)(receivingTokenAccount, this.provider.connection)];
@@ -5199,7 +5149,7 @@ var PerpetualsClient = (function () {
5199
5149
  _b.label = 3;
5200
5150
  case 3:
5201
5151
  if (_a) {
5202
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, receivingTokenAccount, publicKey, rewardCustodyMint, poolConfig.getTokenFromSymbol(rewardSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
5152
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, receivingTokenAccount, publicKey, rewardCustodyMint));
5203
5153
  }
5204
5154
  tradingAccount = [];
5205
5155
  if (nftTradingAccount) {
@@ -5232,8 +5182,7 @@ var PerpetualsClient = (function () {
5232
5182
  systemProgram: web3_js_1.SystemProgram.programId,
5233
5183
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
5234
5184
  eventAuthority: this.eventAuthority.publicKey,
5235
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
5236
- receivingMint: rewardCustodyMint
5185
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
5237
5186
  })
5238
5187
  .remainingAccounts(__spreadArray(__spreadArray([], tradingAccount, true), boostingAccount, true))
5239
5188
  .instruction()];
@@ -5302,19 +5251,18 @@ var PerpetualsClient = (function () {
5302
5251
  });
5303
5252
  }); };
5304
5253
  this.distributeReward = function (rewardAmount, rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5305
- var publicKey, rewardToken, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, distributeReward, err_22;
5254
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, distributeReward, err_22;
5306
5255
  return __generator(this, function (_a) {
5307
5256
  switch (_a.label) {
5308
5257
  case 0:
5309
5258
  publicKey = this.provider.wallet.publicKey;
5310
- rewardToken = poolConfig.getTokenFromSymbol(rewardSymbol);
5311
- rewardCustodyMint = rewardToken.mintKey;
5259
+ rewardCustodyMint = poolConfig.getTokenFromSymbol(rewardSymbol).mintKey;
5312
5260
  instructions = [];
5313
5261
  additionalSigners = [];
5314
5262
  _a.label = 1;
5315
5263
  case 1:
5316
5264
  _a.trys.push([1, 3, , 4]);
5317
- fundingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true, rewardToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
5265
+ fundingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
5318
5266
  rewardVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_vault")], this.programFbnftReward.programId)[0];
5319
5267
  rewardTokenAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_token_account")], this.programFbnftReward.programId)[0];
5320
5268
  return [4, this.programFbnftReward.methods
@@ -5347,13 +5295,12 @@ var PerpetualsClient = (function () {
5347
5295
  this.collectNftReward = function (rewardSymbol, poolConfig, nftMint, createUserATA) {
5348
5296
  if (createUserATA === void 0) { createUserATA = true; }
5349
5297
  return __awaiter(_this, void 0, void 0, function () {
5350
- var publicKey, rewardToken, rewardCustodyMint, instructions, additionalSigners, nftTokenAccount, metadataAccount, receivingTokenAccount, _a, rewardRecord, rewardVault, rewardTokenAccount, nftTransferAuthority, collectNftReward, err_23;
5298
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, nftTokenAccount, metadataAccount, receivingTokenAccount, _a, rewardRecord, rewardVault, rewardTokenAccount, nftTransferAuthority, collectNftReward, err_23;
5351
5299
  return __generator(this, function (_b) {
5352
5300
  switch (_b.label) {
5353
5301
  case 0:
5354
5302
  publicKey = this.provider.wallet.publicKey;
5355
- rewardToken = poolConfig.getTokenFromSymbol(rewardSymbol);
5356
- rewardCustodyMint = rewardToken.mintKey;
5303
+ rewardCustodyMint = poolConfig.getTokenFromSymbol(rewardSymbol).mintKey;
5357
5304
  instructions = [];
5358
5305
  additionalSigners = [];
5359
5306
  _b.label = 1;
@@ -5361,7 +5308,7 @@ var PerpetualsClient = (function () {
5361
5308
  _b.trys.push([1, 5, , 6]);
5362
5309
  nftTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(nftMint, publicKey, true);
5363
5310
  metadataAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("metadata"), constants_1.METAPLEX_PROGRAM_ID.toBuffer(), nftMint.toBuffer()], constants_1.METAPLEX_PROGRAM_ID)[0];
5364
- receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true, rewardToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
5311
+ receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
5365
5312
  _a = createUserATA;
5366
5313
  if (!_a) return [3, 3];
5367
5314
  return [4, (0, utils_1.checkIfAccountExists)(receivingTokenAccount, this.provider.connection)];
@@ -5370,7 +5317,7 @@ var PerpetualsClient = (function () {
5370
5317
  _b.label = 3;
5371
5318
  case 3:
5372
5319
  if (_a) {
5373
- instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, receivingTokenAccount, publicKey, rewardCustodyMint, rewardToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
5320
+ instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, receivingTokenAccount, publicKey, rewardCustodyMint));
5374
5321
  }
5375
5322
  rewardRecord = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_record"), nftMint.toBuffer()], this.programFbnftReward.programId)[0];
5376
5323
  rewardVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_vault")], this.programFbnftReward.programId)[0];
@@ -5390,7 +5337,7 @@ var PerpetualsClient = (function () {
5390
5337
  rewardTokenAccount: rewardTokenAccount,
5391
5338
  transferAuthority: nftTransferAuthority,
5392
5339
  systemProgram: web3_js_1.SystemProgram.programId,
5393
- tokenProgram: rewardToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
5340
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
5394
5341
  })
5395
5342
  .instruction()];
5396
5343
  case 4:
@@ -5411,14 +5358,13 @@ var PerpetualsClient = (function () {
5411
5358
  this.collectAndDistributeFee = function (rewardSymbol, poolConfig, createUserATA, nftTradingAccount) {
5412
5359
  if (createUserATA === void 0) { createUserATA = true; }
5413
5360
  return __awaiter(_this, void 0, void 0, function () {
5414
- var publicKey, rewardToken, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tradingAccount, rewardVault, rewardTokenAccount, withdrawStakeInstruction, err_24;
5361
+ var publicKey, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tradingAccount, rewardVault, rewardTokenAccount, withdrawStakeInstruction, err_24;
5415
5362
  return __generator(this, function (_b) {
5416
5363
  switch (_b.label) {
5417
5364
  case 0:
5418
5365
  publicKey = this.provider.wallet.publicKey;
5419
- rewardToken = poolConfig.getTokenFromSymbol(rewardSymbol);
5420
- rewardCustodyMint = rewardToken.mintKey;
5421
- rewardCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(rewardToken.mintKey); });
5366
+ rewardCustodyMint = poolConfig.getTokenFromSymbol(rewardSymbol).mintKey;
5367
+ rewardCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(rewardSymbol).mintKey); });
5422
5368
  preInstructions = [];
5423
5369
  instructions = [];
5424
5370
  postInstructions = [];
@@ -5428,7 +5374,7 @@ var PerpetualsClient = (function () {
5428
5374
  _b.trys.push([1, 5, , 6]);
5429
5375
  pool = poolConfig.poolAddress;
5430
5376
  flpStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake"), publicKey.toBuffer(), pool.toBuffer()], this.program.programId)[0];
5431
- receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true, rewardToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
5377
+ receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
5432
5378
  _a = createUserATA;
5433
5379
  if (!_a) return [3, 3];
5434
5380
  return [4, (0, utils_1.checkIfAccountExists)(receivingTokenAccount, this.provider.connection)];
@@ -5437,7 +5383,7 @@ var PerpetualsClient = (function () {
5437
5383
  _b.label = 3;
5438
5384
  case 3:
5439
5385
  if (_a) {
5440
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, receivingTokenAccount, publicKey, rewardCustodyMint, rewardToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
5386
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, receivingTokenAccount, publicKey, rewardCustodyMint));
5441
5387
  }
5442
5388
  tradingAccount = [];
5443
5389
  if (nftTradingAccount) {
@@ -5556,17 +5502,19 @@ var PerpetualsClient = (function () {
5556
5502
  additionalSigners = [];
5557
5503
  _b.label = 1;
5558
5504
  case 1:
5559
- _b.trys.push([1, 5, , 6]);
5560
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, positionAccount.owner, false, poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
5505
+ _b.trys.push([1, 6, , 7]);
5506
+ return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, positionAccount.owner)];
5507
+ case 2:
5508
+ userReceivingTokenAccount = _b.sent();
5561
5509
  _a = createUserATA;
5562
- if (!_a) return [3, 3];
5510
+ if (!_a) return [3, 4];
5563
5511
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
5564
- case 2:
5565
- _a = !(_b.sent());
5566
- _b.label = 3;
5567
5512
  case 3:
5513
+ _a = !(_b.sent());
5514
+ _b.label = 4;
5515
+ case 4:
5568
5516
  if (_a) {
5569
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, positionAccount.owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
5517
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, positionAccount.owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
5570
5518
  }
5571
5519
  return [4, this.program.methods
5572
5520
  .forceClosePosition({
@@ -5586,26 +5534,25 @@ var PerpetualsClient = (function () {
5586
5534
  collateralCustody: collateralCustodyConfig.custodyAccount,
5587
5535
  collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
5588
5536
  collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
5589
- tokenProgram: poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
5537
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
5590
5538
  eventAuthority: this.eventAuthority.publicKey,
5591
5539
  program: this.programId,
5592
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
5593
- receivingMint: collateralCustodyConfig.mintKey
5540
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
5594
5541
  })
5595
5542
  .instruction()];
5596
- case 4:
5543
+ case 5:
5597
5544
  forceClosePosition = _b.sent();
5598
5545
  instructions.push(forceClosePosition);
5599
5546
  if (collateralSymbol == 'WSOL' && closeUsersWSOLATA) {
5600
5547
  closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userReceivingTokenAccount, positionAccount.owner, positionAccount.owner);
5601
5548
  postInstructions.push(closeWsolATAIns);
5602
5549
  }
5603
- return [3, 6];
5604
- case 5:
5550
+ return [3, 7];
5551
+ case 6:
5605
5552
  err_26 = _b.sent();
5606
5553
  console.log("perpClient forceClosePosition error:: ", err_26);
5607
5554
  throw err_26;
5608
- case 6: return [2, {
5555
+ case 7: return [2, {
5609
5556
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5610
5557
  additionalSigners: additionalSigners
5611
5558
  }];
@@ -5626,28 +5573,30 @@ var PerpetualsClient = (function () {
5626
5573
  reserveCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(reserveSymbol).mintKey); });
5627
5574
  collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
5628
5575
  marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
5629
- userReserveTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(reserveSymbol).mintKey, publicKey, false, poolConfig.getTokenFromSymbol(reserveSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
5576
+ return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(reserveSymbol).mintKey, publicKey)];
5577
+ case 1:
5578
+ userReserveTokenAccount = _c.sent();
5630
5579
  preInstructions = [];
5631
5580
  instructions = [];
5632
5581
  postInstructions = [];
5633
5582
  additionalSigners = [];
5634
- _c.label = 1;
5635
- case 1:
5636
- _c.trys.push([1, 9, , 10]);
5637
- if (!(reserveSymbol == 'SOL')) return [3, 4];
5583
+ _c.label = 2;
5584
+ case 2:
5585
+ _c.trys.push([2, 10, , 11]);
5586
+ if (!(reserveSymbol == 'SOL')) return [3, 5];
5638
5587
  console.log("reserveSymbol === SOL", reserveSymbol);
5639
5588
  accCreationLamports = this.minimumBalanceForRentExemptAccountLamports;
5640
5589
  lamports = reserveAmount.add(new anchor_1.BN(accCreationLamports));
5641
- if (!!skipBalanceChecks) return [3, 3];
5590
+ if (!!skipBalanceChecks) return [3, 4];
5642
5591
  _a = anchor_1.BN.bind;
5643
5592
  return [4, this.provider.connection.getBalance(publicKey)];
5644
- case 2:
5593
+ case 3:
5645
5594
  unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _c.sent()]))();
5646
5595
  if (unWrappedSolBalance.lt(lamports)) {
5647
5596
  throw "Insufficient SOL Funds";
5648
5597
  }
5649
- _c.label = 3;
5650
- case 3:
5598
+ _c.label = 4;
5599
+ case 4:
5651
5600
  if (!ephemeralSignerPubkey) {
5652
5601
  wrappedSolAccount = new web3_js_1.Keypair();
5653
5602
  additionalSigners.push(wrappedSolAccount);
@@ -5666,22 +5615,22 @@ var PerpetualsClient = (function () {
5666
5615
  (0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
5667
5616
  ];
5668
5617
  additionalSigners.push(wrappedSolAccount);
5669
- return [3, 7];
5670
- case 4: return [4, (0, utils_1.checkIfAccountExists)(userReserveTokenAccount, this.provider.connection)];
5671
- case 5:
5618
+ return [3, 8];
5619
+ case 5: return [4, (0, utils_1.checkIfAccountExists)(userReserveTokenAccount, this.provider.connection)];
5620
+ case 6:
5672
5621
  if (!(_c.sent())) {
5673
5622
  throw "Insufficient Funds , token Account doesn't exist";
5674
5623
  }
5675
- if (!!skipBalanceChecks) return [3, 7];
5624
+ if (!!skipBalanceChecks) return [3, 8];
5676
5625
  _b = anchor_1.BN.bind;
5677
5626
  return [4, this.provider.connection.getTokenAccountBalance(userReserveTokenAccount)];
5678
- case 6:
5627
+ case 7:
5679
5628
  tokenAccountBalance = new (_b.apply(anchor_1.BN, [void 0, (_c.sent()).value.amount]))();
5680
5629
  if (tokenAccountBalance.lt(reserveAmount)) {
5681
5630
  throw "Insufficient Funds need more ".concat(reserveAmount.sub(tokenAccountBalance), " tokens");
5682
5631
  }
5683
- _c.label = 7;
5684
- case 7:
5632
+ _c.label = 8;
5633
+ case 8:
5685
5634
  positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
5686
5635
  orderAccount = poolConfig.getOrderFromMarketPk(publicKey, marketAccount);
5687
5636
  return [4, this.program.methods
@@ -5708,22 +5657,21 @@ var PerpetualsClient = (function () {
5708
5657
  reserveOracleAccount: this.useExtOracleAccount ? reserveCustodyConfig.extOracleAccount : reserveCustodyConfig.intOracleAccount,
5709
5658
  reserveCustodyTokenAccount: reserveCustodyConfig.tokenAccount,
5710
5659
  systemProgram: web3_js_1.SystemProgram.programId,
5711
- tokenProgram: poolConfig.getTokenFromSymbol(reserveSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
5660
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
5712
5661
  eventAuthority: this.eventAuthority.publicKey,
5713
5662
  program: this.programId,
5714
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
5715
- fundingMint: reserveCustodyConfig.mintKey
5663
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
5716
5664
  })
5717
5665
  .instruction()];
5718
- case 8:
5666
+ case 9:
5719
5667
  placeLimitOrder = _c.sent();
5720
5668
  instructions.push(placeLimitOrder);
5721
- return [3, 10];
5722
- case 9:
5669
+ return [3, 11];
5670
+ case 10:
5723
5671
  err_27 = _c.sent();
5724
5672
  console.log("perpClient placeLimitOrder error:: ", err_27);
5725
5673
  throw err_27;
5726
- case 10: return [2, {
5674
+ case 11: return [2, {
5727
5675
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5728
5676
  additionalSigners: additionalSigners
5729
5677
  }];
@@ -5772,7 +5720,7 @@ var PerpetualsClient = (function () {
5772
5720
  ];
5773
5721
  return [3, 5];
5774
5722
  case 2:
5775
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(reserveSymbol).mintKey, publicKey, true, poolConfig.getTokenFromSymbol(reserveSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
5723
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(reserveSymbol).mintKey, publicKey, true);
5776
5724
  _a = createUserATA;
5777
5725
  if (!_a) return [3, 4];
5778
5726
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
@@ -5781,7 +5729,7 @@ var PerpetualsClient = (function () {
5781
5729
  _b.label = 4;
5782
5730
  case 4:
5783
5731
  if (_a) {
5784
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(reserveSymbol).mintKey, poolConfig.getTokenFromSymbol(reserveSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
5732
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(reserveSymbol).mintKey));
5785
5733
  }
5786
5734
  _b.label = 5;
5787
5735
  case 5:
@@ -5811,11 +5759,10 @@ var PerpetualsClient = (function () {
5811
5759
  reserveOracleAccount: this.useExtOracleAccount ? reserveCustodyConfig.extOracleAccount : reserveCustodyConfig.intOracleAccount,
5812
5760
  reserveCustodyTokenAccount: reserveCustodyConfig.tokenAccount,
5813
5761
  receivingAccount: reserveSymbol == 'SOL' ? (ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey) : userReceivingTokenAccount,
5814
- tokenProgram: poolConfig.getTokenFromSymbol(reserveSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
5762
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
5815
5763
  eventAuthority: this.eventAuthority.publicKey,
5816
5764
  program: this.programId,
5817
5765
  ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
5818
- receivingMint: reserveCustodyConfig.mintKey
5819
5766
  })
5820
5767
  .instruction()];
5821
5768
  case 6:
@@ -6138,7 +6085,7 @@ var PerpetualsClient = (function () {
6138
6085
  if (createUserATA === void 0) { createUserATA = true; }
6139
6086
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6140
6087
  return __awaiter(_this, void 0, void 0, function () {
6141
- var payerPubkey, targetCustodyConfig, collateralCustodyConfig, receivingCustodyConfig, marketAccount, userReceivingTokenAccount, userReceivingTokenAccountCollateral, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, collateralToken, receivingToken, _a, _b, positionAccount, orderAccount, custodyAccountMetas, custodyOracleAccountMetas, _i, _c, custody, executeTriggerWithSwap, err_34;
6088
+ var payerPubkey, targetCustodyConfig, collateralCustodyConfig, receivingCustodyConfig, marketAccount, userReceivingTokenAccount, userReceivingTokenAccountCollateral, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, _b, positionAccount, orderAccount, custodyAccountMetas, custodyOracleAccountMetas, _i, _c, custody, executeTriggerWithSwap, err_34;
6142
6089
  return __generator(this, function (_d) {
6143
6090
  switch (_d.label) {
6144
6091
  case 0:
@@ -6151,15 +6098,13 @@ var PerpetualsClient = (function () {
6151
6098
  instructions = [];
6152
6099
  postInstructions = [];
6153
6100
  additionalSigners = [];
6154
- collateralToken = poolConfig.getTokenFromSymbol(collateralSymbol);
6155
- receivingToken = poolConfig.getTokenFromSymbol(receivingSymbol);
6156
6101
  _d.label = 1;
6157
6102
  case 1:
6158
6103
  _d.trys.push([1, 9, , 10]);
6159
6104
  if (!false) return [3, 2];
6160
6105
  return [3, 7];
6161
6106
  case 2:
6162
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(receivingToken.mintKey, owner, true, receivingToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
6107
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(receivingSymbol).mintKey, owner, true);
6163
6108
  _a = createUserATA;
6164
6109
  if (!_a) return [3, 4];
6165
6110
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
@@ -6168,9 +6113,9 @@ var PerpetualsClient = (function () {
6168
6113
  _d.label = 4;
6169
6114
  case 4:
6170
6115
  if (_a) {
6171
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, owner, receivingToken.mintKey, receivingToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
6116
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, owner, poolConfig.getTokenFromSymbol(receivingSymbol).mintKey));
6172
6117
  }
6173
- userReceivingTokenAccountCollateral = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralToken.mintKey, owner, true, collateralToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
6118
+ userReceivingTokenAccountCollateral = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, owner, true);
6174
6119
  _b = createUserATA;
6175
6120
  if (!_b) return [3, 6];
6176
6121
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccountCollateral, this.provider.connection)];
@@ -6179,7 +6124,7 @@ var PerpetualsClient = (function () {
6179
6124
  _d.label = 6;
6180
6125
  case 6:
6181
6126
  if (_b) {
6182
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccountCollateral, owner, collateralToken.mintKey, collateralToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
6127
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccountCollateral, owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
6183
6128
  }
6184
6129
  _d.label = 7;
6185
6130
  case 7:
@@ -6223,13 +6168,10 @@ var PerpetualsClient = (function () {
6223
6168
  dispensingCustody: receivingCustodyConfig.custodyAccount,
6224
6169
  dispensingOracleAccount: this.useExtOracleAccount ? receivingCustodyConfig.extOracleAccount : receivingCustodyConfig.intOracleAccount,
6225
6170
  dispensingCustodyTokenAccount: receivingCustodyConfig.tokenAccount,
6171
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
6226
6172
  eventAuthority: this.eventAuthority.publicKey,
6227
6173
  program: this.programId,
6228
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
6229
- receivingMint: receivingCustodyConfig.mintKey,
6230
- receivingTokenProgram: receivingToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
6231
- collateralMint: collateralCustodyConfig.mintKey,
6232
- collateralTokenProgram: collateralToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID
6174
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
6233
6175
  })
6234
6176
  .remainingAccounts(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true))
6235
6177
  .instruction()];
@@ -6271,7 +6213,7 @@ var PerpetualsClient = (function () {
6271
6213
  if (!false) return [3, 2];
6272
6214
  return [3, 5];
6273
6215
  case 2:
6274
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, owner, true, poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
6216
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, owner, true);
6275
6217
  _a = createUserATA;
6276
6218
  if (!_a) return [3, 4];
6277
6219
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
@@ -6280,7 +6222,7 @@ var PerpetualsClient = (function () {
6280
6222
  _b.label = 4;
6281
6223
  case 4:
6282
6224
  if (_a) {
6283
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
6225
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
6284
6226
  }
6285
6227
  _b.label = 5;
6286
6228
  case 5:
@@ -6305,11 +6247,10 @@ var PerpetualsClient = (function () {
6305
6247
  collateralCustody: collateralCustodyConfig.custodyAccount,
6306
6248
  collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
6307
6249
  collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
6308
- tokenProgram: poolConfig.getTokenFromSymbol(collateralSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
6250
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
6309
6251
  eventAuthority: this.eventAuthority.publicKey,
6310
6252
  program: this.programId,
6311
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
6312
- receivingMint: collateralCustodyConfig.mintKey
6253
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
6313
6254
  })
6314
6255
  .instruction()];
6315
6256
  case 6:
@@ -6413,12 +6354,14 @@ var PerpetualsClient = (function () {
6413
6354
  case 0:
6414
6355
  publicKey = this.provider.wallet.publicKey;
6415
6356
  custodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(rewardSymbol).mintKey); });
6416
- receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(rewardSymbol).mintKey, publicKey, true, poolConfig.getTokenFromSymbol(rewardSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
6357
+ return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(rewardSymbol).mintKey, publicKey, true)];
6358
+ case 1:
6359
+ receivingTokenAccount = _a.sent();
6417
6360
  instructions = [];
6418
6361
  additionalSigners = [];
6419
- _a.label = 1;
6420
- case 1:
6421
- _a.trys.push([1, 3, , 4]);
6362
+ _a.label = 2;
6363
+ case 2:
6364
+ _a.trys.push([2, 4, , 5]);
6422
6365
  return [4, this.program.methods
6423
6366
  .withdrawFees({})
6424
6367
  .accounts({
@@ -6430,19 +6373,18 @@ var PerpetualsClient = (function () {
6430
6373
  custody: custodyConfig.custodyAccount,
6431
6374
  custodyTokenAccount: custodyConfig.tokenAccount,
6432
6375
  receivingTokenAccount: receivingTokenAccount,
6433
- tokenProgram: poolConfig.getTokenFromSymbol(rewardSymbol).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
6434
- receivingMint: custodyConfig.mintKey
6376
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID
6435
6377
  })
6436
6378
  .instruction()];
6437
- case 2:
6379
+ case 3:
6438
6380
  withdrawFeesIx = _a.sent();
6439
6381
  instructions.push(withdrawFeesIx);
6440
- return [3, 4];
6441
- case 3:
6382
+ return [3, 5];
6383
+ case 4:
6442
6384
  err_38 = _a.sent();
6443
6385
  console.log("perpClient setPool error:: ", err_38);
6444
6386
  throw err_38;
6445
- case 4: return [2, {
6387
+ case 5: return [2, {
6446
6388
  instructions: __spreadArray([], instructions, true),
6447
6389
  additionalSigners: additionalSigners
6448
6390
  }];
@@ -6488,9 +6430,10 @@ var PerpetualsClient = (function () {
6488
6430
  });
6489
6431
  }); };
6490
6432
  this.reimburse = function (tokenMint, amountIn, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6491
- var custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, instructions, additionalSigners, custodyConfig, reimburse, err_40;
6492
- return __generator(this, function (_d) {
6493
- switch (_d.label) {
6433
+ var custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, instructions, additionalSigners, custodyConfig, reimburse, _d, _e, err_40;
6434
+ var _f;
6435
+ return __generator(this, function (_g) {
6436
+ switch (_g.label) {
6494
6437
  case 0:
6495
6438
  custodyAccountMetas = [];
6496
6439
  custodyOracleAccountMetas = [];
@@ -6519,36 +6462,38 @@ var PerpetualsClient = (function () {
6519
6462
  instructions = [];
6520
6463
  additionalSigners = [];
6521
6464
  custodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(tokenMint); });
6522
- _d.label = 1;
6465
+ _g.label = 1;
6523
6466
  case 1:
6524
- _d.trys.push([1, 3, , 4]);
6525
- return [4, this.program.methods
6526
- .reimburse({ amountIn: amountIn })
6527
- .accounts({
6528
- admin: this.provider.wallet.publicKey,
6529
- multisig: poolConfig.multisig,
6530
- fundingAccount: (0, spl_token_1.getAssociatedTokenAddressSync)(tokenMint, this.provider.wallet.publicKey, true),
6531
- perpetuals: poolConfig.perpetuals,
6532
- pool: poolConfig.poolAddress,
6533
- custody: custodyConfig.custodyAccount,
6534
- custodyOracleAccount: this.useExtOracleAccount ? custodyConfig.extOracleAccount : custodyConfig.intOracleAccount,
6535
- custodyTokenAccount: custodyConfig.tokenAccount,
6536
- tokenProgram: poolConfig.getTokenFromMintPk(tokenMint).isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
6537
- program: poolConfig.programId,
6538
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
6539
- fundingMint: custodyConfig.mintKey
6540
- })
6541
- .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
6542
- .instruction()];
6543
- case 2:
6544
- reimburse = _d.sent();
6545
- instructions.push(reimburse);
6546
- return [3, 4];
6467
+ _g.trys.push([1, 4, , 5]);
6468
+ _e = (_d = this.program.methods
6469
+ .reimburse({ amountIn: amountIn }))
6470
+ .accounts;
6471
+ _f = {
6472
+ admin: this.provider.wallet.publicKey,
6473
+ multisig: poolConfig.multisig
6474
+ };
6475
+ return [4, (0, spl_token_1.getAssociatedTokenAddress)(tokenMint, this.provider.wallet.publicKey, true)];
6476
+ case 2: return [4, _e.apply(_d, [(_f.fundingAccount = _g.sent(),
6477
+ _f.perpetuals = poolConfig.perpetuals,
6478
+ _f.pool = poolConfig.poolAddress,
6479
+ _f.custody = custodyConfig.custodyAccount,
6480
+ _f.custodyOracleAccount = this.useExtOracleAccount ? custodyConfig.extOracleAccount : custodyConfig.intOracleAccount,
6481
+ _f.custodyTokenAccount = custodyConfig.tokenAccount,
6482
+ _f.tokenProgram = spl_token_1.TOKEN_PROGRAM_ID,
6483
+ _f.program = poolConfig.programId,
6484
+ _f.ixSysvar = web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
6485
+ _f)])
6486
+ .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
6487
+ .instruction()];
6547
6488
  case 3:
6548
- err_40 = _d.sent();
6489
+ reimburse = _g.sent();
6490
+ instructions.push(reimburse);
6491
+ return [3, 5];
6492
+ case 4:
6493
+ err_40 = _g.sent();
6549
6494
  console.log("perpClient setPool error:: ", err_40);
6550
6495
  throw err_40;
6551
- case 4: return [2, {
6496
+ case 5: return [2, {
6552
6497
  instructions: __spreadArray([], instructions, true),
6553
6498
  additionalSigners: additionalSigners
6554
6499
  }];
@@ -6603,23 +6548,22 @@ var PerpetualsClient = (function () {
6603
6548
  if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
6604
6549
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6605
6550
  return __awaiter(_this, void 0, void 0, function () {
6606
- var publicKey, inToken, 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_42;
6551
+ 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_42;
6607
6552
  return __generator(this, function (_e) {
6608
6553
  switch (_e.label) {
6609
6554
  case 0:
6610
6555
  publicKey = this.provider.wallet.publicKey;
6611
- inToken = poolConfig.getTokenFromSymbol(inTokenSymbol);
6612
6556
  preInstructions = [];
6613
6557
  instructions = [];
6614
6558
  additionalSigners = [];
6615
6559
  postInstructions = [];
6616
6560
  rewardCustody = poolConfig.custodies.find(function (i) { return i.mintKey.equals(rewardTokenMint); });
6617
- inCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(inToken.mintKey); });
6561
+ inCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(inTokenSymbol).mintKey); });
6618
6562
  lpTokenMint = poolConfig.stakedLpTokenMint;
6619
6563
  compoundingTokenMint = poolConfig.compoundingTokenMint;
6620
6564
  lpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.stakedLpTokenMint, publicKey, true);
6621
6565
  compoundingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(compoundingTokenMint, publicKey, true);
6622
- fundingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inCustodyConfig.mintKey, publicKey, true, inToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
6566
+ fundingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inCustodyConfig.mintKey, publicKey, true);
6623
6567
  custodyAccountMetas = [];
6624
6568
  custodyOracleAccountMetas = [];
6625
6569
  markets = [];
@@ -6718,9 +6662,7 @@ var PerpetualsClient = (function () {
6718
6662
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
6719
6663
  eventAuthority: this.eventAuthority.publicKey,
6720
6664
  program: this.program.programId,
6721
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
6722
- fundingMint: inCustodyConfig.mintKey,
6723
- fundingTokenProgram: inToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID
6665
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
6724
6666
  })
6725
6667
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
6726
6668
  .instruction()];
@@ -6744,7 +6686,7 @@ var PerpetualsClient = (function () {
6744
6686
  if (createUserATA === void 0) { createUserATA = true; }
6745
6687
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6746
6688
  return __awaiter(_this, void 0, void 0, function () {
6747
- var publicKey, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, outCustodyConfig, lpTokenMint, compoundingTokenMint, outToken, lamports, _a, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _b, custody, _c, _d, market, compoundingTokenAccount, removeCompoundingLiquidity, err_43;
6689
+ 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_43;
6748
6690
  return __generator(this, function (_e) {
6749
6691
  switch (_e.label) {
6750
6692
  case 0:
@@ -6757,7 +6699,6 @@ var PerpetualsClient = (function () {
6757
6699
  outCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(outTokenSymbol).mintKey); });
6758
6700
  lpTokenMint = poolConfig.stakedLpTokenMint;
6759
6701
  compoundingTokenMint = poolConfig.compoundingTokenMint;
6760
- outToken = poolConfig.getTokenFromSymbol(outTokenSymbol);
6761
6702
  if (!(outCustodyConfig.symbol == 'SOL')) return [3, 1];
6762
6703
  lamports = this.minimumBalanceForRentExemptAccountLamports;
6763
6704
  if (!ephemeralSignerPubkey) {
@@ -6779,7 +6720,7 @@ var PerpetualsClient = (function () {
6779
6720
  ];
6780
6721
  return [3, 4];
6781
6722
  case 1:
6782
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(outCustodyConfig.mintKey, publicKey, true, outToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
6723
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(outCustodyConfig.mintKey, publicKey, true);
6783
6724
  _a = createUserATA;
6784
6725
  if (!_a) return [3, 3];
6785
6726
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
@@ -6788,7 +6729,7 @@ var PerpetualsClient = (function () {
6788
6729
  _e.label = 3;
6789
6730
  case 3:
6790
6731
  if (_a) {
6791
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, outCustodyConfig.mintKey, outToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
6732
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, outCustodyConfig.mintKey));
6792
6733
  }
6793
6734
  _e.label = 4;
6794
6735
  case 4:
@@ -6843,9 +6784,7 @@ var PerpetualsClient = (function () {
6843
6784
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
6844
6785
  eventAuthority: this.eventAuthority.publicKey,
6845
6786
  program: this.program.programId,
6846
- ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
6847
- receivingMint: outCustodyConfig.mintKey,
6848
- receivingTokenProgram: outToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID
6787
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
6849
6788
  })
6850
6789
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
6851
6790
  .instruction()];
@@ -7243,19 +7182,18 @@ var PerpetualsClient = (function () {
7243
7182
  });
7244
7183
  }); };
7245
7184
  this.rewardDistribution = function (counter, owner, rewardAmount, rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
7246
- var publicKey, rewardToken, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, rewardRecord, distributeReward, err_50;
7185
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, rewardRecord, distributeReward, err_50;
7247
7186
  return __generator(this, function (_a) {
7248
7187
  switch (_a.label) {
7249
7188
  case 0:
7250
7189
  publicKey = this.provider.wallet.publicKey;
7251
- rewardToken = poolConfig.getTokenFromSymbol(rewardSymbol);
7252
- rewardCustodyMint = rewardToken.mintKey;
7190
+ rewardCustodyMint = poolConfig.getTokenFromSymbol(rewardSymbol).mintKey;
7253
7191
  instructions = [];
7254
7192
  additionalSigners = [];
7255
7193
  _a.label = 1;
7256
7194
  case 1:
7257
7195
  _a.trys.push([1, 3, , 4]);
7258
- fundingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true, rewardToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
7196
+ fundingAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
7259
7197
  rewardVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_vault")], this.programRewardDistribution.programId)[0];
7260
7198
  rewardTokenAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_token_account")], this.programRewardDistribution.programId)[0];
7261
7199
  rewardRecord = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_record"), owner.toBuffer(), rewardVault.toBuffer(), counter.toArrayLike(Buffer, 'le', 8)], this.programRewardDistribution.programId)[0];
@@ -7272,7 +7210,7 @@ var PerpetualsClient = (function () {
7272
7210
  rewardTokenAccount: rewardTokenAccount,
7273
7211
  rewardRecord: rewardRecord,
7274
7212
  systemProgram: web3_js_1.SystemProgram.programId,
7275
- tokenProgram: rewardToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID,
7213
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
7276
7214
  rent: web3_js_1.SYSVAR_RENT_PUBKEY,
7277
7215
  eventAuthority: this.eventAuthorityRewardDistribution.publicKey,
7278
7216
  program: this.programRewardDistribution.programId
@@ -7296,19 +7234,18 @@ var PerpetualsClient = (function () {
7296
7234
  this.collectReward = function (counter, owner, rewardSymbol, poolConfig, createUserATA) {
7297
7235
  if (createUserATA === void 0) { createUserATA = true; }
7298
7236
  return __awaiter(_this, void 0, void 0, function () {
7299
- var publicKey, rewardToken, rewardCustodyMint, instructions, additionalSigners, receivingTokenAccount, _a, rewardVault, rewardTokenAccount, rewardRecord, transferAuthority, collectRaffleReward, err_51;
7237
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, receivingTokenAccount, _a, rewardVault, rewardTokenAccount, rewardRecord, transferAuthority, collectRaffleReward, err_51;
7300
7238
  return __generator(this, function (_b) {
7301
7239
  switch (_b.label) {
7302
7240
  case 0:
7303
7241
  publicKey = this.provider.wallet.publicKey;
7304
- rewardToken = poolConfig.getTokenFromSymbol(rewardSymbol);
7305
- rewardCustodyMint = rewardToken.mintKey;
7242
+ rewardCustodyMint = poolConfig.getTokenFromSymbol(rewardSymbol).mintKey;
7306
7243
  instructions = [];
7307
7244
  additionalSigners = [];
7308
7245
  _b.label = 1;
7309
7246
  case 1:
7310
7247
  _b.trys.push([1, 5, , 6]);
7311
- receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true, rewardToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID);
7248
+ receivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
7312
7249
  _a = createUserATA;
7313
7250
  if (!_a) return [3, 3];
7314
7251
  return [4, (0, utils_1.checkIfAccountExists)(receivingTokenAccount, this.provider.connection)];
@@ -7317,7 +7254,7 @@ var PerpetualsClient = (function () {
7317
7254
  _b.label = 3;
7318
7255
  case 3:
7319
7256
  if (_a) {
7320
- instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, receivingTokenAccount, publicKey, rewardCustodyMint, rewardToken.isToken2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID));
7257
+ instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, receivingTokenAccount, publicKey, rewardCustodyMint));
7321
7258
  }
7322
7259
  rewardVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_vault")], this.programRewardDistribution.programId)[0];
7323
7260
  rewardTokenAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("reward_token_account")], this.programRewardDistribution.programId)[0];