flash-sdk 2.48.8-alpha.0 → 2.49.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.
- package/dist/PerpetualsClient.d.ts +8 -4
- package/dist/PerpetualsClient.js +513 -604
- package/dist/PoolConfig.json +220 -0
- package/dist/ViewHelper.js +3 -3
- package/dist/backupOracle.js +3 -3
- package/dist/idl/perpetuals.d.ts +55 -0
- package/dist/idl/perpetuals.js +55 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/utils/alt.d.ts +1 -0
- package/dist/utils/rpc.js +50 -50
- package/package.json +1 -1
package/dist/PerpetualsClient.js
CHANGED
@@ -719,8 +719,8 @@ var PerpetualsClient = (function () {
|
|
719
719
|
return { feeBps: fees.minFee, feeAmount: anchor_1.BN.max(amountAdd, amountRemove).mul(fees.minFee).div(new anchor_1.BN(constants_1.RATE_POWER)) };
|
720
720
|
}
|
721
721
|
var newRatio = _this.getNewRatioHelper(amountAdd, amountRemove, inputTokenCustodyAccount, maxOraclePrice, poolAumUsdMax);
|
722
|
-
var
|
723
|
-
|
722
|
+
var inputCustodyConfig = poolConfig.custodies.find(function (i) { return i.custodyAccount.equals(inputTokenCustodyAccount.publicKey); });
|
723
|
+
var index = inputCustodyConfig.custodyId;
|
724
724
|
var ratios = poolAccount.ratios[index];
|
725
725
|
var fee = constants_1.BN_ZERO;
|
726
726
|
if (action == types_1.FeesAction.AddLiquidity || action == types_1.FeesAction.SwapIn || action == types_1.FeesAction.StableSwapIn) {
|
@@ -2149,40 +2149,36 @@ var PerpetualsClient = (function () {
|
|
2149
2149
|
}
|
2150
2150
|
});
|
2151
2151
|
}); };
|
2152
|
-
this.getAddLiquidityAmountAndFeeView = function (
|
2153
|
-
|
2154
|
-
|
2155
|
-
|
2156
|
-
|
2157
|
-
|
2158
|
-
|
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 (
|
2169
|
-
token = custodies_5[
|
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 (
|
2177
|
-
custody = custodies_6[
|
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 (
|
2185
|
-
market =
|
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 =
|
2204
|
+
transaction = _e.sent();
|
2209
2205
|
return [4, backUpOracleInstructionPromise];
|
2210
2206
|
case 2:
|
2211
|
-
backUpOracleInstruction =
|
2212
|
-
(
|
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 =
|
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 (
|
2227
|
-
|
2228
|
-
|
2229
|
-
|
2230
|
-
|
2231
|
-
|
2232
|
-
|
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 (
|
2243
|
-
token = custodies_7[
|
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 (
|
2251
|
-
custody = custodies_8[
|
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 (
|
2259
|
-
market =
|
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 =
|
2274
|
+
transaction = _e.sent();
|
2283
2275
|
return [4, backUpOracleInstructionPromise];
|
2284
2276
|
case 2:
|
2285
|
-
backUpOracleInstruction =
|
2286
|
-
(
|
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 =
|
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 (
|
2366
|
-
|
2367
|
-
|
2368
|
-
|
2369
|
-
|
2370
|
-
|
2371
|
-
|
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 (
|
2382
|
-
token = custodies_11[
|
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 (
|
2390
|
-
custody = custodies_12[
|
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 (
|
2398
|
-
market =
|
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 =
|
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 =
|
2429
|
-
(
|
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 =
|
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 (
|
2444
|
-
|
2445
|
-
|
2446
|
-
|
2447
|
-
|
2448
|
-
|
2449
|
-
|
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 (
|
2460
|
-
token = custodies_13[
|
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 (
|
2468
|
-
custody = custodies_14[
|
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 (
|
2476
|
-
market =
|
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 =
|
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 =
|
2507
|
-
(
|
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 =
|
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 (
|
2650
|
-
|
2651
|
-
|
2652
|
-
|
2653
|
-
}
|
2654
|
-
|
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 (
|
2765
|
-
|
2766
|
-
|
2767
|
-
|
2768
|
-
}
|
2769
|
-
|
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 (
|
2874
|
-
|
2875
|
-
|
2876
|
-
|
2877
|
-
}
|
2878
|
-
|
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 (
|
3025
|
-
|
3026
|
-
|
3027
|
-
|
3028
|
-
}
|
3029
|
-
return __awaiter(_this,
|
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 (
|
3149
|
-
|
3150
|
-
|
3151
|
-
|
3152
|
-
}
|
3153
|
-
|
3154
|
-
|
3155
|
-
|
3156
|
-
|
3157
|
-
|
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 =
|
3143
|
+
wsolAssociatedTokenAccount = _f.sent();
|
3180
3144
|
return [4, (0, utils_1.checkIfAccountExists)(wsolAssociatedTokenAccount, this.provider.connection)];
|
3181
3145
|
case 2:
|
3182
|
-
wsolATAExist =
|
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,
|
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
|
-
|
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
|
-
|
3180
|
+
_f.label = 6;
|
3217
3181
|
case 6:
|
3218
|
-
|
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 = (
|
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,
|
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 (!(
|
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, (
|
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
|
-
|
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 =
|
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 = !(
|
3298
|
-
|
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
|
-
|
3267
|
+
_f.label = 17;
|
3304
3268
|
case 17:
|
3305
3269
|
custodyAccountMetas = [];
|
3306
3270
|
custodyOracleAccountMetas = [];
|
3307
|
-
for (
|
3308
|
-
custody =
|
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 =
|
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 =
|
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 (
|
3439
|
-
|
3440
|
-
|
3441
|
-
|
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 (
|
3541
|
-
|
3542
|
-
|
3543
|
-
|
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 (
|
3660
|
-
|
3661
|
-
|
3662
|
-
|
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 (
|
3770
|
-
|
3771
|
-
|
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 (
|
3870
|
-
|
3871
|
-
|
3872
|
-
|
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 (
|
3934
|
-
|
3935
|
-
|
3936
|
-
|
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 (
|
3998
|
-
|
3999
|
-
|
4000
|
-
|
4001
|
-
|
4002
|
-
|
4003
|
-
|
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
|
-
|
3954
|
+
_f.label = 1;
|
4019
3955
|
case 1:
|
4020
|
-
|
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 (
|
4027
|
-
custody =
|
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 (
|
4040
|
-
market =
|
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 (!(
|
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
|
-
|
3992
|
+
_d = anchor_1.BN.bind;
|
4057
3993
|
return [4, this.provider.connection.getBalance(publicKey)];
|
4058
3994
|
case 3:
|
4059
|
-
unWrappedSolBalance = new (
|
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
|
-
|
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 (!(
|
4023
|
+
if (!(_f.sent())) {
|
4088
4024
|
throw "Insufficient Funds , token Account doesn't exist";
|
4089
4025
|
}
|
4090
|
-
|
4026
|
+
_e = anchor_1.BN.bind;
|
4091
4027
|
return [4, this.provider.connection.getTokenAccountBalance(userPayingTokenAccount)];
|
4092
4028
|
case 7:
|
4093
|
-
tokenAccountBalance = new (
|
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
|
-
|
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 =
|
4058
|
+
instruction = _f.sent();
|
4123
4059
|
instructions.push(instruction);
|
4124
4060
|
return [3, 11];
|
4125
4061
|
case 10:
|
4126
|
-
err_6 =
|
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 (
|
4138
|
-
|
4139
|
-
|
4140
|
-
|
4141
|
-
|
4142
|
-
|
4143
|
-
|
4144
|
-
|
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,
|
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
|
-
|
4104
|
+
_f.label = 2;
|
4173
4105
|
case 2: return [4, (0, utils_1.checkIfAccountExists)(lpTokenAccount, this.provider.connection)];
|
4174
4106
|
case 3:
|
4175
|
-
if (!(
|
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 (!(
|
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, (
|
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
|
-
|
4143
|
+
_f.label = 7;
|
4212
4144
|
case 7:
|
4213
4145
|
custodyAccountMetas = [];
|
4214
4146
|
custodyOracleAccountMetas = [];
|
4215
4147
|
markets = [];
|
4216
|
-
for (
|
4217
|
-
custody =
|
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 (
|
4230
|
-
market =
|
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 =
|
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 (
|
4273
|
-
|
4274
|
-
|
4275
|
-
|
4276
|
-
}
|
4277
|
-
|
4278
|
-
|
4279
|
-
|
4280
|
-
|
4281
|
-
|
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
|
-
|
4224
|
+
_e.label = 1;
|
4297
4225
|
case 1:
|
4298
|
-
|
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 (
|
4304
|
-
custody =
|
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 (
|
4317
|
-
market =
|
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
|
-
|
4347
|
-
if (!
|
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
|
-
|
4351
|
-
|
4278
|
+
_d = !(_e.sent());
|
4279
|
+
_e.label = 4;
|
4352
4280
|
case 4:
|
4353
|
-
if (
|
4281
|
+
if (_d) {
|
4354
4282
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(recieveTokenSymbol).mintKey));
|
4355
4283
|
}
|
4356
|
-
|
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 =
|
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 =
|
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 (
|
4812
|
-
|
4813
|
-
|
4814
|
-
|
4815
|
-
|
4816
|
-
|
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
|
-
|
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 (
|
4830
|
-
custody =
|
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 =
|
4786
|
+
refreshStakeInstruction = _b.sent();
|
4863
4787
|
return [2, refreshStakeInstruction];
|
4864
4788
|
case 2:
|
4865
|
-
err_16 =
|
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];
|
@@ -4870,75 +4794,68 @@ var PerpetualsClient = (function () {
|
|
4870
4794
|
});
|
4871
4795
|
});
|
4872
4796
|
};
|
4873
|
-
this.unstakeInstant = function (
|
4874
|
-
var
|
4875
|
-
|
4876
|
-
|
4877
|
-
|
4878
|
-
|
4879
|
-
|
4880
|
-
|
4881
|
-
|
4882
|
-
|
4883
|
-
|
4884
|
-
|
4885
|
-
|
4886
|
-
|
4887
|
-
|
4888
|
-
|
4889
|
-
|
4890
|
-
|
4891
|
-
|
4892
|
-
|
4893
|
-
|
4894
|
-
|
4895
|
-
|
4896
|
-
|
4897
|
-
|
4898
|
-
|
4899
|
-
|
4900
|
-
|
4901
|
-
|
4902
|
-
|
4903
|
-
|
4904
|
-
|
4905
|
-
|
4906
|
-
|
4907
|
-
|
4908
|
-
|
4909
|
-
|
4910
|
-
|
4911
|
-
|
4912
|
-
|
4913
|
-
|
4914
|
-
|
4915
|
-
|
4916
|
-
|
4917
|
-
|
4918
|
-
|
4919
|
-
|
4920
|
-
|
4921
|
-
|
4922
|
-
|
4923
|
-
|
4924
|
-
|
4925
|
-
|
4926
|
-
|
4927
|
-
|
4928
|
-
|
4929
|
-
|
4930
|
-
|
4931
|
-
|
4932
|
-
|
4933
|
-
throw err_17;
|
4934
|
-
case 6: return [2, {
|
4935
|
-
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
4936
|
-
additionalSigners: additionalSigners
|
4937
|
-
}];
|
4938
|
-
}
|
4939
|
-
});
|
4797
|
+
this.unstakeInstant = function (rewardSymbol, unstakeAmount, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
4798
|
+
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustodyConfig, pool, flpStakeAccount, tokenStakeAccount, tokenStakeAccounts, _a, unstakeInstantInstruction, err_17;
|
4799
|
+
return __generator(this, function (_b) {
|
4800
|
+
switch (_b.label) {
|
4801
|
+
case 0:
|
4802
|
+
publicKey = this.provider.wallet.publicKey;
|
4803
|
+
preInstructions = [];
|
4804
|
+
instructions = [];
|
4805
|
+
postInstructions = [];
|
4806
|
+
additionalSigners = [];
|
4807
|
+
_b.label = 1;
|
4808
|
+
case 1:
|
4809
|
+
_b.trys.push([1, 5, , 6]);
|
4810
|
+
rewardCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(rewardSymbol).mintKey); });
|
4811
|
+
pool = poolConfig.poolAddress;
|
4812
|
+
flpStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stake"), publicKey.toBuffer(), pool.toBuffer()], this.programId)[0];
|
4813
|
+
tokenStakeAccount = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("token_stake"), publicKey.toBuffer()], this.programId)[0];
|
4814
|
+
tokenStakeAccounts = [];
|
4815
|
+
_a = tokenStakeAccount;
|
4816
|
+
if (!_a) return [3, 3];
|
4817
|
+
return [4, (0, utils_1.checkIfAccountExists)(tokenStakeAccount, this.provider.connection)];
|
4818
|
+
case 2:
|
4819
|
+
_a = (_b.sent());
|
4820
|
+
_b.label = 3;
|
4821
|
+
case 3:
|
4822
|
+
if (_a) {
|
4823
|
+
tokenStakeAccounts.push({
|
4824
|
+
pubkey: tokenStakeAccount,
|
4825
|
+
isSigner: false,
|
4826
|
+
isWritable: false,
|
4827
|
+
});
|
4828
|
+
}
|
4829
|
+
return [4, this.program.methods
|
4830
|
+
.unstakeInstant({
|
4831
|
+
unstakeAmount: unstakeAmount
|
4832
|
+
})
|
4833
|
+
.accounts({
|
4834
|
+
owner: publicKey,
|
4835
|
+
perpetuals: this.perpetuals.publicKey,
|
4836
|
+
pool: pool,
|
4837
|
+
flpStakeAccount: flpStakeAccount,
|
4838
|
+
rewardCustody: rewardCustodyConfig.custodyAccount,
|
4839
|
+
eventAuthority: this.eventAuthority.publicKey,
|
4840
|
+
program: this.program.programId,
|
4841
|
+
})
|
4842
|
+
.remainingAccounts(__spreadArray([], tokenStakeAccounts, true))
|
4843
|
+
.instruction()];
|
4844
|
+
case 4:
|
4845
|
+
unstakeInstantInstruction = _b.sent();
|
4846
|
+
instructions.push(unstakeInstantInstruction);
|
4847
|
+
return [3, 6];
|
4848
|
+
case 5:
|
4849
|
+
err_17 = _b.sent();
|
4850
|
+
console.log("perpClient unstakeInstant error:: ", err_17);
|
4851
|
+
throw err_17;
|
4852
|
+
case 6: return [2, {
|
4853
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
4854
|
+
additionalSigners: additionalSigners
|
4855
|
+
}];
|
4856
|
+
}
|
4940
4857
|
});
|
4941
|
-
};
|
4858
|
+
}); };
|
4942
4859
|
this.setFeeShareBps = function (poolConfig, flpStakeAccountPks) { return __awaiter(_this, void 0, void 0, function () {
|
4943
4860
|
var publicKey, pool, custodyAccountMetas, _i, _a, custody, maxFlpStakeAccountPkLength, flpStakeAccountMetas, _b, flpStakeAccountPks_2, flpStakeAccountPk, refreshStakeInstruction, err_18;
|
4944
4861
|
return __generator(this, function (_c) {
|
@@ -5036,21 +4953,16 @@ var PerpetualsClient = (function () {
|
|
5036
4953
|
}
|
5037
4954
|
});
|
5038
4955
|
}); };
|
5039
|
-
this.withdrawStake = function (
|
5040
|
-
|
5041
|
-
|
5042
|
-
|
5043
|
-
|
5044
|
-
return __awaiter(_this, __spreadArray([poolConfig_1], args_1, true), void 0, function (poolConfig, pendingActivation, deactivated, createUserLPTA, userPublicKey) {
|
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 () {
|
5045
4961
|
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, lpTokenMint, pool, poolStakedLpVault, flpStakeAccount, userLpTokenAccount, _a, withdrawStakeInstruction, err_20;
|
5046
|
-
if (pendingActivation === void 0) { pendingActivation = true; }
|
5047
|
-
if (deactivated === void 0) { deactivated = true; }
|
5048
|
-
if (createUserLPTA === void 0) { createUserLPTA = true; }
|
5049
|
-
if (userPublicKey === void 0) { userPublicKey = undefined; }
|
5050
4962
|
return __generator(this, function (_b) {
|
5051
4963
|
switch (_b.label) {
|
5052
4964
|
case 0:
|
5053
|
-
publicKey =
|
4965
|
+
publicKey = this.provider.wallet.publicKey;
|
5054
4966
|
preInstructions = [];
|
5055
4967
|
instructions = [];
|
5056
4968
|
postInstructions = [];
|
@@ -5108,14 +5020,10 @@ var PerpetualsClient = (function () {
|
|
5108
5020
|
});
|
5109
5021
|
});
|
5110
5022
|
};
|
5111
|
-
this.collectStakeFees = function (
|
5112
|
-
|
5113
|
-
|
5114
|
-
args_1[_i - 3] = arguments[_i];
|
5115
|
-
}
|
5116
|
-
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 () {
|
5117
5026
|
var publicKey, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tokenStakeAccounts, withdrawStakeInstruction, err_21;
|
5118
|
-
if (createUserATA === void 0) { createUserATA = true; }
|
5119
5027
|
return __generator(this, function (_b) {
|
5120
5028
|
switch (_b.label) {
|
5121
5029
|
case 0:
|
@@ -5839,14 +5747,10 @@ var PerpetualsClient = (function () {
|
|
5839
5747
|
}
|
5840
5748
|
});
|
5841
5749
|
}); };
|
5842
|
-
this.collectTokenReward = function (
|
5843
|
-
|
5844
|
-
|
5845
|
-
args_1[_i - 2] = arguments[_i];
|
5846
|
-
}
|
5847
|
-
return __awaiter(_this, __spreadArray([owner_1, poolConfig_1], args_1, true), void 0, function (owner, poolConfig, createUserATA) {
|
5750
|
+
this.collectTokenReward = function (owner, poolConfig, createUserATA) {
|
5751
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
5752
|
+
return __awaiter(_this, void 0, void 0, function () {
|
5848
5753
|
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, tokenStakeAccount, userTokenAccount, _a, collectTokenRewardInstruction, err_35;
|
5849
|
-
if (createUserATA === void 0) { createUserATA = true; }
|
5850
5754
|
return __generator(this, function (_b) {
|
5851
5755
|
switch (_b.label) {
|
5852
5756
|
case 0:
|
@@ -5901,14 +5805,10 @@ var PerpetualsClient = (function () {
|
|
5901
5805
|
});
|
5902
5806
|
});
|
5903
5807
|
};
|
5904
|
-
this.collectRevenue = function (
|
5905
|
-
|
5906
|
-
|
5907
|
-
args_1[_i - 3] = arguments[_i];
|
5908
|
-
}
|
5909
|
-
return __awaiter(_this, __spreadArray([owner_1, rewardSymbol_1, poolConfig_1], args_1, true), void 0, function (owner, rewardSymbol, poolConfig, createUserATA) {
|
5808
|
+
this.collectRevenue = function (owner, rewardSymbol, poolConfig, createUserATA) {
|
5809
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
5810
|
+
return __awaiter(_this, void 0, void 0, function () {
|
5910
5811
|
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustodyMint, tokenStakeAccount, userTokenAccount, _a, collectRevenueInstruction, err_36;
|
5911
|
-
if (createUserATA === void 0) { createUserATA = true; }
|
5912
5812
|
return __generator(this, function (_b) {
|
5913
5813
|
switch (_b.label) {
|
5914
5814
|
case 0:
|
@@ -6093,14 +5993,10 @@ var PerpetualsClient = (function () {
|
|
6093
5993
|
}
|
6094
5994
|
});
|
6095
5995
|
}); };
|
6096
|
-
this.collectNftReward = function (
|
6097
|
-
|
6098
|
-
|
6099
|
-
args_1[_i - 3] = arguments[_i];
|
6100
|
-
}
|
6101
|
-
return __awaiter(_this, __spreadArray([rewardSymbol_1, poolConfig_1, nftMint_1], args_1, true), void 0, function (rewardSymbol, poolConfig, nftMint, createUserATA) {
|
5996
|
+
this.collectNftReward = function (rewardSymbol, poolConfig, nftMint, createUserATA) {
|
5997
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
5998
|
+
return __awaiter(_this, void 0, void 0, function () {
|
6102
5999
|
var publicKey, rewardCustodyMint, instructions, additionalSigners, nftTokenAccount, metadataAccount, receivingTokenAccount, _a, rewardRecord, rewardVault, rewardTokenAccount, nftTransferAuthority, collectNftReward, err_40;
|
6103
|
-
if (createUserATA === void 0) { createUserATA = true; }
|
6104
6000
|
return __generator(this, function (_b) {
|
6105
6001
|
switch (_b.label) {
|
6106
6002
|
case 0:
|
@@ -6160,14 +6056,10 @@ var PerpetualsClient = (function () {
|
|
6160
6056
|
});
|
6161
6057
|
});
|
6162
6058
|
};
|
6163
|
-
this.collectAndDistributeFee = function (
|
6164
|
-
|
6165
|
-
|
6166
|
-
args_1[_i - 2] = arguments[_i];
|
6167
|
-
}
|
6168
|
-
return __awaiter(_this, __spreadArray([rewardSymbol_1, poolConfig_1], args_1, true), void 0, function (rewardSymbol, poolConfig, createUserATA, nftTradingAccount) {
|
6059
|
+
this.collectAndDistributeFee = function (rewardSymbol, poolConfig, createUserATA, nftTradingAccount) {
|
6060
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
6061
|
+
return __awaiter(_this, void 0, void 0, function () {
|
6169
6062
|
var publicKey, rewardCustodyMint, rewardCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, pool, flpStakeAccount, receivingTokenAccount, _a, tradingAccount, rewardVault, rewardTokenAccount, withdrawStakeInstruction, err_41;
|
6170
|
-
if (createUserATA === void 0) { createUserATA = true; }
|
6171
6063
|
return __generator(this, function (_b) {
|
6172
6064
|
switch (_b.label) {
|
6173
6065
|
case 0:
|
@@ -6292,16 +6184,12 @@ var PerpetualsClient = (function () {
|
|
6292
6184
|
}
|
6293
6185
|
});
|
6294
6186
|
}); };
|
6295
|
-
this.forceClosePosition = function (
|
6296
|
-
|
6297
|
-
|
6298
|
-
|
6299
|
-
|
6300
|
-
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) {
|
6187
|
+
this.forceClosePosition = function (positionAccount, targetSymbol, collateralSymbol, side, isStopLoss, poolConfig, createUserATA, closeUsersWSOLATA, ephemeralSignerPubkey) {
|
6188
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
6189
|
+
if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
|
6190
|
+
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
6191
|
+
return __awaiter(_this, void 0, void 0, function () {
|
6301
6192
|
var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, forceClosePosition, closeWsolATAIns, err_43;
|
6302
|
-
if (createUserATA === void 0) { createUserATA = true; }
|
6303
|
-
if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
|
6304
|
-
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
6305
6193
|
return __generator(this, function (_b) {
|
6306
6194
|
switch (_b.label) {
|
6307
6195
|
case 0:
|
@@ -6373,15 +6261,11 @@ var PerpetualsClient = (function () {
|
|
6373
6261
|
});
|
6374
6262
|
});
|
6375
6263
|
};
|
6376
|
-
this.placeLimitOrder = function (
|
6377
|
-
|
6378
|
-
|
6379
|
-
|
6380
|
-
}
|
6381
|
-
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) {
|
6264
|
+
this.placeLimitOrder = function (targetSymbol, collateralSymbol, reserveSymbol, receiveSymbol, side, limitPrice, reserveAmount, sizeAmount, stopLossPrice, takeProfitPrice, poolConfig, skipBalanceChecks, ephemeralSignerPubkey) {
|
6265
|
+
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
6266
|
+
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
6267
|
+
return __awaiter(_this, void 0, void 0, function () {
|
6382
6268
|
var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, receiveCustodyConfig, marketAccount, userReserveTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, accCreationLamports, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, positionAccount, orderAccount, placeLimitOrder, err_44;
|
6383
|
-
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
6384
|
-
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
6385
6269
|
return __generator(this, function (_c) {
|
6386
6270
|
switch (_c.label) {
|
6387
6271
|
case 0:
|
@@ -6497,15 +6381,11 @@ var PerpetualsClient = (function () {
|
|
6497
6381
|
});
|
6498
6382
|
});
|
6499
6383
|
};
|
6500
|
-
this.editLimitOrder = function (
|
6501
|
-
|
6502
|
-
|
6503
|
-
|
6504
|
-
}
|
6505
|
-
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
|
+
this.editLimitOrder = function (targetSymbol, collateralSymbol, reserveSymbol, receiveSymbol, side, orderId, limitPrice, sizeAmount, stopLossPrice, takeProfitPrice, poolConfig, createUserATA, ephemeralSignerPubkey) {
|
6385
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
6386
|
+
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
6387
|
+
return __awaiter(_this, void 0, void 0, function () {
|
6506
6388
|
var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, receiveCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, wrappedSolAccount, userReceivingTokenAccount, lamports, _a, positionAccount, orderAccount, editLimitOrder, err_45;
|
6507
|
-
if (createUserATA === void 0) { createUserATA = true; }
|
6508
|
-
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
6509
6389
|
return __generator(this, function (_b) {
|
6510
6390
|
switch (_b.label) {
|
6511
6391
|
case 0:
|
@@ -6604,16 +6484,12 @@ var PerpetualsClient = (function () {
|
|
6604
6484
|
});
|
6605
6485
|
});
|
6606
6486
|
};
|
6607
|
-
this.executeLimitOrder = function (
|
6608
|
-
|
6609
|
-
|
6610
|
-
|
6611
|
-
|
6612
|
-
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) {
|
6487
|
+
this.executeLimitOrder = function (userPubkey, targetSymbol, collateralSymbol, side, orderId, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
|
6488
|
+
if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
|
6489
|
+
if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
|
6490
|
+
if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
|
6491
|
+
return __awaiter(_this, void 0, void 0, function () {
|
6613
6492
|
var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, executeLimitOrder, err_46;
|
6614
|
-
if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
|
6615
|
-
if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
|
6616
|
-
if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
|
6617
6493
|
return __generator(this, function (_a) {
|
6618
6494
|
switch (_a.label) {
|
6619
6495
|
case 0:
|
@@ -6673,16 +6549,12 @@ var PerpetualsClient = (function () {
|
|
6673
6549
|
});
|
6674
6550
|
});
|
6675
6551
|
};
|
6676
|
-
this.executeLimitWithSwap = function (
|
6677
|
-
|
6678
|
-
|
6679
|
-
|
6680
|
-
|
6681
|
-
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) {
|
6552
|
+
this.executeLimitWithSwap = function (userPubkey, targetSymbol, collateralSymbol, reserveSymbol, side, orderId, poolConfig, privilege, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
|
6553
|
+
if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
|
6554
|
+
if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
|
6555
|
+
if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
|
6556
|
+
return __awaiter(_this, void 0, void 0, function () {
|
6682
6557
|
var publicKey, targetCustodyConfig, collateralCustodyConfig, reserveCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, executeLimitWithSwap, err_47;
|
6683
|
-
if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
|
6684
|
-
if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
|
6685
|
-
if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
|
6686
6558
|
return __generator(this, function (_a) {
|
6687
6559
|
switch (_a.label) {
|
6688
6560
|
case 0:
|
@@ -6948,20 +6820,16 @@ var PerpetualsClient = (function () {
|
|
6948
6820
|
}
|
6949
6821
|
});
|
6950
6822
|
}); };
|
6951
|
-
this.executeTriggerWithSwap = function (
|
6952
|
-
|
6953
|
-
|
6954
|
-
|
6955
|
-
}
|
6956
|
-
|
6957
|
-
|
6958
|
-
|
6959
|
-
|
6960
|
-
|
6961
|
-
if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
|
6962
|
-
if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
|
6963
|
-
return __generator(this, function (_e) {
|
6964
|
-
switch (_e.label) {
|
6823
|
+
this.executeTriggerWithSwap = function (owner, targetSymbol, collateralSymbol, receivingSymbol, side, orderId, isStopLoss, privilege, poolConfig, createUserATA, ephemeralSignerPubkey, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
|
6824
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
6825
|
+
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
6826
|
+
if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
|
6827
|
+
if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
|
6828
|
+
if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
|
6829
|
+
return __awaiter(_this, void 0, void 0, function () {
|
6830
|
+
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;
|
6831
|
+
return __generator(this, function (_d) {
|
6832
|
+
switch (_d.label) {
|
6965
6833
|
case 0:
|
6966
6834
|
payerPubkey = this.provider.wallet.publicKey;
|
6967
6835
|
targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
|
@@ -6972,9 +6840,9 @@ var PerpetualsClient = (function () {
|
|
6972
6840
|
instructions = [];
|
6973
6841
|
postInstructions = [];
|
6974
6842
|
additionalSigners = [];
|
6975
|
-
|
6843
|
+
_d.label = 1;
|
6976
6844
|
case 1:
|
6977
|
-
|
6845
|
+
_d.trys.push([1, 9, , 10]);
|
6978
6846
|
if (!false) return [3, 2];
|
6979
6847
|
return [3, 7];
|
6980
6848
|
case 2:
|
@@ -6983,8 +6851,8 @@ var PerpetualsClient = (function () {
|
|
6983
6851
|
if (!_a) return [3, 4];
|
6984
6852
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
6985
6853
|
case 3:
|
6986
|
-
_a = !(
|
6987
|
-
|
6854
|
+
_a = !(_d.sent());
|
6855
|
+
_d.label = 4;
|
6988
6856
|
case 4:
|
6989
6857
|
if (_a) {
|
6990
6858
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, owner, poolConfig.getTokenFromSymbol(receivingSymbol).mintKey));
|
@@ -6994,20 +6862,20 @@ var PerpetualsClient = (function () {
|
|
6994
6862
|
if (!_b) return [3, 6];
|
6995
6863
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccountCollateral, this.provider.connection)];
|
6996
6864
|
case 5:
|
6997
|
-
_b = !(
|
6998
|
-
|
6865
|
+
_b = !(_d.sent());
|
6866
|
+
_d.label = 6;
|
6999
6867
|
case 6:
|
7000
6868
|
if (_b) {
|
7001
6869
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccountCollateral, owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
|
7002
6870
|
}
|
7003
|
-
|
6871
|
+
_d.label = 7;
|
7004
6872
|
case 7:
|
7005
6873
|
positionAccount = poolConfig.getPositionFromMarketPk(owner, marketAccount);
|
7006
6874
|
orderAccount = poolConfig.getOrderFromMarketPk(owner, marketAccount);
|
7007
6875
|
custodyAccountMetas = [];
|
7008
6876
|
custodyOracleAccountMetas = [];
|
7009
|
-
for (
|
7010
|
-
custody =
|
6877
|
+
for (_i = 0, _c = poolConfig.custodies; _i < _c.length; _i++) {
|
6878
|
+
custody = _c[_i];
|
7011
6879
|
custodyAccountMetas.push({
|
7012
6880
|
pubkey: custody.custodyAccount,
|
7013
6881
|
isSigner: false,
|
@@ -7052,11 +6920,11 @@ var PerpetualsClient = (function () {
|
|
7052
6920
|
.remainingAccounts(__spreadArray([], (0, getReferralAccounts_1.getReferralAccounts)(tokenStakeAccount, userReferralAccount, rebateTokenAccount, privilege), true))
|
7053
6921
|
.instruction()];
|
7054
6922
|
case 8:
|
7055
|
-
executeTriggerWithSwap =
|
6923
|
+
executeTriggerWithSwap = _d.sent();
|
7056
6924
|
instructions.push(executeTriggerWithSwap);
|
7057
6925
|
return [3, 10];
|
7058
6926
|
case 9:
|
7059
|
-
err_52 =
|
6927
|
+
err_52 = _d.sent();
|
7060
6928
|
console.log("perpClient executeTriggerWithSwap error:: ", err_52);
|
7061
6929
|
throw err_52;
|
7062
6930
|
case 10: return [2, {
|
@@ -7067,18 +6935,14 @@ var PerpetualsClient = (function () {
|
|
7067
6935
|
});
|
7068
6936
|
});
|
7069
6937
|
};
|
7070
|
-
this.executeTriggerOrder = function (
|
7071
|
-
|
7072
|
-
|
7073
|
-
|
7074
|
-
}
|
7075
|
-
|
6938
|
+
this.executeTriggerOrder = function (owner, targetSymbol, collateralSymbol, side, orderId, isStopLoss, privilege, poolConfig, createUserATA, ephemeralSignerPubkey, tokenStakeAccount, userReferralAccount, rebateTokenAccount) {
|
6939
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
6940
|
+
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
6941
|
+
if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
|
6942
|
+
if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
|
6943
|
+
if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
|
6944
|
+
return __awaiter(_this, void 0, void 0, function () {
|
7076
6945
|
var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, positionAccount, orderAccount, executeTriggerOrder, err_53;
|
7077
|
-
if (createUserATA === void 0) { createUserATA = true; }
|
7078
|
-
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
7079
|
-
if (tokenStakeAccount === void 0) { tokenStakeAccount = web3_js_1.PublicKey.default; }
|
7080
|
-
if (userReferralAccount === void 0) { userReferralAccount = web3_js_1.PublicKey.default; }
|
7081
|
-
if (rebateTokenAccount === void 0) { rebateTokenAccount = web3_js_1.PublicKey.default; }
|
7082
6946
|
return __generator(this, function (_b) {
|
7083
6947
|
switch (_b.label) {
|
7084
6948
|
case 0:
|
@@ -7501,18 +7365,75 @@ var PerpetualsClient = (function () {
|
|
7501
7365
|
}
|
7502
7366
|
});
|
7503
7367
|
}); };
|
7504
|
-
this.
|
7505
|
-
var
|
7506
|
-
|
7507
|
-
|
7508
|
-
|
7509
|
-
|
7510
|
-
|
7511
|
-
|
7512
|
-
|
7513
|
-
|
7514
|
-
|
7515
|
-
|
7368
|
+
this.setInternalOraclePriceBatch = function (tokenMintList, tokenInternalPrices, POOL_CONFIGS) { return __awaiter(_this, void 0, void 0, function () {
|
7369
|
+
var ALL_CUSTODY_CONFIGS, accountMetas, _loop_1, _i, tokenMintList_1, tokenMint, instructions, additionalSigners, setInternalOraclePrice, err_62;
|
7370
|
+
return __generator(this, function (_a) {
|
7371
|
+
switch (_a.label) {
|
7372
|
+
case 0:
|
7373
|
+
if (tokenMintList.length !== tokenInternalPrices.length) {
|
7374
|
+
throw new Error("tokenMintList and tokenInternalPrices length mismatch");
|
7375
|
+
}
|
7376
|
+
ALL_CUSTODY_CONFIGS = POOL_CONFIGS.map(function (f) { return f.custodies; }).flat();
|
7377
|
+
accountMetas = [];
|
7378
|
+
_loop_1 = function (tokenMint) {
|
7379
|
+
var custody = ALL_CUSTODY_CONFIGS.find(function (i) { return i.mintKey.equals(tokenMint); });
|
7380
|
+
accountMetas.push({
|
7381
|
+
pubkey: custody.custodyAccount,
|
7382
|
+
isSigner: false,
|
7383
|
+
isWritable: false,
|
7384
|
+
});
|
7385
|
+
accountMetas.push({
|
7386
|
+
pubkey: custody.intOracleAccount,
|
7387
|
+
isSigner: false,
|
7388
|
+
isWritable: true,
|
7389
|
+
});
|
7390
|
+
accountMetas.push({
|
7391
|
+
pubkey: custody.extOracleAccount,
|
7392
|
+
isSigner: false,
|
7393
|
+
isWritable: false,
|
7394
|
+
});
|
7395
|
+
};
|
7396
|
+
for (_i = 0, tokenMintList_1 = tokenMintList; _i < tokenMintList_1.length; _i++) {
|
7397
|
+
tokenMint = tokenMintList_1[_i];
|
7398
|
+
_loop_1(tokenMint);
|
7399
|
+
}
|
7400
|
+
instructions = [];
|
7401
|
+
additionalSigners = [];
|
7402
|
+
_a.label = 1;
|
7403
|
+
case 1:
|
7404
|
+
_a.trys.push([1, 3, , 4]);
|
7405
|
+
return [4, this.program.methods
|
7406
|
+
.setInternalCurrentPrice({
|
7407
|
+
prices: tokenInternalPrices
|
7408
|
+
})
|
7409
|
+
.accounts({
|
7410
|
+
authority: POOL_CONFIGS[0].backupOracle,
|
7411
|
+
})
|
7412
|
+
.remainingAccounts(__spreadArray([], accountMetas, true))
|
7413
|
+
.instruction()];
|
7414
|
+
case 2:
|
7415
|
+
setInternalOraclePrice = _a.sent();
|
7416
|
+
instructions.push(setInternalOraclePrice);
|
7417
|
+
return [3, 4];
|
7418
|
+
case 3:
|
7419
|
+
err_62 = _a.sent();
|
7420
|
+
console.log("perpClient setInternalOracleAccount error:: ", err_62);
|
7421
|
+
throw err_62;
|
7422
|
+
case 4: return [2, {
|
7423
|
+
instructions: __spreadArray([], instructions, true),
|
7424
|
+
additionalSigners: additionalSigners
|
7425
|
+
}];
|
7426
|
+
}
|
7427
|
+
});
|
7428
|
+
}); };
|
7429
|
+
this.addCompoundingLiquidity = function (amountIn, minCompoundingAmountOut, inTokenSymbol, rewardTokenMint, poolConfig, skipBalanceChecks, ephemeralSignerPubkey, userPublicKey) {
|
7430
|
+
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
7431
|
+
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
7432
|
+
if (userPublicKey === void 0) { userPublicKey = undefined; }
|
7433
|
+
return __awaiter(_this, void 0, void 0, function () {
|
7434
|
+
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_63;
|
7435
|
+
return __generator(this, function (_e) {
|
7436
|
+
switch (_e.label) {
|
7516
7437
|
case 0:
|
7517
7438
|
publicKey = userPublicKey !== null && userPublicKey !== void 0 ? userPublicKey : this.provider.wallet.publicKey;
|
7518
7439
|
preInstructions = [];
|
@@ -7529,8 +7450,8 @@ var PerpetualsClient = (function () {
|
|
7529
7450
|
custodyAccountMetas = [];
|
7530
7451
|
custodyOracleAccountMetas = [];
|
7531
7452
|
markets = [];
|
7532
|
-
for (
|
7533
|
-
custody =
|
7453
|
+
for (_i = 0, _a = poolConfig.custodies; _i < _a.length; _i++) {
|
7454
|
+
custody = _a[_i];
|
7534
7455
|
custodyAccountMetas.push({
|
7535
7456
|
pubkey: custody.custodyAccount,
|
7536
7457
|
isSigner: false,
|
@@ -7542,8 +7463,8 @@ var PerpetualsClient = (function () {
|
|
7542
7463
|
isWritable: false,
|
7543
7464
|
});
|
7544
7465
|
}
|
7545
|
-
for (
|
7546
|
-
market =
|
7466
|
+
for (_b = 0, _c = poolConfig.markets; _b < _c.length; _b++) {
|
7467
|
+
market = _c[_b];
|
7547
7468
|
markets.push({
|
7548
7469
|
pubkey: market.marketAccount,
|
7549
7470
|
isSigner: false,
|
@@ -7552,26 +7473,26 @@ var PerpetualsClient = (function () {
|
|
7552
7473
|
}
|
7553
7474
|
return [4, (0, utils_1.checkIfAccountExists)(lpTokenAccount, this.provider.connection)];
|
7554
7475
|
case 1:
|
7555
|
-
if (!(
|
7476
|
+
if (!(_e.sent())) {
|
7556
7477
|
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, lpTokenAccount, publicKey, poolConfig.stakedLpTokenMint));
|
7557
7478
|
}
|
7558
7479
|
return [4, (0, utils_1.checkIfAccountExists)(compoundingTokenAccount, this.provider.connection)];
|
7559
7480
|
case 2:
|
7560
|
-
if (!(
|
7481
|
+
if (!(_e.sent())) {
|
7561
7482
|
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, compoundingTokenAccount, publicKey, poolConfig.compoundingTokenMint));
|
7562
7483
|
}
|
7563
7484
|
if (!(inTokenSymbol == 'SOL')) return [3, 5];
|
7564
7485
|
console.log("inTokenSymbol === SOL", inTokenSymbol);
|
7565
7486
|
lamports = amountIn.add(new anchor_1.BN(this.minimumBalanceForRentExemptAccountLamports));
|
7566
7487
|
if (!!skipBalanceChecks) return [3, 4];
|
7567
|
-
|
7488
|
+
_d = anchor_1.BN.bind;
|
7568
7489
|
return [4, this.provider.connection.getBalance(publicKey)];
|
7569
7490
|
case 3:
|
7570
|
-
unWrappedSolBalance = new (
|
7491
|
+
unWrappedSolBalance = new (_d.apply(anchor_1.BN, [void 0, _e.sent()]))();
|
7571
7492
|
if (unWrappedSolBalance.lt(lamports)) {
|
7572
7493
|
throw "Insufficient SOL Funds";
|
7573
7494
|
}
|
7574
|
-
|
7495
|
+
_e.label = 4;
|
7575
7496
|
case 4:
|
7576
7497
|
if (!ephemeralSignerPubkey) {
|
7577
7498
|
wrappedSolAccount = new web3_js_1.Keypair();
|
@@ -7595,12 +7516,12 @@ var PerpetualsClient = (function () {
|
|
7595
7516
|
if (!!skipBalanceChecks) return [3, 7];
|
7596
7517
|
return [4, (0, utils_1.checkIfAccountExists)(fundingAccount, this.provider.connection)];
|
7597
7518
|
case 6:
|
7598
|
-
if (!(
|
7519
|
+
if (!(_e.sent())) {
|
7599
7520
|
throw "Insufficient Funds , token Account doesn't exist";
|
7600
7521
|
}
|
7601
|
-
|
7522
|
+
_e.label = 7;
|
7602
7523
|
case 7:
|
7603
|
-
|
7524
|
+
_e.trys.push([7, 9, , 10]);
|
7604
7525
|
return [4, this.program.methods
|
7605
7526
|
.addCompoundingLiquidity({
|
7606
7527
|
amountIn: amountIn,
|
@@ -7629,12 +7550,12 @@ var PerpetualsClient = (function () {
|
|
7629
7550
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
7630
7551
|
.instruction()];
|
7631
7552
|
case 8:
|
7632
|
-
addCompoundingLiquidity =
|
7553
|
+
addCompoundingLiquidity = _e.sent();
|
7633
7554
|
instructions.push(addCompoundingLiquidity);
|
7634
7555
|
return [3, 10];
|
7635
7556
|
case 9:
|
7636
|
-
|
7637
|
-
console.log("perpClient addCompoundingLiquidity error:: ",
|
7557
|
+
err_63 = _e.sent();
|
7558
|
+
console.log("perpClient addCompoundingLiquidity error:: ", err_63);
|
7638
7559
|
return [3, 10];
|
7639
7560
|
case 10: return [2, {
|
7640
7561
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
@@ -7644,18 +7565,14 @@ var PerpetualsClient = (function () {
|
|
7644
7565
|
});
|
7645
7566
|
});
|
7646
7567
|
};
|
7647
|
-
this.removeCompoundingLiquidity = function (
|
7648
|
-
|
7649
|
-
|
7650
|
-
|
7651
|
-
|
7652
|
-
|
7653
|
-
|
7654
|
-
|
7655
|
-
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
7656
|
-
if (userPublicKey === void 0) { userPublicKey = undefined; }
|
7657
|
-
return __generator(this, function (_f) {
|
7658
|
-
switch (_f.label) {
|
7568
|
+
this.removeCompoundingLiquidity = function (compoundingAmountIn, minAmountOut, outTokenSymbol, rewardTokenMint, poolConfig, createUserATA, ephemeralSignerPubkey, userPublicKey) {
|
7569
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
7570
|
+
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
7571
|
+
if (userPublicKey === void 0) { userPublicKey = undefined; }
|
7572
|
+
return __awaiter(_this, void 0, void 0, function () {
|
7573
|
+
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_64;
|
7574
|
+
return __generator(this, function (_e) {
|
7575
|
+
switch (_e.label) {
|
7659
7576
|
case 0:
|
7660
7577
|
publicKey = userPublicKey !== null && userPublicKey !== void 0 ? userPublicKey : this.provider.wallet.publicKey;
|
7661
7578
|
preInstructions = [];
|
@@ -7692,19 +7609,19 @@ var PerpetualsClient = (function () {
|
|
7692
7609
|
if (!_a) return [3, 3];
|
7693
7610
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
7694
7611
|
case 2:
|
7695
|
-
_a = !(
|
7696
|
-
|
7612
|
+
_a = !(_e.sent());
|
7613
|
+
_e.label = 3;
|
7697
7614
|
case 3:
|
7698
7615
|
if (_a) {
|
7699
7616
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, outCustodyConfig.mintKey));
|
7700
7617
|
}
|
7701
|
-
|
7618
|
+
_e.label = 4;
|
7702
7619
|
case 4:
|
7703
7620
|
custodyAccountMetas = [];
|
7704
7621
|
custodyOracleAccountMetas = [];
|
7705
7622
|
markets = [];
|
7706
|
-
for (
|
7707
|
-
custody =
|
7623
|
+
for (_i = 0, _b = poolConfig.custodies; _i < _b.length; _i++) {
|
7624
|
+
custody = _b[_i];
|
7708
7625
|
custodyAccountMetas.push({
|
7709
7626
|
pubkey: custody.custodyAccount,
|
7710
7627
|
isSigner: false,
|
@@ -7716,8 +7633,8 @@ var PerpetualsClient = (function () {
|
|
7716
7633
|
isWritable: false,
|
7717
7634
|
});
|
7718
7635
|
}
|
7719
|
-
for (
|
7720
|
-
market =
|
7636
|
+
for (_c = 0, _d = poolConfig.markets; _c < _d.length; _c++) {
|
7637
|
+
market = _d[_c];
|
7721
7638
|
markets.push({
|
7722
7639
|
pubkey: market.marketAccount,
|
7723
7640
|
isSigner: false,
|
@@ -7725,9 +7642,9 @@ var PerpetualsClient = (function () {
|
|
7725
7642
|
});
|
7726
7643
|
}
|
7727
7644
|
compoundingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(compoundingTokenMint, publicKey, true);
|
7728
|
-
|
7645
|
+
_e.label = 5;
|
7729
7646
|
case 5:
|
7730
|
-
|
7647
|
+
_e.trys.push([5, 7, , 8]);
|
7731
7648
|
return [4, this.program.methods
|
7732
7649
|
.removeCompoundingLiquidity({
|
7733
7650
|
compoundingAmountIn: compoundingAmountIn,
|
@@ -7756,12 +7673,12 @@ var PerpetualsClient = (function () {
|
|
7756
7673
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
7757
7674
|
.instruction()];
|
7758
7675
|
case 6:
|
7759
|
-
removeCompoundingLiquidity =
|
7676
|
+
removeCompoundingLiquidity = _e.sent();
|
7760
7677
|
instructions.push(removeCompoundingLiquidity);
|
7761
7678
|
return [3, 8];
|
7762
7679
|
case 7:
|
7763
|
-
|
7764
|
-
console.log("perpClient removeCompoundingLiquidity error:: ",
|
7680
|
+
err_64 = _e.sent();
|
7681
|
+
console.log("perpClient removeCompoundingLiquidity error:: ", err_64);
|
7765
7682
|
return [3, 8];
|
7766
7683
|
case 8: return [2, {
|
7767
7684
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
@@ -7771,16 +7688,12 @@ var PerpetualsClient = (function () {
|
|
7771
7688
|
});
|
7772
7689
|
});
|
7773
7690
|
};
|
7774
|
-
this.migrateStake = function (
|
7775
|
-
|
7776
|
-
|
7777
|
-
|
7778
|
-
|
7779
|
-
|
7780
|
-
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_64;
|
7781
|
-
if (createUserATA === void 0) { createUserATA = true; }
|
7782
|
-
return __generator(this, function (_g) {
|
7783
|
-
switch (_g.label) {
|
7691
|
+
this.migrateStake = function (amount, rewardTokenMint, poolConfig, createUserATA) {
|
7692
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
7693
|
+
return __awaiter(_this, void 0, void 0, function () {
|
7694
|
+
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_65;
|
7695
|
+
return __generator(this, function (_f) {
|
7696
|
+
switch (_f.label) {
|
7784
7697
|
case 0:
|
7785
7698
|
publicKey = this.provider.wallet.publicKey;
|
7786
7699
|
preInstructions = [];
|
@@ -7795,8 +7708,8 @@ var PerpetualsClient = (function () {
|
|
7795
7708
|
if (!_a) return [3, 2];
|
7796
7709
|
return [4, (0, utils_1.checkIfAccountExists)(compoudingTokenAccount, this.provider.connection)];
|
7797
7710
|
case 1:
|
7798
|
-
_a = !(
|
7799
|
-
|
7711
|
+
_a = !(_f.sent());
|
7712
|
+
_f.label = 2;
|
7800
7713
|
case 2:
|
7801
7714
|
if (_a) {
|
7802
7715
|
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, compoudingTokenAccount, publicKey, compoundingTokenMint));
|
@@ -7808,8 +7721,8 @@ var PerpetualsClient = (function () {
|
|
7808
7721
|
if (!_b) return [3, 4];
|
7809
7722
|
return [4, (0, utils_1.checkIfAccountExists)(tokenStakeAccount, this.provider.connection)];
|
7810
7723
|
case 3:
|
7811
|
-
_b = (
|
7812
|
-
|
7724
|
+
_b = (_f.sent());
|
7725
|
+
_f.label = 4;
|
7813
7726
|
case 4:
|
7814
7727
|
if (_b) {
|
7815
7728
|
tokenStakeAccounts.push({
|
@@ -7822,8 +7735,8 @@ var PerpetualsClient = (function () {
|
|
7822
7735
|
custodyAccountMetas = [];
|
7823
7736
|
custodyOracleAccountMetas = [];
|
7824
7737
|
markets = [];
|
7825
|
-
for (
|
7826
|
-
custody =
|
7738
|
+
for (_i = 0, _c = poolConfig.custodies; _i < _c.length; _i++) {
|
7739
|
+
custody = _c[_i];
|
7827
7740
|
custodyAccountMetas.push({
|
7828
7741
|
pubkey: custody.custodyAccount,
|
7829
7742
|
isSigner: false,
|
@@ -7835,17 +7748,17 @@ var PerpetualsClient = (function () {
|
|
7835
7748
|
isWritable: false,
|
7836
7749
|
});
|
7837
7750
|
}
|
7838
|
-
for (
|
7839
|
-
market =
|
7751
|
+
for (_d = 0, _e = poolConfig.markets; _d < _e.length; _d++) {
|
7752
|
+
market = _e[_d];
|
7840
7753
|
markets.push({
|
7841
7754
|
pubkey: market.marketAccount,
|
7842
7755
|
isSigner: false,
|
7843
7756
|
isWritable: false,
|
7844
7757
|
});
|
7845
7758
|
}
|
7846
|
-
|
7759
|
+
_f.label = 5;
|
7847
7760
|
case 5:
|
7848
|
-
|
7761
|
+
_f.trys.push([5, 7, , 8]);
|
7849
7762
|
return [4, this.program.methods
|
7850
7763
|
.migrateStake({
|
7851
7764
|
amount: amount
|
@@ -7871,12 +7784,12 @@ var PerpetualsClient = (function () {
|
|
7871
7784
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true), tokenStakeAccounts, true))
|
7872
7785
|
.instruction()];
|
7873
7786
|
case 6:
|
7874
|
-
migrateStake =
|
7787
|
+
migrateStake = _f.sent();
|
7875
7788
|
instructions.push(migrateStake);
|
7876
7789
|
return [3, 8];
|
7877
7790
|
case 7:
|
7878
|
-
|
7879
|
-
console.log("perpClient migrateStake error:: ",
|
7791
|
+
err_65 = _f.sent();
|
7792
|
+
console.log("perpClient migrateStake error:: ", err_65);
|
7880
7793
|
return [3, 8];
|
7881
7794
|
case 8: return [2, {
|
7882
7795
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
@@ -7887,7 +7800,7 @@ var PerpetualsClient = (function () {
|
|
7887
7800
|
});
|
7888
7801
|
};
|
7889
7802
|
this.migrateFlp = function (amount, rewardTokenMint, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
7890
|
-
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, migrateFlp,
|
7803
|
+
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, migrateFlp, err_66;
|
7891
7804
|
return __generator(this, function (_d) {
|
7892
7805
|
switch (_d.label) {
|
7893
7806
|
case 0:
|
@@ -7959,8 +7872,8 @@ var PerpetualsClient = (function () {
|
|
7959
7872
|
instructions.push(migrateFlp);
|
7960
7873
|
return [3, 4];
|
7961
7874
|
case 3:
|
7962
|
-
|
7963
|
-
console.log("perpClient migrateFlp error:: ",
|
7875
|
+
err_66 = _d.sent();
|
7876
|
+
console.log("perpClient migrateFlp error:: ", err_66);
|
7964
7877
|
return [3, 4];
|
7965
7878
|
case 4: return [2, {
|
7966
7879
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
@@ -7969,16 +7882,12 @@ var PerpetualsClient = (function () {
|
|
7969
7882
|
}
|
7970
7883
|
});
|
7971
7884
|
}); };
|
7972
|
-
this.compoundingFee = function (
|
7973
|
-
|
7974
|
-
|
7975
|
-
|
7976
|
-
|
7977
|
-
|
7978
|
-
var instructions, additionalSigners, rewardCustody, lpTokenMint, custodyAccountMetas, custodyOracleAccountMetas, markets, _a, _b, custody, _c, _d, market, compoundingFee, err_66;
|
7979
|
-
if (rewardTokenSymbol === void 0) { rewardTokenSymbol = 'USDC'; }
|
7980
|
-
return __generator(this, function (_e) {
|
7981
|
-
switch (_e.label) {
|
7885
|
+
this.compoundingFee = function (poolConfig, rewardTokenSymbol) {
|
7886
|
+
if (rewardTokenSymbol === void 0) { rewardTokenSymbol = 'USDC'; }
|
7887
|
+
return __awaiter(_this, void 0, void 0, function () {
|
7888
|
+
var instructions, additionalSigners, rewardCustody, lpTokenMint, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, compoundingFee, err_67;
|
7889
|
+
return __generator(this, function (_d) {
|
7890
|
+
switch (_d.label) {
|
7982
7891
|
case 0:
|
7983
7892
|
instructions = [];
|
7984
7893
|
additionalSigners = [];
|
@@ -7987,8 +7896,8 @@ var PerpetualsClient = (function () {
|
|
7987
7896
|
custodyAccountMetas = [];
|
7988
7897
|
custodyOracleAccountMetas = [];
|
7989
7898
|
markets = [];
|
7990
|
-
for (
|
7991
|
-
custody =
|
7899
|
+
for (_i = 0, _a = poolConfig.custodies; _i < _a.length; _i++) {
|
7900
|
+
custody = _a[_i];
|
7992
7901
|
custodyAccountMetas.push({
|
7993
7902
|
pubkey: custody.custodyAccount,
|
7994
7903
|
isSigner: false,
|
@@ -8000,17 +7909,17 @@ var PerpetualsClient = (function () {
|
|
8000
7909
|
isWritable: false,
|
8001
7910
|
});
|
8002
7911
|
}
|
8003
|
-
for (
|
8004
|
-
market =
|
7912
|
+
for (_b = 0, _c = poolConfig.markets; _b < _c.length; _b++) {
|
7913
|
+
market = _c[_b];
|
8005
7914
|
markets.push({
|
8006
7915
|
pubkey: market.marketAccount,
|
8007
7916
|
isSigner: false,
|
8008
7917
|
isWritable: false,
|
8009
7918
|
});
|
8010
7919
|
}
|
8011
|
-
|
7920
|
+
_d.label = 1;
|
8012
7921
|
case 1:
|
8013
|
-
|
7922
|
+
_d.trys.push([1, 3, , 4]);
|
8014
7923
|
return [4, this.program.methods
|
8015
7924
|
.compoundFees({})
|
8016
7925
|
.accounts({
|
@@ -8029,12 +7938,12 @@ var PerpetualsClient = (function () {
|
|
8029
7938
|
.remainingAccounts(__spreadArray(__spreadArray(__spreadArray([], custodyAccountMetas, true), custodyOracleAccountMetas, true), markets, true))
|
8030
7939
|
.instruction()];
|
8031
7940
|
case 2:
|
8032
|
-
compoundingFee =
|
7941
|
+
compoundingFee = _d.sent();
|
8033
7942
|
instructions.push(compoundingFee);
|
8034
7943
|
return [3, 4];
|
8035
7944
|
case 3:
|
8036
|
-
|
8037
|
-
console.log("perpClient compoundingFee error:: ",
|
7945
|
+
err_67 = _d.sent();
|
7946
|
+
console.log("perpClient compoundingFee error:: ", err_67);
|
8038
7947
|
return [3, 4];
|
8039
7948
|
case 4: return [2, {
|
8040
7949
|
instructions: __spreadArray([], instructions, true),
|
@@ -8045,7 +7954,7 @@ var PerpetualsClient = (function () {
|
|
8045
7954
|
});
|
8046
7955
|
};
|
8047
7956
|
this.renameFlp = function (flag, lpTokenName, lpTokenSymbol, lpTokenUri, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
8048
|
-
var publicKey, instructions, additionalSigners, lpTokenMint, lpMetadataAccount, renameFlp,
|
7957
|
+
var publicKey, instructions, additionalSigners, lpTokenMint, lpMetadataAccount, renameFlp, err_68;
|
8049
7958
|
return __generator(this, function (_a) {
|
8050
7959
|
switch (_a.label) {
|
8051
7960
|
case 0:
|
@@ -8083,8 +7992,8 @@ var PerpetualsClient = (function () {
|
|
8083
7992
|
instructions.push(renameFlp);
|
8084
7993
|
return [3, 4];
|
8085
7994
|
case 3:
|
8086
|
-
|
8087
|
-
console.log("perpClient renameFlp error:: ",
|
7995
|
+
err_68 = _a.sent();
|
7996
|
+
console.log("perpClient renameFlp error:: ", err_68);
|
8088
7997
|
return [3, 4];
|
8089
7998
|
case 4: return [2, {
|
8090
7999
|
instructions: __spreadArray([], instructions, true),
|
@@ -8194,9 +8103,9 @@ var PerpetualsClient = (function () {
|
|
8194
8103
|
}
|
8195
8104
|
}
|
8196
8105
|
};
|
8197
|
-
PerpetualsClient.prototype.sendTransaction = function (
|
8198
|
-
|
8199
|
-
|
8106
|
+
PerpetualsClient.prototype.sendTransaction = function (ixs, opts) {
|
8107
|
+
if (opts === void 0) { opts = {}; }
|
8108
|
+
return __awaiter(this, void 0, void 0, function () {
|
8200
8109
|
return __generator(this, function (_a) {
|
8201
8110
|
switch (_a.label) {
|
8202
8111
|
case 0: return [4, (0, rpc_1.sendTransaction)(this.program.provider, ixs, __assign({ postSendTxCallback: this.postSendTxCallback, prioritizationFee: this.prioritizationFee }, opts))];
|
@@ -8205,9 +8114,9 @@ var PerpetualsClient = (function () {
|
|
8205
8114
|
});
|
8206
8115
|
});
|
8207
8116
|
};
|
8208
|
-
PerpetualsClient.prototype.sendTransactionV3 = function (
|
8209
|
-
|
8210
|
-
|
8117
|
+
PerpetualsClient.prototype.sendTransactionV3 = function (ixs, opts) {
|
8118
|
+
if (opts === void 0) { opts = {}; }
|
8119
|
+
return __awaiter(this, void 0, void 0, function () {
|
8211
8120
|
return __generator(this, function (_a) {
|
8212
8121
|
switch (_a.label) {
|
8213
8122
|
case 0: return [4, (0, rpc_1.sendTransactionV3)(this.program.provider, ixs, __assign({ postSendTxCallback: this.postSendTxCallback, prioritizationFee: this.prioritizationFee }, opts))];
|