flash-sdk 1.0.61 → 1.0.62
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/PerpetualsClient.d.ts +65 -45
- package/dist/PerpetualsClient.js +143 -3
- package/dist/PoolConfig.json +15 -15
- package/dist/idl/perpetuals.d.ts +487 -27
- package/dist/idl/perpetuals.js +487 -27
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/PerpetualsClient.js
CHANGED
@@ -454,7 +454,7 @@ var PerpetualsClient = (function () {
|
|
454
454
|
}
|
455
455
|
});
|
456
456
|
}); };
|
457
|
-
this.addCustody = function (poolName, tokenMint, isStable, oracle, pricing, permissions, fees, borrowRate, ratios) { return __awaiter(_this, void 0, void 0, function () {
|
457
|
+
this.addCustody = function (poolName, tokenMint, isStable, isVirtual, oracle, pricing, permissions, fees, borrowRate, ratios) { return __awaiter(_this, void 0, void 0, function () {
|
458
458
|
var trx_id, error_1;
|
459
459
|
return __generator(this, function (_a) {
|
460
460
|
switch (_a.label) {
|
@@ -463,6 +463,7 @@ var PerpetualsClient = (function () {
|
|
463
463
|
return [4, this.program.methods
|
464
464
|
.addCustody({
|
465
465
|
isStable: isStable,
|
466
|
+
isVirtual: isVirtual,
|
466
467
|
oracle: oracle,
|
467
468
|
pricing: pricing,
|
468
469
|
permissions: permissions,
|
@@ -566,6 +567,37 @@ var PerpetualsClient = (function () {
|
|
566
567
|
}
|
567
568
|
});
|
568
569
|
}); };
|
570
|
+
this.validateCollectivePnl = function (marketSymbol, collateralSymbol, poolConfig, poolName, side) { return __awaiter(_this, void 0, void 0, function () {
|
571
|
+
var marketCustodyConfig, collateralCustodyConfig;
|
572
|
+
return __generator(this, function (_a) {
|
573
|
+
switch (_a.label) {
|
574
|
+
case 0:
|
575
|
+
marketCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(marketSymbol).mintKey); });
|
576
|
+
collateralCustodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey); });
|
577
|
+
return [4, this.program.methods
|
578
|
+
.validateCollectivePnl({ side: side })
|
579
|
+
.accounts({
|
580
|
+
perpetuals: this.perpetuals.publicKey,
|
581
|
+
pool: this.getPoolKey(poolName),
|
582
|
+
custody: marketCustodyConfig.custodyAccount,
|
583
|
+
custodyOracleAccount: marketCustodyConfig.oracleAddress,
|
584
|
+
custodyCustomOracleAccount: web3_js_1.SystemProgram.programId,
|
585
|
+
collateralCustody: collateralCustodyConfig.custodyAccount,
|
586
|
+
collateralCustodyOracleAccount: collateralCustodyConfig.oracleAddress,
|
587
|
+
collateralCustodyCustomOracleAccount: web3_js_1.SystemProgram.programId,
|
588
|
+
})
|
589
|
+
.remainingAccounts([])
|
590
|
+
.rpc()
|
591
|
+
.catch(function (err) {
|
592
|
+
console.error(err);
|
593
|
+
throw err;
|
594
|
+
})];
|
595
|
+
case 1:
|
596
|
+
_a.sent();
|
597
|
+
return [2];
|
598
|
+
}
|
599
|
+
});
|
600
|
+
}); };
|
569
601
|
this.upgradeCustody = function (poolName, tokenMint) { return __awaiter(_this, void 0, void 0, function () {
|
570
602
|
return __generator(this, function (_a) {
|
571
603
|
switch (_a.label) {
|
@@ -1227,8 +1259,8 @@ var PerpetualsClient = (function () {
|
|
1227
1259
|
return [4, this.program.methods
|
1228
1260
|
.openPosition(params)
|
1229
1261
|
.accounts({
|
1262
|
+
delegate: publicKey,
|
1230
1263
|
owner: publicKey,
|
1231
|
-
payer: publicKey,
|
1232
1264
|
fundingAccount: collateralSymbol == 'SOL' ? wrappedSolAccount.publicKey : userCollateralTokenAccount,
|
1233
1265
|
transferAuthority: poolConfig.transferAuthority,
|
1234
1266
|
perpetuals: poolConfig.perpetuals,
|
@@ -1324,8 +1356,8 @@ var PerpetualsClient = (function () {
|
|
1324
1356
|
return [4, this.program.methods
|
1325
1357
|
.closePosition(params)
|
1326
1358
|
.accounts({
|
1359
|
+
delegate: publicKey,
|
1327
1360
|
owner: publicKey,
|
1328
|
-
payer: publicKey,
|
1329
1361
|
receivingAccount: collateralSymbol == 'SOL' ? wrappedSolAccount.publicKey : userReceivingTokenAccount,
|
1330
1362
|
transferAuthority: poolConfig.transferAuthority,
|
1331
1363
|
perpetuals: poolConfig.perpetuals,
|
@@ -1535,6 +1567,7 @@ var PerpetualsClient = (function () {
|
|
1535
1567
|
return [4, this.program.methods
|
1536
1568
|
.swap(params)
|
1537
1569
|
.accounts({
|
1570
|
+
delegate: publicKey,
|
1538
1571
|
owner: publicKey,
|
1539
1572
|
fundingAccount: userInputTokenSymbol == 'SOL' ? wrappedSolAccount.publicKey : userInputTokenAccount,
|
1540
1573
|
receivingAccount: userOutputTokenSymbol == 'SOL' ? wrappedSolAccount.publicKey : userOutputTokenAccount,
|
@@ -1645,6 +1678,7 @@ var PerpetualsClient = (function () {
|
|
1645
1678
|
case 7: return [4, this.program.methods.addCollateral({
|
1646
1679
|
collateralDelta: collateralWithFee
|
1647
1680
|
}).accounts({
|
1681
|
+
delegate: publicKey,
|
1648
1682
|
owner: publicKey,
|
1649
1683
|
position: positionPubKey,
|
1650
1684
|
fundingAccount: collateralSymbol == 'SOL' ? wrappedSolAccount.publicKey : userPayingTokenAccount,
|
@@ -1741,6 +1775,7 @@ var PerpetualsClient = (function () {
|
|
1741
1775
|
collateralDelta: collateralWithFee,
|
1742
1776
|
})
|
1743
1777
|
.accounts({
|
1778
|
+
delegate: publicKey,
|
1744
1779
|
owner: publicKey,
|
1745
1780
|
receivingAccount: collateralSymbol == 'SOL' ? wrappedSolAccount.publicKey : userReceivingTokenAccount,
|
1746
1781
|
transferAuthority: poolConfig.transferAuthority,
|
@@ -1779,6 +1814,109 @@ var PerpetualsClient = (function () {
|
|
1779
1814
|
});
|
1780
1815
|
});
|
1781
1816
|
};
|
1817
|
+
this.increaseSize = function (marketSymbol, collateralSymbol, positionPubKey, poolConfig, price, sizeDelta) { return __awaiter(_this, void 0, void 0, function () {
|
1818
|
+
var publicKey, collateralCustodyConfig, marketCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, params, instruction;
|
1819
|
+
return __generator(this, function (_a) {
|
1820
|
+
switch (_a.label) {
|
1821
|
+
case 0:
|
1822
|
+
publicKey = this.provider.wallet.publicKey;
|
1823
|
+
collateralCustodyConfig = poolConfig.custodies.find(function (i) {
|
1824
|
+
return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey);
|
1825
|
+
});
|
1826
|
+
marketCustodyConfig = poolConfig.custodies.find(function (i) {
|
1827
|
+
return i.mintKey.equals(poolConfig.getTokenFromSymbol(marketSymbol).mintKey);
|
1828
|
+
});
|
1829
|
+
if (!collateralCustodyConfig || !marketCustodyConfig) {
|
1830
|
+
throw "collateralCustodyConfig/marketCustodyConfig not found";
|
1831
|
+
}
|
1832
|
+
preInstructions = [];
|
1833
|
+
instructions = [];
|
1834
|
+
postInstructions = [];
|
1835
|
+
additionalSigners = [];
|
1836
|
+
params = {
|
1837
|
+
price: price,
|
1838
|
+
sizeDelta: sizeDelta
|
1839
|
+
};
|
1840
|
+
return [4, this.program.methods
|
1841
|
+
.increaseSize(params)
|
1842
|
+
.accounts({
|
1843
|
+
delegate: publicKey,
|
1844
|
+
owner: publicKey,
|
1845
|
+
perpetuals: poolConfig.perpetuals,
|
1846
|
+
pool: poolConfig.poolAddress,
|
1847
|
+
position: positionPubKey,
|
1848
|
+
custody: marketCustodyConfig.custodyAccount,
|
1849
|
+
custodyOracleAccount: marketCustodyConfig.oracleAddress,
|
1850
|
+
custodyCustomOracleAccount: web3_js_1.SystemProgram.programId,
|
1851
|
+
collateralCustody: collateralCustodyConfig.custodyAccount,
|
1852
|
+
collateralCustodyOracleAccount: collateralCustodyConfig.oracleAddress,
|
1853
|
+
collateralCustodyCustomOracleAccount: web3_js_1.SystemProgram.programId,
|
1854
|
+
eventAuthority: this.eventAuthority.publicKey,
|
1855
|
+
program: this.programId,
|
1856
|
+
})
|
1857
|
+
.instruction()];
|
1858
|
+
case 1:
|
1859
|
+
instruction = _a.sent();
|
1860
|
+
instructions.push(instruction);
|
1861
|
+
return [2, {
|
1862
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
1863
|
+
additionalSigners: additionalSigners
|
1864
|
+
}];
|
1865
|
+
}
|
1866
|
+
});
|
1867
|
+
}); };
|
1868
|
+
this.decreaseSize = function (marketSymbol, collateralSymbol, positionPubKey, poolConfig, price, sizeDelta) { return __awaiter(_this, void 0, void 0, function () {
|
1869
|
+
var publicKey, collateralCustodyConfig, marketCustodyConfig, preInstructions, instructions, postInstructions, additionalSigners, params, instruction;
|
1870
|
+
return __generator(this, function (_a) {
|
1871
|
+
switch (_a.label) {
|
1872
|
+
case 0:
|
1873
|
+
publicKey = this.provider.wallet.publicKey;
|
1874
|
+
collateralCustodyConfig = poolConfig.custodies.find(function (i) {
|
1875
|
+
return i.mintKey.equals(poolConfig.getTokenFromSymbol(collateralSymbol).mintKey);
|
1876
|
+
});
|
1877
|
+
marketCustodyConfig = poolConfig.custodies.find(function (i) {
|
1878
|
+
return i.mintKey.equals(poolConfig.getTokenFromSymbol(marketSymbol).mintKey);
|
1879
|
+
});
|
1880
|
+
if (!collateralCustodyConfig || !marketCustodyConfig) {
|
1881
|
+
throw "collateralCustodyConfig/marketCustodyConfig not found";
|
1882
|
+
}
|
1883
|
+
preInstructions = [];
|
1884
|
+
instructions = [];
|
1885
|
+
postInstructions = [];
|
1886
|
+
additionalSigners = [];
|
1887
|
+
params = {
|
1888
|
+
price: price,
|
1889
|
+
sizeDelta: sizeDelta
|
1890
|
+
};
|
1891
|
+
return [4, this.program.methods
|
1892
|
+
.decreaseSize(params)
|
1893
|
+
.accounts({
|
1894
|
+
delegate: publicKey,
|
1895
|
+
owner: publicKey,
|
1896
|
+
perpetuals: poolConfig.perpetuals,
|
1897
|
+
pool: poolConfig.poolAddress,
|
1898
|
+
position: positionPubKey,
|
1899
|
+
custody: marketCustodyConfig.custodyAccount,
|
1900
|
+
custodyOracleAccount: marketCustodyConfig.oracleAddress,
|
1901
|
+
custodyCustomOracleAccount: web3_js_1.SystemProgram.programId,
|
1902
|
+
collateralCustody: collateralCustodyConfig.custodyAccount,
|
1903
|
+
collateralCustodyOracleAccount: collateralCustodyConfig.oracleAddress,
|
1904
|
+
collateralCustodyCustomOracleAccount: web3_js_1.SystemProgram.programId,
|
1905
|
+
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
1906
|
+
eventAuthority: this.eventAuthority.publicKey,
|
1907
|
+
program: this.programId,
|
1908
|
+
})
|
1909
|
+
.instruction()];
|
1910
|
+
case 1:
|
1911
|
+
instruction = _a.sent();
|
1912
|
+
instructions.push(instruction);
|
1913
|
+
return [2, {
|
1914
|
+
instructions: __spreadArray(__spreadArray(__spreadArray([], preInstructions, true), instructions, true), postInstructions, true),
|
1915
|
+
additionalSigners: additionalSigners
|
1916
|
+
}];
|
1917
|
+
}
|
1918
|
+
});
|
1919
|
+
}); };
|
1782
1920
|
this.addLiquidity = function (payTokenSymbol, tokenAmountIn, minLpAmountOut, poolConfig, skipBalanceChecks) {
|
1783
1921
|
if (skipBalanceChecks === void 0) { skipBalanceChecks = false; }
|
1784
1922
|
return __awaiter(_this, void 0, void 0, function () {
|
@@ -1880,6 +2018,7 @@ var PerpetualsClient = (function () {
|
|
1880
2018
|
minLpAmountOut: minLpAmountOut
|
1881
2019
|
})
|
1882
2020
|
.accounts({
|
2021
|
+
delegate: publicKey,
|
1883
2022
|
owner: publicKey,
|
1884
2023
|
fundingAccount: payTokenSymbol == 'SOL' ? wrappedSolAccount.publicKey : userPayingTokenAccount,
|
1885
2024
|
lpTokenAccount: lpTokenAccount,
|
@@ -2001,6 +2140,7 @@ var PerpetualsClient = (function () {
|
|
2001
2140
|
minAmountOut: minTokenAmountOut
|
2002
2141
|
})
|
2003
2142
|
.accounts({
|
2143
|
+
delegate: publicKey,
|
2004
2144
|
owner: publicKey,
|
2005
2145
|
receivingAccount: recieveTokenSymbol == 'SOL' ? wrappedSolAccount.publicKey : userReceivingTokenAccount,
|
2006
2146
|
lpTokenAccount: lpTokenAccount,
|
package/dist/PoolConfig.json
CHANGED
@@ -7,16 +7,16 @@
|
|
7
7
|
},
|
8
8
|
"pools": [
|
9
9
|
{
|
10
|
-
"programId": "
|
10
|
+
"programId": "FT69jb9K5b6uUbvk2BczUoG5bUS9gDPNMRbSk4GRyqw9",
|
11
11
|
"cluster": "devnet",
|
12
12
|
"poolName": "devnet.1",
|
13
|
-
"poolAddress": "
|
14
|
-
"lpTokenMint": "
|
13
|
+
"poolAddress": "9qm6NJrrWejf1SD8jcPsjha5GkK8C6qpqc7Rfm2mnWnS",
|
14
|
+
"lpTokenMint": "C5JYa8vWZrkBGexF6rSS1LT1BTGB8gjZmzNPgGke8iyg",
|
15
15
|
"lpDecimals": 6,
|
16
|
-
"perpetuals": "
|
17
|
-
"transferAuthority": "
|
18
|
-
"multisig": "
|
19
|
-
"addressLookupTableAddresses": ["
|
16
|
+
"perpetuals": "ArVyuoPszQtUJ55dLUbfSzgFEd51sGv6e9pa7mY28YSS",
|
17
|
+
"transferAuthority": "3SRkyahDfpKu7Z5pBpqqCh3BmNypdqTQTkPihwqJVHch",
|
18
|
+
"multisig": "H4qXpG1vtRC6k2FKQ1tCs2Ybu1JrFAAQhR3HpR17pNGk",
|
19
|
+
"addressLookupTableAddresses": ["6mft2iEUDTL1SaB5FRWMshF648ELbRZcQm6ZaykCwb81"],
|
20
20
|
"tokens": [
|
21
21
|
{
|
22
22
|
"symbol": "USDC",
|
@@ -62,8 +62,8 @@
|
|
62
62
|
"custodies": [
|
63
63
|
{
|
64
64
|
"custodyId": 0,
|
65
|
-
"custodyAccount": "
|
66
|
-
"tokenAccount": "
|
65
|
+
"custodyAccount": "FuRBCva68Gv33hw8VEuR54wYhYUYWEu25YoJEvegk9XD",
|
66
|
+
"tokenAccount": "FqgWhmYve2bDwMnVJ4sqa7SYCBxZsqNLTvxu67NeYxUc",
|
67
67
|
"symbol": "USDC",
|
68
68
|
"mintKey": "Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr",
|
69
69
|
"decimals": 6,
|
@@ -73,8 +73,8 @@
|
|
73
73
|
},
|
74
74
|
{
|
75
75
|
"custodyId": 1,
|
76
|
-
"custodyAccount": "
|
77
|
-
"tokenAccount": "
|
76
|
+
"custodyAccount": "EFPba9AupUjA2p2m1uwuUNhtcAavmr4Q6CQQXqcjmQLW",
|
77
|
+
"tokenAccount": "FLzLLpZ4ddmPrb6d5qmMnVJrR4bqnqT2bjKDLdKyzZgH",
|
78
78
|
"symbol": "SOL",
|
79
79
|
"mintKey": "So11111111111111111111111111111111111111112",
|
80
80
|
"decimals": 9,
|
@@ -84,8 +84,8 @@
|
|
84
84
|
},
|
85
85
|
{
|
86
86
|
"custodyId": 2,
|
87
|
-
"custodyAccount": "
|
88
|
-
"tokenAccount": "
|
87
|
+
"custodyAccount": "9N8GUwUXgem1Fb4xx3oFJYMMK92vs52TNGxh34Nvo1vs",
|
88
|
+
"tokenAccount": "BT6Yf1dzmkPy5hoXotEz7T32gWj2EuLony175Zefv41N",
|
89
89
|
"symbol": "BTC",
|
90
90
|
"mintKey": "B8DYqbh57aEPRbUq7reyueY6jaYoN75js5YsiM84tFfP",
|
91
91
|
"decimals": 6,
|
@@ -95,8 +95,8 @@
|
|
95
95
|
},
|
96
96
|
{
|
97
97
|
"custodyId": 3,
|
98
|
-
"custodyAccount": "
|
99
|
-
"tokenAccount": "
|
98
|
+
"custodyAccount": "BpTqads4ycN1JKeypKWtkvgymzT482fNKERxNCJSrkrn",
|
99
|
+
"tokenAccount": "71gLW8JMtf3AZ1Xb5gJcVyj4kyAAxrCqRGuqCmrJVkhZ",
|
100
100
|
"symbol": "ETH",
|
101
101
|
"mintKey": "BA17bkYW78GvnirtgRHcceQxZdwkhpzbvrwDU6voUXRz",
|
102
102
|
"decimals": 6,
|