flash-sdk 2.47.3 → 2.48.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2149,40 +2149,36 @@ var PerpetualsClient = (function () {
2149
2149
  }
2150
2150
  });
2151
2151
  }); };
2152
- this.getAddLiquidityAmountAndFeeView = function (amount_1, poolKey_1, depositCustodyKey_1, POOL_CONFIG_1) {
2153
- var args_1 = [];
2154
- for (var _i = 4; _i < arguments.length; _i++) {
2155
- args_1[_i - 4] = arguments[_i];
2156
- }
2157
- return __awaiter(_this, __spreadArray([amount_1, poolKey_1, depositCustodyKey_1, POOL_CONFIG_1], args_1, true), void 0, function (amount, poolKey, depositCustodyKey, POOL_CONFIG, userPublicKey) {
2158
- var backUpOracleInstructionPromise, custodies, custodyMetas, marketMetas, _a, custodies_5, token, _b, custodies_6, custody, _c, _d, market, depositCustodyConfig, transaction, backUpOracleInstruction, result, index, res;
2159
- var _e;
2160
- if (userPublicKey === void 0) { userPublicKey = undefined; }
2161
- return __generator(this, function (_f) {
2162
- switch (_f.label) {
2152
+ this.getAddLiquidityAmountAndFeeView = function (amount, poolKey, depositCustodyKey, POOL_CONFIG, userPublicKey) {
2153
+ if (userPublicKey === void 0) { userPublicKey = undefined; }
2154
+ return __awaiter(_this, void 0, void 0, function () {
2155
+ var backUpOracleInstructionPromise, custodies, custodyMetas, marketMetas, _i, custodies_5, token, _a, custodies_6, custody, _b, _c, market, depositCustodyConfig, transaction, backUpOracleInstruction, result, index, res;
2156
+ var _d;
2157
+ return __generator(this, function (_e) {
2158
+ switch (_e.label) {
2163
2159
  case 0:
2164
2160
  backUpOracleInstructionPromise = (0, backupOracle_1.createBackupOracleInstruction)(POOL_CONFIG.poolAddress.toBase58(), true);
2165
2161
  custodies = POOL_CONFIG.custodies;
2166
2162
  custodyMetas = [];
2167
2163
  marketMetas = [];
2168
- for (_a = 0, custodies_5 = custodies; _a < custodies_5.length; _a++) {
2169
- token = custodies_5[_a];
2164
+ for (_i = 0, custodies_5 = custodies; _i < custodies_5.length; _i++) {
2165
+ token = custodies_5[_i];
2170
2166
  custodyMetas.push({
2171
2167
  isSigner: false,
2172
2168
  isWritable: false,
2173
2169
  pubkey: token.custodyAccount,
2174
2170
  });
2175
2171
  }
2176
- for (_b = 0, custodies_6 = custodies; _b < custodies_6.length; _b++) {
2177
- custody = custodies_6[_b];
2172
+ for (_a = 0, custodies_6 = custodies; _a < custodies_6.length; _a++) {
2173
+ custody = custodies_6[_a];
2178
2174
  custodyMetas.push({
2179
2175
  isSigner: false,
2180
2176
  isWritable: false,
2181
2177
  pubkey: custody.intOracleAccount,
2182
2178
  });
2183
2179
  }
2184
- for (_c = 0, _d = POOL_CONFIG.markets; _c < _d.length; _c++) {
2185
- market = _d[_c];
2180
+ for (_b = 0, _c = POOL_CONFIG.markets; _b < _c.length; _b++) {
2181
+ market = _c[_b];
2186
2182
  marketMetas.push({
2187
2183
  pubkey: market.marketAccount,
2188
2184
  isSigner: false,
@@ -2205,14 +2201,14 @@ var PerpetualsClient = (function () {
2205
2201
  .remainingAccounts(__spreadArray(__spreadArray([], custodyMetas, true), marketMetas, true))
2206
2202
  .transaction()];
2207
2203
  case 1:
2208
- transaction = _f.sent();
2204
+ transaction = _e.sent();
2209
2205
  return [4, backUpOracleInstructionPromise];
2210
2206
  case 2:
2211
- backUpOracleInstruction = _f.sent();
2212
- (_e = transaction.instructions).unshift.apply(_e, backUpOracleInstruction);
2207
+ backUpOracleInstruction = _e.sent();
2208
+ (_d = transaction.instructions).unshift.apply(_d, backUpOracleInstruction);
2213
2209
  return [4, this.viewHelper.simulateTransaction(transaction, userPublicKey)];
2214
2210
  case 3:
2215
- result = _f.sent();
2211
+ result = _e.sent();
2216
2212
  index = perpetuals_1.IDL.instructions.findIndex(function (f) { return f.name === 'getAddLiquidityAmountAndFee'; });
2217
2213
  res = this.viewHelper.decodeLogs(result, index, 'getAddLiquidityAmountAndFee');
2218
2214
  return [2, {
@@ -2223,40 +2219,36 @@ var PerpetualsClient = (function () {
2223
2219
  });
2224
2220
  });
2225
2221
  };
2226
- this.getRemoveLiquidityAmountAndFeeView = function (amount_1, poolKey_1, removeTokenCustodyKey_1, POOL_CONFIG_1) {
2227
- var args_1 = [];
2228
- for (var _i = 4; _i < arguments.length; _i++) {
2229
- args_1[_i - 4] = arguments[_i];
2230
- }
2231
- return __awaiter(_this, __spreadArray([amount_1, poolKey_1, removeTokenCustodyKey_1, POOL_CONFIG_1], args_1, true), void 0, function (amount, poolKey, removeTokenCustodyKey, POOL_CONFIG, userPublicKey) {
2232
- var backUpOracleInstructionPromise, custodies, custodyMetas, marketMetas, _a, custodies_7, token, _b, custodies_8, custody, _c, _d, market, removeCustodyConfig, transaction, backUpOracleInstruction, result, index, res;
2233
- var _e;
2234
- if (userPublicKey === void 0) { userPublicKey = undefined; }
2235
- return __generator(this, function (_f) {
2236
- switch (_f.label) {
2222
+ this.getRemoveLiquidityAmountAndFeeView = function (amount, poolKey, removeTokenCustodyKey, POOL_CONFIG, userPublicKey) {
2223
+ if (userPublicKey === void 0) { userPublicKey = undefined; }
2224
+ return __awaiter(_this, void 0, void 0, function () {
2225
+ var backUpOracleInstructionPromise, custodies, custodyMetas, marketMetas, _i, custodies_7, token, _a, custodies_8, custody, _b, _c, market, removeCustodyConfig, transaction, backUpOracleInstruction, result, index, res;
2226
+ var _d;
2227
+ return __generator(this, function (_e) {
2228
+ switch (_e.label) {
2237
2229
  case 0:
2238
2230
  backUpOracleInstructionPromise = (0, backupOracle_1.createBackupOracleInstruction)(POOL_CONFIG.poolAddress.toBase58(), true);
2239
2231
  custodies = POOL_CONFIG.custodies;
2240
2232
  custodyMetas = [];
2241
2233
  marketMetas = [];
2242
- for (_a = 0, custodies_7 = custodies; _a < custodies_7.length; _a++) {
2243
- token = custodies_7[_a];
2234
+ for (_i = 0, custodies_7 = custodies; _i < custodies_7.length; _i++) {
2235
+ token = custodies_7[_i];
2244
2236
  custodyMetas.push({
2245
2237
  isSigner: false,
2246
2238
  isWritable: false,
2247
2239
  pubkey: token.custodyAccount,
2248
2240
  });
2249
2241
  }
2250
- for (_b = 0, custodies_8 = custodies; _b < custodies_8.length; _b++) {
2251
- custody = custodies_8[_b];
2242
+ for (_a = 0, custodies_8 = custodies; _a < custodies_8.length; _a++) {
2243
+ custody = custodies_8[_a];
2252
2244
  custodyMetas.push({
2253
2245
  isSigner: false,
2254
2246
  isWritable: false,
2255
2247
  pubkey: custody.intOracleAccount,
2256
2248
  });
2257
2249
  }
2258
- for (_c = 0, _d = POOL_CONFIG.markets; _c < _d.length; _c++) {
2259
- market = _d[_c];
2250
+ for (_b = 0, _c = POOL_CONFIG.markets; _b < _c.length; _b++) {
2251
+ market = _c[_b];
2260
2252
  marketMetas.push({
2261
2253
  pubkey: market.marketAccount,
2262
2254
  isSigner: false,
@@ -2279,14 +2271,14 @@ var PerpetualsClient = (function () {
2279
2271
  .remainingAccounts(__spreadArray(__spreadArray([], custodyMetas, true), marketMetas, true))
2280
2272
  .transaction()];
2281
2273
  case 1:
2282
- transaction = _f.sent();
2274
+ transaction = _e.sent();
2283
2275
  return [4, backUpOracleInstructionPromise];
2284
2276
  case 2:
2285
- backUpOracleInstruction = _f.sent();
2286
- (_e = transaction.instructions).unshift.apply(_e, backUpOracleInstruction);
2277
+ backUpOracleInstruction = _e.sent();
2278
+ (_d = transaction.instructions).unshift.apply(_d, backUpOracleInstruction);
2287
2279
  return [4, this.viewHelper.simulateTransaction(transaction, userPublicKey)];
2288
2280
  case 3:
2289
- result = _f.sent();
2281
+ result = _e.sent();
2290
2282
  index = perpetuals_1.IDL.instructions.findIndex(function (f) { return f.name === 'getRemoveLiquidityAmountAndFee'; });
2291
2283
  if (result.value.err) {
2292
2284
  return [2, {
@@ -2362,40 +2354,36 @@ var PerpetualsClient = (function () {
2362
2354
  }
2363
2355
  });
2364
2356
  }); };
2365
- this.getAddCompoundingLiquidityAmountAndFeeView = function (amount_1, poolKey_1, depositCustodyKey_1, POOL_CONFIG_1) {
2366
- var args_1 = [];
2367
- for (var _i = 4; _i < arguments.length; _i++) {
2368
- args_1[_i - 4] = arguments[_i];
2369
- }
2370
- return __awaiter(_this, __spreadArray([amount_1, poolKey_1, depositCustodyKey_1, POOL_CONFIG_1], args_1, true), void 0, function (amount, poolKey, depositCustodyKey, POOL_CONFIG, userPublicKey) {
2371
- var backUpOracleInstructionPromise, custodies, custodyMetas, marketMetas, _a, custodies_11, token, _b, custodies_12, custody, _c, _d, market, depositCustodyConfig, rewardCustody, backUpOracleInstruction, transaction, result, index, res;
2372
- var _e;
2373
- if (userPublicKey === void 0) { userPublicKey = undefined; }
2374
- return __generator(this, function (_f) {
2375
- switch (_f.label) {
2357
+ this.getAddCompoundingLiquidityAmountAndFeeView = function (amount, poolKey, depositCustodyKey, POOL_CONFIG, userPublicKey) {
2358
+ if (userPublicKey === void 0) { userPublicKey = undefined; }
2359
+ return __awaiter(_this, void 0, void 0, function () {
2360
+ var backUpOracleInstructionPromise, custodies, custodyMetas, marketMetas, _i, custodies_11, token, _a, custodies_12, custody, _b, _c, market, depositCustodyConfig, rewardCustody, backUpOracleInstruction, transaction, result, index, res;
2361
+ var _d;
2362
+ return __generator(this, function (_e) {
2363
+ switch (_e.label) {
2376
2364
  case 0:
2377
2365
  backUpOracleInstructionPromise = (0, backupOracle_1.createBackupOracleInstruction)(POOL_CONFIG.poolAddress.toBase58(), true);
2378
2366
  custodies = POOL_CONFIG.custodies;
2379
2367
  custodyMetas = [];
2380
2368
  marketMetas = [];
2381
- for (_a = 0, custodies_11 = custodies; _a < custodies_11.length; _a++) {
2382
- token = custodies_11[_a];
2369
+ for (_i = 0, custodies_11 = custodies; _i < custodies_11.length; _i++) {
2370
+ token = custodies_11[_i];
2383
2371
  custodyMetas.push({
2384
2372
  isSigner: false,
2385
2373
  isWritable: false,
2386
2374
  pubkey: token.custodyAccount,
2387
2375
  });
2388
2376
  }
2389
- for (_b = 0, custodies_12 = custodies; _b < custodies_12.length; _b++) {
2390
- custody = custodies_12[_b];
2377
+ for (_a = 0, custodies_12 = custodies; _a < custodies_12.length; _a++) {
2378
+ custody = custodies_12[_a];
2391
2379
  custodyMetas.push({
2392
2380
  isSigner: false,
2393
2381
  isWritable: false,
2394
2382
  pubkey: custody.intOracleAccount,
2395
2383
  });
2396
2384
  }
2397
- for (_c = 0, _d = POOL_CONFIG.markets; _c < _d.length; _c++) {
2398
- market = _d[_c];
2385
+ for (_b = 0, _c = POOL_CONFIG.markets; _b < _c.length; _b++) {
2386
+ market = _c[_b];
2399
2387
  marketMetas.push({
2400
2388
  pubkey: market.marketAccount,
2401
2389
  isSigner: false,
@@ -2406,7 +2394,7 @@ var PerpetualsClient = (function () {
2406
2394
  rewardCustody = POOL_CONFIG.custodies.find(function (f) { return f.symbol == 'USDC'; });
2407
2395
  return [4, backUpOracleInstructionPromise];
2408
2396
  case 1:
2409
- backUpOracleInstruction = _f.sent();
2397
+ backUpOracleInstruction = _e.sent();
2410
2398
  return [4, this.program.methods
2411
2399
  .getAddCompoundingLiquidityAmountAndFee({
2412
2400
  amountIn: amount,
@@ -2425,11 +2413,11 @@ var PerpetualsClient = (function () {
2425
2413
  .remainingAccounts(__spreadArray(__spreadArray([], custodyMetas, true), marketMetas, true))
2426
2414
  .transaction()];
2427
2415
  case 2:
2428
- transaction = _f.sent();
2429
- (_e = transaction.instructions).unshift.apply(_e, backUpOracleInstruction);
2416
+ transaction = _e.sent();
2417
+ (_d = transaction.instructions).unshift.apply(_d, backUpOracleInstruction);
2430
2418
  return [4, this.viewHelper.simulateTransaction(transaction, userPublicKey)];
2431
2419
  case 3:
2432
- result = _f.sent();
2420
+ result = _e.sent();
2433
2421
  index = perpetuals_1.IDL.instructions.findIndex(function (f) { return f.name === 'getAddCompoundingLiquidityAmountAndFee'; });
2434
2422
  res = this.viewHelper.decodeLogs(result, index, 'getAddCompoundingLiquidityAmountAndFee');
2435
2423
  return [2, {
@@ -2440,40 +2428,36 @@ var PerpetualsClient = (function () {
2440
2428
  });
2441
2429
  });
2442
2430
  };
2443
- this.getRemoveCompoundingLiquidityAmountAndFeeView = function (amount_1, poolKey_1, removeTokenCustodyKey_1, POOL_CONFIG_1) {
2444
- var args_1 = [];
2445
- for (var _i = 4; _i < arguments.length; _i++) {
2446
- args_1[_i - 4] = arguments[_i];
2447
- }
2448
- return __awaiter(_this, __spreadArray([amount_1, poolKey_1, removeTokenCustodyKey_1, POOL_CONFIG_1], args_1, true), void 0, function (amount, poolKey, removeTokenCustodyKey, POOL_CONFIG, userPublicKey) {
2449
- var backUpOracleInstructionPromise, custodies, custodyMetas, marketMetas, _a, custodies_13, token, _b, custodies_14, custody, _c, _d, market, removeCustodyConfig, rewardCustody, backUpOracleInstruction, transaction, result, index, res;
2450
- var _e;
2451
- if (userPublicKey === void 0) { userPublicKey = undefined; }
2452
- return __generator(this, function (_f) {
2453
- switch (_f.label) {
2431
+ this.getRemoveCompoundingLiquidityAmountAndFeeView = function (amount, poolKey, removeTokenCustodyKey, POOL_CONFIG, userPublicKey) {
2432
+ if (userPublicKey === void 0) { userPublicKey = undefined; }
2433
+ return __awaiter(_this, void 0, void 0, function () {
2434
+ var backUpOracleInstructionPromise, custodies, custodyMetas, marketMetas, _i, custodies_13, token, _a, custodies_14, custody, _b, _c, market, removeCustodyConfig, rewardCustody, backUpOracleInstruction, transaction, result, index, res;
2435
+ var _d;
2436
+ return __generator(this, function (_e) {
2437
+ switch (_e.label) {
2454
2438
  case 0:
2455
2439
  backUpOracleInstructionPromise = (0, backupOracle_1.createBackupOracleInstruction)(POOL_CONFIG.poolAddress.toBase58(), true);
2456
2440
  custodies = POOL_CONFIG.custodies;
2457
2441
  custodyMetas = [];
2458
2442
  marketMetas = [];
2459
- for (_a = 0, custodies_13 = custodies; _a < custodies_13.length; _a++) {
2460
- token = custodies_13[_a];
2443
+ for (_i = 0, custodies_13 = custodies; _i < custodies_13.length; _i++) {
2444
+ token = custodies_13[_i];
2461
2445
  custodyMetas.push({
2462
2446
  isSigner: false,
2463
2447
  isWritable: false,
2464
2448
  pubkey: token.custodyAccount,
2465
2449
  });
2466
2450
  }
2467
- for (_b = 0, custodies_14 = custodies; _b < custodies_14.length; _b++) {
2468
- custody = custodies_14[_b];
2451
+ for (_a = 0, custodies_14 = custodies; _a < custodies_14.length; _a++) {
2452
+ custody = custodies_14[_a];
2469
2453
  custodyMetas.push({
2470
2454
  isSigner: false,
2471
2455
  isWritable: false,
2472
2456
  pubkey: custody.intOracleAccount,
2473
2457
  });
2474
2458
  }
2475
- for (_c = 0, _d = POOL_CONFIG.markets; _c < _d.length; _c++) {
2476
- market = _d[_c];
2459
+ for (_b = 0, _c = POOL_CONFIG.markets; _b < _c.length; _b++) {
2460
+ market = _c[_b];
2477
2461
  marketMetas.push({
2478
2462
  pubkey: market.marketAccount,
2479
2463
  isSigner: false,
@@ -2484,7 +2468,7 @@ var PerpetualsClient = (function () {
2484
2468
  rewardCustody = POOL_CONFIG.custodies.find(function (f) { return f.symbol == 'USDC'; });
2485
2469
  return [4, backUpOracleInstructionPromise];
2486
2470
  case 1:
2487
- backUpOracleInstruction = _f.sent();
2471
+ backUpOracleInstruction = _e.sent();
2488
2472
  return [4, this.program.methods
2489
2473
  .getRemoveCompoundingLiquidityAmountAndFee({
2490
2474
  compoundingAmountIn: amount,
@@ -2503,11 +2487,11 @@ var PerpetualsClient = (function () {
2503
2487
  .remainingAccounts(__spreadArray(__spreadArray([], custodyMetas, true), marketMetas, true))
2504
2488
  .transaction()];
2505
2489
  case 2:
2506
- transaction = _f.sent();
2507
- (_e = transaction.instructions).unshift.apply(_e, backUpOracleInstruction);
2490
+ transaction = _e.sent();
2491
+ (_d = transaction.instructions).unshift.apply(_d, backUpOracleInstruction);
2508
2492
  return [4, this.viewHelper.simulateTransaction(transaction, userPublicKey)];
2509
2493
  case 3:
2510
- result = _f.sent();
2494
+ result = _e.sent();
2511
2495
  index = perpetuals_1.IDL.instructions.findIndex(function (f) { return f.name === 'getRemoveCompoundingLiquidityAmountAndFee'; });
2512
2496
  if (result.value.err) {
2513
2497
  return [2, {
@@ -2646,18 +2630,14 @@ var PerpetualsClient = (function () {
2646
2630
  }
2647
2631
  });
2648
2632
  }); };
2649
- this.openPosition = function (targetSymbol_1, collateralSymbol_1, priceWithSlippage_1, collateralWithfee_1, size_1, side_1, poolConfig_1, privilege_1) {
2650
- var args_1 = [];
2651
- for (var _i = 8; _i < arguments.length; _i++) {
2652
- args_1[_i - 8] = arguments[_i];
2653
- }
2654
- return __awaiter(_this, __spreadArray([targetSymbol_1, collateralSymbol_1, priceWithSlippage_1, collateralWithfee_1, size_1, side_1, poolConfig_1, privilege_1], args_1, true), void 0, function (targetSymbol, collateralSymbol, priceWithSlippage, collateralWithfee, size, side, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount, skipBalanceChecks, ephemeralSignerPubkey) {
2633
+ this.openPosition = function (targetSymbol, collateralSymbol, priceWithSlippage, collateralWithfee, size, side, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount, skipBalanceChecks, ephemeralSignerPubkey) {
2634
+ if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
2635
+ if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
2636
+ if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
2637
+ if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
2638
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
2639
+ return __awaiter(_this, void 0, void 0, function () {
2655
2640
  var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userCollateralTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, positionAccount, params, instruction;
2656
- if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
2657
- if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
2658
- if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
2659
- if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
2660
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
2661
2641
  return __generator(this, function (_c) {
2662
2642
  switch (_c.label) {
2663
2643
  case 0:
@@ -2761,19 +2741,15 @@ var PerpetualsClient = (function () {
2761
2741
  });
2762
2742
  });
2763
2743
  };
2764
- this.closePosition = function (marketSymbol_1, collateralSymbol_1, priceWithSlippage_1, side_1, poolConfig_1, privilege_1) {
2765
- var args_1 = [];
2766
- for (var _i = 6; _i < arguments.length; _i++) {
2767
- args_1[_i - 6] = arguments[_i];
2768
- }
2769
- return __awaiter(_this, __spreadArray([marketSymbol_1, collateralSymbol_1, priceWithSlippage_1, side_1, poolConfig_1, privilege_1], args_1, true), void 0, function (marketSymbol, collateralSymbol, priceWithSlippage, side, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount, createUserATA, closeUsersWSOLATA, ephemeralSignerPubkey) {
2744
+ this.closePosition = function (marketSymbol, collateralSymbol, priceWithSlippage, side, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount, createUserATA, closeUsersWSOLATA, ephemeralSignerPubkey) {
2745
+ if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
2746
+ if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
2747
+ if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
2748
+ if (createUserATA === void 0) { createUserATA = true; }
2749
+ if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
2750
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
2751
+ return __awaiter(_this, void 0, void 0, function () {
2770
2752
  var publicKey, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, lamports, _a, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, instruction, closeWsolATAIns, error_2;
2771
- if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
2772
- if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
2773
- if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
2774
- if (createUserATA === void 0) { createUserATA = true; }
2775
- if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
2776
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
2777
2753
  return __generator(this, function (_b) {
2778
2754
  switch (_b.label) {
2779
2755
  case 0:
@@ -2870,18 +2846,14 @@ var PerpetualsClient = (function () {
2870
2846
  });
2871
2847
  });
2872
2848
  };
2873
- this.swapAndOpen = function (targetTokenSymbol_1, collateralTokenSymbol_1, userInputTokenSymbol_1, amountIn_1, minCollateralAmountOut_1, priceWithSlippage_1, sizeAmount_1, side_1, poolConfig_1, privilege_1) {
2874
- var args_1 = [];
2875
- for (var _i = 10; _i < arguments.length; _i++) {
2876
- args_1[_i - 10] = arguments[_i];
2877
- }
2878
- return __awaiter(_this, __spreadArray([targetTokenSymbol_1, collateralTokenSymbol_1, userInputTokenSymbol_1, amountIn_1, minCollateralAmountOut_1, priceWithSlippage_1, sizeAmount_1, side_1, poolConfig_1, privilege_1], args_1, true), void 0, function (targetTokenSymbol, collateralTokenSymbol, userInputTokenSymbol, amountIn, minCollateralAmountOut, priceWithSlippage, sizeAmount, side, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount, skipBalanceChecks, ephemeralSignerPubkey) {
2849
+ this.swapAndOpen = function (targetTokenSymbol, collateralTokenSymbol, userInputTokenSymbol, amountIn, minCollateralAmountOut, priceWithSlippage, sizeAmount, side, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount, skipBalanceChecks, ephemeralSignerPubkey) {
2850
+ if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
2851
+ if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
2852
+ if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
2853
+ if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
2854
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
2855
+ return __awaiter(_this, void 0, void 0, function () {
2879
2856
  var publicKey, userInputCustodyConfig, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lamports, unWrappedSolBalance, _a, userOutputTokenAccount, tokenAccountBalance, _b, userOutputTokenAccount, inx, err_2;
2880
- if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
2881
- if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
2882
- if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
2883
- if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
2884
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
2885
2857
  return __generator(this, function (_c) {
2886
2858
  switch (_c.label) {
2887
2859
  case 0:
@@ -3021,17 +2993,13 @@ var PerpetualsClient = (function () {
3021
2993
  });
3022
2994
  });
3023
2995
  };
3024
- this.closeAndSwap = function (targetTokenSymbol_1, userOutputTokenSymbol_1, collateralTokenSymbol_1, minSwapAmountOut_1, priceWithSlippage_1, side_1, poolConfig_1, privilege_1) {
3025
- var args_1 = [];
3026
- for (var _i = 8; _i < arguments.length; _i++) {
3027
- args_1[_i - 8] = arguments[_i];
3028
- }
3029
- return __awaiter(_this, __spreadArray([targetTokenSymbol_1, userOutputTokenSymbol_1, collateralTokenSymbol_1, minSwapAmountOut_1, priceWithSlippage_1, side_1, poolConfig_1, privilege_1], args_1, true), void 0, function (targetTokenSymbol, userOutputTokenSymbol, collateralTokenSymbol, minSwapAmountOut, priceWithSlippage, side, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount, ephemeralSignerPubkey) {
2996
+ this.closeAndSwap = function (targetTokenSymbol, userOutputTokenSymbol, collateralTokenSymbol, minSwapAmountOut, priceWithSlippage, side, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount, ephemeralSignerPubkey) {
2997
+ if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
2998
+ if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
2999
+ if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
3000
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3001
+ return __awaiter(_this, void 0, void 0, function () {
3030
3002
  var publicKey, userOutputCustodyConfig, collateralCustodyConfig, targetCustodyConfig, marketAccount, positionAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userReceivingTokenAccount, lamports, userCollateralTokenAccount, inx, err_3;
3031
- if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
3032
- if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
3033
- if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
3034
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3035
3003
  return __generator(this, function (_a) {
3036
3004
  switch (_a.label) {
3037
3005
  case 0:
@@ -3145,20 +3113,16 @@ var PerpetualsClient = (function () {
3145
3113
  });
3146
3114
  });
3147
3115
  };
3148
- this.swap = function (userInputTokenSymbol_1, userOutputTokenSymbol_1, amountIn_1, minAmountOut_1, poolConfig_1) {
3149
- var args_1 = [];
3150
- for (var _i = 5; _i < arguments.length; _i++) {
3151
- args_1[_i - 5] = arguments[_i];
3152
- }
3153
- return __awaiter(_this, __spreadArray([userInputTokenSymbol_1, userOutputTokenSymbol_1, amountIn_1, minAmountOut_1, poolConfig_1], args_1, true), void 0, function (userInputTokenSymbol, userOutputTokenSymbol, amountIn, minAmountOut, poolConfig, useFeesPool, createUserATA, unWrapSol, skipBalanceChecks, ephemeralSignerPubkey) {
3154
- 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, _e, _f, custody, params, inx, closeWsolATAIns, err_4;
3155
- if (useFeesPool === void 0) { useFeesPool = false; }
3156
- if (createUserATA === void 0) { createUserATA = true; }
3157
- if (unWrapSol === void 0) { unWrapSol = false; }
3158
- if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
3159
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3160
- return __generator(this, function (_g) {
3161
- switch (_g.label) {
3116
+ this.swap = function (userInputTokenSymbol, userOutputTokenSymbol, amountIn, minAmountOut, poolConfig, useFeesPool, createUserATA, unWrapSol, skipBalanceChecks, ephemeralSignerPubkey) {
3117
+ if (useFeesPool === void 0) { useFeesPool = false; }
3118
+ if (createUserATA === void 0) { createUserATA = true; }
3119
+ if (unWrapSol === void 0) { unWrapSol = false; }
3120
+ if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
3121
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3122
+ return __awaiter(_this, void 0, void 0, function () {
3123
+ 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;
3124
+ return __generator(this, function (_f) {
3125
+ switch (_f.label) {
3162
3126
  case 0:
3163
3127
  userInputCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(userInputTokenSymbol).mintKey); });
3164
3128
  if (!userInputCustodyConfig) {
@@ -3176,10 +3140,10 @@ var PerpetualsClient = (function () {
3176
3140
  if (!(userInputTokenSymbol == 'SOL' && userOutputTokenSymbol == 'WSOL')) return [3, 5];
3177
3141
  return [4, (0, spl_token_1.getAssociatedTokenAddress)(spl_token_1.NATIVE_MINT, publicKey, true)];
3178
3142
  case 1:
3179
- wsolAssociatedTokenAccount = _g.sent();
3143
+ wsolAssociatedTokenAccount = _f.sent();
3180
3144
  return [4, (0, utils_1.checkIfAccountExists)(wsolAssociatedTokenAccount, this.provider.connection)];
3181
3145
  case 2:
3182
- wsolATAExist = _g.sent();
3146
+ wsolATAExist = _f.sent();
3183
3147
  if (!wsolATAExist) {
3184
3148
  instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, wsolAssociatedTokenAccount, publicKey, spl_token_1.NATIVE_MINT));
3185
3149
  }
@@ -3187,11 +3151,11 @@ var PerpetualsClient = (function () {
3187
3151
  _a = anchor_1.BN.bind;
3188
3152
  return [4, this.provider.connection.getBalance(publicKey)];
3189
3153
  case 3:
3190
- unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _g.sent()]))();
3154
+ unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _f.sent()]))();
3191
3155
  if (unWrappedSolBalance.lt(amountIn)) {
3192
3156
  throw "Insufficient SOL Funds";
3193
3157
  }
3194
- _g.label = 4;
3158
+ _f.label = 4;
3195
3159
  case 4:
3196
3160
  instructions.push(web3_js_1.SystemProgram.transfer({
3197
3161
  fromPubkey: publicKey,
@@ -3213,20 +3177,20 @@ var PerpetualsClient = (function () {
3213
3177
  additionalSigners: additionalSigners
3214
3178
  }];
3215
3179
  }
3216
- _g.label = 6;
3180
+ _f.label = 6;
3217
3181
  case 6:
3218
- _g.trys.push([6, 19, , 20]);
3182
+ _f.trys.push([6, 19, , 20]);
3219
3183
  if (!(userInputTokenSymbol == 'SOL')) return [3, 9];
3220
3184
  console.log("userInputTokenSymbol === sol", userInputTokenSymbol);
3221
3185
  return [4, (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(this.provider.connection)];
3222
3186
  case 7:
3223
- accCreationLamports = (_g.sent());
3187
+ accCreationLamports = (_f.sent());
3224
3188
  console.log("accCreationLamports:", accCreationLamports);
3225
3189
  lamports = amountIn.add(new anchor_1.BN(accCreationLamports));
3226
3190
  _b = anchor_1.BN.bind;
3227
3191
  return [4, this.provider.connection.getBalance(publicKey)];
3228
3192
  case 8:
3229
- unWrappedSolBalance = new (_b.apply(anchor_1.BN, [void 0, _g.sent()]))();
3193
+ unWrappedSolBalance = new (_b.apply(anchor_1.BN, [void 0, _f.sent()]))();
3230
3194
  if (unWrappedSolBalance.lt(amountIn)) {
3231
3195
  throw "Insufficient SOL Funds";
3232
3196
  }
@@ -3253,18 +3217,18 @@ var PerpetualsClient = (function () {
3253
3217
  userInputTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(userInputTokenSymbol).mintKey, publicKey, true);
3254
3218
  return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
3255
3219
  case 10:
3256
- if (!(_g.sent())) {
3220
+ if (!(_f.sent())) {
3257
3221
  throw "Insufficient Funds , Token Account doesn't exist";
3258
3222
  }
3259
3223
  if (!!skipBalanceChecks) return [3, 12];
3260
3224
  _c = anchor_1.BN.bind;
3261
3225
  return [4, this.provider.connection.getTokenAccountBalance(userInputTokenAccount)];
3262
3226
  case 11:
3263
- tokenAccountBalance = new (_c.apply(anchor_1.BN, [void 0, (_g.sent()).value.amount]))();
3227
+ tokenAccountBalance = new (_c.apply(anchor_1.BN, [void 0, (_f.sent()).value.amount]))();
3264
3228
  if (tokenAccountBalance.lt(amountIn)) {
3265
3229
  throw "Insufficient Funds need more ".concat(amountIn.sub(tokenAccountBalance), " tokens");
3266
3230
  }
3267
- _g.label = 12;
3231
+ _f.label = 12;
3268
3232
  case 12:
3269
3233
  if (!(userOutputTokenSymbol == 'SOL')) return [3, 13];
3270
3234
  lamports = (this.minimumBalanceForRentExemptAccountLamports);
@@ -3289,23 +3253,23 @@ var PerpetualsClient = (function () {
3289
3253
  return [3, 17];
3290
3254
  case 13: return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey, publicKey, true)];
3291
3255
  case 14:
3292
- userOutputTokenAccount = _g.sent();
3256
+ userOutputTokenAccount = _f.sent();
3293
3257
  _d = createUserATA;
3294
3258
  if (!_d) return [3, 16];
3295
3259
  return [4, (0, utils_1.checkIfAccountExists)(userOutputTokenAccount, this.provider.connection)];
3296
3260
  case 15:
3297
- _d = !(_g.sent());
3298
- _g.label = 16;
3261
+ _d = !(_f.sent());
3262
+ _f.label = 16;
3299
3263
  case 16:
3300
3264
  if (_d) {
3301
3265
  preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userOutputTokenAccount, publicKey, poolConfig.getTokenFromSymbol(userOutputTokenSymbol).mintKey));
3302
3266
  }
3303
- _g.label = 17;
3267
+ _f.label = 17;
3304
3268
  case 17:
3305
3269
  custodyAccountMetas = [];
3306
3270
  custodyOracleAccountMetas = [];
3307
- for (_e = 0, _f = poolConfig.custodies; _e < _f.length; _e++) {
3308
- custody = _f[_e];
3271
+ for (_i = 0, _e = poolConfig.custodies; _i < _e.length; _i++) {
3272
+ custody = _e[_i];
3309
3273
  custodyAccountMetas.push({
3310
3274
  pubkey: custody.custodyAccount,
3311
3275
  isSigner: false,
@@ -3345,7 +3309,7 @@ var PerpetualsClient = (function () {
3345
3309
  .remainingAccounts(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true))
3346
3310
  .instruction()];
3347
3311
  case 18:
3348
- inx = _g.sent();
3312
+ inx = _f.sent();
3349
3313
  instructions.push(inx);
3350
3314
  if (userOutputTokenSymbol == 'SOL' && unWrapSol) {
3351
3315
  closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userOutputTokenAccount, publicKey, publicKey);
@@ -3353,7 +3317,7 @@ var PerpetualsClient = (function () {
3353
3317
  }
3354
3318
  return [3, 20];
3355
3319
  case 19:
3356
- err_4 = _g.sent();
3320
+ err_4 = _f.sent();
3357
3321
  console.error("perpClient Swap error:: ", err_4);
3358
3322
  throw err_4;
3359
3323
  case 20: return [2, {
@@ -3435,15 +3399,11 @@ var PerpetualsClient = (function () {
3435
3399
  }
3436
3400
  });
3437
3401
  }); };
3438
- this.addCollateral = function (collateralWithFee_1, targetSymbol_1, collateralSymbol_1, side_1, positionPubKey_1, poolConfig_1) {
3439
- var args_1 = [];
3440
- for (var _i = 6; _i < arguments.length; _i++) {
3441
- args_1[_i - 6] = arguments[_i];
3442
- }
3443
- return __awaiter(_this, __spreadArray([collateralWithFee_1, targetSymbol_1, collateralSymbol_1, side_1, positionPubKey_1, poolConfig_1], args_1, true), void 0, function (collateralWithFee, targetSymbol, collateralSymbol, side, positionPubKey, poolConfig, skipBalanceChecks, ephemeralSignerPubkey) {
3402
+ this.addCollateral = function (collateralWithFee, targetSymbol, collateralSymbol, side, positionPubKey, poolConfig, skipBalanceChecks, ephemeralSignerPubkey) {
3403
+ if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
3404
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3405
+ return __awaiter(_this, void 0, void 0, function () {
3444
3406
  var publicKey, collateralCustodyConfig, targetCustodyConfig, marketAccount, userPayingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, instruction;
3445
- if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
3446
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3447
3407
  return __generator(this, function (_c) {
3448
3408
  switch (_c.label) {
3449
3409
  case 0:
@@ -3537,15 +3497,11 @@ var PerpetualsClient = (function () {
3537
3497
  });
3538
3498
  });
3539
3499
  };
3540
- this.swapAndAddCollateral = function (targetSymbol_1, inputSymbol_1, collateralSymbol_1, amountIn_1, minCollateralAmountOut_1, side_1, positionPubKey_1, poolConfig_1) {
3541
- var args_1 = [];
3542
- for (var _i = 8; _i < arguments.length; _i++) {
3543
- args_1[_i - 8] = arguments[_i];
3544
- }
3545
- return __awaiter(_this, __spreadArray([targetSymbol_1, inputSymbol_1, collateralSymbol_1, amountIn_1, minCollateralAmountOut_1, side_1, positionPubKey_1, poolConfig_1], args_1, true), void 0, function (targetSymbol, inputSymbol, collateralSymbol, amountIn, minCollateralAmountOut, side, positionPubKey, poolConfig, skipBalanceChecks, ephemeralSignerPubkey) {
3500
+ this.swapAndAddCollateral = function (targetSymbol, inputSymbol, collateralSymbol, amountIn, minCollateralAmountOut, side, positionPubKey, poolConfig, skipBalanceChecks, ephemeralSignerPubkey) {
3501
+ if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
3502
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3503
+ return __awaiter(_this, void 0, void 0, function () {
3546
3504
  var publicKey, collateralCustodyConfig, targetCustodyConfig, inputCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, userCollateralTokenAccount, marketAccount, instruction;
3547
- if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
3548
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3549
3505
  return __generator(this, function (_c) {
3550
3506
  switch (_c.label) {
3551
3507
  case 0:
@@ -3656,16 +3612,12 @@ var PerpetualsClient = (function () {
3656
3612
  });
3657
3613
  });
3658
3614
  };
3659
- this.removeCollateral = function (collateralWithFee_1, marketSymbol_1, collateralSymbol_1, side_1, positionPubKey_1, poolConfig_1) {
3660
- var args_1 = [];
3661
- for (var _i = 6; _i < arguments.length; _i++) {
3662
- args_1[_i - 6] = arguments[_i];
3663
- }
3664
- return __awaiter(_this, __spreadArray([collateralWithFee_1, marketSymbol_1, collateralSymbol_1, side_1, positionPubKey_1, poolConfig_1], args_1, true), void 0, function (collateralWithFee, marketSymbol, collateralSymbol, side, positionPubKey, poolConfig, createUserATA, closeUsersWSOLATA, ephemeralSignerPubkey) {
3615
+ this.removeCollateral = function (collateralWithFee, marketSymbol, collateralSymbol, side, positionPubKey, poolConfig, createUserATA, closeUsersWSOLATA, ephemeralSignerPubkey) {
3616
+ if (createUserATA === void 0) { createUserATA = true; }
3617
+ if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
3618
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3619
+ return __awaiter(_this, void 0, void 0, function () {
3665
3620
  var publicKey, collateralCustodyConfig, targetCustodyConfig, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, lamports, _a, marketAccount, instruction, closeWsolATAIns, error_3;
3666
- if (createUserATA === void 0) { createUserATA = true; }
3667
- if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
3668
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3669
3621
  return __generator(this, function (_b) {
3670
3622
  switch (_b.label) {
3671
3623
  case 0:
@@ -3766,14 +3718,10 @@ var PerpetualsClient = (function () {
3766
3718
  });
3767
3719
  });
3768
3720
  };
3769
- this.removeCollateralAndSwap = function (targetSymbol_1, collateralSymbol_1, outputSymbol_1, minSwapAmountOut_1, collateralDelta_1, side_1, poolConfig_1) {
3770
- var args_1 = [];
3771
- for (var _i = 7; _i < arguments.length; _i++) {
3772
- args_1[_i - 7] = arguments[_i];
3773
- }
3774
- return __awaiter(_this, __spreadArray([targetSymbol_1, collateralSymbol_1, outputSymbol_1, minSwapAmountOut_1, collateralDelta_1, side_1, poolConfig_1], args_1, true), void 0, function (targetSymbol, collateralSymbol, outputSymbol, minSwapAmountOut, collateralDelta, side, poolConfig, ephemeralSignerPubkey) {
3721
+ this.removeCollateralAndSwap = function (targetSymbol, collateralSymbol, outputSymbol, minSwapAmountOut, collateralDelta, side, poolConfig, ephemeralSignerPubkey) {
3722
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3723
+ return __awaiter(_this, void 0, void 0, function () {
3775
3724
  var publicKey, targetCustodyConfig, collateralCustodyConfig, outputCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userReceivingTokenAccount, lamports, userCollateralTokenAccount, marketAccount, positionAccount, instruction;
3776
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3777
3725
  return __generator(this, function (_a) {
3778
3726
  switch (_a.label) {
3779
3727
  case 0:
@@ -3866,16 +3814,12 @@ var PerpetualsClient = (function () {
3866
3814
  });
3867
3815
  });
3868
3816
  };
3869
- this.increaseSize = function (targetSymbol_1, collateralSymbol_1, positionPubKey_1, side_1, poolConfig_1, priceWithSlippage_1, sizeDelta_1, privilege_1) {
3870
- var args_1 = [];
3871
- for (var _i = 8; _i < arguments.length; _i++) {
3872
- args_1[_i - 8] = arguments[_i];
3873
- }
3874
- return __awaiter(_this, __spreadArray([targetSymbol_1, collateralSymbol_1, positionPubKey_1, side_1, poolConfig_1, priceWithSlippage_1, sizeDelta_1, privilege_1], args_1, true), void 0, function (targetSymbol, collateralSymbol, positionPubKey, side, poolConfig, priceWithSlippage, sizeDelta, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
3817
+ this.increaseSize = function (targetSymbol, collateralSymbol, positionPubKey, side, poolConfig, priceWithSlippage, sizeDelta, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
3818
+ if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
3819
+ if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
3820
+ if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
3821
+ return __awaiter(_this, void 0, void 0, function () {
3875
3822
  var publicKey, collateralCustodyConfig, targetCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, instruction;
3876
- if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
3877
- if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
3878
- if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
3879
3823
  return __generator(this, function (_a) {
3880
3824
  switch (_a.label) {
3881
3825
  case 0:
@@ -3930,16 +3874,12 @@ var PerpetualsClient = (function () {
3930
3874
  });
3931
3875
  });
3932
3876
  };
3933
- this.decreaseSize = function (targetSymbol_1, collateralSymbol_1, side_1, positionPubKey_1, poolConfig_1, priceWithSlippage_1, sizeDelta_1, privilege_1) {
3934
- var args_1 = [];
3935
- for (var _i = 8; _i < arguments.length; _i++) {
3936
- args_1[_i - 8] = arguments[_i];
3937
- }
3938
- return __awaiter(_this, __spreadArray([targetSymbol_1, collateralSymbol_1, side_1, positionPubKey_1, poolConfig_1, priceWithSlippage_1, sizeDelta_1, privilege_1], args_1, true), void 0, function (targetSymbol, collateralSymbol, side, positionPubKey, poolConfig, priceWithSlippage, sizeDelta, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
3877
+ this.decreaseSize = function (targetSymbol, collateralSymbol, side, positionPubKey, poolConfig, priceWithSlippage, sizeDelta, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
3878
+ if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
3879
+ if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
3880
+ if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
3881
+ return __awaiter(_this, void 0, void 0, function () {
3939
3882
  var publicKey, collateralCustodyConfig, targetCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, instruction;
3940
- if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
3941
- if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
3942
- if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
3943
3883
  return __generator(this, function (_a) {
3944
3884
  switch (_a.label) {
3945
3885
  case 0:
@@ -3994,17 +3934,13 @@ var PerpetualsClient = (function () {
3994
3934
  });
3995
3935
  });
3996
3936
  };
3997
- this.addLiquidity = function (payTokenSymbol_1, tokenAmountIn_1, minLpAmountOut_1, poolConfig_1) {
3998
- var args_1 = [];
3999
- for (var _i = 4; _i < arguments.length; _i++) {
4000
- args_1[_i - 4] = arguments[_i];
4001
- }
4002
- return __awaiter(_this, __spreadArray([payTokenSymbol_1, tokenAmountIn_1, minLpAmountOut_1, poolConfig_1], args_1, true), void 0, function (payTokenSymbol, tokenAmountIn, minLpAmountOut, poolConfig, skipBalanceChecks, ephemeralSignerPubkey) {
4003
- var publicKey, payTokenCustodyConfig, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userPayingTokenAccount, lpTokenAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _a, _b, custody, _c, _d, market, lamports, unWrappedSolBalance, _e, tokenAccountBalance, _f, instruction, err_6;
4004
- if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
4005
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
4006
- return __generator(this, function (_g) {
4007
- switch (_g.label) {
3937
+ this.addLiquidity = function (payTokenSymbol, tokenAmountIn, minLpAmountOut, poolConfig, skipBalanceChecks, ephemeralSignerPubkey) {
3938
+ if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
3939
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
3940
+ return __awaiter(_this, void 0, void 0, function () {
3941
+ 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;
3942
+ return __generator(this, function (_f) {
3943
+ switch (_f.label) {
4008
3944
  case 0:
4009
3945
  publicKey = this.provider.wallet.publicKey;
4010
3946
  payTokenCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(payTokenSymbol).mintKey); });
@@ -4015,16 +3951,16 @@ var PerpetualsClient = (function () {
4015
3951
  instructions = [];
4016
3952
  postInstructions = [];
4017
3953
  additionalSigners = [];
4018
- _g.label = 1;
3954
+ _f.label = 1;
4019
3955
  case 1:
4020
- _g.trys.push([1, 10, , 11]);
3956
+ _f.trys.push([1, 10, , 11]);
4021
3957
  userPayingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(payTokenCustodyConfig.mintKey, publicKey, true);
4022
3958
  lpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.stakedLpTokenMint, publicKey, true);
4023
3959
  custodyAccountMetas = [];
4024
3960
  custodyOracleAccountMetas = [];
4025
3961
  markets = [];
4026
- for (_a = 0, _b = poolConfig.custodies; _a < _b.length; _a++) {
4027
- custody = _b[_a];
3962
+ for (_i = 0, _a = poolConfig.custodies; _i < _a.length; _i++) {
3963
+ custody = _a[_i];
4028
3964
  custodyAccountMetas.push({
4029
3965
  pubkey: custody.custodyAccount,
4030
3966
  isSigner: false,
@@ -4036,8 +3972,8 @@ var PerpetualsClient = (function () {
4036
3972
  isWritable: false,
4037
3973
  });
4038
3974
  }
4039
- for (_c = 0, _d = poolConfig.markets; _c < _d.length; _c++) {
4040
- market = _d[_c];
3975
+ for (_b = 0, _c = poolConfig.markets; _b < _c.length; _b++) {
3976
+ market = _c[_b];
4041
3977
  markets.push({
4042
3978
  pubkey: market.marketAccount,
4043
3979
  isSigner: false,
@@ -4046,21 +3982,21 @@ var PerpetualsClient = (function () {
4046
3982
  }
4047
3983
  return [4, (0, utils_1.checkIfAccountExists)(lpTokenAccount, this.provider.connection)];
4048
3984
  case 2:
4049
- if (!(_g.sent())) {
3985
+ if (!(_f.sent())) {
4050
3986
  instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, lpTokenAccount, publicKey, poolConfig.stakedLpTokenMint));
4051
3987
  }
4052
3988
  if (!(payTokenSymbol == 'SOL')) return [3, 5];
4053
3989
  console.log("payTokenSymbol === SOL", payTokenSymbol);
4054
3990
  lamports = tokenAmountIn.add(new anchor_1.BN(this.minimumBalanceForRentExemptAccountLamports));
4055
3991
  if (!!skipBalanceChecks) return [3, 4];
4056
- _e = anchor_1.BN.bind;
3992
+ _d = anchor_1.BN.bind;
4057
3993
  return [4, this.provider.connection.getBalance(publicKey)];
4058
3994
  case 3:
4059
- unWrappedSolBalance = new (_e.apply(anchor_1.BN, [void 0, _g.sent()]))();
3995
+ unWrappedSolBalance = new (_d.apply(anchor_1.BN, [void 0, _f.sent()]))();
4060
3996
  if (unWrappedSolBalance.lt(lamports)) {
4061
3997
  throw "Insufficient SOL Funds";
4062
3998
  }
4063
- _g.label = 4;
3999
+ _f.label = 4;
4064
4000
  case 4:
4065
4001
  if (!ephemeralSignerPubkey) {
4066
4002
  wrappedSolAccount = new web3_js_1.Keypair();
@@ -4084,17 +4020,17 @@ var PerpetualsClient = (function () {
4084
4020
  if (!!skipBalanceChecks) return [3, 8];
4085
4021
  return [4, (0, utils_1.checkIfAccountExists)(userPayingTokenAccount, this.provider.connection)];
4086
4022
  case 6:
4087
- if (!(_g.sent())) {
4023
+ if (!(_f.sent())) {
4088
4024
  throw "Insufficient Funds , token Account doesn't exist";
4089
4025
  }
4090
- _f = anchor_1.BN.bind;
4026
+ _e = anchor_1.BN.bind;
4091
4027
  return [4, this.provider.connection.getTokenAccountBalance(userPayingTokenAccount)];
4092
4028
  case 7:
4093
- tokenAccountBalance = new (_f.apply(anchor_1.BN, [void 0, (_g.sent()).value.amount]))();
4029
+ tokenAccountBalance = new (_e.apply(anchor_1.BN, [void 0, (_f.sent()).value.amount]))();
4094
4030
  if (tokenAccountBalance.lt(tokenAmountIn)) {
4095
4031
  throw "Insufficient Funds need more ".concat(tokenAmountIn.sub(tokenAccountBalance), " tokens");
4096
4032
  }
4097
- _g.label = 8;
4033
+ _f.label = 8;
4098
4034
  case 8: return [4, this.program.methods
4099
4035
  .addLiquidity({
4100
4036
  amountIn: tokenAmountIn,
@@ -4119,11 +4055,11 @@ var PerpetualsClient = (function () {
4119
4055
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
4120
4056
  .instruction()];
4121
4057
  case 9:
4122
- instruction = _g.sent();
4058
+ instruction = _f.sent();
4123
4059
  instructions.push(instruction);
4124
4060
  return [3, 11];
4125
4061
  case 10:
4126
- err_6 = _g.sent();
4062
+ err_6 = _f.sent();
4127
4063
  console.error("perpClient addLiquidity error:: ", err_6);
4128
4064
  throw err_6;
4129
4065
  case 11: return [2, {
@@ -4134,18 +4070,14 @@ var PerpetualsClient = (function () {
4134
4070
  });
4135
4071
  });
4136
4072
  };
4137
- this.addLiquidityAndStake = function (inputSymbol_1, amountIn_1, minLpAmountOut_1, poolConfig_1) {
4138
- var args_1 = [];
4139
- for (var _i = 4; _i < arguments.length; _i++) {
4140
- args_1[_i - 4] = arguments[_i];
4141
- }
4142
- return __awaiter(_this, __spreadArray([inputSymbol_1, amountIn_1, minLpAmountOut_1, poolConfig_1], args_1, true), void 0, function (inputSymbol, amountIn, minLpAmountOut, poolConfig, skipBalanceChecks, ephemeralSignerPubkey, userPublicKey) {
4143
- var publicKey, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lpTokenMint, inputCustodyConfig, lpTokenAccount, flpStakeAccount, poolStakedLpVault, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, custodyAccountMetas, custodyOracleAccountMetas, markets, _c, _d, custody, _e, _f, market, instruction;
4144
- if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
4145
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
4146
- if (userPublicKey === void 0) { userPublicKey = undefined; }
4147
- return __generator(this, function (_g) {
4148
- switch (_g.label) {
4073
+ this.addLiquidityAndStake = function (inputSymbol, amountIn, minLpAmountOut, poolConfig, skipBalanceChecks, ephemeralSignerPubkey, userPublicKey) {
4074
+ if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
4075
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
4076
+ if (userPublicKey === void 0) { userPublicKey = undefined; }
4077
+ return __awaiter(_this, void 0, void 0, function () {
4078
+ var publicKey, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, userInputTokenAccount, lpTokenMint, inputCustodyConfig, lpTokenAccount, flpStakeAccount, poolStakedLpVault, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _c, custody, _d, _e, market, instruction;
4079
+ return __generator(this, function (_f) {
4080
+ switch (_f.label) {
4149
4081
  case 0:
4150
4082
  publicKey = userPublicKey !== null && userPublicKey !== void 0 ? userPublicKey : this.provider.wallet.publicKey;
4151
4083
  preInstructions = [];
@@ -4165,14 +4097,14 @@ var PerpetualsClient = (function () {
4165
4097
  _a = anchor_1.BN.bind;
4166
4098
  return [4, this.provider.connection.getBalance(publicKey)];
4167
4099
  case 1:
4168
- unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _g.sent()]))();
4100
+ unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _f.sent()]))();
4169
4101
  if (unWrappedSolBalance.lt(lamports)) {
4170
4102
  throw "Insufficient SOL Funds";
4171
4103
  }
4172
- _g.label = 2;
4104
+ _f.label = 2;
4173
4105
  case 2: return [4, (0, utils_1.checkIfAccountExists)(lpTokenAccount, this.provider.connection)];
4174
4106
  case 3:
4175
- if (!(_g.sent())) {
4107
+ if (!(_f.sent())) {
4176
4108
  instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, lpTokenAccount, publicKey, poolConfig.stakedLpTokenMint));
4177
4109
  }
4178
4110
  if (!ephemeralSignerPubkey) {
@@ -4198,23 +4130,23 @@ var PerpetualsClient = (function () {
4198
4130
  if (!!skipBalanceChecks) return [3, 7];
4199
4131
  return [4, (0, utils_1.checkIfAccountExists)(userInputTokenAccount, this.provider.connection)];
4200
4132
  case 5:
4201
- if (!(_g.sent())) {
4133
+ if (!(_f.sent())) {
4202
4134
  throw "Insufficient Funds , token Account doesn't exist";
4203
4135
  }
4204
4136
  _b = anchor_1.BN.bind;
4205
4137
  return [4, this.provider.connection.getTokenAccountBalance(userInputTokenAccount)];
4206
4138
  case 6:
4207
- tokenAccountBalance = new (_b.apply(anchor_1.BN, [void 0, (_g.sent()).value.amount]))();
4139
+ tokenAccountBalance = new (_b.apply(anchor_1.BN, [void 0, (_f.sent()).value.amount]))();
4208
4140
  if (tokenAccountBalance.lt(amountIn)) {
4209
4141
  throw "Insufficient Funds need more ".concat(amountIn.sub(tokenAccountBalance), " tokens");
4210
4142
  }
4211
- _g.label = 7;
4143
+ _f.label = 7;
4212
4144
  case 7:
4213
4145
  custodyAccountMetas = [];
4214
4146
  custodyOracleAccountMetas = [];
4215
4147
  markets = [];
4216
- for (_c = 0, _d = poolConfig.custodies; _c < _d.length; _c++) {
4217
- custody = _d[_c];
4148
+ for (_i = 0, _c = poolConfig.custodies; _i < _c.length; _i++) {
4149
+ custody = _c[_i];
4218
4150
  custodyAccountMetas.push({
4219
4151
  pubkey: custody.custodyAccount,
4220
4152
  isSigner: false,
@@ -4226,8 +4158,8 @@ var PerpetualsClient = (function () {
4226
4158
  isWritable: false,
4227
4159
  });
4228
4160
  }
4229
- for (_e = 0, _f = poolConfig.markets; _e < _f.length; _e++) {
4230
- market = _f[_e];
4161
+ for (_d = 0, _e = poolConfig.markets; _d < _e.length; _d++) {
4162
+ market = _e[_d];
4231
4163
  markets.push({
4232
4164
  pubkey: market.marketAccount,
4233
4165
  isSigner: false,
@@ -4259,7 +4191,7 @@ var PerpetualsClient = (function () {
4259
4191
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
4260
4192
  .instruction()];
4261
4193
  case 8:
4262
- instruction = _g.sent();
4194
+ instruction = _f.sent();
4263
4195
  instructions.push(instruction);
4264
4196
  return [2, {
4265
4197
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
@@ -4269,20 +4201,16 @@ var PerpetualsClient = (function () {
4269
4201
  });
4270
4202
  });
4271
4203
  };
4272
- this.removeLiquidity = function (recieveTokenSymbol_1, liquidityAmountIn_1, minTokenAmountOut_1, poolConfig_1) {
4273
- var args_1 = [];
4274
- for (var _i = 4; _i < arguments.length; _i++) {
4275
- args_1[_i - 4] = arguments[_i];
4276
- }
4277
- return __awaiter(_this, __spreadArray([recieveTokenSymbol_1, liquidityAmountIn_1, minTokenAmountOut_1, poolConfig_1], args_1, true), void 0, function (recieveTokenSymbol, liquidityAmountIn, minTokenAmountOut, poolConfig, closeLpATA, createUserATA, closeUsersWSOLATA, ephemeralSignerPubkey, userPublicKey) {
4278
- var recieveTokenCustodyConfig, publicKey, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, stakedLpTokenAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _a, _b, custody, _c, _d, market, lamports, _e, removeLiquidityTx, closeInx, closeWsolATAIns, err_7;
4279
- if (closeLpATA === void 0) { closeLpATA = false; }
4280
- if (createUserATA === void 0) { createUserATA = true; }
4281
- if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
4282
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
4283
- if (userPublicKey === void 0) { userPublicKey = undefined; }
4284
- return __generator(this, function (_f) {
4285
- switch (_f.label) {
4204
+ this.removeLiquidity = function (recieveTokenSymbol, liquidityAmountIn, minTokenAmountOut, poolConfig, closeLpATA, createUserATA, closeUsersWSOLATA, ephemeralSignerPubkey, userPublicKey) {
4205
+ if (closeLpATA === void 0) { closeLpATA = false; }
4206
+ if (createUserATA === void 0) { createUserATA = true; }
4207
+ if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
4208
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
4209
+ if (userPublicKey === void 0) { userPublicKey = undefined; }
4210
+ return __awaiter(_this, void 0, void 0, function () {
4211
+ 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;
4212
+ return __generator(this, function (_e) {
4213
+ switch (_e.label) {
4286
4214
  case 0:
4287
4215
  recieveTokenCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(recieveTokenSymbol).mintKey); });
4288
4216
  if (!recieveTokenCustodyConfig) {
@@ -4293,15 +4221,15 @@ var PerpetualsClient = (function () {
4293
4221
  instructions = [];
4294
4222
  postInstructions = [];
4295
4223
  additionalSigners = [];
4296
- _f.label = 1;
4224
+ _e.label = 1;
4297
4225
  case 1:
4298
- _f.trys.push([1, 7, , 8]);
4226
+ _e.trys.push([1, 7, , 8]);
4299
4227
  stakedLpTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.stakedLpTokenMint, publicKey, true);
4300
4228
  custodyAccountMetas = [];
4301
4229
  custodyOracleAccountMetas = [];
4302
4230
  markets = [];
4303
- for (_a = 0, _b = poolConfig.custodies; _a < _b.length; _a++) {
4304
- custody = _b[_a];
4231
+ for (_i = 0, _a = poolConfig.custodies; _i < _a.length; _i++) {
4232
+ custody = _a[_i];
4305
4233
  custodyAccountMetas.push({
4306
4234
  pubkey: custody.custodyAccount,
4307
4235
  isSigner: false,
@@ -4313,8 +4241,8 @@ var PerpetualsClient = (function () {
4313
4241
  isWritable: false,
4314
4242
  });
4315
4243
  }
4316
- for (_c = 0, _d = poolConfig.markets; _c < _d.length; _c++) {
4317
- market = _d[_c];
4244
+ for (_b = 0, _c = poolConfig.markets; _b < _c.length; _b++) {
4245
+ market = _c[_b];
4318
4246
  markets.push({
4319
4247
  pubkey: market.marketAccount,
4320
4248
  isSigner: false,
@@ -4343,17 +4271,17 @@ var PerpetualsClient = (function () {
4343
4271
  return [3, 5];
4344
4272
  case 2:
4345
4273
  userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(recieveTokenSymbol).mintKey, publicKey, true);
4346
- _e = createUserATA;
4347
- if (!_e) return [3, 4];
4274
+ _d = createUserATA;
4275
+ if (!_d) return [3, 4];
4348
4276
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
4349
4277
  case 3:
4350
- _e = !(_f.sent());
4351
- _f.label = 4;
4278
+ _d = !(_e.sent());
4279
+ _e.label = 4;
4352
4280
  case 4:
4353
- if (_e) {
4281
+ if (_d) {
4354
4282
  preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(recieveTokenSymbol).mintKey));
4355
4283
  }
4356
- _f.label = 5;
4284
+ _e.label = 5;
4357
4285
  case 5: return [4, this.program.methods
4358
4286
  .removeLiquidity({
4359
4287
  lpAmountIn: liquidityAmountIn,
@@ -4378,7 +4306,7 @@ var PerpetualsClient = (function () {
4378
4306
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
4379
4307
  .instruction()];
4380
4308
  case 6:
4381
- removeLiquidityTx = _f.sent();
4309
+ removeLiquidityTx = _e.sent();
4382
4310
  instructions.push(removeLiquidityTx);
4383
4311
  if (closeLpATA) {
4384
4312
  closeInx = (0, spl_token_1.createCloseAccountInstruction)(stakedLpTokenAccount, publicKey, publicKey);
@@ -4390,7 +4318,7 @@ var PerpetualsClient = (function () {
4390
4318
  }
4391
4319
  return [3, 8];
4392
4320
  case 7:
4393
- err_7 = _f.sent();
4321
+ err_7 = _e.sent();
4394
4322
  console.log("perpClient removeLiquidity error:: ", err_7);
4395
4323
  throw err_7;
4396
4324
  case 8: return [2, {
@@ -4808,26 +4736,22 @@ var PerpetualsClient = (function () {
4808
4736
  }
4809
4737
  });
4810
4738
  }); };
4811
- this.refreshStakeWithTokenStake = function (rewardSymbol_1, poolConfig_1, flpStakeAccountPk_1) {
4812
- var args_1 = [];
4813
- for (var _i = 3; _i < arguments.length; _i++) {
4814
- args_1[_i - 3] = arguments[_i];
4815
- }
4816
- return __awaiter(_this, __spreadArray([rewardSymbol_1, poolConfig_1, flpStakeAccountPk_1], args_1, true), void 0, function (rewardSymbol, poolConfig, flpStakeAccountPk, userPublicKey) {
4817
- var publicKey, rewardCustodyMint, rewardCustodyConfig, pool, feeDistributionTokenAccount, custodyAccountMetas, _a, _b, custody, stakeAccountMetas, tokenStakeAccount, refreshStakeInstruction, err_16;
4818
- if (userPublicKey === void 0) { userPublicKey = undefined; }
4819
- return __generator(this, function (_c) {
4820
- switch (_c.label) {
4739
+ this.refreshStakeWithTokenStake = function (rewardSymbol, poolConfig, flpStakeAccountPk, userPublicKey) {
4740
+ if (userPublicKey === void 0) { userPublicKey = undefined; }
4741
+ return __awaiter(_this, void 0, void 0, function () {
4742
+ var publicKey, rewardCustodyMint, rewardCustodyConfig, pool, feeDistributionTokenAccount, custodyAccountMetas, _i, _a, custody, stakeAccountMetas, tokenStakeAccount, refreshStakeInstruction, err_16;
4743
+ return __generator(this, function (_b) {
4744
+ switch (_b.label) {
4821
4745
  case 0:
4822
- _c.trys.push([0, 2, , 3]);
4746
+ _b.trys.push([0, 2, , 3]);
4823
4747
  publicKey = userPublicKey !== null && userPublicKey !== void 0 ? userPublicKey : this.provider.wallet.publicKey;
4824
4748
  rewardCustodyMint = poolConfig.getTokenFromSymbol(rewardSymbol).mintKey;
4825
4749
  rewardCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(rewardSymbol).mintKey); });
4826
4750
  pool = poolConfig.poolAddress;
4827
4751
  feeDistributionTokenAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("custody_token_account"), pool.toBuffer(), rewardCustodyMint.toBuffer()], this.programId)[0];
4828
4752
  custodyAccountMetas = [];
4829
- for (_a = 0, _b = poolConfig.custodies; _a < _b.length; _a++) {
4830
- custody = _b[_a];
4753
+ for (_i = 0, _a = poolConfig.custodies; _i < _a.length; _i++) {
4754
+ custody = _a[_i];
4831
4755
  custodyAccountMetas.push({
4832
4756
  pubkey: custody.custodyAccount,
4833
4757
  isSigner: false,
@@ -4859,10 +4783,10 @@ var PerpetualsClient = (function () {
4859
4783
  .remainingAccounts(__spreadArray(__spreadArray([], custodyAccountMetas, true), stakeAccountMetas, true))
4860
4784
  .instruction()];
4861
4785
  case 1:
4862
- refreshStakeInstruction = _c.sent();
4786
+ refreshStakeInstruction = _b.sent();
4863
4787
  return [2, refreshStakeInstruction];
4864
4788
  case 2:
4865
- err_16 = _c.sent();
4789
+ err_16 = _b.sent();
4866
4790
  console.log("perpClient refreshStaking error:: ", err_16);
4867
4791
  throw err_16;
4868
4792
  case 3: return [2];
@@ -5029,16 +4953,12 @@ var PerpetualsClient = (function () {
5029
4953
  }
5030
4954
  });
5031
4955
  }); };
5032
- this.withdrawStake = function (poolConfig_1) {
5033
- var args_1 = [];
5034
- for (var _i = 1; _i < arguments.length; _i++) {
5035
- args_1[_i - 1] = arguments[_i];
5036
- }
5037
- return __awaiter(_this, __spreadArray([poolConfig_1], args_1, true), void 0, function (poolConfig, pendingActivation, deactivated, createUserLPTA) {
4956
+ this.withdrawStake = function (poolConfig, pendingActivation, deactivated, createUserLPTA) {
4957
+ if (pendingActivation === void 0) { pendingActivation = true; }
4958
+ if (deactivated === void 0) { deactivated = true; }
4959
+ if (createUserLPTA === void 0) { createUserLPTA = true; }
4960
+ return __awaiter(_this, void 0, void 0, function () {
5038
4961
  var publicKey, preInstructions, instructions, postInstructions, additionalSigners, lpTokenMint, pool, poolStakedLpVault, flpStakeAccount, userLpTokenAccount, _a, withdrawStakeInstruction, err_20;
5039
- if (pendingActivation === void 0) { pendingActivation = true; }
5040
- if (deactivated === void 0) { deactivated = true; }
5041
- if (createUserLPTA === void 0) { createUserLPTA = true; }
5042
4962
  return __generator(this, function (_b) {
5043
4963
  switch (_b.label) {
5044
4964
  case 0:
@@ -5100,14 +5020,10 @@ var PerpetualsClient = (function () {
5100
5020
  });
5101
5021
  });
5102
5022
  };
5103
- this.collectStakeFees = function (rewardSymbol_1, poolConfig_1, tokenStakeAccount_1) {
5104
- var args_1 = [];
5105
- for (var _i = 3; _i < arguments.length; _i++) {
5106
- args_1[_i - 3] = arguments[_i];
5107
- }
5108
- return __awaiter(_this, __spreadArray([rewardSymbol_1, poolConfig_1, tokenStakeAccount_1], args_1, true), void 0, function (rewardSymbol, poolConfig, tokenStakeAccount, createUserATA) {
5023
+ this.collectStakeFees = function (rewardSymbol, poolConfig, tokenStakeAccount, createUserATA) {
5024
+ if (createUserATA === void 0) { createUserATA = true; }
5025
+ return __awaiter(_this, void 0, void 0, function () {
5109
5026
  var publicKey, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tokenStakeAccounts, withdrawStakeInstruction, err_21;
5110
- if (createUserATA === void 0) { createUserATA = true; }
5111
5027
  return __generator(this, function (_b) {
5112
5028
  switch (_b.label) {
5113
5029
  case 0:
@@ -5319,8 +5235,54 @@ var PerpetualsClient = (function () {
5319
5235
  }
5320
5236
  });
5321
5237
  }); };
5238
+ this.initRevenueTokenAccount = function (feeShareBps, rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5239
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustodyMint, initRevenueTokenAccountInstruction, err_25;
5240
+ return __generator(this, function (_a) {
5241
+ switch (_a.label) {
5242
+ case 0:
5243
+ publicKey = this.provider.wallet.publicKey;
5244
+ preInstructions = [];
5245
+ instructions = [];
5246
+ postInstructions = [];
5247
+ additionalSigners = [];
5248
+ _a.label = 1;
5249
+ case 1:
5250
+ _a.trys.push([1, 3, , 4]);
5251
+ rewardCustodyMint = poolConfig.getTokenFromSymbol(rewardSymbol).mintKey;
5252
+ return [4, this.program.methods
5253
+ .initRevenueTokenAccount({
5254
+ feeShareBps: feeShareBps
5255
+ })
5256
+ .accounts({
5257
+ admin: publicKey,
5258
+ multisig: this.multisig.publicKey,
5259
+ perpetuals: this.perpetuals.publicKey,
5260
+ transferAuthority: poolConfig.transferAuthority,
5261
+ tokenVault: poolConfig.tokenVault,
5262
+ rewardMint: rewardCustodyMint,
5263
+ revenueTokenAccount: poolConfig.revenueTokenAccount,
5264
+ systemProgram: web3_js_1.SystemProgram.programId,
5265
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
5266
+ rent: web3_js_1.SYSVAR_RENT_PUBKEY
5267
+ })
5268
+ .instruction()];
5269
+ case 2:
5270
+ initRevenueTokenAccountInstruction = _a.sent();
5271
+ instructions.push(initRevenueTokenAccountInstruction);
5272
+ return [3, 4];
5273
+ case 3:
5274
+ err_25 = _a.sent();
5275
+ console.log("perpClient initRevenueTokenAccountInstruction error:: ", err_25);
5276
+ throw err_25;
5277
+ case 4: return [2, {
5278
+ instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5279
+ additionalSigners: additionalSigners
5280
+ }];
5281
+ }
5282
+ });
5283
+ }); };
5322
5284
  this.burnAndClaim = function (owner, nftMint, poolConfig, createAta) { return __awaiter(_this, void 0, void 0, function () {
5323
- var preInstructions, instructions, postInstructions, additionalSigners, userTokenAccount, _a, nftTokenAccount, nftTradingAccount, metadataAccount, collectionMetadata, edition, tokenRecord, burnAndClaimInstruction, err_25;
5285
+ var preInstructions, instructions, postInstructions, additionalSigners, userTokenAccount, _a, nftTokenAccount, nftTradingAccount, metadataAccount, collectionMetadata, edition, tokenRecord, burnAndClaimInstruction, err_26;
5324
5286
  return __generator(this, function (_b) {
5325
5287
  switch (_b.label) {
5326
5288
  case 0:
@@ -5384,9 +5346,9 @@ var PerpetualsClient = (function () {
5384
5346
  instructions.push(burnAndClaimInstruction);
5385
5347
  return [3, 8];
5386
5348
  case 7:
5387
- err_25 = _b.sent();
5388
- console.log("perpClient burnAndClaimInstruction error:: ", err_25);
5389
- throw err_25;
5349
+ err_26 = _b.sent();
5350
+ console.log("perpClient burnAndClaimInstruction error:: ", err_26);
5351
+ throw err_26;
5390
5352
  case 8: return [2, {
5391
5353
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5392
5354
  additionalSigners: additionalSigners
@@ -5395,7 +5357,7 @@ var PerpetualsClient = (function () {
5395
5357
  });
5396
5358
  }); };
5397
5359
  this.burnAndStake = function (owner, feePayer, nftMint, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5398
- var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, nftTokenAccount, nftTradingAccount, metadataAccount, collectionMetadata, edition, tokenRecord, burnAndStakeInstruction, err_26;
5360
+ var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, nftTokenAccount, nftTradingAccount, metadataAccount, collectionMetadata, edition, tokenRecord, burnAndStakeInstruction, err_27;
5399
5361
  return __generator(this, function (_a) {
5400
5362
  switch (_a.label) {
5401
5363
  case 0:
@@ -5446,9 +5408,9 @@ var PerpetualsClient = (function () {
5446
5408
  instructions.push(burnAndStakeInstruction);
5447
5409
  return [3, 4];
5448
5410
  case 3:
5449
- err_26 = _a.sent();
5450
- console.log("perpClient burnAndStakeInstruction error:: ", err_26);
5451
- throw err_26;
5411
+ err_27 = _a.sent();
5412
+ console.log("perpClient burnAndStakeInstruction error:: ", err_27);
5413
+ throw err_27;
5452
5414
  case 4: return [2, {
5453
5415
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5454
5416
  additionalSigners: additionalSigners
@@ -5457,7 +5419,7 @@ var PerpetualsClient = (function () {
5457
5419
  });
5458
5420
  }); };
5459
5421
  this.depositTokenStake = function (owner, feePayer, depositAmount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5460
- var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, userTokenAccount, depositTokenStakeInstruction, err_27;
5422
+ var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, userTokenAccount, depositTokenStakeInstruction, err_28;
5461
5423
  return __generator(this, function (_a) {
5462
5424
  switch (_a.label) {
5463
5425
  case 0:
@@ -5498,9 +5460,9 @@ var PerpetualsClient = (function () {
5498
5460
  instructions.push(depositTokenStakeInstruction);
5499
5461
  return [3, 5];
5500
5462
  case 4:
5501
- err_27 = _a.sent();
5502
- console.log("perpClient depositStakingInstruction error:: ", err_27);
5503
- throw err_27;
5463
+ err_28 = _a.sent();
5464
+ console.log("perpClient depositStakingInstruction error:: ", err_28);
5465
+ throw err_28;
5504
5466
  case 5: return [2, {
5505
5467
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5506
5468
  additionalSigners: additionalSigners
@@ -5509,7 +5471,7 @@ var PerpetualsClient = (function () {
5509
5471
  });
5510
5472
  }); };
5511
5473
  this.unstakeTokenRequest = function (owner, unstakeAmount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5512
- var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, unstakeTokenRequestInstruction, err_28;
5474
+ var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, unstakeTokenRequestInstruction, err_29;
5513
5475
  return __generator(this, function (_a) {
5514
5476
  switch (_a.label) {
5515
5477
  case 0:
@@ -5538,9 +5500,9 @@ var PerpetualsClient = (function () {
5538
5500
  instructions.push(unstakeTokenRequestInstruction);
5539
5501
  return [3, 4];
5540
5502
  case 3:
5541
- err_28 = _a.sent();
5542
- console.log("perpClient unstakeTokenRequestInstruction error:: ", err_28);
5543
- throw err_28;
5503
+ err_29 = _a.sent();
5504
+ console.log("perpClient unstakeTokenRequestInstruction error:: ", err_29);
5505
+ throw err_29;
5544
5506
  case 4: return [2, {
5545
5507
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5546
5508
  additionalSigners: additionalSigners
@@ -5549,7 +5511,7 @@ var PerpetualsClient = (function () {
5549
5511
  });
5550
5512
  }); };
5551
5513
  this.unstakeTokenInstant = function (owner, unstakeAmount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5552
- var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, userTokenAccount, unstakeTokenInstantInstruction, err_29;
5514
+ var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, userTokenAccount, unstakeTokenInstantInstruction, err_30;
5553
5515
  return __generator(this, function (_a) {
5554
5516
  switch (_a.label) {
5555
5517
  case 0:
@@ -5589,9 +5551,9 @@ var PerpetualsClient = (function () {
5589
5551
  instructions.push(unstakeTokenInstantInstruction);
5590
5552
  return [3, 5];
5591
5553
  case 4:
5592
- err_29 = _a.sent();
5593
- console.log("perpClient unstakeTokenInstantInstruction error:: ", err_29);
5594
- throw err_29;
5554
+ err_30 = _a.sent();
5555
+ console.log("perpClient unstakeTokenInstantInstruction error:: ", err_30);
5556
+ throw err_30;
5595
5557
  case 5: return [2, {
5596
5558
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5597
5559
  additionalSigners: additionalSigners
@@ -5600,7 +5562,7 @@ var PerpetualsClient = (function () {
5600
5562
  });
5601
5563
  }); };
5602
5564
  this.withdrawToken = function (owner, withdrawRequestId, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5603
- var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, userTokenAccount, withdrawTokenInstruction, err_30;
5565
+ var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, userTokenAccount, withdrawTokenInstruction, err_31;
5604
5566
  return __generator(this, function (_a) {
5605
5567
  switch (_a.label) {
5606
5568
  case 0:
@@ -5640,9 +5602,9 @@ var PerpetualsClient = (function () {
5640
5602
  instructions.push(withdrawTokenInstruction);
5641
5603
  return [3, 5];
5642
5604
  case 4:
5643
- err_30 = _a.sent();
5644
- console.log("perpClient withdrawTokenInstruction error:: ", err_30);
5645
- throw err_30;
5605
+ err_31 = _a.sent();
5606
+ console.log("perpClient withdrawTokenInstruction error:: ", err_31);
5607
+ throw err_31;
5646
5608
  case 5: return [2, {
5647
5609
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5648
5610
  additionalSigners: additionalSigners
@@ -5651,7 +5613,7 @@ var PerpetualsClient = (function () {
5651
5613
  });
5652
5614
  }); };
5653
5615
  this.cancelUnstakeRequest = function (owner, withdrawRequestId, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5654
- var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, cancelUnstakeRequestInstruction, err_31;
5616
+ var preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, cancelUnstakeRequestInstruction, err_32;
5655
5617
  return __generator(this, function (_a) {
5656
5618
  switch (_a.label) {
5657
5619
  case 0:
@@ -5680,9 +5642,9 @@ var PerpetualsClient = (function () {
5680
5642
  instructions.push(cancelUnstakeRequestInstruction);
5681
5643
  return [3, 4];
5682
5644
  case 3:
5683
- err_31 = _a.sent();
5684
- console.log("perpClient cancelUnstakeRequestInstruction error:: ", err_31);
5685
- throw err_31;
5645
+ err_32 = _a.sent();
5646
+ console.log("perpClient cancelUnstakeRequestInstruction error:: ", err_32);
5647
+ throw err_32;
5686
5648
  case 4: return [2, {
5687
5649
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5688
5650
  additionalSigners: additionalSigners
@@ -5690,8 +5652,8 @@ var PerpetualsClient = (function () {
5690
5652
  }
5691
5653
  });
5692
5654
  }); };
5693
- this.distributeTokenReward = function (amount, epochCount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5694
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, fundingTokenAccount, distributeTokenRewardInstruction, err_32;
5655
+ this.distributeTokenReward = function (amount, epochCount, rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5656
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustodyMint, fundingTokenAccount, revenueFundingTokenAccount, distributeTokenRewardInstruction, err_33;
5695
5657
  return __generator(this, function (_a) {
5696
5658
  switch (_a.label) {
5697
5659
  case 0:
@@ -5703,7 +5665,9 @@ var PerpetualsClient = (function () {
5703
5665
  _a.label = 1;
5704
5666
  case 1:
5705
5667
  _a.trys.push([1, 3, , 4]);
5668
+ rewardCustodyMint = poolConfig.getTokenFromSymbol(rewardSymbol).mintKey;
5706
5669
  fundingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.tokenMint, publicKey, true);
5670
+ revenueFundingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, publicKey, true);
5707
5671
  return [4, this.program.methods
5708
5672
  .distributeTokenReward({
5709
5673
  amount: amount,
@@ -5727,9 +5691,9 @@ var PerpetualsClient = (function () {
5727
5691
  instructions.push(distributeTokenRewardInstruction);
5728
5692
  return [3, 4];
5729
5693
  case 3:
5730
- err_32 = _a.sent();
5731
- console.log("perpClient distributeTokenRewardInstruction error:: ", err_32);
5732
- throw err_32;
5694
+ err_33 = _a.sent();
5695
+ console.log("perpClient distributeTokenRewardInstruction error:: ", err_33);
5696
+ throw err_33;
5733
5697
  case 4: return [2, {
5734
5698
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5735
5699
  additionalSigners: additionalSigners
@@ -5738,7 +5702,7 @@ var PerpetualsClient = (function () {
5738
5702
  });
5739
5703
  }); };
5740
5704
  this.setTokenReward = function (owner, amount, epochCount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5741
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, setTokenRewardInstruction, err_33;
5705
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, setTokenRewardInstruction, err_34;
5742
5706
  return __generator(this, function (_a) {
5743
5707
  switch (_a.label) {
5744
5708
  case 0:
@@ -5770,9 +5734,9 @@ var PerpetualsClient = (function () {
5770
5734
  instructions.push(setTokenRewardInstruction);
5771
5735
  return [3, 4];
5772
5736
  case 3:
5773
- err_33 = _a.sent();
5774
- console.log("perpClient setTokenRewardInstruction error:: ", err_33);
5775
- throw err_33;
5737
+ err_34 = _a.sent();
5738
+ console.log("perpClient setTokenRewardInstruction error:: ", err_34);
5739
+ throw err_34;
5776
5740
  case 4: return [2, {
5777
5741
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5778
5742
  additionalSigners: additionalSigners
@@ -5780,14 +5744,10 @@ var PerpetualsClient = (function () {
5780
5744
  }
5781
5745
  });
5782
5746
  }); };
5783
- this.collectTokenReward = function (owner_1, poolConfig_1) {
5784
- var args_1 = [];
5785
- for (var _i = 2; _i < arguments.length; _i++) {
5786
- args_1[_i - 2] = arguments[_i];
5787
- }
5788
- return __awaiter(_this, __spreadArray([owner_1, poolConfig_1], args_1, true), void 0, function (owner, poolConfig, createUserATA) {
5789
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, userTokenAccount, _a, collectTokenRewardInstruction, err_34;
5790
- if (createUserATA === void 0) { createUserATA = true; }
5747
+ this.collectTokenReward = function (owner, poolConfig, createUserATA) {
5748
+ if (createUserATA === void 0) { createUserATA = true; }
5749
+ return __awaiter(_this, void 0, void 0, function () {
5750
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, userTokenAccount, _a, collectTokenRewardInstruction, err_35;
5791
5751
  return __generator(this, function (_b) {
5792
5752
  switch (_b.label) {
5793
5753
  case 0:
@@ -5831,9 +5791,68 @@ var PerpetualsClient = (function () {
5831
5791
  instructions.push(collectTokenRewardInstruction);
5832
5792
  return [3, 6];
5833
5793
  case 5:
5834
- err_34 = _b.sent();
5835
- console.log("perpClient collectTokenRewardInstruction error:: ", err_34);
5836
- throw err_34;
5794
+ err_35 = _b.sent();
5795
+ console.log("perpClient collectTokenRewardInstruction error:: ", err_35);
5796
+ throw err_35;
5797
+ case 6: return [2, {
5798
+ instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5799
+ additionalSigners: additionalSigners
5800
+ }];
5801
+ }
5802
+ });
5803
+ });
5804
+ };
5805
+ this.collectRevenue = function (owner, rewardSymbol, poolConfig, createUserATA) {
5806
+ if (createUserATA === void 0) { createUserATA = true; }
5807
+ return __awaiter(_this, void 0, void 0, function () {
5808
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustodyMint, tokenStakeAccount, userTokenAccount, _a, collectRevenueInstruction, err_36;
5809
+ return __generator(this, function (_b) {
5810
+ switch (_b.label) {
5811
+ case 0:
5812
+ publicKey = this.provider.wallet.publicKey;
5813
+ preInstructions = [];
5814
+ instructions = [];
5815
+ postInstructions = [];
5816
+ additionalSigners = [];
5817
+ _b.label = 1;
5818
+ case 1:
5819
+ _b.trys.push([1, 5, , 6]);
5820
+ rewardCustodyMint = poolConfig.getTokenFromSymbol(rewardSymbol).mintKey;
5821
+ tokenStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("token_stake"), owner.toBuffer()], this.programId)[0];
5822
+ userTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(rewardCustodyMint, owner, true);
5823
+ _a = createUserATA;
5824
+ if (!_a) return [3, 3];
5825
+ return [4, (0, utils_1.checkIfAccountExists)(userTokenAccount, this.provider.connection)];
5826
+ case 2:
5827
+ _a = !(_b.sent());
5828
+ _b.label = 3;
5829
+ case 3:
5830
+ if (_a) {
5831
+ instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userTokenAccount, publicKey, poolConfig.tokenMint));
5832
+ }
5833
+ return [4, this.program.methods
5834
+ .collectRevenue({})
5835
+ .accounts({
5836
+ owner: owner,
5837
+ receivingRevenueAccount: userTokenAccount,
5838
+ perpetuals: this.perpetuals.publicKey,
5839
+ transferAuthority: poolConfig.transferAuthority,
5840
+ tokenVault: poolConfig.tokenVault,
5841
+ revenueTokenAccount: poolConfig.revenueTokenAccount,
5842
+ tokenStakeAccount: tokenStakeAccount,
5843
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
5844
+ eventAuthority: this.eventAuthority.publicKey,
5845
+ program: this.programId
5846
+ })
5847
+ .instruction()];
5848
+ case 4:
5849
+ collectRevenueInstruction = _b.sent();
5850
+ instructions.push(collectRevenueInstruction);
5851
+ return [3, 6];
5852
+ case 5:
5853
+ err_36 = _b.sent();
5854
+ console.log("perpClient collectRevenueInstruction error:: ", err_36);
5855
+ throw err_36;
5837
5856
  case 6: return [2, {
5838
5857
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5839
5858
  additionalSigners: additionalSigners
@@ -5843,7 +5862,7 @@ var PerpetualsClient = (function () {
5843
5862
  });
5844
5863
  };
5845
5864
  this.setTokenStakeLevel = function (owner, stakeLevel) { return __awaiter(_this, void 0, void 0, function () {
5846
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, setTokenStakeLevelInstruction, err_35;
5865
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, setTokenStakeLevelInstruction, err_37;
5847
5866
  return __generator(this, function (_a) {
5848
5867
  switch (_a.label) {
5849
5868
  case 0:
@@ -5871,9 +5890,9 @@ var PerpetualsClient = (function () {
5871
5890
  instructions.push(setTokenStakeLevelInstruction);
5872
5891
  return [3, 4];
5873
5892
  case 3:
5874
- err_35 = _a.sent();
5875
- console.log("perpClient setTokenStakeLevelInstruction error:: ", err_35);
5876
- throw err_35;
5893
+ err_37 = _a.sent();
5894
+ console.log("perpClient setTokenStakeLevelInstruction error:: ", err_37);
5895
+ throw err_37;
5877
5896
  case 4: return [2, {
5878
5897
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
5879
5898
  additionalSigners: additionalSigners
@@ -5882,7 +5901,7 @@ var PerpetualsClient = (function () {
5882
5901
  });
5883
5902
  }); };
5884
5903
  this.initRewardVault = function (nftCount, rewardSymbol, collectionMint, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5885
- var publicKey, rewardCustodyMint, instructions, additionalSigners, fbNftProgramData, rewardVault, rewardTokenAccount, nftTransferAuthority, initRewardVault, err_36;
5904
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, fbNftProgramData, rewardVault, rewardTokenAccount, nftTransferAuthority, initRewardVault, err_38;
5886
5905
  return __generator(this, function (_a) {
5887
5906
  switch (_a.label) {
5888
5907
  case 0:
@@ -5919,9 +5938,9 @@ var PerpetualsClient = (function () {
5919
5938
  instructions.push(initRewardVault);
5920
5939
  return [3, 4];
5921
5940
  case 3:
5922
- err_36 = _a.sent();
5923
- console.log("perpClient InitRewardVault error:: ", err_36);
5924
- throw err_36;
5941
+ err_38 = _a.sent();
5942
+ console.log("perpClient InitRewardVault error:: ", err_38);
5943
+ throw err_38;
5925
5944
  case 4: return [2, {
5926
5945
  instructions: __spreadArray([], instructions, true),
5927
5946
  additionalSigners: additionalSigners
@@ -5930,7 +5949,7 @@ var PerpetualsClient = (function () {
5930
5949
  });
5931
5950
  }); };
5932
5951
  this.distributeReward = function (rewardAmount, rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
5933
- var publicKey, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, distributeReward, err_37;
5952
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, distributeReward, err_39;
5934
5953
  return __generator(this, function (_a) {
5935
5954
  switch (_a.label) {
5936
5955
  case 0:
@@ -5961,9 +5980,9 @@ var PerpetualsClient = (function () {
5961
5980
  instructions.push(distributeReward);
5962
5981
  return [3, 4];
5963
5982
  case 3:
5964
- err_37 = _a.sent();
5965
- console.log("perpClient distributeReward error:: ", err_37);
5966
- throw err_37;
5983
+ err_39 = _a.sent();
5984
+ console.log("perpClient distributeReward error:: ", err_39);
5985
+ throw err_39;
5967
5986
  case 4: return [2, {
5968
5987
  instructions: __spreadArray([], instructions, true),
5969
5988
  additionalSigners: additionalSigners
@@ -5971,14 +5990,10 @@ var PerpetualsClient = (function () {
5971
5990
  }
5972
5991
  });
5973
5992
  }); };
5974
- this.collectNftReward = function (rewardSymbol_1, poolConfig_1, nftMint_1) {
5975
- var args_1 = [];
5976
- for (var _i = 3; _i < arguments.length; _i++) {
5977
- args_1[_i - 3] = arguments[_i];
5978
- }
5979
- return __awaiter(_this, __spreadArray([rewardSymbol_1, poolConfig_1, nftMint_1], args_1, true), void 0, function (rewardSymbol, poolConfig, nftMint, createUserATA) {
5980
- var publicKey, rewardCustodyMint, instructions, additionalSigners, nftTokenAccount, metadataAccount, receivingTokenAccount, _a, rewardRecord, rewardVault, rewardTokenAccount, nftTransferAuthority, collectNftReward, err_38;
5981
- if (createUserATA === void 0) { createUserATA = true; }
5993
+ this.collectNftReward = function (rewardSymbol, poolConfig, nftMint, createUserATA) {
5994
+ if (createUserATA === void 0) { createUserATA = true; }
5995
+ return __awaiter(_this, void 0, void 0, function () {
5996
+ var publicKey, rewardCustodyMint, instructions, additionalSigners, nftTokenAccount, metadataAccount, receivingTokenAccount, _a, rewardRecord, rewardVault, rewardTokenAccount, nftTransferAuthority, collectNftReward, err_40;
5982
5997
  return __generator(this, function (_b) {
5983
5998
  switch (_b.label) {
5984
5999
  case 0:
@@ -6028,8 +6043,8 @@ var PerpetualsClient = (function () {
6028
6043
  instructions.push(collectNftReward);
6029
6044
  return [3, 6];
6030
6045
  case 5:
6031
- err_38 = _b.sent();
6032
- throw err_38;
6046
+ err_40 = _b.sent();
6047
+ throw err_40;
6033
6048
  case 6: return [2, {
6034
6049
  instructions: __spreadArray([], instructions, true),
6035
6050
  additionalSigners: additionalSigners
@@ -6038,14 +6053,10 @@ var PerpetualsClient = (function () {
6038
6053
  });
6039
6054
  });
6040
6055
  };
6041
- this.collectAndDistributeFee = function (rewardSymbol_1, poolConfig_1) {
6042
- var args_1 = [];
6043
- for (var _i = 2; _i < arguments.length; _i++) {
6044
- args_1[_i - 2] = arguments[_i];
6045
- }
6046
- return __awaiter(_this, __spreadArray([rewardSymbol_1, poolConfig_1], args_1, true), void 0, function (rewardSymbol, poolConfig, createUserATA, nftTradingAccount) {
6047
- var publicKey, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tradingAccount, rewardVault, rewardTokenAccount, withdrawStakeInstruction, err_39;
6048
- if (createUserATA === void 0) { createUserATA = true; }
6056
+ this.collectAndDistributeFee = function (rewardSymbol, poolConfig, createUserATA, nftTradingAccount) {
6057
+ if (createUserATA === void 0) { createUserATA = true; }
6058
+ return __awaiter(_this, void 0, void 0, function () {
6059
+ var publicKey, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tradingAccount, rewardVault, rewardTokenAccount, withdrawStakeInstruction, err_41;
6049
6060
  return __generator(this, function (_b) {
6050
6061
  switch (_b.label) {
6051
6062
  case 0:
@@ -6109,9 +6120,9 @@ var PerpetualsClient = (function () {
6109
6120
  instructions.push(withdrawStakeInstruction);
6110
6121
  return [3, 6];
6111
6122
  case 5:
6112
- err_39 = _b.sent();
6113
- console.log("perpClient withdrawStake error:: ", err_39);
6114
- throw err_39;
6123
+ err_41 = _b.sent();
6124
+ console.log("perpClient withdrawStake error:: ", err_41);
6125
+ throw err_41;
6115
6126
  case 6: return [2, {
6116
6127
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6117
6128
  additionalSigners: additionalSigners
@@ -6121,7 +6132,7 @@ var PerpetualsClient = (function () {
6121
6132
  });
6122
6133
  };
6123
6134
  this.setTriggerPrice = function (targetSymbol, collateralSymbol, side, triggerPrice, isStopLoss, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6124
- var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, positionAccount, instructions, additionalSigners, setTriggerPrice, err_40;
6135
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, positionAccount, instructions, additionalSigners, setTriggerPrice, err_42;
6125
6136
  return __generator(this, function (_a) {
6126
6137
  switch (_a.label) {
6127
6138
  case 0:
@@ -6160,9 +6171,9 @@ var PerpetualsClient = (function () {
6160
6171
  instructions.push(setTriggerPrice);
6161
6172
  return [3, 4];
6162
6173
  case 3:
6163
- err_40 = _a.sent();
6164
- console.log("perpClient setTriggerPrice error:: ", err_40);
6165
- throw err_40;
6174
+ err_42 = _a.sent();
6175
+ console.log("perpClient setTriggerPrice error:: ", err_42);
6176
+ throw err_42;
6166
6177
  case 4: return [2, {
6167
6178
  instructions: __spreadArray([], instructions, true),
6168
6179
  additionalSigners: additionalSigners
@@ -6170,16 +6181,12 @@ var PerpetualsClient = (function () {
6170
6181
  }
6171
6182
  });
6172
6183
  }); };
6173
- this.forceClosePosition = function (positionAccount_1, targetSymbol_1, collateralSymbol_1, side_1, isStopLoss_1, poolConfig_1) {
6174
- var args_1 = [];
6175
- for (var _i = 6; _i < arguments.length; _i++) {
6176
- args_1[_i - 6] = arguments[_i];
6177
- }
6178
- return __awaiter(_this, __spreadArray([positionAccount_1, targetSymbol_1, collateralSymbol_1, side_1, isStopLoss_1, poolConfig_1], args_1, true), void 0, function (positionAccount, targetSymbol, collateralSymbol, side, isStopLoss, poolConfig, createUserATA, closeUsersWSOLATA, ephemeralSignerPubkey) {
6179
- var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, forceClosePosition, closeWsolATAIns, err_41;
6180
- if (createUserATA === void 0) { createUserATA = true; }
6181
- if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
6182
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6184
+ this.forceClosePosition = function (positionAccount, targetSymbol, collateralSymbol, side, isStopLoss, poolConfig, createUserATA, closeUsersWSOLATA, ephemeralSignerPubkey) {
6185
+ if (createUserATA === void 0) { createUserATA = true; }
6186
+ if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
6187
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6188
+ return __awaiter(_this, void 0, void 0, function () {
6189
+ var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, forceClosePosition, closeWsolATAIns, err_43;
6183
6190
  return __generator(this, function (_b) {
6184
6191
  switch (_b.label) {
6185
6192
  case 0:
@@ -6240,9 +6247,9 @@ var PerpetualsClient = (function () {
6240
6247
  }
6241
6248
  return [3, 7];
6242
6249
  case 6:
6243
- err_41 = _b.sent();
6244
- console.log("perpClient forceClosePosition error:: ", err_41);
6245
- throw err_41;
6250
+ err_43 = _b.sent();
6251
+ console.log("perpClient forceClosePosition error:: ", err_43);
6252
+ throw err_43;
6246
6253
  case 7: return [2, {
6247
6254
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6248
6255
  additionalSigners: additionalSigners
@@ -6251,15 +6258,11 @@ var PerpetualsClient = (function () {
6251
6258
  });
6252
6259
  });
6253
6260
  };
6254
- this.placeLimitOrder = function (targetSymbol_1, collateralSymbol_1, reserveSymbol_1, receiveSymbol_1, side_1, limitPrice_1, reserveAmount_1, sizeAmount_1, stopLossPrice_1, takeProfitPrice_1, poolConfig_1) {
6255
- var args_1 = [];
6256
- for (var _i = 11; _i < arguments.length; _i++) {
6257
- args_1[_i - 11] = arguments[_i];
6258
- }
6259
- return __awaiter(_this, __spreadArray([targetSymbol_1, collateralSymbol_1, reserveSymbol_1, receiveSymbol_1, side_1, limitPrice_1, reserveAmount_1, sizeAmount_1, stopLossPrice_1, takeProfitPrice_1, poolConfig_1], args_1, true), void 0, function (targetSymbol, collateralSymbol, reserveSymbol, receiveSymbol, side, limitPrice, reserveAmount, sizeAmount, stopLossPrice, takeProfitPrice, poolConfig, skipBalanceChecks, ephemeralSignerPubkey) {
6260
- var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, receiveCustodyConfig, marketAccount, userReserveTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, accCreationLamports, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, positionAccount, orderAccount, placeLimitOrder, err_42;
6261
- if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
6262
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6261
+ this.placeLimitOrder = function (targetSymbol, collateralSymbol, reserveSymbol, receiveSymbol, side, limitPrice, reserveAmount, sizeAmount, stopLossPrice, takeProfitPrice, poolConfig, skipBalanceChecks, ephemeralSignerPubkey) {
6262
+ if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
6263
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6264
+ return __awaiter(_this, void 0, void 0, function () {
6265
+ var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, receiveCustodyConfig, marketAccount, userReserveTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, accCreationLamports, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, positionAccount, orderAccount, placeLimitOrder, err_44;
6263
6266
  return __generator(this, function (_c) {
6264
6267
  switch (_c.label) {
6265
6268
  case 0:
@@ -6364,9 +6367,9 @@ var PerpetualsClient = (function () {
6364
6367
  instructions.push(placeLimitOrder);
6365
6368
  return [3, 11];
6366
6369
  case 10:
6367
- err_42 = _c.sent();
6368
- console.log("perpClient placeLimitOrder error:: ", err_42);
6369
- throw err_42;
6370
+ err_44 = _c.sent();
6371
+ console.log("perpClient placeLimitOrder error:: ", err_44);
6372
+ throw err_44;
6370
6373
  case 11: return [2, {
6371
6374
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6372
6375
  additionalSigners: additionalSigners
@@ -6375,15 +6378,11 @@ var PerpetualsClient = (function () {
6375
6378
  });
6376
6379
  });
6377
6380
  };
6378
- this.editLimitOrder = function (targetSymbol_1, collateralSymbol_1, reserveSymbol_1, receiveSymbol_1, side_1, orderId_1, limitPrice_1, sizeAmount_1, stopLossPrice_1, takeProfitPrice_1, poolConfig_1) {
6379
- var args_1 = [];
6380
- for (var _i = 11; _i < arguments.length; _i++) {
6381
- args_1[_i - 11] = arguments[_i];
6382
- }
6383
- return __awaiter(_this, __spreadArray([targetSymbol_1, collateralSymbol_1, reserveSymbol_1, receiveSymbol_1, side_1, orderId_1, limitPrice_1, sizeAmount_1, stopLossPrice_1, takeProfitPrice_1, poolConfig_1], args_1, true), void 0, function (targetSymbol, collateralSymbol, reserveSymbol, receiveSymbol, side, orderId, limitPrice, sizeAmount, stopLossPrice, takeProfitPrice, poolConfig, createUserATA, ephemeralSignerPubkey) {
6384
- var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, receiveCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, wrappedSolAccount, userReceivingTokenAccount, lamports, _a, positionAccount, orderAccount, editLimitOrder, err_43;
6385
- if (createUserATA === void 0) { createUserATA = true; }
6386
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6381
+ this.editLimitOrder = function (targetSymbol, collateralSymbol, reserveSymbol, receiveSymbol, side, orderId, limitPrice, sizeAmount, stopLossPrice, takeProfitPrice, poolConfig, createUserATA, ephemeralSignerPubkey) {
6382
+ if (createUserATA === void 0) { createUserATA = true; }
6383
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6384
+ return __awaiter(_this, void 0, void 0, function () {
6385
+ var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, receiveCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, wrappedSolAccount, userReceivingTokenAccount, lamports, _a, positionAccount, orderAccount, editLimitOrder, err_45;
6387
6386
  return __generator(this, function (_b) {
6388
6387
  switch (_b.label) {
6389
6388
  case 0:
@@ -6471,9 +6470,9 @@ var PerpetualsClient = (function () {
6471
6470
  instructions.push(editLimitOrder);
6472
6471
  return [3, 8];
6473
6472
  case 7:
6474
- err_43 = _b.sent();
6475
- console.log("perpClient editLimitOrder error:: ", err_43);
6476
- throw err_43;
6473
+ err_45 = _b.sent();
6474
+ console.log("perpClient editLimitOrder error:: ", err_45);
6475
+ throw err_45;
6477
6476
  case 8: return [2, {
6478
6477
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6479
6478
  additionalSigners: additionalSigners
@@ -6482,16 +6481,12 @@ var PerpetualsClient = (function () {
6482
6481
  });
6483
6482
  });
6484
6483
  };
6485
- this.executeLimitOrder = function (userPubkey_1, targetSymbol_1, collateralSymbol_1, side_1, orderId_1, poolConfig_1, privilege_1) {
6486
- var args_1 = [];
6487
- for (var _i = 7; _i < arguments.length; _i++) {
6488
- args_1[_i - 7] = arguments[_i];
6489
- }
6490
- return __awaiter(_this, __spreadArray([userPubkey_1, targetSymbol_1, collateralSymbol_1, side_1, orderId_1, poolConfig_1, privilege_1], args_1, true), void 0, function (userPubkey, targetSymbol, collateralSymbol, side, orderId, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
6491
- var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, executeLimitOrder, err_44;
6492
- if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
6493
- if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
6494
- if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
6484
+ this.executeLimitOrder = function (userPubkey, targetSymbol, collateralSymbol, side, orderId, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
6485
+ if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
6486
+ if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
6487
+ if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
6488
+ return __awaiter(_this, void 0, void 0, function () {
6489
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, executeLimitOrder, err_46;
6495
6490
  return __generator(this, function (_a) {
6496
6491
  switch (_a.label) {
6497
6492
  case 0:
@@ -6540,9 +6535,9 @@ var PerpetualsClient = (function () {
6540
6535
  instructions.push(executeLimitOrder);
6541
6536
  return [3, 4];
6542
6537
  case 3:
6543
- err_44 = _a.sent();
6544
- console.log("perpClient executeLimitOrder error:: ", err_44);
6545
- throw err_44;
6538
+ err_46 = _a.sent();
6539
+ console.log("perpClient executeLimitOrder error:: ", err_46);
6540
+ throw err_46;
6546
6541
  case 4: return [2, {
6547
6542
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6548
6543
  additionalSigners: additionalSigners
@@ -6551,16 +6546,12 @@ var PerpetualsClient = (function () {
6551
6546
  });
6552
6547
  });
6553
6548
  };
6554
- this.executeLimitWithSwap = function (userPubkey_1, targetSymbol_1, collateralSymbol_1, reserveSymbol_1, side_1, orderId_1, poolConfig_1, privilege_1) {
6555
- var args_1 = [];
6556
- for (var _i = 8; _i < arguments.length; _i++) {
6557
- args_1[_i - 8] = arguments[_i];
6558
- }
6559
- return __awaiter(_this, __spreadArray([userPubkey_1, targetSymbol_1, collateralSymbol_1, reserveSymbol_1, side_1, orderId_1, poolConfig_1, privilege_1], args_1, true), void 0, function (userPubkey, targetSymbol, collateralSymbol, reserveSymbol, side, orderId, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
6560
- var publicKey, targetCustodyConfig, collateralCustodyConfig, reserveCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, executeLimitWithSwap, err_45;
6561
- if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
6562
- if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
6563
- if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
6549
+ this.executeLimitWithSwap = function (userPubkey, targetSymbol, collateralSymbol, reserveSymbol, side, orderId, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
6550
+ if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
6551
+ if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
6552
+ if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
6553
+ return __awaiter(_this, void 0, void 0, function () {
6554
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, reserveCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, executeLimitWithSwap, err_47;
6564
6555
  return __generator(this, function (_a) {
6565
6556
  switch (_a.label) {
6566
6557
  case 0:
@@ -6612,9 +6603,9 @@ var PerpetualsClient = (function () {
6612
6603
  instructions.push(executeLimitWithSwap);
6613
6604
  return [3, 4];
6614
6605
  case 3:
6615
- err_45 = _a.sent();
6616
- console.log("perpClient executeLimitWithSwap error:: ", err_45);
6617
- throw err_45;
6606
+ err_47 = _a.sent();
6607
+ console.log("perpClient executeLimitWithSwap error:: ", err_47);
6608
+ throw err_47;
6618
6609
  case 4: return [2, {
6619
6610
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6620
6611
  additionalSigners: additionalSigners
@@ -6624,7 +6615,7 @@ var PerpetualsClient = (function () {
6624
6615
  });
6625
6616
  };
6626
6617
  this.placeTriggerOrder = function (targetSymbol, collateralSymbol, receiveSymbol, side, triggerPrice, deltaSizeAmount, isStopLoss, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6627
- var publicKey, targetCustodyConfig, collateralCustodyConfig, receivingCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, placeTriggerOrder, err_46;
6618
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, receivingCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, placeTriggerOrder, err_48;
6628
6619
  return __generator(this, function (_a) {
6629
6620
  switch (_a.label) {
6630
6621
  case 0:
@@ -6672,9 +6663,9 @@ var PerpetualsClient = (function () {
6672
6663
  instructions.push(placeTriggerOrder);
6673
6664
  return [3, 4];
6674
6665
  case 3:
6675
- err_46 = _a.sent();
6676
- console.log("perpClient placeTriggerOrder error:: ", err_46);
6677
- throw err_46;
6666
+ err_48 = _a.sent();
6667
+ console.log("perpClient placeTriggerOrder error:: ", err_48);
6668
+ throw err_48;
6678
6669
  case 4: return [2, {
6679
6670
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6680
6671
  additionalSigners: additionalSigners
@@ -6683,7 +6674,7 @@ var PerpetualsClient = (function () {
6683
6674
  });
6684
6675
  }); };
6685
6676
  this.editTriggerOrder = function (targetSymbol, collateralSymbol, receiveSymbol, side, orderId, triggerPrice, deltaSizeAmount, isStopLoss, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6686
- var publicKey, targetCustodyConfig, collateralCustodyConfig, receivingCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, editTriggerOrder, err_47;
6677
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, receivingCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, editTriggerOrder, err_49;
6687
6678
  return __generator(this, function (_a) {
6688
6679
  switch (_a.label) {
6689
6680
  case 0:
@@ -6730,9 +6721,9 @@ var PerpetualsClient = (function () {
6730
6721
  instructions.push(editTriggerOrder);
6731
6722
  return [3, 4];
6732
6723
  case 3:
6733
- err_47 = _a.sent();
6734
- console.log("perpClient editTriggerOrder error:: ", err_47);
6735
- throw err_47;
6724
+ err_49 = _a.sent();
6725
+ console.log("perpClient editTriggerOrder error:: ", err_49);
6726
+ throw err_49;
6736
6727
  case 4: return [2, {
6737
6728
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6738
6729
  additionalSigners: additionalSigners
@@ -6741,7 +6732,7 @@ var PerpetualsClient = (function () {
6741
6732
  });
6742
6733
  }); };
6743
6734
  this.cancelTriggerOrder = function (targetSymbol, collateralSymbol, side, orderId, isStopLoss, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6744
- var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, orderAccount, cancelTriggerOrder, err_48;
6735
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, orderAccount, cancelTriggerOrder, err_50;
6745
6736
  return __generator(this, function (_a) {
6746
6737
  switch (_a.label) {
6747
6738
  case 0:
@@ -6774,9 +6765,9 @@ var PerpetualsClient = (function () {
6774
6765
  instructions.push(cancelTriggerOrder);
6775
6766
  return [3, 4];
6776
6767
  case 3:
6777
- err_48 = _a.sent();
6778
- console.log("perpClient cancelTriggerOrder error:: ", err_48);
6779
- throw err_48;
6768
+ err_50 = _a.sent();
6769
+ console.log("perpClient cancelTriggerOrder error:: ", err_50);
6770
+ throw err_50;
6780
6771
  case 4: return [2, {
6781
6772
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6782
6773
  additionalSigners: additionalSigners
@@ -6785,7 +6776,7 @@ var PerpetualsClient = (function () {
6785
6776
  });
6786
6777
  }); };
6787
6778
  this.cancelAllTriggerOrders = function (targetSymbol, collateralSymbol, side, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
6788
- var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, orderAccount, positionAccount, cancelAllTriggerOrders, err_49;
6779
+ var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, orderAccount, positionAccount, cancelAllTriggerOrders, err_51;
6789
6780
  return __generator(this, function (_a) {
6790
6781
  switch (_a.label) {
6791
6782
  case 0:
@@ -6816,9 +6807,9 @@ var PerpetualsClient = (function () {
6816
6807
  instructions.push(cancelAllTriggerOrders);
6817
6808
  return [3, 4];
6818
6809
  case 3:
6819
- err_49 = _a.sent();
6820
- console.log("perpClient cancelAllTriggerOrders error:: ", err_49);
6821
- throw err_49;
6810
+ err_51 = _a.sent();
6811
+ console.log("perpClient cancelAllTriggerOrders error:: ", err_51);
6812
+ throw err_51;
6822
6813
  case 4: return [2, {
6823
6814
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6824
6815
  additionalSigners: additionalSigners
@@ -6826,20 +6817,16 @@ var PerpetualsClient = (function () {
6826
6817
  }
6827
6818
  });
6828
6819
  }); };
6829
- this.executeTriggerWithSwap = function (owner_1, targetSymbol_1, collateralSymbol_1, receivingSymbol_1, side_1, orderId_1, isStopLoss_1, privilege_1, poolConfig_1) {
6830
- var args_1 = [];
6831
- for (var _i = 9; _i < arguments.length; _i++) {
6832
- args_1[_i - 9] = arguments[_i];
6833
- }
6834
- return __awaiter(_this, __spreadArray([owner_1, targetSymbol_1, collateralSymbol_1, receivingSymbol_1, side_1, orderId_1, isStopLoss_1, privilege_1, poolConfig_1], args_1, true), void 0, function (owner, targetSymbol, collateralSymbol, receivingSymbol, side, orderId, isStopLoss, privilege, poolConfig, createUserATA, ephemeralSignerPubkey, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
6835
- var payerPubkey, targetCustodyConfig, collateralCustodyConfig, receivingCustodyConfig, marketAccount, userReceivingTokenAccount, userReceivingTokenAccountCollateral, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, _b, positionAccount, orderAccount, custodyAccountMetas, custodyOracleAccountMetas, _c, _d, custody, executeTriggerWithSwap, err_50;
6836
- if (createUserATA === void 0) { createUserATA = true; }
6837
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6838
- if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
6839
- if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
6840
- if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
6841
- return __generator(this, function (_e) {
6842
- switch (_e.label) {
6820
+ this.executeTriggerWithSwap = function (owner, targetSymbol, collateralSymbol, receivingSymbol, side, orderId, isStopLoss, privilege, poolConfig, createUserATA, ephemeralSignerPubkey, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
6821
+ if (createUserATA === void 0) { createUserATA = true; }
6822
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6823
+ if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
6824
+ if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
6825
+ if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
6826
+ return __awaiter(_this, void 0, void 0, function () {
6827
+ var payerPubkey, targetCustodyConfig, collateralCustodyConfig, receivingCustodyConfig, marketAccount, userReceivingTokenAccount, userReceivingTokenAccountCollateral, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, _b, positionAccount, orderAccount, custodyAccountMetas, custodyOracleAccountMetas, _i, _c, custody, executeTriggerWithSwap, err_52;
6828
+ return __generator(this, function (_d) {
6829
+ switch (_d.label) {
6843
6830
  case 0:
6844
6831
  payerPubkey = this.provider.wallet.publicKey;
6845
6832
  targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
@@ -6850,9 +6837,9 @@ var PerpetualsClient = (function () {
6850
6837
  instructions = [];
6851
6838
  postInstructions = [];
6852
6839
  additionalSigners = [];
6853
- _e.label = 1;
6840
+ _d.label = 1;
6854
6841
  case 1:
6855
- _e.trys.push([1, 9, , 10]);
6842
+ _d.trys.push([1, 9, , 10]);
6856
6843
  if (!false) return [3, 2];
6857
6844
  return [3, 7];
6858
6845
  case 2:
@@ -6861,8 +6848,8 @@ var PerpetualsClient = (function () {
6861
6848
  if (!_a) return [3, 4];
6862
6849
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
6863
6850
  case 3:
6864
- _a = !(_e.sent());
6865
- _e.label = 4;
6851
+ _a = !(_d.sent());
6852
+ _d.label = 4;
6866
6853
  case 4:
6867
6854
  if (_a) {
6868
6855
  preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, owner, poolConfig.getTokenFromSymbol(receivingSymbol).mintKey));
@@ -6872,20 +6859,20 @@ var PerpetualsClient = (function () {
6872
6859
  if (!_b) return [3, 6];
6873
6860
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccountCollateral, this.provider.connection)];
6874
6861
  case 5:
6875
- _b = !(_e.sent());
6876
- _e.label = 6;
6862
+ _b = !(_d.sent());
6863
+ _d.label = 6;
6877
6864
  case 6:
6878
6865
  if (_b) {
6879
6866
  preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccountCollateral, owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
6880
6867
  }
6881
- _e.label = 7;
6868
+ _d.label = 7;
6882
6869
  case 7:
6883
6870
  positionAccount = poolConfig.getPositionFromMarketPk(owner, marketAccount);
6884
6871
  orderAccount = poolConfig.getOrderFromMarketPk(owner, marketAccount);
6885
6872
  custodyAccountMetas = [];
6886
6873
  custodyOracleAccountMetas = [];
6887
- for (_c = 0, _d = poolConfig.custodies; _c < _d.length; _c++) {
6888
- custody = _d[_c];
6874
+ for (_i = 0, _c = poolConfig.custodies; _i < _c.length; _i++) {
6875
+ custody = _c[_i];
6889
6876
  custodyAccountMetas.push({
6890
6877
  pubkey: custody.custodyAccount,
6891
6878
  isSigner: false,
@@ -6930,13 +6917,13 @@ var PerpetualsClient = (function () {
6930
6917
  .remainingAccounts(__spreadArray([], (0, getReferralAccounts_1.getReferralAccounts)(tokenStakeAccount, userReferralAccount, rebateTokenAccount, privilege), true))
6931
6918
  .instruction()];
6932
6919
  case 8:
6933
- executeTriggerWithSwap = _e.sent();
6920
+ executeTriggerWithSwap = _d.sent();
6934
6921
  instructions.push(executeTriggerWithSwap);
6935
6922
  return [3, 10];
6936
6923
  case 9:
6937
- err_50 = _e.sent();
6938
- console.log("perpClient executeTriggerWithSwap error:: ", err_50);
6939
- throw err_50;
6924
+ err_52 = _d.sent();
6925
+ console.log("perpClient executeTriggerWithSwap error:: ", err_52);
6926
+ throw err_52;
6940
6927
  case 10: return [2, {
6941
6928
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
6942
6929
  additionalSigners: additionalSigners
@@ -6945,18 +6932,14 @@ var PerpetualsClient = (function () {
6945
6932
  });
6946
6933
  });
6947
6934
  };
6948
- this.executeTriggerOrder = function (owner_1, targetSymbol_1, collateralSymbol_1, side_1, orderId_1, isStopLoss_1, privilege_1, poolConfig_1) {
6949
- var args_1 = [];
6950
- for (var _i = 8; _i < arguments.length; _i++) {
6951
- args_1[_i - 8] = arguments[_i];
6952
- }
6953
- return __awaiter(_this, __spreadArray([owner_1, targetSymbol_1, collateralSymbol_1, side_1, orderId_1, isStopLoss_1, privilege_1, poolConfig_1], args_1, true), void 0, function (owner, targetSymbol, collateralSymbol, side, orderId, isStopLoss, privilege, poolConfig, createUserATA, ephemeralSignerPubkey, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
6954
- var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, positionAccount, orderAccount, executeTriggerOrder, err_51;
6955
- if (createUserATA === void 0) { createUserATA = true; }
6956
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6957
- if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
6958
- if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
6959
- if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
6935
+ this.executeTriggerOrder = function (owner, targetSymbol, collateralSymbol, side, orderId, isStopLoss, privilege, poolConfig, createUserATA, ephemeralSignerPubkey, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
6936
+ if (createUserATA === void 0) { createUserATA = true; }
6937
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
6938
+ if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
6939
+ if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
6940
+ if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
6941
+ return __awaiter(_this, void 0, void 0, function () {
6942
+ var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, positionAccount, orderAccount, executeTriggerOrder, err_53;
6960
6943
  return __generator(this, function (_b) {
6961
6944
  switch (_b.label) {
6962
6945
  case 0:
@@ -7022,9 +7005,9 @@ var PerpetualsClient = (function () {
7022
7005
  instructions.push(executeTriggerOrder);
7023
7006
  return [3, 8];
7024
7007
  case 7:
7025
- err_51 = _b.sent();
7026
- console.log("perpClient executeTriggerOrder error:: ", err_51);
7027
- throw err_51;
7008
+ err_53 = _b.sent();
7009
+ console.log("perpClient executeTriggerOrder error:: ", err_53);
7010
+ throw err_53;
7028
7011
  case 8: return [2, {
7029
7012
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
7030
7013
  additionalSigners: additionalSigners
@@ -7034,7 +7017,7 @@ var PerpetualsClient = (function () {
7034
7017
  });
7035
7018
  };
7036
7019
  this.migrateTriggerOrder = function (owner, marketAccount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
7037
- var payerPubkey, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, migrateTriggerOrder, err_52;
7020
+ var payerPubkey, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, migrateTriggerOrder, err_54;
7038
7021
  return __generator(this, function (_a) {
7039
7022
  switch (_a.label) {
7040
7023
  case 0:
@@ -7064,9 +7047,9 @@ var PerpetualsClient = (function () {
7064
7047
  instructions.push(migrateTriggerOrder);
7065
7048
  return [3, 4];
7066
7049
  case 3:
7067
- err_52 = _a.sent();
7068
- console.log("perpClient migrateTriggerOrder error:: ", err_52);
7069
- throw err_52;
7050
+ err_54 = _a.sent();
7051
+ console.log("perpClient migrateTriggerOrder error:: ", err_54);
7052
+ throw err_54;
7070
7053
  case 4: return [2, {
7071
7054
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
7072
7055
  additionalSigners: additionalSigners
@@ -7075,7 +7058,7 @@ var PerpetualsClient = (function () {
7075
7058
  });
7076
7059
  }); };
7077
7060
  this.getPositionData = function (position, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
7078
- var marketConfig, targetCustodyConfig, collateralCustodyConfig, getPositionData, err_53;
7061
+ var marketConfig, targetCustodyConfig, collateralCustodyConfig, getPositionData, err_55;
7079
7062
  return __generator(this, function (_a) {
7080
7063
  switch (_a.label) {
7081
7064
  case 0:
@@ -7104,15 +7087,15 @@ var PerpetualsClient = (function () {
7104
7087
  console.log(getPositionData);
7105
7088
  return [2, getPositionData];
7106
7089
  case 3:
7107
- err_53 = _a.sent();
7108
- console.log("perpClient setPool error:: ", err_53);
7109
- throw err_53;
7090
+ err_55 = _a.sent();
7091
+ console.log("perpClient setPool error:: ", err_55);
7092
+ throw err_55;
7110
7093
  case 4: return [2];
7111
7094
  }
7112
7095
  });
7113
7096
  }); };
7114
7097
  this.protocolWithdrawFees = function (rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
7115
- var publicKey, custodyConfig, receivingTokenAccount, instructions, additionalSigners, withdrawFeesIx, err_54;
7098
+ var publicKey, custodyConfig, receivingTokenAccount, instructions, additionalSigners, withdrawFeesIx, err_56;
7116
7099
  return __generator(this, function (_a) {
7117
7100
  switch (_a.label) {
7118
7101
  case 0:
@@ -7133,9 +7116,8 @@ var PerpetualsClient = (function () {
7133
7116
  multisig: this.multisig.publicKey,
7134
7117
  transferAuthority: this.authority.publicKey,
7135
7118
  perpetuals: this.perpetuals.publicKey,
7136
- pool: poolConfig.poolAddress,
7137
- custody: custodyConfig.custodyAccount,
7138
- custodyTokenAccount: custodyConfig.tokenAccount,
7119
+ protocol: poolConfig.protocol,
7120
+ protocolTokenAccount: poolConfig.protocolTokenAccount,
7139
7121
  receivingTokenAccount: receivingTokenAccount,
7140
7122
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID
7141
7123
  })
@@ -7145,9 +7127,9 @@ var PerpetualsClient = (function () {
7145
7127
  instructions.push(withdrawFeesIx);
7146
7128
  return [3, 5];
7147
7129
  case 4:
7148
- err_54 = _a.sent();
7149
- console.log("perpClient setPool error:: ", err_54);
7150
- throw err_54;
7130
+ err_56 = _a.sent();
7131
+ console.log("perpClient setPool error:: ", err_56);
7132
+ throw err_56;
7151
7133
  case 5: return [2, {
7152
7134
  instructions: __spreadArray([], instructions, true),
7153
7135
  additionalSigners: additionalSigners
@@ -7155,8 +7137,80 @@ var PerpetualsClient = (function () {
7155
7137
  }
7156
7138
  });
7157
7139
  }); };
7140
+ this.moveProtocolFees = function (rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
7141
+ var publicKey, custodyConfig, instructions, additionalSigners, moveProtocolFeesIx, err_57;
7142
+ return __generator(this, function (_a) {
7143
+ switch (_a.label) {
7144
+ case 0:
7145
+ publicKey = this.provider.wallet.publicKey;
7146
+ custodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(rewardSymbol).mintKey); });
7147
+ instructions = [];
7148
+ additionalSigners = [];
7149
+ _a.label = 1;
7150
+ case 1:
7151
+ _a.trys.push([1, 3, , 4]);
7152
+ return [4, this.program.methods
7153
+ .moveProtocolFees({})
7154
+ .accounts({
7155
+ admin: publicKey,
7156
+ multisig: this.multisig.publicKey,
7157
+ transferAuthority: this.authority.publicKey,
7158
+ perpetuals: this.perpetuals.publicKey,
7159
+ tokenVault: poolConfig.tokenVault,
7160
+ pool: poolConfig.poolAddress,
7161
+ custody: custodyConfig.custodyAccount,
7162
+ custodyTokenAccount: custodyConfig.tokenAccount,
7163
+ revenueTokenAccount: poolConfig.revenueTokenAccount,
7164
+ protocol: poolConfig.protocol,
7165
+ protocolTokenAccount: poolConfig.protocolTokenAccount,
7166
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID
7167
+ })
7168
+ .instruction()];
7169
+ case 2:
7170
+ moveProtocolFeesIx = _a.sent();
7171
+ instructions.push(moveProtocolFeesIx);
7172
+ return [3, 4];
7173
+ case 3:
7174
+ err_57 = _a.sent();
7175
+ console.log("perpClient setPool error:: ", err_57);
7176
+ throw err_57;
7177
+ case 4: return [2, {
7178
+ instructions: __spreadArray([], instructions, true),
7179
+ additionalSigners: additionalSigners
7180
+ }];
7181
+ }
7182
+ });
7183
+ }); };
7184
+ this.setProtocolFeeShareBps = function (feeShareBps, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
7185
+ var publicKey, setProtocolFeeShareBpsIx, err_58;
7186
+ return __generator(this, function (_a) {
7187
+ switch (_a.label) {
7188
+ case 0:
7189
+ _a.trys.push([0, 2, , 3]);
7190
+ publicKey = this.provider.wallet.publicKey;
7191
+ return [4, this.program.methods
7192
+ .setProtocolFeeShare({
7193
+ feeShareBps: feeShareBps
7194
+ })
7195
+ .accounts({
7196
+ admin: publicKey,
7197
+ multisig: this.multisig.publicKey,
7198
+ protocol: poolConfig.protocol,
7199
+ })
7200
+ .instruction()];
7201
+ case 1:
7202
+ setProtocolFeeShareBpsIx = _a.sent();
7203
+ return [2, setProtocolFeeShareBpsIx];
7204
+ case 2:
7205
+ err_58 = _a.sent();
7206
+ console.log("perpClient setProtocolFeeShareBpsIx error:: ", err_58);
7207
+ throw err_58;
7208
+ case 3: return [2];
7209
+ }
7210
+ });
7211
+ }); };
7158
7212
  this.setPermissions = function (permissions) { return __awaiter(_this, void 0, void 0, function () {
7159
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, setPermissionsInstruction, err_55;
7213
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, setPermissionsInstruction, err_59;
7160
7214
  return __generator(this, function (_a) {
7161
7215
  switch (_a.label) {
7162
7216
  case 0:
@@ -7183,9 +7237,9 @@ var PerpetualsClient = (function () {
7183
7237
  instructions.push(setPermissionsInstruction);
7184
7238
  return [3, 4];
7185
7239
  case 3:
7186
- err_55 = _a.sent();
7187
- console.log("perpClient setPool error:: ", err_55);
7188
- throw err_55;
7240
+ err_59 = _a.sent();
7241
+ console.log("perpClient setPool error:: ", err_59);
7242
+ throw err_59;
7189
7243
  case 4: return [2, {
7190
7244
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
7191
7245
  additionalSigners: additionalSigners
@@ -7194,7 +7248,7 @@ var PerpetualsClient = (function () {
7194
7248
  });
7195
7249
  }); };
7196
7250
  this.reimburse = function (tokenMint, amountIn, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
7197
- var custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, instructions, additionalSigners, custodyConfig, reimburse, _d, _e, err_56;
7251
+ var custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, instructions, additionalSigners, custodyConfig, reimburse, _d, _e, err_60;
7198
7252
  var _f;
7199
7253
  return __generator(this, function (_g) {
7200
7254
  switch (_g.label) {
@@ -7254,9 +7308,9 @@ var PerpetualsClient = (function () {
7254
7308
  instructions.push(reimburse);
7255
7309
  return [3, 5];
7256
7310
  case 4:
7257
- err_56 = _g.sent();
7258
- console.log("perpClient setPool error:: ", err_56);
7259
- throw err_56;
7311
+ err_60 = _g.sent();
7312
+ console.log("perpClient setPool error:: ", err_60);
7313
+ throw err_60;
7260
7314
  case 5: return [2, {
7261
7315
  instructions: __spreadArray([], instructions, true),
7262
7316
  additionalSigners: additionalSigners
@@ -7265,7 +7319,7 @@ var PerpetualsClient = (function () {
7265
7319
  });
7266
7320
  }); };
7267
7321
  this.setInternalOraclePrice = function (tokenMint, price, expo, conf, ema, publishTime, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
7268
- var instructions, additionalSigners, custodyConfig, setInternalOraclePrice, err_57;
7322
+ var instructions, additionalSigners, custodyConfig, setInternalOraclePrice, err_61;
7269
7323
  return __generator(this, function (_a) {
7270
7324
  switch (_a.label) {
7271
7325
  case 0:
@@ -7298,9 +7352,9 @@ var PerpetualsClient = (function () {
7298
7352
  instructions.push(setInternalOraclePrice);
7299
7353
  return [3, 4];
7300
7354
  case 3:
7301
- err_57 = _a.sent();
7302
- console.log("perpClient setInternalOracleAccount error:: ", err_57);
7303
- throw err_57;
7355
+ err_61 = _a.sent();
7356
+ console.log("perpClient setInternalOracleAccount error:: ", err_61);
7357
+ throw err_61;
7304
7358
  case 4: return [2, {
7305
7359
  instructions: __spreadArray([], instructions, true),
7306
7360
  additionalSigners: additionalSigners
@@ -7308,18 +7362,14 @@ var PerpetualsClient = (function () {
7308
7362
  }
7309
7363
  });
7310
7364
  }); };
7311
- this.addCompoundingLiquidity = function (amountIn_1, minCompoundingAmountOut_1, inTokenSymbol_1, rewardTokenMint_1, poolConfig_1) {
7312
- var args_1 = [];
7313
- for (var _i = 5; _i < arguments.length; _i++) {
7314
- args_1[_i - 5] = arguments[_i];
7315
- }
7316
- return __awaiter(_this, __spreadArray([amountIn_1, minCompoundingAmountOut_1, inTokenSymbol_1, rewardTokenMint_1, poolConfig_1], args_1, true), void 0, function (amountIn, minCompoundingAmountOut, inTokenSymbol, rewardTokenMint, poolConfig, skipBalanceChecks, ephemeralSignerPubkey, userPublicKey) {
7317
- var publicKey, preInstructions, instructions, additionalSigners, postInstructions, rewardCustody, inCustodyConfig, lpTokenMint, compoundingTokenMint, wrappedSolAccount, lpTokenAccount, compoundingTokenAccount, fundingAccount, custodyAccountMetas, custodyOracleAccountMetas, markets, _a, _b, custody, _c, _d, market, lamports, unWrappedSolBalance, _e, addCompoundingLiquidity, err_58;
7318
- if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
7319
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
7320
- if (userPublicKey === void 0) { userPublicKey = undefined; }
7321
- return __generator(this, function (_f) {
7322
- switch (_f.label) {
7365
+ this.addCompoundingLiquidity = function (amountIn, minCompoundingAmountOut, inTokenSymbol, rewardTokenMint, poolConfig, skipBalanceChecks, ephemeralSignerPubkey, userPublicKey) {
7366
+ if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
7367
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
7368
+ if (userPublicKey === void 0) { userPublicKey = undefined; }
7369
+ return __awaiter(_this, void 0, void 0, function () {
7370
+ 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_62;
7371
+ return __generator(this, function (_e) {
7372
+ switch (_e.label) {
7323
7373
  case 0:
7324
7374
  publicKey = userPublicKey !== null && userPublicKey !== void 0 ? userPublicKey : this.provider.wallet.publicKey;
7325
7375
  preInstructions = [];
@@ -7336,8 +7386,8 @@ var PerpetualsClient = (function () {
7336
7386
  custodyAccountMetas = [];
7337
7387
  custodyOracleAccountMetas = [];
7338
7388
  markets = [];
7339
- for (_a = 0, _b = poolConfig.custodies; _a < _b.length; _a++) {
7340
- custody = _b[_a];
7389
+ for (_i = 0, _a = poolConfig.custodies; _i < _a.length; _i++) {
7390
+ custody = _a[_i];
7341
7391
  custodyAccountMetas.push({
7342
7392
  pubkey: custody.custodyAccount,
7343
7393
  isSigner: false,
@@ -7349,8 +7399,8 @@ var PerpetualsClient = (function () {
7349
7399
  isWritable: false,
7350
7400
  });
7351
7401
  }
7352
- for (_c = 0, _d = poolConfig.markets; _c < _d.length; _c++) {
7353
- market = _d[_c];
7402
+ for (_b = 0, _c = poolConfig.markets; _b < _c.length; _b++) {
7403
+ market = _c[_b];
7354
7404
  markets.push({
7355
7405
  pubkey: market.marketAccount,
7356
7406
  isSigner: false,
@@ -7359,26 +7409,26 @@ var PerpetualsClient = (function () {
7359
7409
  }
7360
7410
  return [4, (0, utils_1.checkIfAccountExists)(lpTokenAccount, this.provider.connection)];
7361
7411
  case 1:
7362
- if (!(_f.sent())) {
7412
+ if (!(_e.sent())) {
7363
7413
  instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, lpTokenAccount, publicKey, poolConfig.stakedLpTokenMint));
7364
7414
  }
7365
7415
  return [4, (0, utils_1.checkIfAccountExists)(compoundingTokenAccount, this.provider.connection)];
7366
7416
  case 2:
7367
- if (!(_f.sent())) {
7417
+ if (!(_e.sent())) {
7368
7418
  instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, compoundingTokenAccount, publicKey, poolConfig.compoundingTokenMint));
7369
7419
  }
7370
7420
  if (!(inTokenSymbol == 'SOL')) return [3, 5];
7371
7421
  console.log("inTokenSymbol === SOL", inTokenSymbol);
7372
7422
  lamports = amountIn.add(new anchor_1.BN(this.minimumBalanceForRentExemptAccountLamports));
7373
7423
  if (!!skipBalanceChecks) return [3, 4];
7374
- _e = anchor_1.BN.bind;
7424
+ _d = anchor_1.BN.bind;
7375
7425
  return [4, this.provider.connection.getBalance(publicKey)];
7376
7426
  case 3:
7377
- unWrappedSolBalance = new (_e.apply(anchor_1.BN, [void 0, _f.sent()]))();
7427
+ unWrappedSolBalance = new (_d.apply(anchor_1.BN, [void 0, _e.sent()]))();
7378
7428
  if (unWrappedSolBalance.lt(lamports)) {
7379
7429
  throw "Insufficient SOL Funds";
7380
7430
  }
7381
- _f.label = 4;
7431
+ _e.label = 4;
7382
7432
  case 4:
7383
7433
  if (!ephemeralSignerPubkey) {
7384
7434
  wrappedSolAccount = new web3_js_1.Keypair();
@@ -7402,12 +7452,12 @@ var PerpetualsClient = (function () {
7402
7452
  if (!!skipBalanceChecks) return [3, 7];
7403
7453
  return [4, (0, utils_1.checkIfAccountExists)(fundingAccount, this.provider.connection)];
7404
7454
  case 6:
7405
- if (!(_f.sent())) {
7455
+ if (!(_e.sent())) {
7406
7456
  throw "Insufficient Funds , token Account doesn't exist";
7407
7457
  }
7408
- _f.label = 7;
7458
+ _e.label = 7;
7409
7459
  case 7:
7410
- _f.trys.push([7, 9, , 10]);
7460
+ _e.trys.push([7, 9, , 10]);
7411
7461
  return [4, this.program.methods
7412
7462
  .addCompoundingLiquidity({
7413
7463
  amountIn: amountIn,
@@ -7436,12 +7486,12 @@ var PerpetualsClient = (function () {
7436
7486
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
7437
7487
  .instruction()];
7438
7488
  case 8:
7439
- addCompoundingLiquidity = _f.sent();
7489
+ addCompoundingLiquidity = _e.sent();
7440
7490
  instructions.push(addCompoundingLiquidity);
7441
7491
  return [3, 10];
7442
7492
  case 9:
7443
- err_58 = _f.sent();
7444
- console.log("perpClient addCompoundingLiquidity error:: ", err_58);
7493
+ err_62 = _e.sent();
7494
+ console.log("perpClient addCompoundingLiquidity error:: ", err_62);
7445
7495
  return [3, 10];
7446
7496
  case 10: return [2, {
7447
7497
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
@@ -7451,18 +7501,14 @@ var PerpetualsClient = (function () {
7451
7501
  });
7452
7502
  });
7453
7503
  };
7454
- this.removeCompoundingLiquidity = function (compoundingAmountIn_1, minAmountOut_1, outTokenSymbol_1, rewardTokenMint_1, poolConfig_1) {
7455
- var args_1 = [];
7456
- for (var _i = 5; _i < arguments.length; _i++) {
7457
- args_1[_i - 5] = arguments[_i];
7458
- }
7459
- return __awaiter(_this, __spreadArray([compoundingAmountIn_1, minAmountOut_1, outTokenSymbol_1, rewardTokenMint_1, poolConfig_1], args_1, true), void 0, function (compoundingAmountIn, minAmountOut, outTokenSymbol, rewardTokenMint, poolConfig, createUserATA, ephemeralSignerPubkey, userPublicKey) {
7460
- var publicKey, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, outCustodyConfig, lpTokenMint, compoundingTokenMint, lamports, _a, custodyAccountMetas, custodyOracleAccountMetas, markets, _b, _c, custody, _d, _e, market, compoundingTokenAccount, removeCompoundingLiquidity, err_59;
7461
- if (createUserATA === void 0) { createUserATA = true; }
7462
- if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
7463
- if (userPublicKey === void 0) { userPublicKey = undefined; }
7464
- return __generator(this, function (_f) {
7465
- switch (_f.label) {
7504
+ this.removeCompoundingLiquidity = function (compoundingAmountIn, minAmountOut, outTokenSymbol, rewardTokenMint, poolConfig, createUserATA, ephemeralSignerPubkey, userPublicKey) {
7505
+ if (createUserATA === void 0) { createUserATA = true; }
7506
+ if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
7507
+ if (userPublicKey === void 0) { userPublicKey = undefined; }
7508
+ return __awaiter(_this, void 0, void 0, function () {
7509
+ 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_63;
7510
+ return __generator(this, function (_e) {
7511
+ switch (_e.label) {
7466
7512
  case 0:
7467
7513
  publicKey = userPublicKey !== null && userPublicKey !== void 0 ? userPublicKey : this.provider.wallet.publicKey;
7468
7514
  preInstructions = [];
@@ -7499,19 +7545,19 @@ var PerpetualsClient = (function () {
7499
7545
  if (!_a) return [3, 3];
7500
7546
  return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
7501
7547
  case 2:
7502
- _a = !(_f.sent());
7503
- _f.label = 3;
7548
+ _a = !(_e.sent());
7549
+ _e.label = 3;
7504
7550
  case 3:
7505
7551
  if (_a) {
7506
7552
  preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, outCustodyConfig.mintKey));
7507
7553
  }
7508
- _f.label = 4;
7554
+ _e.label = 4;
7509
7555
  case 4:
7510
7556
  custodyAccountMetas = [];
7511
7557
  custodyOracleAccountMetas = [];
7512
7558
  markets = [];
7513
- for (_b = 0, _c = poolConfig.custodies; _b < _c.length; _b++) {
7514
- custody = _c[_b];
7559
+ for (_i = 0, _b = poolConfig.custodies; _i < _b.length; _i++) {
7560
+ custody = _b[_i];
7515
7561
  custodyAccountMetas.push({
7516
7562
  pubkey: custody.custodyAccount,
7517
7563
  isSigner: false,
@@ -7523,8 +7569,8 @@ var PerpetualsClient = (function () {
7523
7569
  isWritable: false,
7524
7570
  });
7525
7571
  }
7526
- for (_d = 0, _e = poolConfig.markets; _d < _e.length; _d++) {
7527
- market = _e[_d];
7572
+ for (_c = 0, _d = poolConfig.markets; _c < _d.length; _c++) {
7573
+ market = _d[_c];
7528
7574
  markets.push({
7529
7575
  pubkey: market.marketAccount,
7530
7576
  isSigner: false,
@@ -7532,9 +7578,9 @@ var PerpetualsClient = (function () {
7532
7578
  });
7533
7579
  }
7534
7580
  compoundingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(compoundingTokenMint, publicKey, true);
7535
- _f.label = 5;
7581
+ _e.label = 5;
7536
7582
  case 5:
7537
- _f.trys.push([5, 7, , 8]);
7583
+ _e.trys.push([5, 7, , 8]);
7538
7584
  return [4, this.program.methods
7539
7585
  .removeCompoundingLiquidity({
7540
7586
  compoundingAmountIn: compoundingAmountIn,
@@ -7563,12 +7609,12 @@ var PerpetualsClient = (function () {
7563
7609
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
7564
7610
  .instruction()];
7565
7611
  case 6:
7566
- removeCompoundingLiquidity = _f.sent();
7612
+ removeCompoundingLiquidity = _e.sent();
7567
7613
  instructions.push(removeCompoundingLiquidity);
7568
7614
  return [3, 8];
7569
7615
  case 7:
7570
- err_59 = _f.sent();
7571
- console.log("perpClient removeCompoundingLiquidity error:: ", err_59);
7616
+ err_63 = _e.sent();
7617
+ console.log("perpClient removeCompoundingLiquidity error:: ", err_63);
7572
7618
  return [3, 8];
7573
7619
  case 8: return [2, {
7574
7620
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
@@ -7578,16 +7624,12 @@ var PerpetualsClient = (function () {
7578
7624
  });
7579
7625
  });
7580
7626
  };
7581
- this.migrateStake = function (amount_1, rewardTokenMint_1, poolConfig_1) {
7582
- var args_1 = [];
7583
- for (var _i = 3; _i < arguments.length; _i++) {
7584
- args_1[_i - 3] = arguments[_i];
7585
- }
7586
- return __awaiter(_this, __spreadArray([amount_1, rewardTokenMint_1, poolConfig_1], args_1, true), void 0, function (amount, rewardTokenMint, poolConfig, createUserATA) {
7587
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, _a, flpStakeAccount, tokenStakeAccount, tokenStakeAccounts, _b, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _c, _d, custody, _e, _f, market, migrateStake, err_60;
7588
- if (createUserATA === void 0) { createUserATA = true; }
7589
- return __generator(this, function (_g) {
7590
- switch (_g.label) {
7627
+ this.migrateStake = function (amount, rewardTokenMint, poolConfig, createUserATA) {
7628
+ if (createUserATA === void 0) { createUserATA = true; }
7629
+ return __awaiter(_this, void 0, void 0, function () {
7630
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, _a, flpStakeAccount, tokenStakeAccount, tokenStakeAccounts, _b, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _c, custody, _d, _e, market, migrateStake, err_64;
7631
+ return __generator(this, function (_f) {
7632
+ switch (_f.label) {
7591
7633
  case 0:
7592
7634
  publicKey = this.provider.wallet.publicKey;
7593
7635
  preInstructions = [];
@@ -7602,8 +7644,8 @@ var PerpetualsClient = (function () {
7602
7644
  if (!_a) return [3, 2];
7603
7645
  return [4, (0, utils_1.checkIfAccountExists)(compoudingTokenAccount, this.provider.connection)];
7604
7646
  case 1:
7605
- _a = !(_g.sent());
7606
- _g.label = 2;
7647
+ _a = !(_f.sent());
7648
+ _f.label = 2;
7607
7649
  case 2:
7608
7650
  if (_a) {
7609
7651
  preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, compoudingTokenAccount, publicKey, compoundingTokenMint));
@@ -7615,8 +7657,8 @@ var PerpetualsClient = (function () {
7615
7657
  if (!_b) return [3, 4];
7616
7658
  return [4, (0, utils_1.checkIfAccountExists)(tokenStakeAccount, this.provider.connection)];
7617
7659
  case 3:
7618
- _b = (_g.sent());
7619
- _g.label = 4;
7660
+ _b = (_f.sent());
7661
+ _f.label = 4;
7620
7662
  case 4:
7621
7663
  if (_b) {
7622
7664
  tokenStakeAccounts.push({
@@ -7629,8 +7671,8 @@ var PerpetualsClient = (function () {
7629
7671
  custodyAccountMetas = [];
7630
7672
  custodyOracleAccountMetas = [];
7631
7673
  markets = [];
7632
- for (_c = 0, _d = poolConfig.custodies; _c < _d.length; _c++) {
7633
- custody = _d[_c];
7674
+ for (_i = 0, _c = poolConfig.custodies; _i < _c.length; _i++) {
7675
+ custody = _c[_i];
7634
7676
  custodyAccountMetas.push({
7635
7677
  pubkey: custody.custodyAccount,
7636
7678
  isSigner: false,
@@ -7642,17 +7684,17 @@ var PerpetualsClient = (function () {
7642
7684
  isWritable: false,
7643
7685
  });
7644
7686
  }
7645
- for (_e = 0, _f = poolConfig.markets; _e < _f.length; _e++) {
7646
- market = _f[_e];
7687
+ for (_d = 0, _e = poolConfig.markets; _d < _e.length; _d++) {
7688
+ market = _e[_d];
7647
7689
  markets.push({
7648
7690
  pubkey: market.marketAccount,
7649
7691
  isSigner: false,
7650
7692
  isWritable: false,
7651
7693
  });
7652
7694
  }
7653
- _g.label = 5;
7695
+ _f.label = 5;
7654
7696
  case 5:
7655
- _g.trys.push([5, 7, , 8]);
7697
+ _f.trys.push([5, 7, , 8]);
7656
7698
  return [4, this.program.methods
7657
7699
  .migrateStake({
7658
7700
  amount: amount
@@ -7678,12 +7720,12 @@ var PerpetualsClient = (function () {
7678
7720
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true), tokenStakeAccounts, true))
7679
7721
  .instruction()];
7680
7722
  case 6:
7681
- migrateStake = _g.sent();
7723
+ migrateStake = _f.sent();
7682
7724
  instructions.push(migrateStake);
7683
7725
  return [3, 8];
7684
7726
  case 7:
7685
- err_60 = _g.sent();
7686
- console.log("perpClient migrateStake error:: ", err_60);
7727
+ err_64 = _f.sent();
7728
+ console.log("perpClient migrateStake error:: ", err_64);
7687
7729
  return [3, 8];
7688
7730
  case 8: return [2, {
7689
7731
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
@@ -7694,7 +7736,7 @@ var PerpetualsClient = (function () {
7694
7736
  });
7695
7737
  };
7696
7738
  this.migrateFlp = function (amount, rewardTokenMint, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
7697
- var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, migrateFlp, err_61;
7739
+ var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, migrateFlp, err_65;
7698
7740
  return __generator(this, function (_d) {
7699
7741
  switch (_d.label) {
7700
7742
  case 0:
@@ -7766,8 +7808,8 @@ var PerpetualsClient = (function () {
7766
7808
  instructions.push(migrateFlp);
7767
7809
  return [3, 4];
7768
7810
  case 3:
7769
- err_61 = _d.sent();
7770
- console.log("perpClient migrateFlp error:: ", err_61);
7811
+ err_65 = _d.sent();
7812
+ console.log("perpClient migrateFlp error:: ", err_65);
7771
7813
  return [3, 4];
7772
7814
  case 4: return [2, {
7773
7815
  instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
@@ -7776,16 +7818,12 @@ var PerpetualsClient = (function () {
7776
7818
  }
7777
7819
  });
7778
7820
  }); };
7779
- this.compoundingFee = function (poolConfig_1) {
7780
- var args_1 = [];
7781
- for (var _i = 1; _i < arguments.length; _i++) {
7782
- args_1[_i - 1] = arguments[_i];
7783
- }
7784
- return __awaiter(_this, __spreadArray([poolConfig_1], args_1, true), void 0, function (poolConfig, rewardTokenSymbol) {
7785
- var instructions, additionalSigners, rewardCustody, lpTokenMint, custodyAccountMetas, custodyOracleAccountMetas, markets, _a, _b, custody, _c, _d, market, compoundingFee, err_62;
7786
- if (rewardTokenSymbol === void 0) { rewardTokenSymbol = 'USDC'; }
7787
- return __generator(this, function (_e) {
7788
- switch (_e.label) {
7821
+ this.compoundingFee = function (poolConfig, rewardTokenSymbol) {
7822
+ if (rewardTokenSymbol === void 0) { rewardTokenSymbol = 'USDC'; }
7823
+ return __awaiter(_this, void 0, void 0, function () {
7824
+ var instructions, additionalSigners, rewardCustody, lpTokenMint, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, compoundingFee, err_66;
7825
+ return __generator(this, function (_d) {
7826
+ switch (_d.label) {
7789
7827
  case 0:
7790
7828
  instructions = [];
7791
7829
  additionalSigners = [];
@@ -7794,8 +7832,8 @@ var PerpetualsClient = (function () {
7794
7832
  custodyAccountMetas = [];
7795
7833
  custodyOracleAccountMetas = [];
7796
7834
  markets = [];
7797
- for (_a = 0, _b = poolConfig.custodies; _a < _b.length; _a++) {
7798
- custody = _b[_a];
7835
+ for (_i = 0, _a = poolConfig.custodies; _i < _a.length; _i++) {
7836
+ custody = _a[_i];
7799
7837
  custodyAccountMetas.push({
7800
7838
  pubkey: custody.custodyAccount,
7801
7839
  isSigner: false,
@@ -7807,17 +7845,17 @@ var PerpetualsClient = (function () {
7807
7845
  isWritable: false,
7808
7846
  });
7809
7847
  }
7810
- for (_c = 0, _d = poolConfig.markets; _c < _d.length; _c++) {
7811
- market = _d[_c];
7848
+ for (_b = 0, _c = poolConfig.markets; _b < _c.length; _b++) {
7849
+ market = _c[_b];
7812
7850
  markets.push({
7813
7851
  pubkey: market.marketAccount,
7814
7852
  isSigner: false,
7815
7853
  isWritable: false,
7816
7854
  });
7817
7855
  }
7818
- _e.label = 1;
7856
+ _d.label = 1;
7819
7857
  case 1:
7820
- _e.trys.push([1, 3, , 4]);
7858
+ _d.trys.push([1, 3, , 4]);
7821
7859
  return [4, this.program.methods
7822
7860
  .compoundFees({})
7823
7861
  .accounts({
@@ -7836,12 +7874,12 @@ var PerpetualsClient = (function () {
7836
7874
  .remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
7837
7875
  .instruction()];
7838
7876
  case 2:
7839
- compoundingFee = _e.sent();
7877
+ compoundingFee = _d.sent();
7840
7878
  instructions.push(compoundingFee);
7841
7879
  return [3, 4];
7842
7880
  case 3:
7843
- err_62 = _e.sent();
7844
- console.log("perpClient compoundingFee error:: ", err_62);
7881
+ err_66 = _d.sent();
7882
+ console.log("perpClient compoundingFee error:: ", err_66);
7845
7883
  return [3, 4];
7846
7884
  case 4: return [2, {
7847
7885
  instructions: __spreadArray([], instructions, true),
@@ -7852,7 +7890,7 @@ var PerpetualsClient = (function () {
7852
7890
  });
7853
7891
  };
7854
7892
  this.renameFlp = function (flag, lpTokenName, lpTokenSymbol, lpTokenUri, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
7855
- var publicKey, instructions, additionalSigners, lpTokenMint, lpMetadataAccount, renameFlp, err_63;
7893
+ var publicKey, instructions, additionalSigners, lpTokenMint, lpMetadataAccount, renameFlp, err_67;
7856
7894
  return __generator(this, function (_a) {
7857
7895
  switch (_a.label) {
7858
7896
  case 0:
@@ -7890,8 +7928,8 @@ var PerpetualsClient = (function () {
7890
7928
  instructions.push(renameFlp);
7891
7929
  return [3, 4];
7892
7930
  case 3:
7893
- err_63 = _a.sent();
7894
- console.log("perpClient renameFlp error:: ", err_63);
7931
+ err_67 = _a.sent();
7932
+ console.log("perpClient renameFlp error:: ", err_67);
7895
7933
  return [3, 4];
7896
7934
  case 4: return [2, {
7897
7935
  instructions: __spreadArray([], instructions, true),
@@ -8001,9 +8039,9 @@ var PerpetualsClient = (function () {
8001
8039
  }
8002
8040
  }
8003
8041
  };
8004
- PerpetualsClient.prototype.sendTransaction = function (ixs_1) {
8005
- return __awaiter(this, arguments, void 0, function (ixs, opts) {
8006
- if (opts === void 0) { opts = {}; }
8042
+ PerpetualsClient.prototype.sendTransaction = function (ixs, opts) {
8043
+ if (opts === void 0) { opts = {}; }
8044
+ return __awaiter(this, void 0, void 0, function () {
8007
8045
  return __generator(this, function (_a) {
8008
8046
  switch (_a.label) {
8009
8047
  case 0: return [4, (0, rpc_1.sendTransaction)(this.program.provider, ixs, __assign({ postSendTxCallback: this.postSendTxCallback, prioritizationFee: this.prioritizationFee }, opts))];
@@ -8012,9 +8050,9 @@ var PerpetualsClient = (function () {
8012
8050
  });
8013
8051
  });
8014
8052
  };
8015
- PerpetualsClient.prototype.sendTransactionV3 = function (ixs_1) {
8016
- return __awaiter(this, arguments, void 0, function (ixs, opts) {
8017
- if (opts === void 0) { opts = {}; }
8053
+ PerpetualsClient.prototype.sendTransactionV3 = function (ixs, opts) {
8054
+ if (opts === void 0) { opts = {}; }
8055
+ return __awaiter(this, void 0, void 0, function () {
8018
8056
  return __generator(this, function (_a) {
8019
8057
  switch (_a.label) {
8020
8058
  case 0: return [4, (0, rpc_1.sendTransactionV3)(this.program.provider, ixs, __assign({ postSendTxCallback: this.postSendTxCallback, prioritizationFee: this.prioritizationFee }, opts))];