flash-sdk 2.23.1 → 2.24.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2954,6 +2954,369 @@ var PerpetualsClient = (function () {
2954
2954
  });
2955
2955
  });
2956
2956
  };
2957
+ this.swapAndOpen = function (targetTokenSymbol, collateralTokenSymbol, userInputTokenSymbol, amountIn, minCollateralAmountOut, priceWithSlippage, sizeAmount, side, poolConfig, privilege, nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, createUserATA, unWrapSol, skipBalanceChecks) {
2958
+ if (nftTradingAccount === void 0) { nftTradingAccount = web3_js_1.PublicKey.default; }
2959
+ if (nftReferralAccount === void 0) { nftReferralAccount = web3_js_1.PublicKey.default; }
2960
+ if (nftRebateTokenAccount === void 0) { nftRebateTokenAccount = web3_js_1.PublicKey.default; }
2961
+ if (createUserATA === void 0) { createUserATA = true; }
2962
+ if (unWrapSol === void 0) { unWrapSol = false; }
2963
+ if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
2964
+ return __awaiter(_this, void 0, void 0, function () {
2965
+ var publicKey, userInputCustodyConfig, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userOutputTokenAccount, userInputTokenAccount, wsolAssociatedTokenAccount, wsolATAExist, unWrappedSolBalance, _a, wsolAssociatedTokenAccount, closeWsolATAIns, accCreationLamports, lamports, unWrappedSolBalance, _b, tokenAccountBalance, _c, lamports, _d, params, inx, closeWsolATAIns, err_2;
2966
+ return __generator(this, function (_e) {
2967
+ switch (_e.label) {
2968
+ case 0:
2969
+ publicKey = this.provider.wallet.publicKey;
2970
+ userInputCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(userInputTokenSymbol).mintKey); });
2971
+ if (!userInputCustodyConfig) {
2972
+ throw "userInputCustodyConfig not found";
2973
+ }
2974
+ collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralTokenSymbol).mintKey); });
2975
+ if (!collateralCustodyConfig) {
2976
+ throw "collateralCustodyConfig not found";
2977
+ }
2978
+ targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetTokenSymbol).mintKey); });
2979
+ if (!targetCustodyConfig) {
2980
+ throw "targetCustodyConfig not found";
2981
+ }
2982
+ marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
2983
+ positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
2984
+ preInstructions = [];
2985
+ instructions = [];
2986
+ postInstructions = [];
2987
+ additionalSigners = [];
2988
+ if (!(userInputTokenSymbol == 'SOL' && collateralTokenSymbol == 'WSOL')) return [3, 4];
2989
+ return [4, (0, spl_token_1.getAssociatedTokenAddress)(spl_token_1.NATIVE_MINT, publicKey)];
2990
+ case 1:
2991
+ wsolAssociatedTokenAccount = _e.sent();
2992
+ return [4, (0, utils_1.checkIfAccountExists)(wsolAssociatedTokenAccount, this.provider.connection)];
2993
+ case 2:
2994
+ wsolATAExist = _e.sent();
2995
+ if (!wsolATAExist) {
2996
+ instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, wsolAssociatedTokenAccount, publicKey, spl_token_1.NATIVE_MINT));
2997
+ }
2998
+ _a = anchor_1.BN.bind;
2999
+ return [4, this.provider.connection.getBalance(publicKey)];
3000
+ case 3:
3001
+ unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _e.sent()]))();
3002
+ if (unWrappedSolBalance.lt(amountIn)) {
3003
+ throw "Insufficient SOL Funds";
3004
+ }
3005
+ instructions.push(web3_js_1.SystemProgram.transfer({
3006
+ fromPubkey: publicKey,
3007
+ toPubkey: wsolAssociatedTokenAccount,
3008
+ lamports: amountIn.toNumber(),
3009
+ }), (0, spl_token_1.createSyncNativeInstruction)(wsolAssociatedTokenAccount));
3010
+ return [2, {
3011
+ instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
3012
+ additionalSigners: additionalSigners
3013
+ }];
3014
+ case 4:
3015
+ if (!(userInputTokenSymbol == 'WSOL' && collateralTokenSymbol == 'SOL')) return [3, 6];
3016
+ console.log("WSOL=> SOL : NOTE : ONLY WAY IS TO CLOSE THE WSOL ATA and GET ALL SOL ");
3017
+ return [4, (0, spl_token_1.getAssociatedTokenAddress)(spl_token_1.NATIVE_MINT, publicKey)];
3018
+ case 5:
3019
+ wsolAssociatedTokenAccount = _e.sent();
3020
+ closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(wsolAssociatedTokenAccount, publicKey, publicKey);
3021
+ instructions.push(closeWsolATAIns);
3022
+ return [2, {
3023
+ instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
3024
+ additionalSigners: additionalSigners
3025
+ }];
3026
+ case 6:
3027
+ _e.trys.push([6, 21, , 22]);
3028
+ if (!(userInputTokenSymbol == 'SOL')) return [3, 9];
3029
+ console.log("userInputTokenSymbol === sol", userInputTokenSymbol);
3030
+ wrappedSolAccount = new web3_js_1.Keypair();
3031
+ return [4, (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(this.provider.connection)];
3032
+ case 7:
3033
+ accCreationLamports = (_e.sent());
3034
+ console.log("accCreationLamports:", accCreationLamports);
3035
+ lamports = amountIn.add(new anchor_1.BN(accCreationLamports));
3036
+ _b = anchor_1.BN.bind;
3037
+ return [4, this.provider.connection.getBalance(publicKey)];
3038
+ case 8:
3039
+ unWrappedSolBalance = new (_b.apply(anchor_1.BN, [void 0, _e.sent()]))();
3040
+ if (unWrappedSolBalance.lt(amountIn)) {
3041
+ throw "Insufficient SOL Funds";
3042
+ }
3043
+ preInstructions = [
3044
+ web3_js_1.SystemProgram.createAccount({
3045
+ fromPubkey: publicKey,
3046
+ newAccountPubkey: wrappedSolAccount.publicKey,
3047
+ lamports: lamports.toNumber(),
3048
+ space: 165,
3049
+ programId: spl_token_1.TOKEN_PROGRAM_ID,
3050
+ }),
3051
+ (0, spl_token_1.createInitializeAccount3Instruction)(wrappedSolAccount.publicKey, spl_token_1.NATIVE_MINT, publicKey),
3052
+ ];
3053
+ postInstructions = [
3054
+ (0, spl_token_1.createCloseAccountInstruction)(wrappedSolAccount.publicKey, publicKey, publicKey),
3055
+ ];
3056
+ additionalSigners.push(wrappedSolAccount);
3057
+ return [3, 13];
3058
+ case 9: return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(userInputTokenSymbol).mintKey, publicKey)];
3059
+ case 10:
3060
+ userInputTokenAccount = _e.sent();
3061
+ return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
3062
+ case 11:
3063
+ if (!(_e.sent())) {
3064
+ throw "Insufficient Funds , Token Account doesn't exist";
3065
+ }
3066
+ if (!!skipBalanceChecks) return [3, 13];
3067
+ _c = anchor_1.BN.bind;
3068
+ return [4, this.provider.connection.getTokenAccountBalance(userInputTokenAccount)];
3069
+ case 12:
3070
+ tokenAccountBalance = new (_c.apply(anchor_1.BN, [void 0, (_e.sent()).value.amount]))();
3071
+ if (tokenAccountBalance.lt(amountIn)) {
3072
+ throw "Insufficient Funds need more ".concat(amountIn.sub(tokenAccountBalance), " tokens");
3073
+ }
3074
+ _e.label = 13;
3075
+ case 13:
3076
+ if (!(collateralTokenSymbol == 'SOL')) return [3, 15];
3077
+ wrappedSolAccount = new web3_js_1.Keypair();
3078
+ return [4, (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(this.provider.connection)];
3079
+ case 14:
3080
+ lamports = (_e.sent());
3081
+ preInstructions = [
3082
+ web3_js_1.SystemProgram.createAccount({
3083
+ fromPubkey: publicKey,
3084
+ newAccountPubkey: wrappedSolAccount.publicKey,
3085
+ lamports: lamports,
3086
+ space: 165,
3087
+ programId: spl_token_1.TOKEN_PROGRAM_ID,
3088
+ }),
3089
+ (0, spl_token_1.createInitializeAccount3Instruction)(wrappedSolAccount.publicKey, spl_token_1.NATIVE_MINT, publicKey),
3090
+ ];
3091
+ postInstructions = [
3092
+ (0, spl_token_1.createCloseAccountInstruction)(wrappedSolAccount.publicKey, publicKey, publicKey),
3093
+ ];
3094
+ additionalSigners.push(wrappedSolAccount);
3095
+ return [3, 19];
3096
+ case 15: return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(collateralTokenSymbol).mintKey, publicKey)];
3097
+ case 16:
3098
+ userOutputTokenAccount = _e.sent();
3099
+ _d = createUserATA;
3100
+ if (!_d) return [3, 18];
3101
+ return [4, (0, utils_1.checkIfAccountExists)(userOutputTokenAccount, this.provider.connection)];
3102
+ case 17:
3103
+ _d = !(_e.sent());
3104
+ _e.label = 18;
3105
+ case 18:
3106
+ if (_d) {
3107
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userOutputTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralTokenSymbol).mintKey));
3108
+ }
3109
+ _e.label = 19;
3110
+ case 19:
3111
+ params = {
3112
+ amountIn: amountIn,
3113
+ minCollateralAmountOut: minCollateralAmountOut,
3114
+ priceWithSlippage: priceWithSlippage,
3115
+ sizeAmount: sizeAmount,
3116
+ privilege: privilege
3117
+ };
3118
+ return [4, this.program.methods
3119
+ .swapAndOpen(params)
3120
+ .accounts({
3121
+ owner: publicKey,
3122
+ feePayer: publicKey,
3123
+ fundingAccount: userInputTokenSymbol == 'SOL' ? wrappedSolAccount.publicKey : userInputTokenAccount,
3124
+ transferAuthority: poolConfig.transferAuthority,
3125
+ perpetuals: poolConfig.perpetuals,
3126
+ pool: poolConfig.poolAddress,
3127
+ receivingCustody: userInputCustodyConfig.custodyAccount,
3128
+ receivingCustodyOracleAccount: this.useExtOracleAccount ? userInputCustodyConfig.extOracleAccount : userInputCustodyConfig.intOracleAccount,
3129
+ receivingCustodyTokenAccount: userInputCustodyConfig.tokenAccount,
3130
+ position: positionAccount,
3131
+ market: marketAccount,
3132
+ targetCustody: targetCustodyConfig.custodyAccount,
3133
+ targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
3134
+ collateralCustody: collateralCustodyConfig.custodyAccount,
3135
+ collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
3136
+ collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
3137
+ systemProgram: web3_js_1.SystemProgram.programId,
3138
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
3139
+ eventAuthority: this.eventAuthority.publicKey,
3140
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
3141
+ })
3142
+ .remainingAccounts(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true))
3143
+ .instruction()];
3144
+ case 20:
3145
+ inx = _e.sent();
3146
+ instructions.push(inx);
3147
+ if (collateralTokenSymbol == 'SOL' && unWrapSol) {
3148
+ closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userOutputTokenAccount, publicKey, publicKey);
3149
+ instructions.push(closeWsolATAIns);
3150
+ }
3151
+ return [3, 22];
3152
+ case 21:
3153
+ err_2 = _e.sent();
3154
+ console.error("perpClient SwapAndOpen error:: ", err_2);
3155
+ throw err_2;
3156
+ case 22: return [2, {
3157
+ instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
3158
+ additionalSigners: additionalSigners
3159
+ }];
3160
+ }
3161
+ });
3162
+ });
3163
+ };
3164
+ this.closeAndSwap = function (targetTokenSymbol, collateralTokenSymbol, userOutputTokenSymbol, minSwapAmountOut, priceWithSlippage, side, poolConfig, privilege, nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, createUserATA, unWrapSol, ephemeralSignerPubkey) {
3165
+ if (nftTradingAccount === void 0) { nftTradingAccount = web3_js_1.PublicKey.default; }
3166
+ if (nftReferralAccount === void 0) { nftReferralAccount = web3_js_1.PublicKey.default; }
3167
+ if (nftRebateTokenAccount === void 0) { nftRebateTokenAccount = web3_js_1.PublicKey.default; }
3168
+ if (createUserATA === void 0) { createUserATA = true; }
3169
+ if (unWrapSol === void 0) { unWrapSol = false; }
3170
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3171
+ return __awaiter(_this, void 0, void 0, function () {
3172
+ var publicKey, userOutputCustodyConfig, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userReceivingTokenAccount, userReceivingTokenAccountCollateral, lamports, _a, lamports, _b, inx, closeWsolATAIns, closeWsolATAIns, err_3;
3173
+ return __generator(this, function (_c) {
3174
+ switch (_c.label) {
3175
+ case 0:
3176
+ publicKey = this.provider.wallet.publicKey;
3177
+ userOutputCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey); });
3178
+ if (!userOutputCustodyConfig) {
3179
+ throw "userOutputCustodyConfig not found";
3180
+ }
3181
+ collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralTokenSymbol).mintKey); });
3182
+ if (!collateralCustodyConfig) {
3183
+ throw "collateralCustodyConfig not found";
3184
+ }
3185
+ targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetTokenSymbol).mintKey); });
3186
+ if (!targetCustodyConfig) {
3187
+ throw "targetCustodyConfig not found";
3188
+ }
3189
+ marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
3190
+ positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
3191
+ preInstructions = [];
3192
+ instructions = [];
3193
+ postInstructions = [];
3194
+ additionalSigners = [];
3195
+ _c.label = 1;
3196
+ case 1:
3197
+ _c.trys.push([1, 11, , 12]);
3198
+ if (!(collateralTokenSymbol == 'SOL')) return [3, 2];
3199
+ lamports = (this.minimumBalanceForRentExemptAccountLamports);
3200
+ if (!ephemeralSignerPubkey) {
3201
+ wrappedSolAccount = new web3_js_1.Keypair();
3202
+ additionalSigners.push(wrappedSolAccount);
3203
+ }
3204
+ preInstructions = [
3205
+ web3_js_1.SystemProgram.createAccount({
3206
+ fromPubkey: publicKey,
3207
+ newAccountPubkey: (ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey),
3208
+ lamports: lamports,
3209
+ space: 165,
3210
+ programId: spl_token_1.TOKEN_PROGRAM_ID,
3211
+ }),
3212
+ (0, spl_token_1.createInitializeAccount3Instruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), spl_token_1.NATIVE_MINT, publicKey),
3213
+ ];
3214
+ postInstructions = [
3215
+ (0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
3216
+ ];
3217
+ return [3, 5];
3218
+ case 2:
3219
+ userReceivingTokenAccountCollateral = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralTokenSymbol).mintKey, publicKey, true);
3220
+ _a = createUserATA;
3221
+ if (!_a) return [3, 4];
3222
+ return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccountCollateral, this.provider.connection)];
3223
+ case 3:
3224
+ _a = !(_c.sent());
3225
+ _c.label = 4;
3226
+ case 4:
3227
+ if (_a) {
3228
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccountCollateral, publicKey, poolConfig.getTokenFromSymbol(collateralTokenSymbol).mintKey));
3229
+ }
3230
+ _c.label = 5;
3231
+ case 5:
3232
+ if (!(userOutputTokenSymbol == 'SOL')) return [3, 6];
3233
+ lamports = (this.minimumBalanceForRentExemptAccountLamports);
3234
+ if (!ephemeralSignerPubkey) {
3235
+ wrappedSolAccount = new web3_js_1.Keypair();
3236
+ additionalSigners.push(wrappedSolAccount);
3237
+ }
3238
+ preInstructions = [
3239
+ web3_js_1.SystemProgram.createAccount({
3240
+ fromPubkey: publicKey,
3241
+ newAccountPubkey: (ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey),
3242
+ lamports: lamports,
3243
+ space: 165,
3244
+ programId: spl_token_1.TOKEN_PROGRAM_ID,
3245
+ }),
3246
+ (0, spl_token_1.createInitializeAccount3Instruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), spl_token_1.NATIVE_MINT, publicKey),
3247
+ ];
3248
+ postInstructions = [
3249
+ (0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
3250
+ ];
3251
+ return [3, 9];
3252
+ case 6:
3253
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey, publicKey, true);
3254
+ _b = createUserATA;
3255
+ if (!_b) return [3, 8];
3256
+ return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
3257
+ case 7:
3258
+ _b = !(_c.sent());
3259
+ _c.label = 8;
3260
+ case 8:
3261
+ if (_b) {
3262
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey));
3263
+ }
3264
+ _c.label = 9;
3265
+ case 9: return [4, this.program.methods
3266
+ .closeAndSwap({
3267
+ priceWithSlippage: priceWithSlippage,
3268
+ minSwapAmountOut: minSwapAmountOut,
3269
+ privilege: privilege
3270
+ })
3271
+ .accounts({
3272
+ owner: publicKey,
3273
+ feePayer: publicKey,
3274
+ receivingAccount: userReceivingTokenAccount,
3275
+ collateralAccount: userReceivingTokenAccountCollateral,
3276
+ transferAuthority: poolConfig.transferAuthority,
3277
+ perpetuals: poolConfig.perpetuals,
3278
+ pool: poolConfig.poolAddress,
3279
+ position: positionAccount,
3280
+ market: marketAccount,
3281
+ targetCustody: targetCustodyConfig.custodyAccount,
3282
+ targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
3283
+ collateralCustody: collateralCustodyConfig.custodyAccount,
3284
+ collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
3285
+ collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
3286
+ dispensingCustody: userOutputCustodyConfig.custodyAccount,
3287
+ dispensingOracleAccount: this.useExtOracleAccount ? userOutputCustodyConfig.extOracleAccount : userOutputCustodyConfig.intOracleAccount,
3288
+ dispensingCustodyTokenAccount: userOutputCustodyConfig.tokenAccount,
3289
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
3290
+ eventAuthority: this.eventAuthority.publicKey,
3291
+ program: this.programId,
3292
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
3293
+ })
3294
+ .remainingAccounts(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true))
3295
+ .instruction()];
3296
+ case 10:
3297
+ inx = _c.sent();
3298
+ instructions.push(inx);
3299
+ if (collateralTokenSymbol == 'SOL' && unWrapSol) {
3300
+ closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userReceivingTokenAccountCollateral, publicKey, publicKey);
3301
+ instructions.push(closeWsolATAIns);
3302
+ }
3303
+ if (userOutputTokenSymbol == 'SOL' && unWrapSol) {
3304
+ closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userReceivingTokenAccount, publicKey, publicKey);
3305
+ instructions.push(closeWsolATAIns);
3306
+ }
3307
+ return [3, 12];
3308
+ case 11:
3309
+ err_3 = _c.sent();
3310
+ console.error("perpClient CloseAndSwap error:: ", err_3);
3311
+ throw err_3;
3312
+ case 12: return [2, {
3313
+ instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
3314
+ additionalSigners: additionalSigners
3315
+ }];
3316
+ }
3317
+ });
3318
+ });
3319
+ };
2957
3320
  this.swap = function (userInputTokenSymbol, userOutputTokenSymbol, amountIn, minAmountOut, poolConfig, useFeesPool, createUserATA, unWrapSol, skipBalanceChecks, ephemeralSignerPubkey) {
2958
3321
  if (useFeesPool === void 0) { useFeesPool = false; }
2959
3322
  if (createUserATA === void 0) { createUserATA = true; }
@@ -2961,7 +3324,7 @@ var PerpetualsClient = (function () {
2961
3324
  if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
2962
3325
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
2963
3326
  return __awaiter(_this, void 0, void 0, function () {
2964
- 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_2;
3327
+ 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;
2965
3328
  return __generator(this, function (_f) {
2966
3329
  switch (_f.label) {
2967
3330
  case 0:
@@ -3158,9 +3521,9 @@ var PerpetualsClient = (function () {
3158
3521
  }
3159
3522
  return [3, 20];
3160
3523
  case 19:
3161
- err_2 = _f.sent();
3162
- console.error("perpClient Swap error:: ", err_2);
3163
- throw err_2;
3524
+ err_4 = _f.sent();
3525
+ console.error("perpClient Swap error:: ", err_4);
3526
+ throw err_4;
3164
3527
  case 20: return [2, {
3165
3528
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
3166
3529
  additionalSigners: additionalSigners
@@ -3170,7 +3533,7 @@ var PerpetualsClient = (function () {
3170
3533
  });
3171
3534
  };
3172
3535
  this.swapFeeInternal = function (rewardTokenSymbol, swapTokenSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
3173
- var rewardCustody, custody, publicKey, preInstructions, instructions, postInstructions, additionalSigners, custodyAccountMetas, custodyOracleAccountMetas, _i, _a, custody_1, params, inx, err_3;
3536
+ var rewardCustody, custody, publicKey, preInstructions, instructions, postInstructions, additionalSigners, custodyAccountMetas, custodyOracleAccountMetas, _i, _a, custody_1, params, inx, err_5;
3174
3537
  return __generator(this, function (_b) {
3175
3538
  switch (_b.label) {
3176
3539
  case 0:
@@ -3230,9 +3593,9 @@ var PerpetualsClient = (function () {
3230
3593
  instructions.push(inx);
3231
3594
  return [3, 4];
3232
3595
  case 3:
3233
- err_3 = _b.sent();
3234
- console.error("perpClient Swap error:: ", err_3);
3235
- throw err_3;
3596
+ err_5 = _b.sent();
3597
+ console.error("perpClient Swap error:: ", err_5);
3598
+ throw err_5;
3236
3599
  case 4: return [2, {
3237
3600
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
3238
3601
  additionalSigners: additionalSigners
@@ -3820,7 +4183,7 @@ var PerpetualsClient = (function () {
3820
4183
  if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
3821
4184
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3822
4185
  return __awaiter(_this, void 0, void 0, function () {
3823
- var publicKey, payTokenCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userPayingTokenAccount, lpTokenAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, lamports, unWrappedSolBalance, _d, tokenAccountBalance, _e, instruction, err_4;
4186
+ 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;
3824
4187
  return __generator(this, function (_f) {
3825
4188
  switch (_f.label) {
3826
4189
  case 0:
@@ -3941,9 +4304,9 @@ var PerpetualsClient = (function () {
3941
4304
  instructions.push(instruction);
3942
4305
  return [3, 11];
3943
4306
  case 10:
3944
- err_4 = _f.sent();
3945
- console.error("perpClient addLiquidity error:: ", err_4);
3946
- throw err_4;
4307
+ err_6 = _f.sent();
4308
+ console.error("perpClient addLiquidity error:: ", err_6);
4309
+ throw err_6;
3947
4310
  case 11: return [2, {
3948
4311
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
3949
4312
  additionalSigners: additionalSigners
@@ -4088,7 +4451,7 @@ var PerpetualsClient = (function () {
4088
4451
  if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
4089
4452
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
4090
4453
  return __awaiter(_this, void 0, void 0, function () {
4091
- 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_5;
4454
+ 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;
4092
4455
  return __generator(this, function (_e) {
4093
4456
  switch (_e.label) {
4094
4457
  case 0:
@@ -4198,9 +4561,9 @@ var PerpetualsClient = (function () {
4198
4561
  }
4199
4562
  return [3, 8];
4200
4563
  case 7:
4201
- err_5 = _e.sent();
4202
- console.log("perpClient removeLiquidity error:: ", err_5);
4203
- throw err_5;
4564
+ err_7 = _e.sent();
4565
+ console.log("perpClient removeLiquidity error:: ", err_7);
4566
+ throw err_7;
4204
4567
  case 8: return [2, {
4205
4568
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4206
4569
  additionalSigners: additionalSigners
@@ -4210,7 +4573,7 @@ var PerpetualsClient = (function () {
4210
4573
  });
4211
4574
  };
4212
4575
  this.addReferral = function (nftTradingAccount, nftReferralAccount) { return __awaiter(_this, void 0, void 0, function () {
4213
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, addReferralInstruction, err_6;
4576
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, addReferralInstruction, err_8;
4214
4577
  return __generator(this, function (_a) {
4215
4578
  switch (_a.label) {
4216
4579
  case 0:
@@ -4237,9 +4600,9 @@ var PerpetualsClient = (function () {
4237
4600
  instructions.push(addReferralInstruction);
4238
4601
  return [3, 4];
4239
4602
  case 3:
4240
- err_6 = _a.sent();
4241
- console.log("perpClient addReferral error:: ", err_6);
4242
- throw err_6;
4603
+ err_8 = _a.sent();
4604
+ console.log("perpClient addReferral error:: ", err_8);
4605
+ throw err_8;
4243
4606
  case 4: return [2, {
4244
4607
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4245
4608
  additionalSigners: additionalSigners
@@ -4248,7 +4611,7 @@ var PerpetualsClient = (function () {
4248
4611
  });
4249
4612
  }); };
4250
4613
  this.createNftTradingAccount = function (nftMint, owner, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
4251
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, nftTradingAccount, metadataAccount, nftTokenAccount, createNftTradingAccountInstruction, err_7;
4614
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, nftTradingAccount, metadataAccount, nftTokenAccount, createNftTradingAccountInstruction, err_9;
4252
4615
  return __generator(this, function (_a) {
4253
4616
  switch (_a.label) {
4254
4617
  case 0:
@@ -4286,9 +4649,9 @@ var PerpetualsClient = (function () {
4286
4649
  instructions.push(createNftTradingAccountInstruction);
4287
4650
  return [3, 4];
4288
4651
  case 3:
4289
- err_7 = _a.sent();
4290
- console.log("perpClient createNftAccount error:: ", err_7);
4291
- throw err_7;
4652
+ err_9 = _a.sent();
4653
+ console.log("perpClient createNftAccount error:: ", err_9);
4654
+ throw err_9;
4292
4655
  case 4: return [2, {
4293
4656
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4294
4657
  additionalSigners: additionalSigners
@@ -4297,7 +4660,7 @@ var PerpetualsClient = (function () {
4297
4660
  });
4298
4661
  }); };
4299
4662
  this.updateNftAccount = function (nftMint, updateReferer, updateBooster, flpStakeAccounts) { return __awaiter(_this, void 0, void 0, function () {
4300
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, nftTradingAccount, nftReferralAccount, nftTokenAccount, flpStakeAccountMetas, _i, flpStakeAccounts_1, flpStakeAccountPk, updateNftTradingAccountInstruction, err_8;
4663
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, nftTradingAccount, nftReferralAccount, nftTokenAccount, flpStakeAccountMetas, _i, flpStakeAccounts_1, flpStakeAccountPk, updateNftTradingAccountInstruction, err_10;
4301
4664
  return __generator(this, function (_a) {
4302
4665
  switch (_a.label) {
4303
4666
  case 0:
@@ -4347,9 +4710,9 @@ var PerpetualsClient = (function () {
4347
4710
  instructions.push(updateNftTradingAccountInstruction);
4348
4711
  return [3, 5];
4349
4712
  case 4:
4350
- err_8 = _a.sent();
4351
- console.log("perpClient updateNftAccount error:: ", err_8);
4352
- throw err_8;
4713
+ err_10 = _a.sent();
4714
+ console.log("perpClient updateNftAccount error:: ", err_10);
4715
+ throw err_10;
4353
4716
  case 5: return [2, {
4354
4717
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4355
4718
  additionalSigners: additionalSigners
@@ -4358,7 +4721,7 @@ var PerpetualsClient = (function () {
4358
4721
  });
4359
4722
  }); };
4360
4723
  this.levelUp = function (poolConfig, nftMint, authorizationRulesAccount) { return __awaiter(_this, void 0, void 0, function () {
4361
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, nftTradingAccount, metadataAccount, levelUpInstruction, err_9;
4724
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, nftTradingAccount, metadataAccount, levelUpInstruction, err_11;
4362
4725
  return __generator(this, function (_a) {
4363
4726
  switch (_a.label) {
4364
4727
  case 0:
@@ -4397,9 +4760,9 @@ var PerpetualsClient = (function () {
4397
4760
  instructions.push(levelUpInstruction);
4398
4761
  return [3, 4];
4399
4762
  case 3:
4400
- err_9 = _a.sent();
4401
- console.log("perpClient levelUp error:: ", err_9);
4402
- throw err_9;
4763
+ err_11 = _a.sent();
4764
+ console.log("perpClient levelUp error:: ", err_11);
4765
+ throw err_11;
4403
4766
  case 4: return [2, {
4404
4767
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4405
4768
  additionalSigners: additionalSigners
@@ -4408,7 +4771,7 @@ var PerpetualsClient = (function () {
4408
4771
  });
4409
4772
  }); };
4410
4773
  this.initStake = function (stakingFeeShareBps, rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
4411
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, lpTokenMint, stakedLpTokenAccount, rewardCustodyConfig, initStakeInstruction, err_10;
4774
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, lpTokenMint, stakedLpTokenAccount, rewardCustodyConfig, initStakeInstruction, err_12;
4412
4775
  return __generator(this, function (_a) {
4413
4776
  switch (_a.label) {
4414
4777
  case 0:
@@ -4446,9 +4809,9 @@ var PerpetualsClient = (function () {
4446
4809
  instructions.push(initStakeInstruction);
4447
4810
  return [3, 4];
4448
4811
  case 3:
4449
- err_10 = _a.sent();
4450
- console.log("perpClient InitStaking error:: ", err_10);
4451
- throw err_10;
4812
+ err_12 = _a.sent();
4813
+ console.log("perpClient InitStaking error:: ", err_12);
4814
+ throw err_12;
4452
4815
  case 4: return [2, {
4453
4816
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4454
4817
  additionalSigners: additionalSigners
@@ -4457,7 +4820,7 @@ var PerpetualsClient = (function () {
4457
4820
  });
4458
4821
  }); };
4459
4822
  this.initCompounding = function (feeShareBps, metadataTitle, metadataSymbol, metadataUri, rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
4460
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustodyConfig, compoundingTokenMint, compoundingVault, metadataAccount, initCompoundingInstruction, err_11;
4823
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustodyConfig, compoundingTokenMint, compoundingVault, metadataAccount, initCompoundingInstruction, err_13;
4461
4824
  return __generator(this, function (_a) {
4462
4825
  switch (_a.label) {
4463
4826
  case 0:
@@ -4502,9 +4865,9 @@ var PerpetualsClient = (function () {
4502
4865
  instructions.push(initCompoundingInstruction);
4503
4866
  return [3, 4];
4504
4867
  case 3:
4505
- err_11 = _a.sent();
4506
- console.log("perpClient initCompounding error:: ", err_11);
4507
- throw err_11;
4868
+ err_13 = _a.sent();
4869
+ console.log("perpClient initCompounding error:: ", err_13);
4870
+ throw err_13;
4508
4871
  case 4: return [2, {
4509
4872
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4510
4873
  additionalSigners: additionalSigners
@@ -4513,7 +4876,7 @@ var PerpetualsClient = (function () {
4513
4876
  });
4514
4877
  }); };
4515
4878
  this.depositStake = function (owner, feePayer, depositAmount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
4516
- var preInstructions, instructions, postInstructions, additionalSigners, lpTokenMint, poolStakedLpVault, flpStakeAccount, userLpTokenAccount, depositStakeInstruction, err_12;
4879
+ var preInstructions, instructions, postInstructions, additionalSigners, lpTokenMint, poolStakedLpVault, flpStakeAccount, userLpTokenAccount, depositStakeInstruction, err_14;
4517
4880
  return __generator(this, function (_a) {
4518
4881
  switch (_a.label) {
4519
4882
  case 0:
@@ -4554,9 +4917,9 @@ var PerpetualsClient = (function () {
4554
4917
  instructions.push(depositStakeInstruction);
4555
4918
  return [3, 5];
4556
4919
  case 4:
4557
- err_12 = _a.sent();
4558
- console.log("perpClient depositStaking error:: ", err_12);
4559
- throw err_12;
4920
+ err_14 = _a.sent();
4921
+ console.log("perpClient depositStaking error:: ", err_14);
4922
+ throw err_14;
4560
4923
  case 5: return [2, {
4561
4924
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4562
4925
  additionalSigners: additionalSigners
@@ -4599,7 +4962,7 @@ var PerpetualsClient = (function () {
4599
4962
  });
4600
4963
  }); };
4601
4964
  this.refreshStake = function (rewardSymbol, poolConfig, flpStakeAccountPks) { return __awaiter(_this, void 0, void 0, function () {
4602
- var rewardCustodyMint, rewardCustodyConfig, pool, feeDistributionTokenAccount, custodyAccountMetas, _i, _a, custody, maxFlpStakeAccountPkLength, flpStakeAccountMetas, _b, flpStakeAccountPks_1, flpStakeAccountPk, refreshStakeInstruction, err_13;
4965
+ var rewardCustodyMint, rewardCustodyConfig, pool, feeDistributionTokenAccount, custodyAccountMetas, _i, _a, custody, maxFlpStakeAccountPkLength, flpStakeAccountMetas, _b, flpStakeAccountPks_1, flpStakeAccountPk, refreshStakeInstruction, err_15;
4603
4966
  return __generator(this, function (_c) {
4604
4967
  switch (_c.label) {
4605
4968
  case 0:
@@ -4646,15 +5009,15 @@ var PerpetualsClient = (function () {
4646
5009
  refreshStakeInstruction = _c.sent();
4647
5010
  return [2, refreshStakeInstruction];
4648
5011
  case 2:
4649
- err_13 = _c.sent();
4650
- console.log("perpClient refreshStaking error:: ", err_13);
4651
- throw err_13;
5012
+ err_15 = _c.sent();
5013
+ console.log("perpClient refreshStaking error:: ", err_15);
5014
+ throw err_15;
4652
5015
  case 3: return [2];
4653
5016
  }
4654
5017
  });
4655
5018
  }); };
4656
5019
  this.unstakeInstant = function (rewardSymbol, unstakeAmount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
4657
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustodyConfig, pool, flpStakeAccount, unstakeInstantInstruction, err_14;
5020
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustodyConfig, pool, flpStakeAccount, unstakeInstantInstruction, err_16;
4658
5021
  return __generator(this, function (_a) {
4659
5022
  switch (_a.label) {
4660
5023
  case 0:
@@ -4688,9 +5051,9 @@ var PerpetualsClient = (function () {
4688
5051
  instructions.push(unstakeInstantInstruction);
4689
5052
  return [3, 4];
4690
5053
  case 3:
4691
- err_14 = _a.sent();
4692
- console.log("perpClient unstakeInstant error:: ", err_14);
4693
- throw err_14;
5054
+ err_16 = _a.sent();
5055
+ console.log("perpClient unstakeInstant error:: ", err_16);
5056
+ throw err_16;
4694
5057
  case 4: return [2, {
4695
5058
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4696
5059
  additionalSigners: additionalSigners
@@ -4699,7 +5062,7 @@ var PerpetualsClient = (function () {
4699
5062
  });
4700
5063
  }); };
4701
5064
  this.setFeeShareBps = function (poolConfig, flpStakeAccountPks) { return __awaiter(_this, void 0, void 0, function () {
4702
- var publicKey, pool, custodyAccountMetas, _i, _a, custody, maxFlpStakeAccountPkLength, flpStakeAccountMetas, _b, flpStakeAccountPks_2, flpStakeAccountPk, refreshStakeInstruction, err_15;
5065
+ var publicKey, pool, custodyAccountMetas, _i, _a, custody, maxFlpStakeAccountPkLength, flpStakeAccountMetas, _b, flpStakeAccountPks_2, flpStakeAccountPk, refreshStakeInstruction, err_17;
4703
5066
  return __generator(this, function (_c) {
4704
5067
  switch (_c.label) {
4705
5068
  case 0:
@@ -4743,15 +5106,15 @@ var PerpetualsClient = (function () {
4743
5106
  refreshStakeInstruction = _c.sent();
4744
5107
  return [2, refreshStakeInstruction];
4745
5108
  case 2:
4746
- err_15 = _c.sent();
4747
- console.log("perpClient refreshStaking error:: ", err_15);
4748
- throw err_15;
5109
+ err_17 = _c.sent();
5110
+ console.log("perpClient refreshStaking error:: ", err_17);
5111
+ throw err_17;
4749
5112
  case 3: return [2];
4750
5113
  }
4751
5114
  });
4752
5115
  }); };
4753
5116
  this.unstakeRequest = function (unstakeAmount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
4754
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, unstakeRequestInstruction, err_16;
5117
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, unstakeRequestInstruction, err_18;
4755
5118
  return __generator(this, function (_a) {
4756
5119
  switch (_a.label) {
4757
5120
  case 0:
@@ -4785,9 +5148,9 @@ var PerpetualsClient = (function () {
4785
5148
  instructions.push(unstakeRequestInstruction);
4786
5149
  return [3, 4];
4787
5150
  case 3:
4788
- err_16 = _a.sent();
4789
- console.log("perpClient unstakeRequest error:: ", err_16);
4790
- throw err_16;
5151
+ err_18 = _a.sent();
5152
+ console.log("perpClient unstakeRequest error:: ", err_18);
5153
+ throw err_18;
4791
5154
  case 4: return [2, {
4792
5155
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4793
5156
  additionalSigners: additionalSigners
@@ -4800,7 +5163,7 @@ var PerpetualsClient = (function () {
4800
5163
  if (deactivated === void 0) { deactivated = true; }
4801
5164
  if (createUserLPTA === void 0) { createUserLPTA = true; }
4802
5165
  return __awaiter(_this, void 0, void 0, function () {
4803
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, lpTokenMint, pool, poolStakedLpVault, flpStakeAccount, userLpTokenAccount, _a, withdrawStakeInstruction, err_17;
5166
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, lpTokenMint, pool, poolStakedLpVault, flpStakeAccount, userLpTokenAccount, _a, withdrawStakeInstruction, err_19;
4804
5167
  return __generator(this, function (_b) {
4805
5168
  switch (_b.label) {
4806
5169
  case 0:
@@ -4851,9 +5214,9 @@ var PerpetualsClient = (function () {
4851
5214
  instructions.push(withdrawStakeInstruction);
4852
5215
  return [3, 6];
4853
5216
  case 5:
4854
- err_17 = _b.sent();
4855
- console.log("perpClient withdrawStake error:: ", err_17);
4856
- throw err_17;
5217
+ err_19 = _b.sent();
5218
+ console.log("perpClient withdrawStake error:: ", err_19);
5219
+ throw err_19;
4857
5220
  case 6: return [2, {
4858
5221
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4859
5222
  additionalSigners: additionalSigners
@@ -4865,7 +5228,7 @@ var PerpetualsClient = (function () {
4865
5228
  this.collectStakeFees = function (rewardSymbol, poolConfig, nftTradingAccount, nftBoostingAccount, createUserATA) {
4866
5229
  if (createUserATA === void 0) { createUserATA = true; }
4867
5230
  return __awaiter(_this, void 0, void 0, function () {
4868
- var publicKey, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tradingAccount, boostingAccount, withdrawStakeInstruction, err_18;
5231
+ var publicKey, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tradingAccount, boostingAccount, withdrawStakeInstruction, err_20;
4869
5232
  return __generator(this, function (_b) {
4870
5233
  switch (_b.label) {
4871
5234
  case 0:
@@ -4932,9 +5295,9 @@ var PerpetualsClient = (function () {
4932
5295
  instructions.push(withdrawStakeInstruction);
4933
5296
  return [3, 6];
4934
5297
  case 5:
4935
- err_18 = _b.sent();
4936
- console.log("perpClient withdrawStake error:: ", err_18);
4937
- throw err_18;
5298
+ err_20 = _b.sent();
5299
+ console.log("perpClient withdrawStake error:: ", err_20);
5300
+ throw err_20;
4938
5301
  case 6: return [2, {
4939
5302
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
4940
5303
  additionalSigners: additionalSigners
@@ -4944,7 +5307,7 @@ var PerpetualsClient = (function () {
4944
5307
  });
4945
5308
  };
4946
5309
  this.initRewardVault = function (nftCount, rewardSymbol, collectionMint, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
4947
- var publicKey, rewardCustodyMint, instructions, additionalSigners, fbNftProgramData, rewardVault, rewardTokenAccount, nftTransferAuthority, initRewardVault, err_19;
5310
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, fbNftProgramData, rewardVault, rewardTokenAccount, nftTransferAuthority, initRewardVault, err_21;
4948
5311
  return __generator(this, function (_a) {
4949
5312
  switch (_a.label) {
4950
5313
  case 0:
@@ -4981,9 +5344,9 @@ var PerpetualsClient = (function () {
4981
5344
  instructions.push(initRewardVault);
4982
5345
  return [3, 4];
4983
5346
  case 3:
4984
- err_19 = _a.sent();
4985
- console.log("perpClient InitRewardVault error:: ", err_19);
4986
- throw err_19;
5347
+ err_21 = _a.sent();
5348
+ console.log("perpClient InitRewardVault error:: ", err_21);
5349
+ throw err_21;
4987
5350
  case 4: return [2, {
4988
5351
  instructions: __spreadArray([], instructions, true),
4989
5352
  additionalSigners: additionalSigners
@@ -4992,7 +5355,7 @@ var PerpetualsClient = (function () {
4992
5355
  });
4993
5356
  }); };
4994
5357
  this.distributeReward = function (rewardAmount, rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
4995
- var publicKey, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, distributeReward, err_20;
5358
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, distributeReward, err_22;
4996
5359
  return __generator(this, function (_a) {
4997
5360
  switch (_a.label) {
4998
5361
  case 0:
@@ -5023,9 +5386,9 @@ var PerpetualsClient = (function () {
5023
5386
  instructions.push(distributeReward);
5024
5387
  return [3, 4];
5025
5388
  case 3:
5026
- err_20 = _a.sent();
5027
- console.log("perpClient distributeReward error:: ", err_20);
5028
- throw err_20;
5389
+ err_22 = _a.sent();
5390
+ console.log("perpClient distributeReward error:: ", err_22);
5391
+ throw err_22;
5029
5392
  case 4: return [2, {
5030
5393
  instructions: __spreadArray([], instructions, true),
5031
5394
  additionalSigners: additionalSigners
@@ -5036,7 +5399,7 @@ var PerpetualsClient = (function () {
5036
5399
  this.collectNftReward = function (rewardSymbol, poolConfig, nftMint, createUserATA) {
5037
5400
  if (createUserATA === void 0) { createUserATA = true; }
5038
5401
  return __awaiter(_this, void 0, void 0, function () {
5039
- var publicKey, rewardCustodyMint, instructions, additionalSigners, nftTokenAccount, metadataAccount, receivingTokenAccount, _a, rewardRecord, rewardVault, rewardTokenAccount, nftTransferAuthority, collectNftReward, err_21;
5402
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, nftTokenAccount, metadataAccount, receivingTokenAccount, _a, rewardRecord, rewardVault, rewardTokenAccount, nftTransferAuthority, collectNftReward, err_23;
5040
5403
  return __generator(this, function (_b) {
5041
5404
  switch (_b.label) {
5042
5405
  case 0:
@@ -5086,8 +5449,8 @@ var PerpetualsClient = (function () {
5086
5449
  instructions.push(collectNftReward);
5087
5450
  return [3, 6];
5088
5451
  case 5:
5089
- err_21 = _b.sent();
5090
- throw err_21;
5452
+ err_23 = _b.sent();
5453
+ throw err_23;
5091
5454
  case 6: return [2, {
5092
5455
  instructions: __spreadArray([], instructions, true),
5093
5456
  additionalSigners: additionalSigners
@@ -5099,7 +5462,7 @@ var PerpetualsClient = (function () {
5099
5462
  this.collectAndDistributeFee = function (rewardSymbol, poolConfig, createUserATA, nftTradingAccount) {
5100
5463
  if (createUserATA === void 0) { createUserATA = true; }
5101
5464
  return __awaiter(_this, void 0, void 0, function () {
5102
- var publicKey, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tradingAccount, rewardVault, rewardTokenAccount, withdrawStakeInstruction, err_22;
5465
+ var publicKey, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tradingAccount, rewardVault, rewardTokenAccount, withdrawStakeInstruction, err_24;
5103
5466
  return __generator(this, function (_b) {
5104
5467
  switch (_b.label) {
5105
5468
  case 0:
@@ -5163,9 +5526,9 @@ var PerpetualsClient = (function () {
5163
5526
  instructions.push(withdrawStakeInstruction);
5164
5527
  return [3, 6];
5165
5528
  case 5:
5166
- err_22 = _b.sent();
5167
- console.log("perpClient withdrawStake error:: ", err_22);
5168
- throw err_22;
5529
+ err_24 = _b.sent();
5530
+ console.log("perpClient withdrawStake error:: ", err_24);
5531
+ throw err_24;
5169
5532
  case 6: return [2, {
5170
5533
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5171
5534
  additionalSigners: additionalSigners
@@ -5175,7 +5538,7 @@ var PerpetualsClient = (function () {
5175
5538
  });
5176
5539
  };
5177
5540
  this.setTriggerPrice = function (targetSymbol, collateralSymbol, side, triggerPrice, isStopLoss, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5178
- var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, positionAccount, instructions, additionalSigners, setTriggerPrice, err_23;
5541
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, positionAccount, instructions, additionalSigners, setTriggerPrice, err_25;
5179
5542
  return __generator(this, function (_a) {
5180
5543
  switch (_a.label) {
5181
5544
  case 0:
@@ -5214,9 +5577,9 @@ var PerpetualsClient = (function () {
5214
5577
  instructions.push(setTriggerPrice);
5215
5578
  return [3, 4];
5216
5579
  case 3:
5217
- err_23 = _a.sent();
5218
- console.log("perpClient setTriggerPrice error:: ", err_23);
5219
- throw err_23;
5580
+ err_25 = _a.sent();
5581
+ console.log("perpClient setTriggerPrice error:: ", err_25);
5582
+ throw err_25;
5220
5583
  case 4: return [2, {
5221
5584
  instructions: __spreadArray([], instructions, true),
5222
5585
  additionalSigners: additionalSigners
@@ -5229,7 +5592,7 @@ var PerpetualsClient = (function () {
5229
5592
  if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
5230
5593
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
5231
5594
  return __awaiter(_this, void 0, void 0, function () {
5232
- var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, forceClosePosition, closeWsolATAIns, err_24;
5595
+ var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, forceClosePosition, closeWsolATAIns, err_26;
5233
5596
  return __generator(this, function (_b) {
5234
5597
  switch (_b.label) {
5235
5598
  case 0:
@@ -5290,9 +5653,9 @@ var PerpetualsClient = (function () {
5290
5653
  }
5291
5654
  return [3, 7];
5292
5655
  case 6:
5293
- err_24 = _b.sent();
5294
- console.log("perpClient forceClosePosition error:: ", err_24);
5295
- throw err_24;
5656
+ err_26 = _b.sent();
5657
+ console.log("perpClient forceClosePosition error:: ", err_26);
5658
+ throw err_26;
5296
5659
  case 7: return [2, {
5297
5660
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5298
5661
  additionalSigners: additionalSigners
@@ -5305,7 +5668,7 @@ var PerpetualsClient = (function () {
5305
5668
  if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
5306
5669
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
5307
5670
  return __awaiter(_this, void 0, void 0, function () {
5308
- var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, marketAccount, userReserveTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, accCreationLamports, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, positionAccount, orderAccount, placeLimitOrder, err_25;
5671
+ var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, marketAccount, userReserveTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, accCreationLamports, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, positionAccount, orderAccount, placeLimitOrder, err_27;
5309
5672
  return __generator(this, function (_c) {
5310
5673
  switch (_c.label) {
5311
5674
  case 0:
@@ -5409,9 +5772,9 @@ var PerpetualsClient = (function () {
5409
5772
  instructions.push(placeLimitOrder);
5410
5773
  return [3, 11];
5411
5774
  case 10:
5412
- err_25 = _c.sent();
5413
- console.log("perpClient placeLimitOrder error:: ", err_25);
5414
- throw err_25;
5775
+ err_27 = _c.sent();
5776
+ console.log("perpClient placeLimitOrder error:: ", err_27);
5777
+ throw err_27;
5415
5778
  case 11: return [2, {
5416
5779
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5417
5780
  additionalSigners: additionalSigners
@@ -5420,11 +5783,11 @@ var PerpetualsClient = (function () {
5420
5783
  });
5421
5784
  });
5422
5785
  };
5423
- this.editLimitOrder = function (targetSymbol, collateralSymbol, reserveSymbol, side, orderId, limitPrice, sizeAmount, stopLossPrice, takeProfitPrice, poolConfig, createUserATA, ephemeralSignerPubkey) {
5786
+ this.editLimitOrder = function (targetSymbol, collateralSymbol, reserveSymbol, side, orderId, limitPrice, sizeAmount, stopLossPrice, takeProfitPrice, receiveCustodyId, poolConfig, createUserATA, ephemeralSignerPubkey) {
5424
5787
  if (createUserATA === void 0) { createUserATA = true; }
5425
5788
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
5426
5789
  return __awaiter(_this, void 0, void 0, function () {
5427
- var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, wrappedSolAccount, userReceivingTokenAccount, lamports, _a, positionAccount, orderAccount, editLimitOrder, err_26;
5790
+ var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, wrappedSolAccount, userReceivingTokenAccount, lamports, _a, positionAccount, orderAccount, editLimitOrder, err_28;
5428
5791
  return __generator(this, function (_b) {
5429
5792
  switch (_b.label) {
5430
5793
  case 0:
@@ -5440,7 +5803,7 @@ var PerpetualsClient = (function () {
5440
5803
  _b.label = 1;
5441
5804
  case 1:
5442
5805
  _b.trys.push([1, 7, , 8]);
5443
- if (!(collateralSymbol == 'SOL')) return [3, 2];
5806
+ if (!(reserveSymbol == 'SOL')) return [3, 2];
5444
5807
  lamports = (this.minimumBalanceForRentExemptAccountLamports);
5445
5808
  if (!ephemeralSignerPubkey) {
5446
5809
  wrappedSolAccount = new web3_js_1.Keypair();
@@ -5461,7 +5824,7 @@ var PerpetualsClient = (function () {
5461
5824
  ];
5462
5825
  return [3, 5];
5463
5826
  case 2:
5464
- userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
5827
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(reserveSymbol).mintKey, publicKey, true);
5465
5828
  _a = createUserATA;
5466
5829
  if (!_a) return [3, 4];
5467
5830
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
@@ -5470,7 +5833,7 @@ var PerpetualsClient = (function () {
5470
5833
  _b.label = 4;
5471
5834
  case 4:
5472
5835
  if (_a) {
5473
- preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
5836
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(reserveSymbol).mintKey));
5474
5837
  }
5475
5838
  _b.label = 5;
5476
5839
  case 5:
@@ -5482,7 +5845,8 @@ var PerpetualsClient = (function () {
5482
5845
  limitPrice: limitPrice,
5483
5846
  sizeAmount: sizeAmount,
5484
5847
  stopLossPrice: stopLossPrice,
5485
- takeProfitPrice: takeProfitPrice
5848
+ takeProfitPrice: takeProfitPrice,
5849
+ receiveCustodyId: receiveCustodyId
5486
5850
  })
5487
5851
  .accounts({
5488
5852
  owner: publicKey,
@@ -5498,7 +5862,7 @@ var PerpetualsClient = (function () {
5498
5862
  reserveCustody: reserveCustodyConfig.custodyAccount,
5499
5863
  reserveOracleAccount: this.useExtOracleAccount ? reserveCustodyConfig.extOracleAccount : reserveCustodyConfig.intOracleAccount,
5500
5864
  reserveCustodyTokenAccount: reserveCustodyConfig.tokenAccount,
5501
- receivingAccount: collateralSymbol == 'SOL' ? (ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey) : userReceivingTokenAccount,
5865
+ receivingAccount: reserveSymbol == 'SOL' ? (ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey) : userReceivingTokenAccount,
5502
5866
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
5503
5867
  eventAuthority: this.eventAuthority.publicKey,
5504
5868
  program: this.programId,
@@ -5510,9 +5874,9 @@ var PerpetualsClient = (function () {
5510
5874
  instructions.push(editLimitOrder);
5511
5875
  return [3, 8];
5512
5876
  case 7:
5513
- err_26 = _b.sent();
5514
- console.log("perpClient editLimitOrder error:: ", err_26);
5515
- throw err_26;
5877
+ err_28 = _b.sent();
5878
+ console.log("perpClient editLimitOrder error:: ", err_28);
5879
+ throw err_28;
5516
5880
  case 8: return [2, {
5517
5881
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5518
5882
  additionalSigners: additionalSigners
@@ -5526,7 +5890,7 @@ var PerpetualsClient = (function () {
5526
5890
  if (nftReferralAccount === void 0) { nftReferralAccount = web3_js_1.PublicKey.default; }
5527
5891
  if (nftRebateTokenAccount === void 0) { nftRebateTokenAccount = web3_js_1.PublicKey.default; }
5528
5892
  return __awaiter(_this, void 0, void 0, function () {
5529
- var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, executeLimitOrder, err_27;
5893
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, executeLimitOrder, err_29;
5530
5894
  return __generator(this, function (_a) {
5531
5895
  switch (_a.label) {
5532
5896
  case 0:
@@ -5572,9 +5936,89 @@ var PerpetualsClient = (function () {
5572
5936
  instructions.push(executeLimitOrder);
5573
5937
  return [3, 4];
5574
5938
  case 3:
5575
- err_27 = _a.sent();
5576
- console.log("perpClient executeLimitOrder error:: ", err_27);
5577
- throw err_27;
5939
+ err_29 = _a.sent();
5940
+ console.log("perpClient executeLimitOrder error:: ", err_29);
5941
+ throw err_29;
5942
+ case 4: return [2, {
5943
+ instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5944
+ additionalSigners: additionalSigners
5945
+ }];
5946
+ }
5947
+ });
5948
+ });
5949
+ };
5950
+ this.executeLimitWithSwap = function (userPubkey, targetSymbol, collateralSymbol, reserveSymbol, side, orderId, poolConfig, privilege, nftTradingAccount, nftReferralAccount, nftRebateTokenAccount) {
5951
+ if (nftTradingAccount === void 0) { nftTradingAccount = web3_js_1.PublicKey.default; }
5952
+ if (nftReferralAccount === void 0) { nftReferralAccount = web3_js_1.PublicKey.default; }
5953
+ if (nftRebateTokenAccount === void 0) { nftRebateTokenAccount = web3_js_1.PublicKey.default; }
5954
+ return __awaiter(_this, void 0, void 0, function () {
5955
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, reserveCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, custodyAccountMetas, custodyOracleAccountMetas, _i, _a, custody, positionAccount, orderAccount, executeLimitWithSwap, err_30;
5956
+ return __generator(this, function (_b) {
5957
+ switch (_b.label) {
5958
+ case 0:
5959
+ publicKey = this.provider.wallet.publicKey;
5960
+ targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
5961
+ collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
5962
+ reserveCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(reserveSymbol).mintKey); });
5963
+ marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
5964
+ preInstructions = [];
5965
+ instructions = [];
5966
+ postInstructions = [];
5967
+ additionalSigners = [];
5968
+ custodyAccountMetas = [];
5969
+ custodyOracleAccountMetas = [];
5970
+ for (_i = 0, _a = poolConfig.custodies; _i < _a.length; _i++) {
5971
+ custody = _a[_i];
5972
+ custodyAccountMetas.push({
5973
+ pubkey: custody.custodyAccount,
5974
+ isSigner: false,
5975
+ isWritable: false,
5976
+ });
5977
+ custodyOracleAccountMetas.push({
5978
+ pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
5979
+ isSigner: false,
5980
+ isWritable: false,
5981
+ });
5982
+ }
5983
+ _b.label = 1;
5984
+ case 1:
5985
+ _b.trys.push([1, 3, , 4]);
5986
+ positionAccount = poolConfig.getPositionFromMarketPk(userPubkey, marketAccount);
5987
+ orderAccount = poolConfig.getOrderFromMarketPk(userPubkey, marketAccount);
5988
+ return [4, this.program.methods
5989
+ .executeLimitWithSwap({
5990
+ orderId: orderId,
5991
+ privilege: privilege
5992
+ })
5993
+ .accounts({
5994
+ feePayer: publicKey,
5995
+ perpetuals: poolConfig.perpetuals,
5996
+ pool: poolConfig.poolAddress,
5997
+ reserveCustody: reserveCustodyConfig.custodyAccount,
5998
+ reserveCustodyOracleAccount: this.useExtOracleAccount ? reserveCustodyConfig.extOracleAccount : reserveCustodyConfig.intOracleAccount,
5999
+ position: positionAccount,
6000
+ order: orderAccount,
6001
+ market: marketAccount,
6002
+ targetCustody: targetCustodyConfig.custodyAccount,
6003
+ targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
6004
+ collateralCustody: collateralCustodyConfig.custodyAccount,
6005
+ collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
6006
+ systemProgram: web3_js_1.SystemProgram.programId,
6007
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
6008
+ eventAuthority: this.eventAuthority.publicKey,
6009
+ program: this.programId,
6010
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
6011
+ })
6012
+ .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true), custodyAccountMetas, true), custodyOracleAccountMetas, true))
6013
+ .instruction()];
6014
+ case 2:
6015
+ executeLimitWithSwap = _b.sent();
6016
+ instructions.push(executeLimitWithSwap);
6017
+ return [3, 4];
6018
+ case 3:
6019
+ err_30 = _b.sent();
6020
+ console.log("perpClient executeLimitWithSwap error:: ", err_30);
6021
+ throw err_30;
5578
6022
  case 4: return [2, {
5579
6023
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5580
6024
  additionalSigners: additionalSigners
@@ -5584,7 +6028,7 @@ var PerpetualsClient = (function () {
5584
6028
  });
5585
6029
  };
5586
6030
  this.placeTriggerOrder = function (targetSymbol, collateralSymbol, side, triggerPrice, deltaSizeAmount, isStopLoss, receiveCustodyId, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5587
- var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, placeTriggerOrder, err_28;
6031
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, placeTriggerOrder, err_31;
5588
6032
  return __generator(this, function (_a) {
5589
6033
  switch (_a.label) {
5590
6034
  case 0:
@@ -5631,9 +6075,9 @@ var PerpetualsClient = (function () {
5631
6075
  instructions.push(placeTriggerOrder);
5632
6076
  return [3, 4];
5633
6077
  case 3:
5634
- err_28 = _a.sent();
5635
- console.log("perpClient placeTriggerOrder error:: ", err_28);
5636
- throw err_28;
6078
+ err_31 = _a.sent();
6079
+ console.log("perpClient placeTriggerOrder error:: ", err_31);
6080
+ throw err_31;
5637
6081
  case 4: return [2, {
5638
6082
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5639
6083
  additionalSigners: additionalSigners
@@ -5642,7 +6086,7 @@ var PerpetualsClient = (function () {
5642
6086
  });
5643
6087
  }); };
5644
6088
  this.editTriggerOrder = function (targetSymbol, collateralSymbol, side, orderId, triggerPrice, deltaSizeAmount, isStopLoss, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5645
- var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, editTriggerOrder, err_29;
6089
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, editTriggerOrder, err_32;
5646
6090
  return __generator(this, function (_a) {
5647
6091
  switch (_a.label) {
5648
6092
  case 0:
@@ -5687,9 +6131,9 @@ var PerpetualsClient = (function () {
5687
6131
  instructions.push(editTriggerOrder);
5688
6132
  return [3, 4];
5689
6133
  case 3:
5690
- err_29 = _a.sent();
5691
- console.log("perpClient editTriggerOrder error:: ", err_29);
5692
- throw err_29;
6134
+ err_32 = _a.sent();
6135
+ console.log("perpClient editTriggerOrder error:: ", err_32);
6136
+ throw err_32;
5693
6137
  case 4: return [2, {
5694
6138
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5695
6139
  additionalSigners: additionalSigners
@@ -5698,7 +6142,7 @@ var PerpetualsClient = (function () {
5698
6142
  });
5699
6143
  }); };
5700
6144
  this.cancelTriggerOrder = function (targetSymbol, collateralSymbol, side, orderId, isStopLoss, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5701
- var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, orderAccount, cancelTriggerOrder, err_30;
6145
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, orderAccount, cancelTriggerOrder, err_33;
5702
6146
  return __generator(this, function (_a) {
5703
6147
  switch (_a.label) {
5704
6148
  case 0:
@@ -5731,9 +6175,9 @@ var PerpetualsClient = (function () {
5731
6175
  instructions.push(cancelTriggerOrder);
5732
6176
  return [3, 4];
5733
6177
  case 3:
5734
- err_30 = _a.sent();
5735
- console.log("perpClient cancelTriggerOrder error:: ", err_30);
5736
- throw err_30;
6178
+ err_33 = _a.sent();
6179
+ console.log("perpClient cancelTriggerOrder error:: ", err_33);
6180
+ throw err_33;
5737
6181
  case 4: return [2, {
5738
6182
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5739
6183
  additionalSigners: additionalSigners
@@ -5741,11 +6185,121 @@ var PerpetualsClient = (function () {
5741
6185
  }
5742
6186
  });
5743
6187
  }); };
6188
+ this.executeTriggerWithSwap = function (owner, targetSymbol, collateralSymbol, receivingSymbol, side, orderId, isStopLoss, poolConfig, createUserATA, ephemeralSignerPubkey) {
6189
+ if (createUserATA === void 0) { createUserATA = true; }
6190
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6191
+ return __awaiter(_this, void 0, void 0, function () {
6192
+ 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;
6193
+ return __generator(this, function (_d) {
6194
+ switch (_d.label) {
6195
+ case 0:
6196
+ payerPubkey = this.provider.wallet.publicKey;
6197
+ targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
6198
+ collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
6199
+ receivingCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(receivingSymbol).mintKey); });
6200
+ marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
6201
+ preInstructions = [];
6202
+ instructions = [];
6203
+ postInstructions = [];
6204
+ additionalSigners = [];
6205
+ _d.label = 1;
6206
+ case 1:
6207
+ _d.trys.push([1, 9, , 10]);
6208
+ if (!false) return [3, 2];
6209
+ return [3, 7];
6210
+ case 2:
6211
+ userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(receivingSymbol).mintKey, owner, true);
6212
+ _a = createUserATA;
6213
+ if (!_a) return [3, 4];
6214
+ return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
6215
+ case 3:
6216
+ _a = !(_d.sent());
6217
+ _d.label = 4;
6218
+ case 4:
6219
+ if (_a) {
6220
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, owner, poolConfig.getTokenFromSymbol(receivingSymbol).mintKey));
6221
+ }
6222
+ userReceivingTokenAccountCollateral = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, owner, true);
6223
+ _b = createUserATA;
6224
+ if (!_b) return [3, 6];
6225
+ return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccountCollateral, this.provider.connection)];
6226
+ case 5:
6227
+ _b = !(_d.sent());
6228
+ _d.label = 6;
6229
+ case 6:
6230
+ if (_b) {
6231
+ preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccountCollateral, owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
6232
+ }
6233
+ _d.label = 7;
6234
+ case 7:
6235
+ positionAccount = poolConfig.getPositionFromMarketPk(owner, marketAccount);
6236
+ orderAccount = poolConfig.getOrderFromMarketPk(owner, marketAccount);
6237
+ custodyAccountMetas = [];
6238
+ custodyOracleAccountMetas = [];
6239
+ for (_i = 0, _c = poolConfig.custodies; _i < _c.length; _i++) {
6240
+ custody = _c[_i];
6241
+ custodyAccountMetas.push({
6242
+ pubkey: custody.custodyAccount,
6243
+ isSigner: false,
6244
+ isWritable: false,
6245
+ });
6246
+ custodyOracleAccountMetas.push({
6247
+ pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
6248
+ isSigner: false,
6249
+ isWritable: false,
6250
+ });
6251
+ }
6252
+ return [4, this.program.methods
6253
+ .executeTriggerWithSwap({
6254
+ isStopLoss: isStopLoss,
6255
+ orderId: orderId
6256
+ })
6257
+ .accounts({
6258
+ feePayer: payerPubkey,
6259
+ receivingAccount: userReceivingTokenAccount,
6260
+ collateralAccount: userReceivingTokenAccountCollateral,
6261
+ transferAuthority: poolConfig.transferAuthority,
6262
+ perpetuals: poolConfig.perpetuals,
6263
+ pool: poolConfig.poolAddress,
6264
+ position: positionAccount,
6265
+ order: orderAccount,
6266
+ market: marketAccount,
6267
+ targetCustody: targetCustodyConfig.custodyAccount,
6268
+ targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
6269
+ collateralCustody: collateralCustodyConfig.custodyAccount,
6270
+ collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
6271
+ collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
6272
+ dispensingCustody: receivingCustodyConfig.custodyAccount,
6273
+ dispensingOracleAccount: this.useExtOracleAccount ? receivingCustodyConfig.extOracleAccount : receivingCustodyConfig.intOracleAccount,
6274
+ dispensingCustodyTokenAccount: receivingCustodyConfig.tokenAccount,
6275
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
6276
+ eventAuthority: this.eventAuthority.publicKey,
6277
+ program: this.programId,
6278
+ ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
6279
+ })
6280
+ .remainingAccounts(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true))
6281
+ .instruction()];
6282
+ case 8:
6283
+ executeTriggerWithSwap = _d.sent();
6284
+ instructions.push(executeTriggerWithSwap);
6285
+ return [3, 10];
6286
+ case 9:
6287
+ err_34 = _d.sent();
6288
+ console.log("perpClient executeTriggerWithSwap error:: ", err_34);
6289
+ throw err_34;
6290
+ case 10: return [2, {
6291
+ instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6292
+ additionalSigners: additionalSigners
6293
+ }];
6294
+ }
6295
+ });
6296
+ });
6297
+ };
5744
6298
  this.executeTriggerOrder = function (owner, targetSymbol, collateralSymbol, side, orderId, isStopLoss, poolConfig, createUserATA, ephemeralSignerPubkey) {
5745
6299
  if (createUserATA === void 0) { createUserATA = true; }
5746
6300
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
5747
6301
  return __awaiter(_this, void 0, void 0, function () {
5748
- var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, positionAccount, orderAccount, executeTriggerOrder, err_31;
6302
+ var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, positionAccount, orderAccount, executeTriggerOrder, err_35;
5749
6303
  return __generator(this, function (_b) {
5750
6304
  switch (_b.label) {
5751
6305
  case 0:
@@ -5808,9 +6362,9 @@ var PerpetualsClient = (function () {
5808
6362
  instructions.push(executeTriggerOrder);
5809
6363
  return [3, 8];
5810
6364
  case 7:
5811
- err_31 = _b.sent();
5812
- console.log("perpClient executeTriggerOrder error:: ", err_31);
5813
- throw err_31;
6365
+ err_35 = _b.sent();
6366
+ console.log("perpClient executeTriggerOrder error:: ", err_35);
6367
+ throw err_35;
5814
6368
  case 8: return [2, {
5815
6369
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5816
6370
  additionalSigners: additionalSigners
@@ -5819,15 +6373,12 @@ var PerpetualsClient = (function () {
5819
6373
  });
5820
6374
  });
5821
6375
  };
5822
- this.migrateTriggerOrder = function (owner, targetSymbol, collateralSymbol, side, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5823
- var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, migrateTriggerOrder, err_32;
6376
+ this.migrateTriggerOrder = function (owner, marketAccount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6377
+ var payerPubkey, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, migrateTriggerOrder, err_36;
5824
6378
  return __generator(this, function (_a) {
5825
6379
  switch (_a.label) {
5826
6380
  case 0:
5827
6381
  payerPubkey = this.provider.wallet.publicKey;
5828
- targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
5829
- collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
5830
- marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
5831
6382
  preInstructions = [];
5832
6383
  instructions = [];
5833
6384
  postInstructions = [];
@@ -5853,9 +6404,9 @@ var PerpetualsClient = (function () {
5853
6404
  instructions.push(migrateTriggerOrder);
5854
6405
  return [3, 4];
5855
6406
  case 3:
5856
- err_32 = _a.sent();
5857
- console.log("perpClient migrateTriggerOrder error:: ", err_32);
5858
- throw err_32;
6407
+ err_36 = _a.sent();
6408
+ console.log("perpClient migrateTriggerOrder error:: ", err_36);
6409
+ throw err_36;
5859
6410
  case 4: return [2, {
5860
6411
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5861
6412
  additionalSigners: additionalSigners
@@ -5864,7 +6415,7 @@ var PerpetualsClient = (function () {
5864
6415
  });
5865
6416
  }); };
5866
6417
  this.getPositionData = function (position, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5867
- var marketConfig, targetCustodyConfig, collateralCustodyConfig, getPositionData, err_33;
6418
+ var marketConfig, targetCustodyConfig, collateralCustodyConfig, getPositionData, err_37;
5868
6419
  return __generator(this, function (_a) {
5869
6420
  switch (_a.label) {
5870
6421
  case 0:
@@ -5893,15 +6444,15 @@ var PerpetualsClient = (function () {
5893
6444
  console.log(getPositionData);
5894
6445
  return [2, getPositionData];
5895
6446
  case 3:
5896
- err_33 = _a.sent();
5897
- console.log("perpClient setPool error:: ", err_33);
5898
- throw err_33;
6447
+ err_37 = _a.sent();
6448
+ console.log("perpClient setPool error:: ", err_37);
6449
+ throw err_37;
5899
6450
  case 4: return [2];
5900
6451
  }
5901
6452
  });
5902
6453
  }); };
5903
6454
  this.protocolWithdrawFees = function (rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5904
- var publicKey, custodyConfig, receivingTokenAccount, instructions, additionalSigners, withdrawFeesIx, err_34;
6455
+ var publicKey, custodyConfig, receivingTokenAccount, instructions, additionalSigners, withdrawFeesIx, err_38;
5905
6456
  return __generator(this, function (_a) {
5906
6457
  switch (_a.label) {
5907
6458
  case 0:
@@ -5934,9 +6485,9 @@ var PerpetualsClient = (function () {
5934
6485
  instructions.push(withdrawFeesIx);
5935
6486
  return [3, 5];
5936
6487
  case 4:
5937
- err_34 = _a.sent();
5938
- console.log("perpClient setPool error:: ", err_34);
5939
- throw err_34;
6488
+ err_38 = _a.sent();
6489
+ console.log("perpClient setPool error:: ", err_38);
6490
+ throw err_38;
5940
6491
  case 5: return [2, {
5941
6492
  instructions: __spreadArray([], instructions, true),
5942
6493
  additionalSigners: additionalSigners
@@ -5945,7 +6496,7 @@ var PerpetualsClient = (function () {
5945
6496
  });
5946
6497
  }); };
5947
6498
  this.setPermissions = function (permissions) { return __awaiter(_this, void 0, void 0, function () {
5948
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, setPermissionsInstruction, err_35;
6499
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, setPermissionsInstruction, err_39;
5949
6500
  return __generator(this, function (_a) {
5950
6501
  switch (_a.label) {
5951
6502
  case 0:
@@ -5972,9 +6523,9 @@ var PerpetualsClient = (function () {
5972
6523
  instructions.push(setPermissionsInstruction);
5973
6524
  return [3, 4];
5974
6525
  case 3:
5975
- err_35 = _a.sent();
5976
- console.log("perpClient setPool error:: ", err_35);
5977
- throw err_35;
6526
+ err_39 = _a.sent();
6527
+ console.log("perpClient setPool error:: ", err_39);
6528
+ throw err_39;
5978
6529
  case 4: return [2, {
5979
6530
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5980
6531
  additionalSigners: additionalSigners
@@ -5983,7 +6534,7 @@ var PerpetualsClient = (function () {
5983
6534
  });
5984
6535
  }); };
5985
6536
  this.reimburse = function (tokenMint, amountIn, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5986
- var custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, instructions, additionalSigners, custodyConfig, reimburse, _d, _e, err_36;
6537
+ var custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, instructions, additionalSigners, custodyConfig, reimburse, _d, _e, err_40;
5987
6538
  var _f;
5988
6539
  return __generator(this, function (_g) {
5989
6540
  switch (_g.label) {
@@ -6043,9 +6594,9 @@ var PerpetualsClient = (function () {
6043
6594
  instructions.push(reimburse);
6044
6595
  return [3, 5];
6045
6596
  case 4:
6046
- err_36 = _g.sent();
6047
- console.log("perpClient setPool error:: ", err_36);
6048
- throw err_36;
6597
+ err_40 = _g.sent();
6598
+ console.log("perpClient setPool error:: ", err_40);
6599
+ throw err_40;
6049
6600
  case 5: return [2, {
6050
6601
  instructions: __spreadArray([], instructions, true),
6051
6602
  additionalSigners: additionalSigners
@@ -6054,7 +6605,7 @@ var PerpetualsClient = (function () {
6054
6605
  });
6055
6606
  }); };
6056
6607
  this.setInternalOraclePrice = function (tokenMint, price, expo, conf, ema, publishTime, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6057
- var instructions, additionalSigners, custodyConfig, setInternalOraclePrice, err_37;
6608
+ var instructions, additionalSigners, custodyConfig, setInternalOraclePrice, err_41;
6058
6609
  return __generator(this, function (_a) {
6059
6610
  switch (_a.label) {
6060
6611
  case 0:
@@ -6087,9 +6638,9 @@ var PerpetualsClient = (function () {
6087
6638
  instructions.push(setInternalOraclePrice);
6088
6639
  return [3, 4];
6089
6640
  case 3:
6090
- err_37 = _a.sent();
6091
- console.log("perpClient setInternalOracleAccount error:: ", err_37);
6092
- throw err_37;
6641
+ err_41 = _a.sent();
6642
+ console.log("perpClient setInternalOracleAccount error:: ", err_41);
6643
+ throw err_41;
6093
6644
  case 4: return [2, {
6094
6645
  instructions: __spreadArray([], instructions, true),
6095
6646
  additionalSigners: additionalSigners
@@ -6101,7 +6652,7 @@ var PerpetualsClient = (function () {
6101
6652
  if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
6102
6653
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6103
6654
  return __awaiter(_this, void 0, void 0, function () {
6104
- 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_38;
6655
+ 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;
6105
6656
  return __generator(this, function (_e) {
6106
6657
  switch (_e.label) {
6107
6658
  case 0:
@@ -6224,8 +6775,8 @@ var PerpetualsClient = (function () {
6224
6775
  instructions.push(addCompoundingLiquidity);
6225
6776
  return [3, 10];
6226
6777
  case 9:
6227
- err_38 = _e.sent();
6228
- console.log("perpClient addCompoundingLiquidity error:: ", err_38);
6778
+ err_42 = _e.sent();
6779
+ console.log("perpClient addCompoundingLiquidity error:: ", err_42);
6229
6780
  return [3, 10];
6230
6781
  case 10: return [2, {
6231
6782
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
@@ -6239,7 +6790,7 @@ var PerpetualsClient = (function () {
6239
6790
  if (createUserATA === void 0) { createUserATA = true; }
6240
6791
  if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6241
6792
  return __awaiter(_this, void 0, void 0, function () {
6242
- 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_39;
6793
+ 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;
6243
6794
  return __generator(this, function (_e) {
6244
6795
  switch (_e.label) {
6245
6796
  case 0:
@@ -6346,8 +6897,8 @@ var PerpetualsClient = (function () {
6346
6897
  instructions.push(removeCompoundingLiquidity);
6347
6898
  return [3, 8];
6348
6899
  case 7:
6349
- err_39 = _e.sent();
6350
- console.log("perpClient removeCompoundingLiquidity error:: ", err_39);
6900
+ err_43 = _e.sent();
6901
+ console.log("perpClient removeCompoundingLiquidity error:: ", err_43);
6351
6902
  return [3, 8];
6352
6903
  case 8: return [2, {
6353
6904
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
@@ -6360,7 +6911,7 @@ var PerpetualsClient = (function () {
6360
6911
  this.migrateStake = function (amount, rewardTokenMint, poolConfig, createUserATA) {
6361
6912
  if (createUserATA === void 0) { createUserATA = true; }
6362
6913
  return __awaiter(_this, void 0, void 0, function () {
6363
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, _a, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _b, custody, _c, _d, market, migrateStake, err_40;
6914
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, _a, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _b, custody, _c, _d, market, migrateStake, err_44;
6364
6915
  return __generator(this, function (_e) {
6365
6916
  switch (_e.label) {
6366
6917
  case 0:
@@ -6441,8 +6992,8 @@ var PerpetualsClient = (function () {
6441
6992
  instructions.push(migrateStake);
6442
6993
  return [3, 6];
6443
6994
  case 5:
6444
- err_40 = _e.sent();
6445
- console.log("perpClient migrateStake error:: ", err_40);
6995
+ err_44 = _e.sent();
6996
+ console.log("perpClient migrateStake error:: ", err_44);
6446
6997
  return [3, 6];
6447
6998
  case 6: return [2, {
6448
6999
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
@@ -6453,7 +7004,7 @@ var PerpetualsClient = (function () {
6453
7004
  });
6454
7005
  };
6455
7006
  this.migrateFlp = function (amount, rewardTokenMint, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6456
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, migrateFlp, err_41;
7007
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, migrateFlp, err_45;
6457
7008
  return __generator(this, function (_d) {
6458
7009
  switch (_d.label) {
6459
7010
  case 0:
@@ -6525,8 +7076,8 @@ var PerpetualsClient = (function () {
6525
7076
  instructions.push(migrateFlp);
6526
7077
  return [3, 4];
6527
7078
  case 3:
6528
- err_41 = _d.sent();
6529
- console.log("perpClient migrateFlp error:: ", err_41);
7079
+ err_45 = _d.sent();
7080
+ console.log("perpClient migrateFlp error:: ", err_45);
6530
7081
  return [3, 4];
6531
7082
  case 4: return [2, {
6532
7083
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
@@ -6538,7 +7089,7 @@ var PerpetualsClient = (function () {
6538
7089
  this.compoundingFee = function (poolConfig, rewardTokenSymbol) {
6539
7090
  if (rewardTokenSymbol === void 0) { rewardTokenSymbol = 'USDC'; }
6540
7091
  return __awaiter(_this, void 0, void 0, function () {
6541
- var instructions, additionalSigners, rewardCustody, lpTokenMint, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, compoundingFee, err_42;
7092
+ var instructions, additionalSigners, rewardCustody, lpTokenMint, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, compoundingFee, err_46;
6542
7093
  return __generator(this, function (_d) {
6543
7094
  switch (_d.label) {
6544
7095
  case 0:
@@ -6595,8 +7146,8 @@ var PerpetualsClient = (function () {
6595
7146
  instructions.push(compoundingFee);
6596
7147
  return [3, 4];
6597
7148
  case 3:
6598
- err_42 = _d.sent();
6599
- console.log("perpClient compoundingFee error:: ", err_42);
7149
+ err_46 = _d.sent();
7150
+ console.log("perpClient compoundingFee error:: ", err_46);
6600
7151
  return [3, 4];
6601
7152
  case 4: return [2, {
6602
7153
  instructions: __spreadArray([], instructions, true),
@@ -6607,7 +7158,7 @@ var PerpetualsClient = (function () {
6607
7158
  });
6608
7159
  };
6609
7160
  this.renameFlp = function (flag, lpTokenName, lpTokenSymbol, lpTokenUri, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6610
- var publicKey, instructions, additionalSigners, lpTokenMint, lpMetadataAccount, renameFlp, err_43;
7161
+ var publicKey, instructions, additionalSigners, lpTokenMint, lpMetadataAccount, renameFlp, err_47;
6611
7162
  return __generator(this, function (_a) {
6612
7163
  switch (_a.label) {
6613
7164
  case 0:
@@ -6645,8 +7196,8 @@ var PerpetualsClient = (function () {
6645
7196
  instructions.push(renameFlp);
6646
7197
  return [3, 4];
6647
7198
  case 3:
6648
- err_43 = _a.sent();
6649
- console.log("perpClient renameFlp error:: ", err_43);
7199
+ err_47 = _a.sent();
7200
+ console.log("perpClient renameFlp error:: ", err_47);
6650
7201
  return [3, 4];
6651
7202
  case 4: return [2, {
6652
7203
  instructions: __spreadArray([], instructions, true),
@@ -6656,7 +7207,7 @@ var PerpetualsClient = (function () {
6656
7207
  });
6657
7208
  }); };
6658
7209
  this.initRewardDistribution = function (rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6659
- var publicKey, rewardMint, instructions, additionalSigners, fbNftProgramData, rewardVault, rewardTokenAccount, transferAuthority, initRewardVault, err_44;
7210
+ var publicKey, rewardMint, instructions, additionalSigners, fbNftProgramData, rewardVault, rewardTokenAccount, transferAuthority, initRewardVault, err_48;
6660
7211
  return __generator(this, function (_a) {
6661
7212
  switch (_a.label) {
6662
7213
  case 0:
@@ -6690,9 +7241,9 @@ var PerpetualsClient = (function () {
6690
7241
  instructions.push(initRewardVault);
6691
7242
  return [3, 4];
6692
7243
  case 3:
6693
- err_44 = _a.sent();
6694
- console.log("rewardDistribution InitRewardVault error:: ", err_44);
6695
- throw err_44;
7244
+ err_48 = _a.sent();
7245
+ console.log("rewardDistribution InitRewardVault error:: ", err_48);
7246
+ throw err_48;
6696
7247
  case 4: return [2, {
6697
7248
  instructions: __spreadArray([], instructions, true),
6698
7249
  additionalSigners: additionalSigners
@@ -6701,7 +7252,7 @@ var PerpetualsClient = (function () {
6701
7252
  });
6702
7253
  }); };
6703
7254
  this.updateCounterReward = function () { return __awaiter(_this, void 0, void 0, function () {
6704
- var publicKey, instructions, additionalSigners, rewardVault, updateCounter, err_45;
7255
+ var publicKey, instructions, additionalSigners, rewardVault, updateCounter, err_49;
6705
7256
  return __generator(this, function (_a) {
6706
7257
  switch (_a.label) {
6707
7258
  case 0:
@@ -6724,9 +7275,9 @@ var PerpetualsClient = (function () {
6724
7275
  instructions.push(updateCounter);
6725
7276
  return [3, 4];
6726
7277
  case 3:
6727
- err_45 = _a.sent();
6728
- console.log("rewardDistribution updateCounter error:: ", err_45);
6729
- throw err_45;
7278
+ err_49 = _a.sent();
7279
+ console.log("rewardDistribution updateCounter error:: ", err_49);
7280
+ throw err_49;
6730
7281
  case 4: return [2, {
6731
7282
  instructions: __spreadArray([], instructions, true),
6732
7283
  additionalSigners: additionalSigners
@@ -6735,7 +7286,7 @@ var PerpetualsClient = (function () {
6735
7286
  });
6736
7287
  }); };
6737
7288
  this.rewardDistribution = function (counter, owner, rewardAmount, rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6738
- var publicKey, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, rewardRecord, distributeReward, err_46;
7289
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, rewardRecord, distributeReward, err_50;
6739
7290
  return __generator(this, function (_a) {
6740
7291
  switch (_a.label) {
6741
7292
  case 0:
@@ -6774,9 +7325,9 @@ var PerpetualsClient = (function () {
6774
7325
  instructions.push(distributeReward);
6775
7326
  return [3, 4];
6776
7327
  case 3:
6777
- err_46 = _a.sent();
6778
- console.log("rewardDistribution distributeReward error:: ", err_46);
6779
- throw err_46;
7328
+ err_50 = _a.sent();
7329
+ console.log("rewardDistribution distributeReward error:: ", err_50);
7330
+ throw err_50;
6780
7331
  case 4: return [2, {
6781
7332
  instructions: __spreadArray([], instructions, true),
6782
7333
  additionalSigners: additionalSigners
@@ -6787,7 +7338,7 @@ var PerpetualsClient = (function () {
6787
7338
  this.collectReward = function (counter, owner, rewardSymbol, poolConfig, createUserATA) {
6788
7339
  if (createUserATA === void 0) { createUserATA = true; }
6789
7340
  return __awaiter(_this, void 0, void 0, function () {
6790
- var publicKey, rewardCustodyMint, instructions, additionalSigners, receivingTokenAccount, _a, rewardVault, rewardTokenAccount, rewardRecord, transferAuthority, collectRaffleReward, err_47;
7341
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, receivingTokenAccount, _a, rewardVault, rewardTokenAccount, rewardRecord, transferAuthority, collectRaffleReward, err_51;
6791
7342
  return __generator(this, function (_b) {
6792
7343
  switch (_b.label) {
6793
7344
  case 0:
@@ -6835,8 +7386,8 @@ var PerpetualsClient = (function () {
6835
7386
  instructions.push(collectRaffleReward);
6836
7387
  return [3, 6];
6837
7388
  case 5:
6838
- err_47 = _b.sent();
6839
- throw err_47;
7389
+ err_51 = _b.sent();
7390
+ throw err_51;
6840
7391
  case 6: return [2, {
6841
7392
  instructions: __spreadArray([], instructions, true),
6842
7393
  additionalSigners: additionalSigners