flash-sdk 2.5.6 → 2.6.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/PerpetualsClient.d.ts +27 -19
- package/dist/PerpetualsClient.js +144 -55
- package/dist/PoolConfig.d.ts +2 -2
- package/dist/PoolConfig.js +1 -1
- package/dist/PoolConfig.json +80 -80
- package/dist/idl/perpetuals.d.ts +775 -98
- package/dist/idl/perpetuals.js +775 -98
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -47,9 +47,9 @@ export declare class PerpetualsClient {
|
|
47
47
|
};
|
48
48
|
private postSendTxCallback?;
|
49
49
|
private prioritizationFee;
|
50
|
-
private
|
50
|
+
private useExtOracleAccount;
|
51
51
|
private txConfirmationCommitment;
|
52
|
-
constructor(provider: AnchorProvider, programId: PublicKey, composabilityProgramId: PublicKey, fbNftRewardProgramId: PublicKey, opts: PerpClientOptions,
|
52
|
+
constructor(provider: AnchorProvider, programId: PublicKey, composabilityProgramId: PublicKey, fbNftRewardProgramId: PublicKey, opts: PerpClientOptions, useExtOracleAccount?: boolean);
|
53
53
|
setPrioritizationFee: (fee: number) => void;
|
54
54
|
loadAddressLookupTable: (poolConfig: PoolConfig) => Promise<void>;
|
55
55
|
findProgramAddress: (label: string, extraSeeds?: any) => {
|
@@ -71,8 +71,8 @@ export declare class PerpetualsClient {
|
|
71
71
|
isVirtual: boolean;
|
72
72
|
distributeRewards: boolean;
|
73
73
|
oracle: {
|
74
|
-
|
75
|
-
|
74
|
+
intOracleAccount: PublicKey;
|
75
|
+
extOracleAccount: PublicKey;
|
76
76
|
oracleType: {
|
77
77
|
none?: Record<string, never>;
|
78
78
|
custom?: Record<string, never>;
|
@@ -332,8 +332,8 @@ export declare class PerpetualsClient {
|
|
332
332
|
isVirtual: boolean;
|
333
333
|
distributeRewards: boolean;
|
334
334
|
oracle: {
|
335
|
-
|
336
|
-
|
335
|
+
intOracleAccount: PublicKey;
|
336
|
+
extOracleAccount: PublicKey;
|
337
337
|
oracleType: {
|
338
338
|
none?: Record<string, never>;
|
339
339
|
custom?: Record<string, never>;
|
@@ -592,8 +592,8 @@ export declare class PerpetualsClient {
|
|
592
592
|
isVirtual: boolean;
|
593
593
|
distributeRewards: boolean;
|
594
594
|
oracle: {
|
595
|
-
|
596
|
-
|
595
|
+
intOracleAccount: PublicKey;
|
596
|
+
extOracleAccount: PublicKey;
|
597
597
|
oracleType: {
|
598
598
|
none?: Record<string, never>;
|
599
599
|
custom?: Record<string, never>;
|
@@ -855,8 +855,8 @@ export declare class PerpetualsClient {
|
|
855
855
|
isVirtual: boolean;
|
856
856
|
distributeRewards: boolean;
|
857
857
|
oracle: {
|
858
|
-
|
859
|
-
|
858
|
+
intOracleAccount: PublicKey;
|
859
|
+
extOracleAccount: PublicKey;
|
860
860
|
oracleType: {
|
861
861
|
none?: Record<string, never>;
|
862
862
|
custom?: Record<string, never>;
|
@@ -1117,8 +1117,8 @@ export declare class PerpetualsClient {
|
|
1117
1117
|
isVirtual: boolean;
|
1118
1118
|
distributeRewards: boolean;
|
1119
1119
|
oracle: {
|
1120
|
-
|
1121
|
-
|
1120
|
+
intOracleAccount: PublicKey;
|
1121
|
+
extOracleAccount: PublicKey;
|
1122
1122
|
oracleType: {
|
1123
1123
|
none?: Record<string, never>;
|
1124
1124
|
custom?: Record<string, never>;
|
@@ -1377,8 +1377,8 @@ export declare class PerpetualsClient {
|
|
1377
1377
|
isVirtual: boolean;
|
1378
1378
|
distributeRewards: boolean;
|
1379
1379
|
oracle: {
|
1380
|
-
|
1381
|
-
|
1380
|
+
intOracleAccount: PublicKey;
|
1381
|
+
extOracleAccount: PublicKey;
|
1382
1382
|
oracleType: {
|
1383
1383
|
none?: Record<string, never>;
|
1384
1384
|
custom?: Record<string, never>;
|
@@ -1670,8 +1670,8 @@ export declare class PerpetualsClient {
|
|
1670
1670
|
isVirtual: boolean;
|
1671
1671
|
distributeRewards: boolean;
|
1672
1672
|
oracle: {
|
1673
|
-
|
1674
|
-
|
1673
|
+
intOracleAccount: PublicKey;
|
1674
|
+
extOracleAccount: PublicKey;
|
1675
1675
|
oracleType: {
|
1676
1676
|
none?: Record<string, never>;
|
1677
1677
|
custom?: Record<string, never>;
|
@@ -1930,8 +1930,8 @@ export declare class PerpetualsClient {
|
|
1930
1930
|
isVirtual: boolean;
|
1931
1931
|
distributeRewards: boolean;
|
1932
1932
|
oracle: {
|
1933
|
-
|
1934
|
-
|
1933
|
+
intOracleAccount: PublicKey;
|
1934
|
+
extOracleAccount: PublicKey;
|
1935
1935
|
oracleType: {
|
1936
1936
|
none?: Record<string, never>;
|
1937
1937
|
custom?: Record<string, never>;
|
@@ -2379,7 +2379,15 @@ export declare class PerpetualsClient {
|
|
2379
2379
|
instructions: TransactionInstruction[];
|
2380
2380
|
additionalSigners: Signer[];
|
2381
2381
|
}>;
|
2382
|
-
reimburse: (
|
2382
|
+
reimburse: (tokenMint: PublicKey, amountIn: BN, poolConfig: PoolConfig) => Promise<{
|
2383
|
+
instructions: TransactionInstruction[];
|
2384
|
+
additionalSigners: Signer[];
|
2385
|
+
}>;
|
2386
|
+
setCustomOraclePrice: (tokenMint: PublicKey, price: BN, expo: number, conf: BN, ema: BN, publishTime: BN, poolConfig: PoolConfig) => Promise<{
|
2387
|
+
instructions: TransactionInstruction[];
|
2388
|
+
additionalSigners: Signer[];
|
2389
|
+
}>;
|
2390
|
+
setInternalOraclePrice: (tokenMint: PublicKey, price: BN, expo: number, conf: BN, ema: BN, publishTime: BN, poolConfig: PoolConfig) => Promise<{
|
2383
2391
|
instructions: TransactionInstruction[];
|
2384
2392
|
additionalSigners: Signer[];
|
2385
2393
|
}>;
|
package/dist/PerpetualsClient.js
CHANGED
@@ -77,8 +77,8 @@ var constants_1 = require("./constants");
|
|
77
77
|
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
78
78
|
var getNftAccounts_1 = require("./utils/getNftAccounts");
|
79
79
|
var PerpetualsClient = (function () {
|
80
|
-
function PerpetualsClient(provider, programId, composabilityProgramId, fbNftRewardProgramId, opts,
|
81
|
-
if (
|
80
|
+
function PerpetualsClient(provider, programId, composabilityProgramId, fbNftRewardProgramId, opts, useExtOracleAccount) {
|
81
|
+
if (useExtOracleAccount === void 0) { useExtOracleAccount = false; }
|
82
82
|
var _this = this;
|
83
83
|
var _a;
|
84
84
|
this.addressLookupTables = [];
|
@@ -559,9 +559,9 @@ var PerpetualsClient = (function () {
|
|
559
559
|
position: positionAccount,
|
560
560
|
market: marketPk,
|
561
561
|
targetCustody: targetCustodyConfig.custodyAccount,
|
562
|
-
targetOracleAccount: this.
|
562
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
563
563
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
564
|
-
collateralOracleAccount: this.
|
564
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
565
565
|
eventAuthority: this.eventAuthority.publicKey,
|
566
566
|
program: this.program.programId,
|
567
567
|
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
@@ -1695,9 +1695,9 @@ var PerpetualsClient = (function () {
|
|
1695
1695
|
position: positionAccount,
|
1696
1696
|
market: marketAccount,
|
1697
1697
|
targetCustody: targetCustodyConfig.custodyAccount,
|
1698
|
-
targetOracleAccount: this.
|
1698
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
1699
1699
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
1700
|
-
collateralOracleAccount: this.
|
1700
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
1701
1701
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
1702
1702
|
systemProgram: web3_js_1.SystemProgram.programId,
|
1703
1703
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
@@ -1806,7 +1806,7 @@ var PerpetualsClient = (function () {
|
|
1806
1806
|
isWritable: false,
|
1807
1807
|
});
|
1808
1808
|
custodyOracleAccountMetas.push({
|
1809
|
-
pubkey: this.
|
1809
|
+
pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
|
1810
1810
|
isSigner: false,
|
1811
1811
|
isWritable: false,
|
1812
1812
|
});
|
@@ -1828,18 +1828,18 @@ var PerpetualsClient = (function () {
|
|
1828
1828
|
perpetuals: swapPoolConfig.perpetuals,
|
1829
1829
|
swapPool: swapPoolConfig.poolAddress,
|
1830
1830
|
receivingCustody: swapInCustodyConfig.custodyAccount,
|
1831
|
-
receivingCustodyOracleAccount: this.
|
1831
|
+
receivingCustodyOracleAccount: this.useExtOracleAccount ? swapInCustodyConfig.extOracleAccount : swapInCustodyConfig.intOracleAccount,
|
1832
1832
|
receivingCustodyTokenAccount: swapInCustodyConfig.tokenAccount,
|
1833
1833
|
dispensingCustody: swapOutCustodyConfig.custodyAccount,
|
1834
|
-
dispensingCustodyOracleAccount: this.
|
1834
|
+
dispensingCustodyOracleAccount: this.useExtOracleAccount ? swapOutCustodyConfig.extOracleAccount : swapOutCustodyConfig.intOracleAccount,
|
1835
1835
|
dispensingCustodyTokenAccount: swapOutCustodyConfig.tokenAccount,
|
1836
1836
|
positionPool: positionPoolConfig.poolAddress,
|
1837
1837
|
position: positionAccount,
|
1838
1838
|
market: marketAccount,
|
1839
1839
|
targetCustody: targetCustodyConfig.custodyAccount,
|
1840
|
-
targetOracleAccount: this.
|
1840
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
1841
1841
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
1842
|
-
collateralOracleAccount: this.
|
1842
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
1843
1843
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
1844
1844
|
eventAuthority: this.eventAuthority.publicKey,
|
1845
1845
|
systemProgram: web3_js_1.SystemProgram.programId,
|
@@ -1930,9 +1930,9 @@ var PerpetualsClient = (function () {
|
|
1930
1930
|
position: positionAccount,
|
1931
1931
|
market: marketAccount,
|
1932
1932
|
targetCustody: targetCustodyConfig.custodyAccount,
|
1933
|
-
targetOracleAccount: this.
|
1933
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
1934
1934
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
1935
|
-
collateralOracleAccount: this.
|
1935
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
1936
1936
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
1937
1937
|
eventAuthority: this.eventAuthority.publicKey,
|
1938
1938
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
@@ -2027,7 +2027,7 @@ var PerpetualsClient = (function () {
|
|
2027
2027
|
isWritable: false,
|
2028
2028
|
});
|
2029
2029
|
custodyOracleAccountMetas.push({
|
2030
|
-
pubkey: this.
|
2030
|
+
pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
|
2031
2031
|
isSigner: false,
|
2032
2032
|
isWritable: false,
|
2033
2033
|
});
|
@@ -2047,18 +2047,18 @@ var PerpetualsClient = (function () {
|
|
2047
2047
|
perpetuals: swapPoolConfig.perpetuals,
|
2048
2048
|
swapPool: swapPoolConfig.poolAddress,
|
2049
2049
|
receivingCustody: swapInCustodyConfig.custodyAccount,
|
2050
|
-
receivingCustodyOracleAccount: this.
|
2050
|
+
receivingCustodyOracleAccount: this.useExtOracleAccount ? swapInCustodyConfig.extOracleAccount : swapInCustodyConfig.intOracleAccount,
|
2051
2051
|
receivingCustodyTokenAccount: swapInCustodyConfig.tokenAccount,
|
2052
2052
|
dispensingCustody: swapOutCustodyConfig.custodyAccount,
|
2053
|
-
dispensingCustodyOracleAccount: this.
|
2053
|
+
dispensingCustodyOracleAccount: this.useExtOracleAccount ? swapOutCustodyConfig.extOracleAccount : swapOutCustodyConfig.intOracleAccount,
|
2054
2054
|
dispensingCustodyTokenAccount: swapOutCustodyConfig.tokenAccount,
|
2055
2055
|
positionPool: positionPoolConfig.poolAddress,
|
2056
2056
|
position: positionAccount,
|
2057
2057
|
market: marketAccount,
|
2058
2058
|
targetCustody: targetCustodyConfig.custodyAccount,
|
2059
|
-
targetOracleAccount: this.
|
2059
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
2060
2060
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
2061
|
-
collateralOracleAccount: this.
|
2061
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
2062
2062
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
2063
2063
|
eventAuthority: this.eventAuthority.publicKey,
|
2064
2064
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
@@ -2232,7 +2232,7 @@ var PerpetualsClient = (function () {
|
|
2232
2232
|
isWritable: false,
|
2233
2233
|
});
|
2234
2234
|
custodyOracleAccountMetas.push({
|
2235
|
-
pubkey: this.
|
2235
|
+
pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
|
2236
2236
|
isSigner: false,
|
2237
2237
|
isWritable: false,
|
2238
2238
|
});
|
@@ -2252,10 +2252,10 @@ var PerpetualsClient = (function () {
|
|
2252
2252
|
perpetuals: poolConfig.perpetuals,
|
2253
2253
|
pool: poolConfig.poolAddress,
|
2254
2254
|
receivingCustody: userInputCustodyConfig.custodyAccount,
|
2255
|
-
receivingCustodyOracleAccount: this.
|
2255
|
+
receivingCustodyOracleAccount: this.useExtOracleAccount ? userInputCustodyConfig.extOracleAccount : userInputCustodyConfig.intOracleAccount,
|
2256
2256
|
receivingCustodyTokenAccount: userInputCustodyConfig.tokenAccount,
|
2257
2257
|
dispensingCustody: userOutputCustodyConfig.custodyAccount,
|
2258
|
-
dispensingCustodyOracleAccount: this.
|
2258
|
+
dispensingCustodyOracleAccount: this.useExtOracleAccount ? userOutputCustodyConfig.extOracleAccount : userOutputCustodyConfig.intOracleAccount,
|
2259
2259
|
dispensingCustodyTokenAccount: userOutputCustodyConfig.tokenAccount,
|
2260
2260
|
eventAuthority: this.eventAuthority.publicKey,
|
2261
2261
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
@@ -2362,9 +2362,9 @@ var PerpetualsClient = (function () {
|
|
2362
2362
|
perpetuals: poolConfig.perpetuals,
|
2363
2363
|
pool: poolConfig.poolAddress,
|
2364
2364
|
targetCustody: targetCustodyConfig.custodyAccount,
|
2365
|
-
targetOracleAccount: this.
|
2365
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
2366
2366
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
2367
|
-
collateralOracleAccount: this.
|
2367
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
2368
2368
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
2369
2369
|
eventAuthority: this.eventAuthority.publicKey,
|
2370
2370
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
@@ -2469,7 +2469,7 @@ var PerpetualsClient = (function () {
|
|
2469
2469
|
isWritable: false,
|
2470
2470
|
});
|
2471
2471
|
custodyOracleAccountMetas.push({
|
2472
|
-
pubkey: this.
|
2472
|
+
pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
|
2473
2473
|
isSigner: false,
|
2474
2474
|
isWritable: false,
|
2475
2475
|
});
|
@@ -2487,18 +2487,18 @@ var PerpetualsClient = (function () {
|
|
2487
2487
|
perpetuals: poolConfigSwap.perpetuals,
|
2488
2488
|
swapPool: poolConfigSwap.poolAddress,
|
2489
2489
|
receivingCustody: inputCustodyConfig.custodyAccount,
|
2490
|
-
receivingCustodyOracleAccount: this.
|
2490
|
+
receivingCustodyOracleAccount: this.useExtOracleAccount ? inputCustodyConfig.extOracleAccount : inputCustodyConfig.intOracleAccount,
|
2491
2491
|
receivingCustodyTokenAccount: inputCustodyConfig.tokenAccount,
|
2492
2492
|
dispensingCustody: outputCustodyConfig.custodyAccount,
|
2493
|
-
dispensingCustodyOracleAccount: this.
|
2493
|
+
dispensingCustodyOracleAccount: this.useExtOracleAccount ? outputCustodyConfig.extOracleAccount : outputCustodyConfig.intOracleAccount,
|
2494
2494
|
dispensingCustodyTokenAccount: outputCustodyConfig.tokenAccount,
|
2495
2495
|
positionPool: poolConfigPosition.poolAddress,
|
2496
2496
|
position: positionPubKey,
|
2497
2497
|
market: marketAccount,
|
2498
2498
|
targetCustody: targetCustodyConfig.custodyAccount,
|
2499
|
-
targetOracleAccount: this.
|
2499
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
2500
2500
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
2501
|
-
collateralOracleAccount: this.
|
2501
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
2502
2502
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
2503
2503
|
eventAuthority: this.eventAuthority.publicKey,
|
2504
2504
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
@@ -2594,9 +2594,9 @@ var PerpetualsClient = (function () {
|
|
2594
2594
|
position: positionPubKey,
|
2595
2595
|
market: marketAccount,
|
2596
2596
|
targetCustody: targetCustodyConfig.custodyAccount,
|
2597
|
-
targetOracleAccount: this.
|
2597
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
2598
2598
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
2599
|
-
collateralOracleAccount: this.
|
2599
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
2600
2600
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
2601
2601
|
eventAuthority: this.eventAuthority.publicKey,
|
2602
2602
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
@@ -2690,7 +2690,7 @@ var PerpetualsClient = (function () {
|
|
2690
2690
|
isWritable: false,
|
2691
2691
|
});
|
2692
2692
|
custodyOracleAccountMetas.push({
|
2693
|
-
pubkey: this.
|
2693
|
+
pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
|
2694
2694
|
isSigner: false,
|
2695
2695
|
isWritable: false,
|
2696
2696
|
});
|
@@ -2709,18 +2709,18 @@ var PerpetualsClient = (function () {
|
|
2709
2709
|
perpetuals: poolConfigSwap.perpetuals,
|
2710
2710
|
swapPool: poolConfigSwap.poolAddress,
|
2711
2711
|
receivingCustody: inputCusotdyConfig.custodyAccount,
|
2712
|
-
receivingCustodyOracleAccount: this.
|
2712
|
+
receivingCustodyOracleAccount: this.useExtOracleAccount ? inputCusotdyConfig.extOracleAccount : inputCusotdyConfig.intOracleAccount,
|
2713
2713
|
receivingCustodyTokenAccount: inputCusotdyConfig.tokenAccount,
|
2714
2714
|
dispensingCustody: outputCustodyConfig.custodyAccount,
|
2715
|
-
dispensingCustodyOracleAccount: this.
|
2715
|
+
dispensingCustodyOracleAccount: this.useExtOracleAccount ? outputCustodyConfig.extOracleAccount : outputCustodyConfig.intOracleAccount,
|
2716
2716
|
dispensingCustodyTokenAccount: outputCustodyConfig.tokenAccount,
|
2717
2717
|
positionPool: poolConfigPosition.poolAddress,
|
2718
2718
|
position: positionAccount,
|
2719
2719
|
market: marketAccount,
|
2720
2720
|
targetCustody: targetCustodyConfig.custodyAccount,
|
2721
|
-
targetOracleAccount: this.
|
2721
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
2722
2722
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
2723
|
-
collateralOracleAccount: this.
|
2723
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
2724
2724
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
2725
2725
|
eventAuthority: this.eventAuthority.publicKey,
|
2726
2726
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
@@ -2772,9 +2772,9 @@ var PerpetualsClient = (function () {
|
|
2772
2772
|
position: positionPubKey,
|
2773
2773
|
market: marketAccount,
|
2774
2774
|
targetCustody: targetCustodyConfig.custodyAccount,
|
2775
|
-
targetOracleAccount: this.
|
2775
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
2776
2776
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
2777
|
-
collateralOracleAccount: this.
|
2777
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
2778
2778
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
2779
2779
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
2780
2780
|
eventAuthority: this.eventAuthority.publicKey,
|
@@ -2827,9 +2827,9 @@ var PerpetualsClient = (function () {
|
|
2827
2827
|
position: positionPubKey,
|
2828
2828
|
market: marketAccount,
|
2829
2829
|
targetCustody: targetCustodyConfig.custodyAccount,
|
2830
|
-
targetOracleAccount: this.
|
2830
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
2831
2831
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
2832
|
-
collateralOracleAccount: this.
|
2832
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
2833
2833
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
2834
2834
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
2835
2835
|
eventAuthority: this.eventAuthority.publicKey,
|
@@ -2884,7 +2884,7 @@ var PerpetualsClient = (function () {
|
|
2884
2884
|
isWritable: false,
|
2885
2885
|
});
|
2886
2886
|
custodyOracleAccountMetas.push({
|
2887
|
-
pubkey: this.
|
2887
|
+
pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
|
2888
2888
|
isSigner: false,
|
2889
2889
|
isWritable: false,
|
2890
2890
|
});
|
@@ -2959,7 +2959,7 @@ var PerpetualsClient = (function () {
|
|
2959
2959
|
perpetuals: poolConfig.perpetuals,
|
2960
2960
|
pool: poolConfig.poolAddress,
|
2961
2961
|
custody: payTokenCustodyConfig.custodyAccount,
|
2962
|
-
custodyOracleAccount: this.
|
2962
|
+
custodyOracleAccount: this.useExtOracleAccount ? payTokenCustodyConfig.extOracleAccount : payTokenCustodyConfig.intOracleAccount,
|
2963
2963
|
custodyTokenAccount: payTokenCustodyConfig.tokenAccount,
|
2964
2964
|
lpTokenMint: poolConfig.lpTokenMint,
|
2965
2965
|
eventAuthority: this.eventAuthority.publicKey,
|
@@ -3020,7 +3020,7 @@ var PerpetualsClient = (function () {
|
|
3020
3020
|
isWritable: false,
|
3021
3021
|
});
|
3022
3022
|
custodyOracleAccountMetas.push({
|
3023
|
-
pubkey: this.
|
3023
|
+
pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
|
3024
3024
|
isSigner: false,
|
3025
3025
|
isWritable: false,
|
3026
3026
|
});
|
@@ -3083,7 +3083,7 @@ var PerpetualsClient = (function () {
|
|
3083
3083
|
perpetuals: poolConfig.perpetuals,
|
3084
3084
|
pool: poolConfig.poolAddress,
|
3085
3085
|
custody: recieveTokenCustodyConfig.custodyAccount,
|
3086
|
-
custodyOracleAccount: this.
|
3086
|
+
custodyOracleAccount: this.useExtOracleAccount ? recieveTokenCustodyConfig.extOracleAccount : recieveTokenCustodyConfig.intOracleAccount,
|
3087
3087
|
custodyTokenAccount: recieveTokenCustodyConfig.tokenAccount,
|
3088
3088
|
lpTokenMint: poolConfig.lpTokenMint,
|
3089
3089
|
eventAuthority: this.eventAuthority.publicKey,
|
@@ -4040,9 +4040,9 @@ var PerpetualsClient = (function () {
|
|
4040
4040
|
position: positionAccount,
|
4041
4041
|
market: marketAccount,
|
4042
4042
|
targetCustody: targetCustodyConfig.custodyAccount,
|
4043
|
-
targetOracleAccount: this.
|
4043
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
4044
4044
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
4045
|
-
collateralOracleAccount: this.
|
4045
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
4046
4046
|
eventAuthority: this.eventAuthority.publicKey,
|
4047
4047
|
program: this.programId,
|
4048
4048
|
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
@@ -4131,9 +4131,9 @@ var PerpetualsClient = (function () {
|
|
4131
4131
|
position: positionAccount.publicKey,
|
4132
4132
|
market: marketAccount,
|
4133
4133
|
targetCustody: targetCustodyConfig.custodyAccount,
|
4134
|
-
targetOracleAccount: this.
|
4134
|
+
targetOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
4135
4135
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
4136
|
-
collateralOracleAccount: this.
|
4136
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
4137
4137
|
collateralCustodyTokenAccount: collateralCustodyConfig.tokenAccount,
|
4138
4138
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
4139
4139
|
eventAuthority: this.eventAuthority.publicKey,
|
@@ -4180,9 +4180,9 @@ var PerpetualsClient = (function () {
|
|
4180
4180
|
position: position.publicKey,
|
4181
4181
|
market: marketConfig.marketAccount,
|
4182
4182
|
targetCustody: targetCustodyConfig.custodyAccount,
|
4183
|
-
custodyOracleAccount: this.
|
4183
|
+
custodyOracleAccount: this.useExtOracleAccount ? targetCustodyConfig.extOracleAccount : targetCustodyConfig.intOracleAccount,
|
4184
4184
|
collateralCustody: collateralCustodyConfig.custodyAccount,
|
4185
|
-
collateralOracleAccount: this.
|
4185
|
+
collateralOracleAccount: this.useExtOracleAccount ? collateralCustodyConfig.extOracleAccount : collateralCustodyConfig.intOracleAccount,
|
4186
4186
|
ixSysvar: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY
|
4187
4187
|
})
|
4188
4188
|
.view()];
|
@@ -4280,7 +4280,7 @@ var PerpetualsClient = (function () {
|
|
4280
4280
|
}
|
4281
4281
|
});
|
4282
4282
|
}); };
|
4283
|
-
this.reimburse = function (
|
4283
|
+
this.reimburse = function (tokenMint, amountIn, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
4284
4284
|
var custodyAccountMetas, custodyOracleAccountMetas, markets, _i, _a, custody, _b, _c, market, instructions, additionalSigners, custodyConfig, reimburse, _d, _e, err_26;
|
4285
4285
|
var _f;
|
4286
4286
|
return __generator(this, function (_g) {
|
@@ -4297,7 +4297,7 @@ var PerpetualsClient = (function () {
|
|
4297
4297
|
isWritable: false,
|
4298
4298
|
});
|
4299
4299
|
custodyOracleAccountMetas.push({
|
4300
|
-
pubkey: custody.
|
4300
|
+
pubkey: this.useExtOracleAccount ? custody.extOracleAccount : custody.intOracleAccount,
|
4301
4301
|
isSigner: false,
|
4302
4302
|
isWritable: false,
|
4303
4303
|
});
|
@@ -4327,9 +4327,9 @@ var PerpetualsClient = (function () {
|
|
4327
4327
|
return [4, (0, spl_token_1.getAssociatedTokenAddress)(tokenMint, this.provider.wallet.publicKey)];
|
4328
4328
|
case 2: return [4, _e.apply(_d, [(_f.fundingAccount = _g.sent(),
|
4329
4329
|
_f.perpetuals = poolConfig.perpetuals,
|
4330
|
-
_f.pool =
|
4331
|
-
_f.custody =
|
4332
|
-
_f.custodyOracleAccount = this.
|
4330
|
+
_f.pool = poolConfig.poolAddress,
|
4331
|
+
_f.custody = custodyConfig.custodyAccount,
|
4332
|
+
_f.custodyOracleAccount = this.useExtOracleAccount ? custodyConfig.extOracleAccount : custodyConfig.intOracleAccount,
|
4333
4333
|
_f.custodyTokenAccount = custodyConfig.tokenAccount,
|
4334
4334
|
_f.tokenProgram = spl_token_1.TOKEN_PROGRAM_ID,
|
4335
4335
|
_f.program = poolConfig.programId,
|
@@ -4352,6 +4352,95 @@ var PerpetualsClient = (function () {
|
|
4352
4352
|
}
|
4353
4353
|
});
|
4354
4354
|
}); };
|
4355
|
+
this.setCustomOraclePrice = function (tokenMint, price, expo, conf, ema, publishTime, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
4356
|
+
var instructions, additionalSigners, custodyConfig, setCustomOraclePrice, err_27;
|
4357
|
+
return __generator(this, function (_a) {
|
4358
|
+
switch (_a.label) {
|
4359
|
+
case 0:
|
4360
|
+
instructions = [];
|
4361
|
+
additionalSigners = [];
|
4362
|
+
custodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(tokenMint); });
|
4363
|
+
_a.label = 1;
|
4364
|
+
case 1:
|
4365
|
+
_a.trys.push([1, 3, , 4]);
|
4366
|
+
return [4, this.program.methods
|
4367
|
+
.setCustomOraclePrice({
|
4368
|
+
price: price,
|
4369
|
+
expo: expo,
|
4370
|
+
conf: conf,
|
4371
|
+
ema: ema,
|
4372
|
+
publishTime: publishTime,
|
4373
|
+
})
|
4374
|
+
.accounts({
|
4375
|
+
admin: this.provider.wallet.publicKey,
|
4376
|
+
multisig: poolConfig.multisig,
|
4377
|
+
perpetuals: poolConfig.perpetuals,
|
4378
|
+
pool: poolConfig.poolAddress,
|
4379
|
+
custody: custodyConfig.custodyAccount,
|
4380
|
+
intOracleAccount: custodyConfig.intOracleAccount,
|
4381
|
+
extOracleAccount: custodyConfig.extOracleAccount,
|
4382
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
4383
|
+
})
|
4384
|
+
.instruction()];
|
4385
|
+
case 2:
|
4386
|
+
setCustomOraclePrice = _a.sent();
|
4387
|
+
instructions.push(setCustomOraclePrice);
|
4388
|
+
return [3, 4];
|
4389
|
+
case 3:
|
4390
|
+
err_27 = _a.sent();
|
4391
|
+
console.log("perpClient setCustomOracleAccount error:: ", err_27);
|
4392
|
+
throw err_27;
|
4393
|
+
case 4: return [2, {
|
4394
|
+
instructions: __spreadArray([], instructions, true),
|
4395
|
+
additionalSigners: additionalSigners
|
4396
|
+
}];
|
4397
|
+
}
|
4398
|
+
});
|
4399
|
+
}); };
|
4400
|
+
this.setInternalOraclePrice = function (tokenMint, price, expo, conf, ema, publishTime, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
|
4401
|
+
var instructions, additionalSigners, custodyConfig, setInternalOraclePrice, err_28;
|
4402
|
+
return __generator(this, function (_a) {
|
4403
|
+
switch (_a.label) {
|
4404
|
+
case 0:
|
4405
|
+
instructions = [];
|
4406
|
+
additionalSigners = [];
|
4407
|
+
custodyConfig = poolConfig.custodies.find(function (i) { return i.mintKey.equals(tokenMint); });
|
4408
|
+
_a.label = 1;
|
4409
|
+
case 1:
|
4410
|
+
_a.trys.push([1, 3, , 4]);
|
4411
|
+
return [4, this.program.methods
|
4412
|
+
.setInternalOraclePrice({
|
4413
|
+
price: price,
|
4414
|
+
expo: expo,
|
4415
|
+
conf: conf,
|
4416
|
+
ema: ema,
|
4417
|
+
publishTime: publishTime,
|
4418
|
+
})
|
4419
|
+
.accounts({
|
4420
|
+
authority: poolConfig.backupOracle,
|
4421
|
+
perpetuals: poolConfig.perpetuals,
|
4422
|
+
pool: poolConfig.poolAddress,
|
4423
|
+
custody: custodyConfig.custodyAccount,
|
4424
|
+
intOracleAccount: custodyConfig.intOracleAccount,
|
4425
|
+
extOracleAccount: custodyConfig.extOracleAccount,
|
4426
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
4427
|
+
})
|
4428
|
+
.instruction()];
|
4429
|
+
case 2:
|
4430
|
+
setInternalOraclePrice = _a.sent();
|
4431
|
+
instructions.push(setInternalOraclePrice);
|
4432
|
+
return [3, 4];
|
4433
|
+
case 3:
|
4434
|
+
err_28 = _a.sent();
|
4435
|
+
console.log("perpClient setInternalOracleAccount error:: ", err_28);
|
4436
|
+
throw err_28;
|
4437
|
+
case 4: return [2, {
|
4438
|
+
instructions: __spreadArray([], instructions, true),
|
4439
|
+
additionalSigners: additionalSigners
|
4440
|
+
}];
|
4441
|
+
}
|
4442
|
+
});
|
4443
|
+
}); };
|
4355
4444
|
this.provider = provider;
|
4356
4445
|
(0, anchor_1.setProvider)(provider);
|
4357
4446
|
this.program = new anchor_1.Program(perpetuals_1.IDL, programId);
|
@@ -4365,7 +4454,7 @@ var PerpetualsClient = (function () {
|
|
4365
4454
|
this.perpetuals = this.findProgramAddress("perpetuals");
|
4366
4455
|
this.eventAuthority = this.findProgramAddress("__event_authority");
|
4367
4456
|
this.prioritizationFee = (opts === null || opts === void 0 ? void 0 : opts.prioritizationFee) || 0;
|
4368
|
-
this.
|
4457
|
+
this.useExtOracleAccount = useExtOracleAccount;
|
4369
4458
|
this.postSendTxCallback = opts === null || opts === void 0 ? void 0 : opts.postSendTxCallback;
|
4370
4459
|
this.txConfirmationCommitment = (_a = opts === null || opts === void 0 ? void 0 : opts.txConfirmationCommitment) !== null && _a !== void 0 ? _a : 'processed';
|
4371
4460
|
anchor_1.BN.prototype.toJSON = function () {
|
package/dist/PoolConfig.d.ts
CHANGED
@@ -13,8 +13,8 @@ export interface CustodyConfig {
|
|
13
13
|
tokenPrecision: number;
|
14
14
|
isStable: boolean;
|
15
15
|
isVirtual: boolean;
|
16
|
-
|
17
|
-
|
16
|
+
intOracleAccount: PublicKey;
|
17
|
+
extOracleAccount: PublicKey;
|
18
18
|
pythTicker: string;
|
19
19
|
pythPriceId: string;
|
20
20
|
}
|
package/dist/PoolConfig.js
CHANGED
@@ -138,7 +138,7 @@ var PoolConfig = (function () {
|
|
138
138
|
var custodies;
|
139
139
|
try {
|
140
140
|
custodies = poolConfig['custodies'].map(function (i, index) {
|
141
|
-
return __assign(__assign({}, i), { custodyId: i.custodyId, custodyAccount: new web3_js_1.PublicKey(i.custodyAccount), tokenAccount: new web3_js_1.PublicKey(i.tokenAccount), mintKey: new web3_js_1.PublicKey(i.mintKey),
|
141
|
+
return __assign(__assign({}, i), { custodyId: i.custodyId, custodyAccount: new web3_js_1.PublicKey(i.custodyAccount), tokenAccount: new web3_js_1.PublicKey(i.tokenAccount), mintKey: new web3_js_1.PublicKey(i.mintKey), intOracleAccount: new web3_js_1.PublicKey(i.intOracleAddress), extOracleAccount: new web3_js_1.PublicKey(i.extOracleAddress), usdPrecision: i.usdPrecision, tokenPrecision: i.tokenPrecision });
|
142
142
|
});
|
143
143
|
}
|
144
144
|
catch (error) {
|