flash-sdk 2.16.3 → 2.17.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/CustodyAccount.d.ts +5 -0
- package/dist/OrderAccount.d.ts +25 -0
- package/dist/OrderAccount.js +31 -0
- package/dist/PerpetualsClient.d.ts +156 -16
- package/dist/PerpetualsClient.js +644 -90
- package/dist/PoolConfig.d.ts +1 -0
- package/dist/PoolConfig.js +7 -0
- package/dist/idl/perpetuals.d.ts +2401 -644
- package/dist/idl/perpetuals.js +3830 -2073
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +3 -0
- package/package.json +1 -1
package/dist/PerpetualsClient.js
CHANGED
@@ -4981,7 +4981,7 @@ var PerpetualsClient = (function () {
|
|
4981
4981
|
if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
|
4982
4982
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
4983
4983
|
return __awaiter(_this, void 0, void 0, function () {
|
4984
|
-
var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount,
|
4984
|
+
var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, forceClosePosition, closeWsolATAIns, err_24;
|
4985
4985
|
return __generator(this, function (_b) {
|
4986
4986
|
switch (_b.label) {
|
4987
4987
|
case 0:
|
@@ -4995,78 +4995,632 @@ var PerpetualsClient = (function () {
|
|
4995
4995
|
additionalSigners = [];
|
4996
4996
|
_b.label = 1;
|
4997
4997
|
case 1:
|
4998
|
-
_b.trys.push([1,
|
4999
|
-
|
4998
|
+
_b.trys.push([1, 6, , 7]);
|
4999
|
+
return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, positionAccount.owner)];
|
5000
|
+
case 2:
|
5001
|
+
userReceivingTokenAccount = _b.sent();
|
5002
|
+
_a = createUserATA;
|
5003
|
+
if (!_a) return [3, 4];
|
5004
|
+
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
5005
|
+
case 3:
|
5006
|
+
_a = !(_b.sent());
|
5007
|
+
_b.label = 4;
|
5008
|
+
case 4:
|
5009
|
+
if (_a) {
|
5010
|
+
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, positionAccount.owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
|
5011
|
+
}
|
5012
|
+
return [4, this.program.methods
|
5013
|
+
.forceClosePosition({
|
5014
|
+
isStopLoss: isStopLoss
|
5015
|
+
})
|
5016
|
+
.accounts({
|
5017
|
+
owner: positionAccount.owner,
|
5018
|
+
receivingAccount: userReceivingTokenAccount,
|
5019
|
+
transferAuthority: poolConfig.transferAuthority,
|
5020
|
+
perpetuals: this.perpetuals.publicKey,
|
5021
|
+
pool: poolConfig.poolAddress,
|
5022
|
+
position: positionAccount.publicKey,
|
5023
|
+
market: marketAccount,
|
5024
|
+
targetCustody: targetCustodyConfig.custodyAccount,
|
5025
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
5026
|
+
collateralCustody: collateralCustodyConfig.custodyAccount,
|
5027
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
5028
|
+
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
5029
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
5030
|
+
eventAuthority: this.eventAuthority.publicKey,
|
5031
|
+
program: this.programId,
|
5032
|
+
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
5033
|
+
})
|
5034
|
+
.instruction()];
|
5035
|
+
case 5:
|
5036
|
+
forceClosePosition = _b.sent();
|
5037
|
+
instructions.push(forceClosePosition);
|
5038
|
+
if (collateralSymbol == 'WSOL' && closeUsersWSOLATA) {
|
5039
|
+
closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userReceivingTokenAccount, positionAccount.owner, positionAccount.owner);
|
5040
|
+
postInstructions.push(closeWsolATAIns);
|
5041
|
+
}
|
5042
|
+
return [3, 7];
|
5043
|
+
case 6:
|
5044
|
+
err_24 = _b.sent();
|
5045
|
+
console.log("perpClient forceClosePosition error:: ", err_24);
|
5046
|
+
throw err_24;
|
5047
|
+
case 7: return [2, {
|
5048
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5049
|
+
additionalSigners: additionalSigners
|
5050
|
+
}];
|
5051
|
+
}
|
5052
|
+
});
|
5053
|
+
});
|
5054
|
+
};
|
5055
|
+
this.forceClosePartial = function (positionAccount, targetSymbol, collateralSymbol, side, priceWithSlippage, sizeDelta, isStopLoss, poolConfig, createUserATA, closeUsersWSOLATA) {
|
5056
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
5057
|
+
if (closeUsersWSOLATA === void 0) { closeUsersWSOLATA = false; }
|
5058
|
+
return __awaiter(_this, void 0, void 0, function () {
|
5059
|
+
var payerPubkey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, preInstructions, instructions, postInstructions, additionalSigners, _a, forceClosePartial, closeWsolATAIns, err_25;
|
5060
|
+
return __generator(this, function (_b) {
|
5061
|
+
switch (_b.label) {
|
5062
|
+
case 0:
|
5063
|
+
payerPubkey = this.provider.wallet.publicKey;
|
5064
|
+
targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
|
5065
|
+
collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
|
5066
|
+
marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
|
5067
|
+
preInstructions = [];
|
5068
|
+
instructions = [];
|
5069
|
+
postInstructions = [];
|
5070
|
+
additionalSigners = [];
|
5071
|
+
_b.label = 1;
|
5072
|
+
case 1:
|
5073
|
+
_b.trys.push([1, 6, , 7]);
|
5074
|
+
return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, positionAccount.owner)];
|
5075
|
+
case 2:
|
5076
|
+
userReceivingTokenAccount = _b.sent();
|
5077
|
+
_a = createUserATA;
|
5078
|
+
if (!_a) return [3, 4];
|
5079
|
+
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
5080
|
+
case 3:
|
5081
|
+
_a = !(_b.sent());
|
5082
|
+
_b.label = 4;
|
5083
|
+
case 4:
|
5084
|
+
if (_a) {
|
5085
|
+
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(payerPubkey, userReceivingTokenAccount, positionAccount.owner, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
|
5086
|
+
}
|
5087
|
+
return [4, this.program.methods
|
5088
|
+
.forceClosePartial({
|
5089
|
+
priceWithSlippage: priceWithSlippage,
|
5090
|
+
sizeDelta: sizeDelta,
|
5091
|
+
isStopLoss: isStopLoss
|
5092
|
+
})
|
5093
|
+
.accounts({
|
5094
|
+
owner: positionAccount.owner,
|
5095
|
+
receivingAccount: userReceivingTokenAccount,
|
5096
|
+
transferAuthority: poolConfig.transferAuthority,
|
5097
|
+
perpetuals: this.perpetuals.publicKey,
|
5098
|
+
pool: poolConfig.poolAddress,
|
5099
|
+
position: positionAccount.publicKey,
|
5100
|
+
market: marketAccount,
|
5101
|
+
targetCustody: targetCustodyConfig.custodyAccount,
|
5102
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
5103
|
+
collateralCustody: collateralCustodyConfig.custodyAccount,
|
5104
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
5105
|
+
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
5106
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
5107
|
+
eventAuthority: this.eventAuthority.publicKey,
|
5108
|
+
program: this.programId,
|
5109
|
+
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
5110
|
+
})
|
5111
|
+
.instruction()];
|
5112
|
+
case 5:
|
5113
|
+
forceClosePartial = _b.sent();
|
5114
|
+
instructions.push(forceClosePartial);
|
5115
|
+
if (collateralSymbol == 'WSOL' && closeUsersWSOLATA) {
|
5116
|
+
closeWsolATAIns = (0, spl_token_1.createCloseAccountInstruction)(userReceivingTokenAccount, positionAccount.owner, positionAccount.owner);
|
5117
|
+
postInstructions.push(closeWsolATAIns);
|
5118
|
+
}
|
5119
|
+
return [3, 7];
|
5120
|
+
case 6:
|
5121
|
+
err_25 = _b.sent();
|
5122
|
+
console.log("perpClient forceClosePartial error:: ", err_25);
|
5123
|
+
throw err_25;
|
5124
|
+
case 7: return [2, {
|
5125
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5126
|
+
additionalSigners: additionalSigners
|
5127
|
+
}];
|
5128
|
+
}
|
5129
|
+
});
|
5130
|
+
});
|
5131
|
+
};
|
5132
|
+
this.placeLimitOrder = function (targetSymbol, collateralSymbol, reserveSymbol, side, limitPrice, reserveAmount, sizeAmount, stopLossPrice, takeProfitPrice, receiveCustodyId, poolConfig, skipBalanceChecks) {
|
5133
|
+
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
5134
|
+
return __awaiter(_this, void 0, void 0, function () {
|
5135
|
+
var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, marketAccount, userReserveTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, accCreationLamports, lamports, unWrappedSolBalance, _a, tokenAccountBalance, _b, positionAccount, orderAccount, placeLimitOrder, err_26;
|
5136
|
+
return __generator(this, function (_c) {
|
5137
|
+
switch (_c.label) {
|
5138
|
+
case 0:
|
5139
|
+
publicKey = this.provider.wallet.publicKey;
|
5140
|
+
targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
|
5141
|
+
reserveCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(reserveSymbol).mintKey); });
|
5142
|
+
collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
|
5143
|
+
marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
|
5144
|
+
return [4, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(reserveSymbol).mintKey, publicKey)];
|
5145
|
+
case 1:
|
5146
|
+
userReserveTokenAccount = _c.sent();
|
5147
|
+
preInstructions = [];
|
5148
|
+
instructions = [];
|
5149
|
+
postInstructions = [];
|
5150
|
+
additionalSigners = [];
|
5151
|
+
_c.label = 2;
|
5152
|
+
case 2:
|
5153
|
+
_c.trys.push([2, 10, , 11]);
|
5154
|
+
if (!(reserveSymbol == 'SOL')) return [3, 5];
|
5155
|
+
console.log("reserveSymbol === SOL", reserveSymbol);
|
5156
|
+
wrappedSolAccount = new web3_js_1.Keypair();
|
5157
|
+
return [4, (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(this.provider.connection)];
|
5158
|
+
case 3:
|
5159
|
+
accCreationLamports = (_c.sent());
|
5160
|
+
console.log("accCreationLamports:", accCreationLamports);
|
5161
|
+
lamports = reserveAmount.add(new anchor_1.BN(accCreationLamports));
|
5162
|
+
_a = anchor_1.BN.bind;
|
5163
|
+
return [4, this.provider.connection.getBalance(publicKey)];
|
5164
|
+
case 4:
|
5165
|
+
unWrappedSolBalance = new (_a.apply(anchor_1.BN, [void 0, _c.sent()]))();
|
5166
|
+
if (unWrappedSolBalance.lt(lamports)) {
|
5167
|
+
throw "Insufficient SOL Funds";
|
5168
|
+
}
|
5169
|
+
preInstructions = [
|
5170
|
+
web3_js_1.SystemProgram.createAccount({
|
5171
|
+
fromPubkey: publicKey,
|
5172
|
+
newAccountPubkey: wrappedSolAccount.publicKey,
|
5173
|
+
lamports: lamports.toNumber(),
|
5174
|
+
space: 165,
|
5175
|
+
programId: spl_token_1.TOKEN_PROGRAM_ID,
|
5176
|
+
}),
|
5177
|
+
(0, spl_token_1.createInitializeAccount3Instruction)(wrappedSolAccount.publicKey, spl_token_1.NATIVE_MINT, publicKey),
|
5178
|
+
];
|
5179
|
+
postInstructions = [
|
5180
|
+
(0, spl_token_1.createCloseAccountInstruction)(wrappedSolAccount.publicKey, publicKey, publicKey),
|
5181
|
+
];
|
5182
|
+
additionalSigners.push(wrappedSolAccount);
|
5183
|
+
return [3, 8];
|
5184
|
+
case 5: return [4, (0, utils_1.checkIfAccountExists)(userReserveTokenAccount, this.provider.connection)];
|
5185
|
+
case 6:
|
5186
|
+
if (!(_c.sent())) {
|
5187
|
+
throw "Insufficient Funds , token Account doesn't exist";
|
5188
|
+
}
|
5189
|
+
if (!!skipBalanceChecks) return [3, 8];
|
5190
|
+
_b = anchor_1.BN.bind;
|
5191
|
+
return [4, this.provider.connection.getTokenAccountBalance(userReserveTokenAccount)];
|
5192
|
+
case 7:
|
5193
|
+
tokenAccountBalance = new (_b.apply(anchor_1.BN, [void 0, (_c.sent()).value.amount]))();
|
5194
|
+
if (tokenAccountBalance.lt(reserveAmount)) {
|
5195
|
+
throw "Insufficient Funds need more ".concat(reserveAmount.sub(tokenAccountBalance), " tokens");
|
5196
|
+
}
|
5197
|
+
_c.label = 8;
|
5198
|
+
case 8:
|
5199
|
+
positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
|
5200
|
+
orderAccount = poolConfig.getOrderFromMarketPk(publicKey, marketAccount);
|
5201
|
+
return [4, this.program.methods
|
5202
|
+
.placeLimitOrder({
|
5203
|
+
limitPrice: limitPrice,
|
5204
|
+
reserveAmount: reserveAmount,
|
5205
|
+
sizeAmount: sizeAmount,
|
5206
|
+
stopLossPrice: stopLossPrice,
|
5207
|
+
takeProfitPrice: takeProfitPrice,
|
5208
|
+
receiveCustodyId: receiveCustodyId
|
5209
|
+
})
|
5210
|
+
.accounts({
|
5211
|
+
owner: publicKey,
|
5212
|
+
feePayer: publicKey,
|
5213
|
+
fundingAccount: reserveSymbol == 'SOL' ? wrappedSolAccount.publicKey : userReserveTokenAccount,
|
5214
|
+
perpetuals: poolConfig.perpetuals,
|
5215
|
+
pool: poolConfig.poolAddress,
|
5216
|
+
position: positionAccount,
|
5217
|
+
order: orderAccount,
|
5218
|
+
market: marketAccount,
|
5219
|
+
targetCustody: targetCustodyConfig.custodyAccount,
|
5220
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
5221
|
+
reserveCustody: reserveCustodyConfig.custodyAccount,
|
5222
|
+
reserveOracleAccount: this.useExtOracleAccount ? reserveCustodyConfig.extOracleAccount : reserveCustodyConfig.intOracleAccount,
|
5223
|
+
reserveCustodyTokenAccount: reserveCustodyConfig.tokenAccount,
|
5224
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
5225
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
5226
|
+
eventAuthority: this.eventAuthority.publicKey,
|
5227
|
+
program: this.programId,
|
5228
|
+
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
5229
|
+
})
|
5230
|
+
.instruction()];
|
5231
|
+
case 9:
|
5232
|
+
placeLimitOrder = _c.sent();
|
5233
|
+
instructions.push(placeLimitOrder);
|
5234
|
+
return [3, 11];
|
5235
|
+
case 10:
|
5236
|
+
err_26 = _c.sent();
|
5237
|
+
console.log("perpClient placeLimitOrder error:: ", err_26);
|
5238
|
+
throw err_26;
|
5239
|
+
case 11: return [2, {
|
5240
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5241
|
+
additionalSigners: additionalSigners
|
5242
|
+
}];
|
5243
|
+
}
|
5244
|
+
});
|
5245
|
+
});
|
5246
|
+
};
|
5247
|
+
this.editLimitOrder = function (targetSymbol, collateralSymbol, reserveSymbol, side, orderId, limitPrice, sizeAmount, stopLossPrice, takeProfitPrice, poolConfig, createUserATA, ephemeralSignerPubkey) {
|
5248
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
5249
|
+
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
5250
|
+
return __awaiter(_this, void 0, void 0, function () {
|
5251
|
+
var publicKey, targetCustodyConfig, reserveCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, accCreationLamports, lamports, _a, positionAccount, orderAccount, editLimitOrder, err_27;
|
5252
|
+
return __generator(this, function (_b) {
|
5253
|
+
switch (_b.label) {
|
5254
|
+
case 0:
|
5255
|
+
publicKey = this.provider.wallet.publicKey;
|
5256
|
+
targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
|
5257
|
+
reserveCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(reserveSymbol).mintKey); });
|
5258
|
+
collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
|
5259
|
+
marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
|
5260
|
+
preInstructions = [];
|
5261
|
+
instructions = [];
|
5262
|
+
postInstructions = [];
|
5263
|
+
additionalSigners = [];
|
5264
|
+
_b.label = 1;
|
5265
|
+
case 1:
|
5266
|
+
_b.trys.push([1, 8, , 9]);
|
5267
|
+
if (!(collateralSymbol == 'SOL')) return [3, 3];
|
5000
5268
|
console.log("collateralSymbol === SOL", collateralSymbol);
|
5001
|
-
|
5269
|
+
wrappedSolAccount = new web3_js_1.Keypair();
|
5270
|
+
return [4, (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(this.provider.connection)];
|
5271
|
+
case 2:
|
5272
|
+
accCreationLamports = (_b.sent());
|
5273
|
+
console.log("accCreationLamports:", accCreationLamports);
|
5274
|
+
lamports = accCreationLamports;
|
5002
5275
|
if (!ephemeralSignerPubkey) {
|
5003
5276
|
wrappedSolAccount = new web3_js_1.Keypair();
|
5004
5277
|
additionalSigners.push(wrappedSolAccount);
|
5005
5278
|
}
|
5006
5279
|
preInstructions = [
|
5007
5280
|
web3_js_1.SystemProgram.createAccount({
|
5008
|
-
fromPubkey:
|
5281
|
+
fromPubkey: publicKey,
|
5009
5282
|
newAccountPubkey: (ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey),
|
5010
5283
|
lamports: lamports,
|
5011
5284
|
space: 165,
|
5012
5285
|
programId: spl_token_1.TOKEN_PROGRAM_ID,
|
5013
5286
|
}),
|
5014
|
-
(0, spl_token_1.createInitializeAccount3Instruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), spl_token_1.NATIVE_MINT,
|
5287
|
+
(0, spl_token_1.createInitializeAccount3Instruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), spl_token_1.NATIVE_MINT, publicKey),
|
5015
5288
|
];
|
5016
5289
|
postInstructions = [
|
5017
|
-
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey),
|
5290
|
+
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
5018
5291
|
];
|
5019
|
-
|
5020
|
-
|
5021
|
-
|
5292
|
+
additionalSigners.push(wrappedSolAccount);
|
5293
|
+
return [3, 6];
|
5294
|
+
case 3:
|
5295
|
+
userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
|
5022
5296
|
_a = createUserATA;
|
5023
|
-
if (!_a) return [3,
|
5297
|
+
if (!_a) return [3, 5];
|
5024
5298
|
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
5025
|
-
case 3:
|
5026
|
-
_a = !(_b.sent());
|
5027
|
-
_b.label = 4;
|
5028
5299
|
case 4:
|
5300
|
+
_a = !(_b.sent());
|
5301
|
+
_b.label = 5;
|
5302
|
+
case 5:
|
5029
5303
|
if (_a) {
|
5030
|
-
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(
|
5304
|
+
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
|
5031
5305
|
}
|
5032
|
-
_b.label =
|
5033
|
-
case
|
5034
|
-
|
5035
|
-
|
5306
|
+
_b.label = 6;
|
5307
|
+
case 6:
|
5308
|
+
positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
|
5309
|
+
orderAccount = poolConfig.getOrderFromMarketPk(publicKey, marketAccount);
|
5310
|
+
return [4, this.program.methods
|
5311
|
+
.editLimitOrder({
|
5312
|
+
orderId: orderId,
|
5313
|
+
limitPrice: limitPrice,
|
5314
|
+
sizeAmount: sizeAmount,
|
5315
|
+
stopLossPrice: stopLossPrice,
|
5316
|
+
takeProfitPrice: takeProfitPrice
|
5317
|
+
})
|
5318
|
+
.accounts({
|
5319
|
+
owner: publicKey,
|
5320
|
+
feePayer: publicKey,
|
5321
|
+
receivingAccount: reserveSymbol == 'SOL' ? (ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey) : userReceivingTokenAccount,
|
5322
|
+
transferAuthority: poolConfig.transferAuthority,
|
5323
|
+
perpetuals: poolConfig.perpetuals,
|
5324
|
+
pool: poolConfig.poolAddress,
|
5325
|
+
position: positionAccount,
|
5326
|
+
order: orderAccount,
|
5327
|
+
market: marketAccount,
|
5328
|
+
targetCustody: targetCustodyConfig.custodyAccount,
|
5329
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
5330
|
+
reserveCustody: reserveCustodyConfig.custodyAccount,
|
5331
|
+
reserveOracleAccount: this.useExtOracleAccount ? reserveCustodyConfig.extOracleAccount : reserveCustodyConfig.intOracleAccount,
|
5332
|
+
reserveCustodyTokenAccount: reserveCustodyConfig.tokenAccount,
|
5333
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
5334
|
+
eventAuthority: this.eventAuthority.publicKey,
|
5335
|
+
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
5336
|
+
})
|
5337
|
+
.instruction()];
|
5338
|
+
case 7:
|
5339
|
+
editLimitOrder = _b.sent();
|
5340
|
+
instructions.push(editLimitOrder);
|
5341
|
+
return [3, 9];
|
5342
|
+
case 8:
|
5343
|
+
err_27 = _b.sent();
|
5344
|
+
console.log("perpClient editLimitOrder error:: ", err_27);
|
5345
|
+
throw err_27;
|
5346
|
+
case 9: return [2, {
|
5347
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5348
|
+
additionalSigners: additionalSigners
|
5349
|
+
}];
|
5350
|
+
}
|
5351
|
+
});
|
5352
|
+
});
|
5353
|
+
};
|
5354
|
+
this.executeLimitOrder = function (targetSymbol, collateralSymbol, side, orderId, privilege, nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, poolConfig) {
|
5355
|
+
if (nftTradingAccount === void 0) { nftTradingAccount = web3_js_1.PublicKey.default; }
|
5356
|
+
if (nftReferralAccount === void 0) { nftReferralAccount = web3_js_1.PublicKey.default; }
|
5357
|
+
if (nftRebateTokenAccount === void 0) { nftRebateTokenAccount = web3_js_1.PublicKey.default; }
|
5358
|
+
return __awaiter(_this, void 0, void 0, function () {
|
5359
|
+
var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, executeLimitOrder, err_28;
|
5360
|
+
return __generator(this, function (_a) {
|
5361
|
+
switch (_a.label) {
|
5362
|
+
case 0:
|
5363
|
+
publicKey = this.provider.wallet.publicKey;
|
5364
|
+
targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
|
5365
|
+
collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
|
5366
|
+
marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
|
5367
|
+
preInstructions = [];
|
5368
|
+
instructions = [];
|
5369
|
+
postInstructions = [];
|
5370
|
+
additionalSigners = [];
|
5371
|
+
_a.label = 1;
|
5372
|
+
case 1:
|
5373
|
+
_a.trys.push([1, 3, , 4]);
|
5374
|
+
positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
|
5375
|
+
orderAccount = poolConfig.getOrderFromMarketPk(publicKey, marketAccount);
|
5376
|
+
return [4, this.program.methods
|
5377
|
+
.executeLimitOrder({
|
5378
|
+
orderId: orderId,
|
5379
|
+
privilege: privilege
|
5380
|
+
})
|
5381
|
+
.accounts({
|
5382
|
+
feePayer: publicKey,
|
5383
|
+
perpetuals: poolConfig.perpetuals,
|
5384
|
+
pool: poolConfig.poolAddress,
|
5385
|
+
position: positionAccount,
|
5386
|
+
order: orderAccount,
|
5387
|
+
market: marketAccount,
|
5388
|
+
targetCustody: targetCustodyConfig.custodyAccount,
|
5389
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
5390
|
+
collateralCustody: collateralCustodyConfig.custodyAccount,
|
5391
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
5392
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
5393
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
5394
|
+
eventAuthority: this.eventAuthority.publicKey,
|
5395
|
+
program: this.programId,
|
5396
|
+
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
5397
|
+
})
|
5398
|
+
.remainingAccounts(__spreadArray([], (0, getNftAccounts_1.getNftAccounts)(nftTradingAccount, nftReferralAccount, nftRebateTokenAccount, privilege), true))
|
5399
|
+
.instruction()];
|
5400
|
+
case 2:
|
5401
|
+
executeLimitOrder = _a.sent();
|
5402
|
+
instructions.push(executeLimitOrder);
|
5403
|
+
return [3, 4];
|
5404
|
+
case 3:
|
5405
|
+
err_28 = _a.sent();
|
5406
|
+
console.log("perpClient executeLimitOrder error:: ", err_28);
|
5407
|
+
throw err_28;
|
5408
|
+
case 4: return [2, {
|
5409
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5410
|
+
additionalSigners: additionalSigners
|
5411
|
+
}];
|
5412
|
+
}
|
5413
|
+
});
|
5414
|
+
});
|
5415
|
+
};
|
5416
|
+
this.placeTriggerOrder = function (targetSymbol, collateralSymbol, side, triggerPrice, deltaSizeAmount, isStopLoss, receiveCustodyId, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
5417
|
+
var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, placeTriggerOrder, err_29;
|
5418
|
+
return __generator(this, function (_a) {
|
5419
|
+
switch (_a.label) {
|
5420
|
+
case 0:
|
5421
|
+
publicKey = this.provider.wallet.publicKey;
|
5422
|
+
targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
|
5423
|
+
collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
|
5424
|
+
marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
|
5425
|
+
preInstructions = [];
|
5426
|
+
instructions = [];
|
5427
|
+
postInstructions = [];
|
5428
|
+
additionalSigners = [];
|
5429
|
+
_a.label = 1;
|
5430
|
+
case 1:
|
5431
|
+
_a.trys.push([1, 3, , 4]);
|
5432
|
+
positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
|
5433
|
+
orderAccount = poolConfig.getOrderFromMarketPk(publicKey, marketAccount);
|
5434
|
+
return [4, this.program.methods
|
5435
|
+
.placeTriggerOrder({
|
5436
|
+
triggerPrice: triggerPrice,
|
5437
|
+
deltaSizeAmount: deltaSizeAmount,
|
5438
|
+
isStopLoss: isStopLoss,
|
5439
|
+
receiveCustodyId: receiveCustodyId
|
5440
|
+
})
|
5441
|
+
.accounts({
|
5442
|
+
owner: publicKey,
|
5443
|
+
feePayer: publicKey,
|
5444
|
+
perpetuals: poolConfig.perpetuals,
|
5445
|
+
pool: poolConfig.poolAddress,
|
5446
|
+
position: positionAccount,
|
5447
|
+
order: orderAccount,
|
5448
|
+
market: marketAccount,
|
5449
|
+
targetCustody: targetCustodyConfig.custodyAccount,
|
5450
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
5451
|
+
collateralCustody: collateralCustodyConfig.custodyAccount,
|
5452
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
5453
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
5454
|
+
eventAuthority: this.eventAuthority.publicKey,
|
5455
|
+
program: this.programId,
|
5456
|
+
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
5457
|
+
})
|
5458
|
+
.instruction()];
|
5459
|
+
case 2:
|
5460
|
+
placeTriggerOrder = _a.sent();
|
5461
|
+
instructions.push(placeTriggerOrder);
|
5462
|
+
return [3, 4];
|
5463
|
+
case 3:
|
5464
|
+
err_29 = _a.sent();
|
5465
|
+
console.log("perpClient placeTriggerOrder error:: ", err_29);
|
5466
|
+
throw err_29;
|
5467
|
+
case 4: return [2, {
|
5468
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5469
|
+
additionalSigners: additionalSigners
|
5470
|
+
}];
|
5471
|
+
}
|
5472
|
+
});
|
5473
|
+
}); };
|
5474
|
+
this.editTriggerOrder = function (targetSymbol, collateralSymbol, side, orderId, triggerPrice, deltaSizeAmount, isStopLoss, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
5475
|
+
var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, preInstructions, instructions, postInstructions, additionalSigners, positionAccount, orderAccount, editTriggerOrder, err_30;
|
5476
|
+
return __generator(this, function (_a) {
|
5477
|
+
switch (_a.label) {
|
5478
|
+
case 0:
|
5479
|
+
publicKey = this.provider.wallet.publicKey;
|
5480
|
+
targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
|
5481
|
+
collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
|
5482
|
+
marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
|
5483
|
+
preInstructions = [];
|
5484
|
+
instructions = [];
|
5485
|
+
postInstructions = [];
|
5486
|
+
additionalSigners = [];
|
5487
|
+
_a.label = 1;
|
5488
|
+
case 1:
|
5489
|
+
_a.trys.push([1, 3, , 4]);
|
5490
|
+
positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
|
5491
|
+
orderAccount = poolConfig.getOrderFromMarketPk(publicKey, marketAccount);
|
5492
|
+
return [4, this.program.methods
|
5493
|
+
.editTriggerOrder({
|
5494
|
+
orderId: orderId,
|
5495
|
+
triggerPrice: triggerPrice,
|
5496
|
+
deltaSizeAmount: deltaSizeAmount,
|
5036
5497
|
isStopLoss: isStopLoss
|
5037
5498
|
})
|
5038
5499
|
.accounts({
|
5039
|
-
owner:
|
5040
|
-
|
5041
|
-
transferAuthority: poolConfig.transferAuthority,
|
5042
|
-
perpetuals: this.perpetuals.publicKey,
|
5500
|
+
owner: publicKey,
|
5501
|
+
perpetuals: poolConfig.perpetuals,
|
5043
5502
|
pool: poolConfig.poolAddress,
|
5044
|
-
position: positionAccount
|
5503
|
+
position: positionAccount,
|
5504
|
+
order: orderAccount,
|
5045
5505
|
market: marketAccount,
|
5046
5506
|
targetCustody: targetCustodyConfig.custodyAccount,
|
5047
5507
|
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
5048
5508
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
5049
5509
|
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
5050
|
-
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
5051
|
-
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
5052
5510
|
eventAuthority: this.eventAuthority.publicKey,
|
5053
5511
|
program: this.programId,
|
5054
5512
|
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
5055
5513
|
})
|
5056
5514
|
.instruction()];
|
5057
|
-
|
5058
|
-
|
5059
|
-
|
5060
|
-
|
5061
|
-
|
5062
|
-
|
5515
|
+
case 2:
|
5516
|
+
editTriggerOrder = _a.sent();
|
5517
|
+
instructions.push(editTriggerOrder);
|
5518
|
+
return [3, 4];
|
5519
|
+
case 3:
|
5520
|
+
err_30 = _a.sent();
|
5521
|
+
console.log("perpClient editTriggerOrder error:: ", err_30);
|
5522
|
+
throw err_30;
|
5523
|
+
case 4: return [2, {
|
5524
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5525
|
+
additionalSigners: additionalSigners
|
5526
|
+
}];
|
5527
|
+
}
|
5528
|
+
});
|
5529
|
+
}); };
|
5530
|
+
this.executeTriggerOrder = function (targetSymbol, collateralSymbol, side, orderId, isStopLoss, poolConfig, createUserATA, ephemeralSignerPubkey) {
|
5531
|
+
if (createUserATA === void 0) { createUserATA = true; }
|
5532
|
+
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
5533
|
+
return __awaiter(_this, void 0, void 0, function () {
|
5534
|
+
var publicKey, targetCustodyConfig, collateralCustodyConfig, marketAccount, userReceivingTokenAccount, wrappedSolAccount, preInstructions, instructions, postInstructions, additionalSigners, accCreationLamports, lamports, _a, positionAccount, orderAccount, executeTriggerOrder, err_31;
|
5535
|
+
return __generator(this, function (_b) {
|
5536
|
+
switch (_b.label) {
|
5537
|
+
case 0:
|
5538
|
+
publicKey = this.provider.wallet.publicKey;
|
5539
|
+
targetCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(targetSymbol).mintKey); });
|
5540
|
+
collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
|
5541
|
+
marketAccount = poolConfig.getMarketPk(targetCustodyConfig.custodyAccount, collateralCustodyConfig.custodyAccount, side);
|
5542
|
+
preInstructions = [];
|
5543
|
+
instructions = [];
|
5544
|
+
postInstructions = [];
|
5545
|
+
additionalSigners = [];
|
5546
|
+
_b.label = 1;
|
5547
|
+
case 1:
|
5548
|
+
_b.trys.push([1, 8, , 9]);
|
5549
|
+
if (!(collateralSymbol == 'SOL')) return [3, 3];
|
5550
|
+
console.log("collateralSymbol === SOL", collateralSymbol);
|
5551
|
+
wrappedSolAccount = new web3_js_1.Keypair();
|
5552
|
+
return [4, (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(this.provider.connection)];
|
5553
|
+
case 2:
|
5554
|
+
accCreationLamports = (_b.sent());
|
5555
|
+
console.log("accCreationLamports:", accCreationLamports);
|
5556
|
+
lamports = accCreationLamports;
|
5557
|
+
if (!ephemeralSignerPubkey) {
|
5558
|
+
wrappedSolAccount = new web3_js_1.Keypair();
|
5559
|
+
additionalSigners.push(wrappedSolAccount);
|
5063
5560
|
}
|
5064
|
-
|
5561
|
+
preInstructions = [
|
5562
|
+
web3_js_1.SystemProgram.createAccount({
|
5563
|
+
fromPubkey: publicKey,
|
5564
|
+
newAccountPubkey: (ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey),
|
5565
|
+
lamports: lamports,
|
5566
|
+
space: 165,
|
5567
|
+
programId: spl_token_1.TOKEN_PROGRAM_ID,
|
5568
|
+
}),
|
5569
|
+
(0, spl_token_1.createInitializeAccount3Instruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), spl_token_1.NATIVE_MINT, publicKey),
|
5570
|
+
];
|
5571
|
+
postInstructions = [
|
5572
|
+
(0, spl_token_1.createCloseAccountInstruction)((ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey), publicKey, publicKey),
|
5573
|
+
];
|
5574
|
+
additionalSigners.push(wrappedSolAccount);
|
5575
|
+
return [3, 6];
|
5576
|
+
case 3:
|
5577
|
+
userReceivingTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey, publicKey, true);
|
5578
|
+
_a = createUserATA;
|
5579
|
+
if (!_a) return [3, 5];
|
5580
|
+
return [4, (0, utils_1.checkIfAccountExists)(userReceivingTokenAccount, this.provider.connection)];
|
5581
|
+
case 4:
|
5582
|
+
_a = !(_b.sent());
|
5583
|
+
_b.label = 5;
|
5584
|
+
case 5:
|
5585
|
+
if (_a) {
|
5586
|
+
preInstructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, userReceivingTokenAccount, publicKey, poolConfig.getTokenFromSymbol(collateralSymbol).mintKey));
|
5587
|
+
}
|
5588
|
+
_b.label = 6;
|
5589
|
+
case 6:
|
5590
|
+
positionAccount = poolConfig.getPositionFromMarketPk(publicKey, marketAccount);
|
5591
|
+
orderAccount = poolConfig.getOrderFromMarketPk(publicKey, marketAccount);
|
5592
|
+
return [4, this.program.methods
|
5593
|
+
.executeTriggerOrder({
|
5594
|
+
isStopLoss: isStopLoss,
|
5595
|
+
orderId: orderId
|
5596
|
+
})
|
5597
|
+
.accounts({
|
5598
|
+
feePayer: publicKey,
|
5599
|
+
receivingAccount: collateralSymbol == 'SOL' ? (ephemeralSignerPubkey ? ephemeralSignerPubkey : wrappedSolAccount.publicKey) : userReceivingTokenAccount,
|
5600
|
+
transferAuthority: poolConfig.transferAuthority,
|
5601
|
+
perpetuals: poolConfig.perpetuals,
|
5602
|
+
pool: poolConfig.poolAddress,
|
5603
|
+
position: positionAccount,
|
5604
|
+
order: orderAccount,
|
5605
|
+
market: marketAccount,
|
5606
|
+
targetCustody: targetCustodyConfig.custodyAccount,
|
5607
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
5608
|
+
collateralCustody: collateralCustodyConfig.custodyAccount,
|
5609
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
5610
|
+
eventAuthority: this.eventAuthority.publicKey,
|
5611
|
+
program: this.programId,
|
5612
|
+
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
5613
|
+
})
|
5614
|
+
.instruction()];
|
5065
5615
|
case 7:
|
5066
|
-
|
5067
|
-
|
5068
|
-
|
5069
|
-
case 8:
|
5616
|
+
executeTriggerOrder = _b.sent();
|
5617
|
+
instructions.push(executeTriggerOrder);
|
5618
|
+
return [3, 9];
|
5619
|
+
case 8:
|
5620
|
+
err_31 = _b.sent();
|
5621
|
+
console.log("perpClient executeTriggerOrder error:: ", err_31);
|
5622
|
+
throw err_31;
|
5623
|
+
case 9: return [2, {
|
5070
5624
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5071
5625
|
additionalSigners: additionalSigners
|
5072
5626
|
}];
|
@@ -5075,7 +5629,7 @@ var PerpetualsClient = (function () {
|
|
5075
5629
|
});
|
5076
5630
|
};
|
5077
5631
|
this.getPositionData = function (position, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
5078
|
-
var marketConfig, targetCustodyConfig, collateralCustodyConfig, getPositionData,
|
5632
|
+
var marketConfig, targetCustodyConfig, collateralCustodyConfig, getPositionData, err_32;
|
5079
5633
|
return __generator(this, function (_a) {
|
5080
5634
|
switch (_a.label) {
|
5081
5635
|
case 0:
|
@@ -5104,15 +5658,15 @@ var PerpetualsClient = (function () {
|
|
5104
5658
|
console.log(getPositionData);
|
5105
5659
|
return [2, getPositionData];
|
5106
5660
|
case 3:
|
5107
|
-
|
5108
|
-
console.log("perpClient setPool error:: ",
|
5109
|
-
throw
|
5661
|
+
err_32 = _a.sent();
|
5662
|
+
console.log("perpClient setPool error:: ", err_32);
|
5663
|
+
throw err_32;
|
5110
5664
|
case 4: return [2];
|
5111
5665
|
}
|
5112
5666
|
});
|
5113
5667
|
}); };
|
5114
5668
|
this.protocolWithdrawFees = function (rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
5115
|
-
var publicKey, custodyConfig, receivingTokenAccount, instructions, additionalSigners, withdrawFeesIx,
|
5669
|
+
var publicKey, custodyConfig, receivingTokenAccount, instructions, additionalSigners, withdrawFeesIx, err_33;
|
5116
5670
|
return __generator(this, function (_a) {
|
5117
5671
|
switch (_a.label) {
|
5118
5672
|
case 0:
|
@@ -5145,9 +5699,9 @@ var PerpetualsClient = (function () {
|
|
5145
5699
|
instructions.push(withdrawFeesIx);
|
5146
5700
|
return [3, 5];
|
5147
5701
|
case 4:
|
5148
|
-
|
5149
|
-
console.log("perpClient setPool error:: ",
|
5150
|
-
throw
|
5702
|
+
err_33 = _a.sent();
|
5703
|
+
console.log("perpClient setPool error:: ", err_33);
|
5704
|
+
throw err_33;
|
5151
5705
|
case 5: return [2, {
|
5152
5706
|
instructions: __spreadArray([], instructions, true),
|
5153
5707
|
additionalSigners: additionalSigners
|
@@ -5156,7 +5710,7 @@ var PerpetualsClient = (function () {
|
|
5156
5710
|
});
|
5157
5711
|
}); };
|
5158
5712
|
this.setPermissions = function (permissions) { return __awaiter(_this, void 0, void 0, function () {
|
5159
|
-
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, setPermissionsInstruction,
|
5713
|
+
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, setPermissionsInstruction, err_34;
|
5160
5714
|
return __generator(this, function (_a) {
|
5161
5715
|
switch (_a.label) {
|
5162
5716
|
case 0:
|
@@ -5183,9 +5737,9 @@ var PerpetualsClient = (function () {
|
|
5183
5737
|
instructions.push(setPermissionsInstruction);
|
5184
5738
|
return [3, 4];
|
5185
5739
|
case 3:
|
5186
|
-
|
5187
|
-
console.log("perpClient setPool error:: ",
|
5188
|
-
throw
|
5740
|
+
err_34 = _a.sent();
|
5741
|
+
console.log("perpClient setPool error:: ", err_34);
|
5742
|
+
throw err_34;
|
5189
5743
|
case 4: return [2, {
|
5190
5744
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
5191
5745
|
additionalSigners: additionalSigners
|
@@ -5194,7 +5748,7 @@ var PerpetualsClient = (function () {
|
|
5194
5748
|
});
|
5195
5749
|
}); };
|
5196
5750
|
this.reimburse = function (tokenMint, amountIn, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
5197
|
-
var custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, instructions, additionalSigners, custodyConfig, reimburse, _d, _e,
|
5751
|
+
var custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, instructions, additionalSigners, custodyConfig, reimburse, _d, _e, err_35;
|
5198
5752
|
var _f;
|
5199
5753
|
return __generator(this, function (_g) {
|
5200
5754
|
switch (_g.label) {
|
@@ -5254,9 +5808,9 @@ var PerpetualsClient = (function () {
|
|
5254
5808
|
instructions.push(reimburse);
|
5255
5809
|
return [3, 5];
|
5256
5810
|
case 4:
|
5257
|
-
|
5258
|
-
console.log("perpClient setPool error:: ",
|
5259
|
-
throw
|
5811
|
+
err_35 = _g.sent();
|
5812
|
+
console.log("perpClient setPool error:: ", err_35);
|
5813
|
+
throw err_35;
|
5260
5814
|
case 5: return [2, {
|
5261
5815
|
instructions: __spreadArray([], instructions, true),
|
5262
5816
|
additionalSigners: additionalSigners
|
@@ -5265,7 +5819,7 @@ var PerpetualsClient = (function () {
|
|
5265
5819
|
});
|
5266
5820
|
}); };
|
5267
5821
|
this.setInternalOraclePrice = function (tokenMint, price, expo, conf, ema, publishTime, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
5268
|
-
var instructions, additionalSigners, custodyConfig, setInternalOraclePrice,
|
5822
|
+
var instructions, additionalSigners, custodyConfig, setInternalOraclePrice, err_36;
|
5269
5823
|
return __generator(this, function (_a) {
|
5270
5824
|
switch (_a.label) {
|
5271
5825
|
case 0:
|
@@ -5298,9 +5852,9 @@ var PerpetualsClient = (function () {
|
|
5298
5852
|
instructions.push(setInternalOraclePrice);
|
5299
5853
|
return [3, 4];
|
5300
5854
|
case 3:
|
5301
|
-
|
5302
|
-
console.log("perpClient setInternalOracleAccount error:: ",
|
5303
|
-
throw
|
5855
|
+
err_36 = _a.sent();
|
5856
|
+
console.log("perpClient setInternalOracleAccount error:: ", err_36);
|
5857
|
+
throw err_36;
|
5304
5858
|
case 4: return [2, {
|
5305
5859
|
instructions: __spreadArray([], instructions, true),
|
5306
5860
|
additionalSigners: additionalSigners
|
@@ -5312,7 +5866,7 @@ var PerpetualsClient = (function () {
|
|
5312
5866
|
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
5313
5867
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
5314
5868
|
return __awaiter(_this, void 0, void 0, function () {
|
5315
|
-
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,
|
5869
|
+
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_37;
|
5316
5870
|
return __generator(this, function (_e) {
|
5317
5871
|
switch (_e.label) {
|
5318
5872
|
case 0:
|
@@ -5435,8 +5989,8 @@ var PerpetualsClient = (function () {
|
|
5435
5989
|
instructions.push(addCompoundingLiquidity);
|
5436
5990
|
return [3, 10];
|
5437
5991
|
case 9:
|
5438
|
-
|
5439
|
-
console.log("perpClient addCompoundingLiquidity error:: ",
|
5992
|
+
err_37 = _e.sent();
|
5993
|
+
console.log("perpClient addCompoundingLiquidity error:: ", err_37);
|
5440
5994
|
return [3, 10];
|
5441
5995
|
case 10: return [2, {
|
5442
5996
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
@@ -5450,7 +6004,7 @@ var PerpetualsClient = (function () {
|
|
5450
6004
|
if (createUserATA === void 0) { createUserATA = true; }
|
5451
6005
|
if (ephemeralSignerPubkey === void 0) { ephemeralSignerPubkey = undefined; }
|
5452
6006
|
return __awaiter(_this, void 0, void 0, function () {
|
5453
|
-
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,
|
6007
|
+
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_38;
|
5454
6008
|
return __generator(this, function (_e) {
|
5455
6009
|
switch (_e.label) {
|
5456
6010
|
case 0:
|
@@ -5557,8 +6111,8 @@ var PerpetualsClient = (function () {
|
|
5557
6111
|
instructions.push(removeCompoundingLiquidity);
|
5558
6112
|
return [3, 8];
|
5559
6113
|
case 7:
|
5560
|
-
|
5561
|
-
console.log("perpClient removeCompoundingLiquidity error:: ",
|
6114
|
+
err_38 = _e.sent();
|
6115
|
+
console.log("perpClient removeCompoundingLiquidity error:: ", err_38);
|
5562
6116
|
return [3, 8];
|
5563
6117
|
case 8: return [2, {
|
5564
6118
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
@@ -5571,7 +6125,7 @@ var PerpetualsClient = (function () {
|
|
5571
6125
|
this.migrateStake = function (amount, rewardTokenMint, poolConfig, createUserATA) {
|
5572
6126
|
if (createUserATA === void 0) { createUserATA = true; }
|
5573
6127
|
return __awaiter(_this, void 0, void 0, function () {
|
5574
|
-
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, _a, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _b, custody, _c, _d, market, migrateStake,
|
6128
|
+
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, _a, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _b, custody, _c, _d, market, migrateStake, err_39;
|
5575
6129
|
return __generator(this, function (_e) {
|
5576
6130
|
switch (_e.label) {
|
5577
6131
|
case 0:
|
@@ -5652,8 +6206,8 @@ var PerpetualsClient = (function () {
|
|
5652
6206
|
instructions.push(migrateStake);
|
5653
6207
|
return [3, 6];
|
5654
6208
|
case 5:
|
5655
|
-
|
5656
|
-
console.log("perpClient migrateStake error:: ",
|
6209
|
+
err_39 = _e.sent();
|
6210
|
+
console.log("perpClient migrateStake error:: ", err_39);
|
5657
6211
|
return [3, 6];
|
5658
6212
|
case 6: return [2, {
|
5659
6213
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
@@ -5664,7 +6218,7 @@ var PerpetualsClient = (function () {
|
|
5664
6218
|
});
|
5665
6219
|
};
|
5666
6220
|
this.migrateFlp = function (amount, rewardTokenMint, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
5667
|
-
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, migrateFlp,
|
6221
|
+
var publicKey, preInstructions, instructions, postInstructions, additionalSigners, rewardCustody, lpTokenMint, compoundingTokenMint, compoudingTokenAccount, flpStakeAccount, poolStakedLpVault, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, migrateFlp, err_40;
|
5668
6222
|
return __generator(this, function (_d) {
|
5669
6223
|
switch (_d.label) {
|
5670
6224
|
case 0:
|
@@ -5736,8 +6290,8 @@ var PerpetualsClient = (function () {
|
|
5736
6290
|
instructions.push(migrateFlp);
|
5737
6291
|
return [3, 4];
|
5738
6292
|
case 3:
|
5739
|
-
|
5740
|
-
console.log("perpClient migrateFlp error:: ",
|
6293
|
+
err_40 = _d.sent();
|
6294
|
+
console.log("perpClient migrateFlp error:: ", err_40);
|
5741
6295
|
return [3, 4];
|
5742
6296
|
case 4: return [2, {
|
5743
6297
|
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
@@ -5749,7 +6303,7 @@ var PerpetualsClient = (function () {
|
|
5749
6303
|
this.compoundingFee = function (poolConfig, rewardTokenSymbol) {
|
5750
6304
|
if (rewardTokenSymbol === void 0) { rewardTokenSymbol = 'USDC'; }
|
5751
6305
|
return __awaiter(_this, void 0, void 0, function () {
|
5752
|
-
var instructions, additionalSigners, rewardCustody, lpTokenMint, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, compoundingFee,
|
6306
|
+
var instructions, additionalSigners, rewardCustody, lpTokenMint, custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, compoundingFee, err_41;
|
5753
6307
|
return __generator(this, function (_d) {
|
5754
6308
|
switch (_d.label) {
|
5755
6309
|
case 0:
|
@@ -5806,8 +6360,8 @@ var PerpetualsClient = (function () {
|
|
5806
6360
|
instructions.push(compoundingFee);
|
5807
6361
|
return [3, 4];
|
5808
6362
|
case 3:
|
5809
|
-
|
5810
|
-
console.log("perpClient compoundingFee error:: ",
|
6363
|
+
err_41 = _d.sent();
|
6364
|
+
console.log("perpClient compoundingFee error:: ", err_41);
|
5811
6365
|
return [3, 4];
|
5812
6366
|
case 4: return [2, {
|
5813
6367
|
instructions: __spreadArray([], instructions, true),
|
@@ -5818,7 +6372,7 @@ var PerpetualsClient = (function () {
|
|
5818
6372
|
});
|
5819
6373
|
};
|
5820
6374
|
this.renameFlp = function (flag, lpTokenName, lpTokenSymbol, lpTokenUri, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
5821
|
-
var publicKey, instructions, additionalSigners, lpTokenMint, lpMetadataAccount, renameFlp,
|
6375
|
+
var publicKey, instructions, additionalSigners, lpTokenMint, lpMetadataAccount, renameFlp, err_42;
|
5822
6376
|
return __generator(this, function (_a) {
|
5823
6377
|
switch (_a.label) {
|
5824
6378
|
case 0:
|
@@ -5856,8 +6410,8 @@ var PerpetualsClient = (function () {
|
|
5856
6410
|
instructions.push(renameFlp);
|
5857
6411
|
return [3, 4];
|
5858
6412
|
case 3:
|
5859
|
-
|
5860
|
-
console.log("perpClient renameFlp error:: ",
|
6413
|
+
err_42 = _a.sent();
|
6414
|
+
console.log("perpClient renameFlp error:: ", err_42);
|
5861
6415
|
return [3, 4];
|
5862
6416
|
case 4: return [2, {
|
5863
6417
|
instructions: __spreadArray([], instructions, true),
|
@@ -5867,7 +6421,7 @@ var PerpetualsClient = (function () {
|
|
5867
6421
|
});
|
5868
6422
|
}); };
|
5869
6423
|
this.initRewardDistribution = function (rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
5870
|
-
var publicKey, rewardMint, instructions, additionalSigners, fbNftProgramData, rewardVault, rewardTokenAccount, transferAuthority, initRewardVault,
|
6424
|
+
var publicKey, rewardMint, instructions, additionalSigners, fbNftProgramData, rewardVault, rewardTokenAccount, transferAuthority, initRewardVault, err_43;
|
5871
6425
|
return __generator(this, function (_a) {
|
5872
6426
|
switch (_a.label) {
|
5873
6427
|
case 0:
|
@@ -5901,9 +6455,9 @@ var PerpetualsClient = (function () {
|
|
5901
6455
|
instructions.push(initRewardVault);
|
5902
6456
|
return [3, 4];
|
5903
6457
|
case 3:
|
5904
|
-
|
5905
|
-
console.log("rewardDistribution InitRewardVault error:: ",
|
5906
|
-
throw
|
6458
|
+
err_43 = _a.sent();
|
6459
|
+
console.log("rewardDistribution InitRewardVault error:: ", err_43);
|
6460
|
+
throw err_43;
|
5907
6461
|
case 4: return [2, {
|
5908
6462
|
instructions: __spreadArray([], instructions, true),
|
5909
6463
|
additionalSigners: additionalSigners
|
@@ -5912,7 +6466,7 @@ var PerpetualsClient = (function () {
|
|
5912
6466
|
});
|
5913
6467
|
}); };
|
5914
6468
|
this.updateCounterReward = function () { return __awaiter(_this, void 0, void 0, function () {
|
5915
|
-
var publicKey, instructions, additionalSigners, rewardVault, updateCounter,
|
6469
|
+
var publicKey, instructions, additionalSigners, rewardVault, updateCounter, err_44;
|
5916
6470
|
return __generator(this, function (_a) {
|
5917
6471
|
switch (_a.label) {
|
5918
6472
|
case 0:
|
@@ -5935,9 +6489,9 @@ var PerpetualsClient = (function () {
|
|
5935
6489
|
instructions.push(updateCounter);
|
5936
6490
|
return [3, 4];
|
5937
6491
|
case 3:
|
5938
|
-
|
5939
|
-
console.log("rewardDistribution updateCounter error:: ",
|
5940
|
-
throw
|
6492
|
+
err_44 = _a.sent();
|
6493
|
+
console.log("rewardDistribution updateCounter error:: ", err_44);
|
6494
|
+
throw err_44;
|
5941
6495
|
case 4: return [2, {
|
5942
6496
|
instructions: __spreadArray([], instructions, true),
|
5943
6497
|
additionalSigners: additionalSigners
|
@@ -5946,7 +6500,7 @@ var PerpetualsClient = (function () {
|
|
5946
6500
|
});
|
5947
6501
|
}); };
|
5948
6502
|
this.rewardDistribution = function (counter, owner, rewardAmount, rewardSymbol, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
5949
|
-
var publicKey, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, rewardRecord, distributeReward,
|
6503
|
+
var publicKey, rewardCustodyMint, instructions, additionalSigners, fundingAccount, rewardVault, rewardTokenAccount, rewardRecord, distributeReward, err_45;
|
5950
6504
|
return __generator(this, function (_a) {
|
5951
6505
|
switch (_a.label) {
|
5952
6506
|
case 0:
|
@@ -5985,9 +6539,9 @@ var PerpetualsClient = (function () {
|
|
5985
6539
|
instructions.push(distributeReward);
|
5986
6540
|
return [3, 4];
|
5987
6541
|
case 3:
|
5988
|
-
|
5989
|
-
console.log("rewardDistribution distributeReward error:: ",
|
5990
|
-
throw
|
6542
|
+
err_45 = _a.sent();
|
6543
|
+
console.log("rewardDistribution distributeReward error:: ", err_45);
|
6544
|
+
throw err_45;
|
5991
6545
|
case 4: return [2, {
|
5992
6546
|
instructions: __spreadArray([], instructions, true),
|
5993
6547
|
additionalSigners: additionalSigners
|
@@ -5998,7 +6552,7 @@ var PerpetualsClient = (function () {
|
|
5998
6552
|
this.collectReward = function (counter, owner, rewardSymbol, poolConfig, createUserATA) {
|
5999
6553
|
if (createUserATA === void 0) { createUserATA = true; }
|
6000
6554
|
return __awaiter(_this, void 0, void 0, function () {
|
6001
|
-
var publicKey, rewardCustodyMint, instructions, additionalSigners, receivingTokenAccount, _a, rewardVault, rewardTokenAccount, rewardRecord, transferAuthority, collectNftReward,
|
6555
|
+
var publicKey, rewardCustodyMint, instructions, additionalSigners, receivingTokenAccount, _a, rewardVault, rewardTokenAccount, rewardRecord, transferAuthority, collectNftReward, err_46;
|
6002
6556
|
return __generator(this, function (_b) {
|
6003
6557
|
switch (_b.label) {
|
6004
6558
|
case 0:
|
@@ -6044,8 +6598,8 @@ var PerpetualsClient = (function () {
|
|
6044
6598
|
instructions.push(collectNftReward);
|
6045
6599
|
return [3, 6];
|
6046
6600
|
case 5:
|
6047
|
-
|
6048
|
-
throw
|
6601
|
+
err_46 = _b.sent();
|
6602
|
+
throw err_46;
|
6049
6603
|
case 6: return [2, {
|
6050
6604
|
instructions: __spreadArray([], instructions, true),
|
6051
6605
|
additionalSigners: additionalSigners
|