flash-sdk 11.10.1-alpha.0 → 11.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PerpetualsClient.d.ts +52 -62
- package/dist/PerpetualsClient.js +38 -110
- package/dist/PositionAccount.d.ts +3 -3
- package/dist/idl/perpetuals.d.ts +25 -20
- package/dist/idl/perpetuals.js +25 -20
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.js +3 -3
- package/package.json +1 -1
|
@@ -22,8 +22,9 @@ export interface PositionMetrics {
|
|
|
22
22
|
pnl: {
|
|
23
23
|
profitUsd: BN;
|
|
24
24
|
lossUsd: BN;
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
priceImpactUsd: BN;
|
|
26
|
+
maxPriceImpactUsd: BN;
|
|
27
|
+
netProfitUsd: BN;
|
|
27
28
|
};
|
|
28
29
|
leverage: BN;
|
|
29
30
|
liquidationPrice: OraclePrice;
|
|
@@ -314,7 +315,7 @@ export declare class PerpetualsClient {
|
|
|
314
315
|
}[];
|
|
315
316
|
markets: PublicKey[];
|
|
316
317
|
maxAumUsd: BN;
|
|
317
|
-
buffer: BN | number[];
|
|
318
|
+
buffer: BN | number[] | number[];
|
|
318
319
|
rawAumUsd: BN;
|
|
319
320
|
equityUsd: BN;
|
|
320
321
|
totalStaked: {
|
|
@@ -359,7 +360,7 @@ export declare class PerpetualsClient {
|
|
|
359
360
|
sizeUsd: BN;
|
|
360
361
|
lockedAmount: BN;
|
|
361
362
|
lockedUsd: BN;
|
|
362
|
-
|
|
363
|
+
priceImpactUsd: BN;
|
|
363
364
|
collateralUsd: BN;
|
|
364
365
|
unsettledValueUsd: BN;
|
|
365
366
|
unsettledFeesUsd: BN;
|
|
@@ -369,8 +370,7 @@ export declare class PerpetualsClient {
|
|
|
369
370
|
price: BN;
|
|
370
371
|
exponent: number;
|
|
371
372
|
};
|
|
372
|
-
|
|
373
|
-
previousPenalty: number;
|
|
373
|
+
priceImpactSet: boolean;
|
|
374
374
|
sizeDecimals: number;
|
|
375
375
|
lockedDecimals: number;
|
|
376
376
|
collateralDecimals: number;
|
|
@@ -672,7 +672,7 @@ export declare class PerpetualsClient {
|
|
|
672
672
|
}[];
|
|
673
673
|
markets: PublicKey[];
|
|
674
674
|
maxAumUsd: BN;
|
|
675
|
-
buffer: BN | number[];
|
|
675
|
+
buffer: BN | number[] | number[];
|
|
676
676
|
rawAumUsd: BN;
|
|
677
677
|
equityUsd: BN;
|
|
678
678
|
totalStaked: {
|
|
@@ -717,7 +717,7 @@ export declare class PerpetualsClient {
|
|
|
717
717
|
sizeUsd: BN;
|
|
718
718
|
lockedAmount: BN;
|
|
719
719
|
lockedUsd: BN;
|
|
720
|
-
|
|
720
|
+
priceImpactUsd: BN;
|
|
721
721
|
collateralUsd: BN;
|
|
722
722
|
unsettledValueUsd: BN;
|
|
723
723
|
unsettledFeesUsd: BN;
|
|
@@ -727,8 +727,7 @@ export declare class PerpetualsClient {
|
|
|
727
727
|
price: BN;
|
|
728
728
|
exponent: number;
|
|
729
729
|
};
|
|
730
|
-
|
|
731
|
-
previousPenalty: number;
|
|
730
|
+
priceImpactSet: boolean;
|
|
732
731
|
sizeDecimals: number;
|
|
733
732
|
lockedDecimals: number;
|
|
734
733
|
collateralDecimals: number;
|
|
@@ -1029,7 +1028,7 @@ export declare class PerpetualsClient {
|
|
|
1029
1028
|
}[];
|
|
1030
1029
|
markets: PublicKey[];
|
|
1031
1030
|
maxAumUsd: BN;
|
|
1032
|
-
buffer: BN | number[];
|
|
1031
|
+
buffer: BN | number[] | number[];
|
|
1033
1032
|
rawAumUsd: BN;
|
|
1034
1033
|
equityUsd: BN;
|
|
1035
1034
|
totalStaked: {
|
|
@@ -1074,7 +1073,7 @@ export declare class PerpetualsClient {
|
|
|
1074
1073
|
sizeUsd: BN;
|
|
1075
1074
|
lockedAmount: BN;
|
|
1076
1075
|
lockedUsd: BN;
|
|
1077
|
-
|
|
1076
|
+
priceImpactUsd: BN;
|
|
1078
1077
|
collateralUsd: BN;
|
|
1079
1078
|
unsettledValueUsd: BN;
|
|
1080
1079
|
unsettledFeesUsd: BN;
|
|
@@ -1084,8 +1083,7 @@ export declare class PerpetualsClient {
|
|
|
1084
1083
|
price: BN;
|
|
1085
1084
|
exponent: number;
|
|
1086
1085
|
};
|
|
1087
|
-
|
|
1088
|
-
previousPenalty: number;
|
|
1086
|
+
priceImpactSet: boolean;
|
|
1089
1087
|
sizeDecimals: number;
|
|
1090
1088
|
lockedDecimals: number;
|
|
1091
1089
|
collateralDecimals: number;
|
|
@@ -1390,7 +1388,7 @@ export declare class PerpetualsClient {
|
|
|
1390
1388
|
}[];
|
|
1391
1389
|
markets: PublicKey[];
|
|
1392
1390
|
maxAumUsd: BN;
|
|
1393
|
-
buffer: BN | number[];
|
|
1391
|
+
buffer: BN | number[] | number[];
|
|
1394
1392
|
rawAumUsd: BN;
|
|
1395
1393
|
equityUsd: BN;
|
|
1396
1394
|
totalStaked: {
|
|
@@ -1435,7 +1433,7 @@ export declare class PerpetualsClient {
|
|
|
1435
1433
|
sizeUsd: BN;
|
|
1436
1434
|
lockedAmount: BN;
|
|
1437
1435
|
lockedUsd: BN;
|
|
1438
|
-
|
|
1436
|
+
priceImpactUsd: BN;
|
|
1439
1437
|
collateralUsd: BN;
|
|
1440
1438
|
unsettledValueUsd: BN;
|
|
1441
1439
|
unsettledFeesUsd: BN;
|
|
@@ -1445,8 +1443,7 @@ export declare class PerpetualsClient {
|
|
|
1445
1443
|
price: BN;
|
|
1446
1444
|
exponent: number;
|
|
1447
1445
|
};
|
|
1448
|
-
|
|
1449
|
-
previousPenalty: number;
|
|
1446
|
+
priceImpactSet: boolean;
|
|
1450
1447
|
sizeDecimals: number;
|
|
1451
1448
|
lockedDecimals: number;
|
|
1452
1449
|
collateralDecimals: number;
|
|
@@ -1750,7 +1747,7 @@ export declare class PerpetualsClient {
|
|
|
1750
1747
|
}[];
|
|
1751
1748
|
markets: PublicKey[];
|
|
1752
1749
|
maxAumUsd: BN;
|
|
1753
|
-
buffer: BN | number[];
|
|
1750
|
+
buffer: BN | number[] | number[];
|
|
1754
1751
|
rawAumUsd: BN;
|
|
1755
1752
|
equityUsd: BN;
|
|
1756
1753
|
totalStaked: {
|
|
@@ -1795,7 +1792,7 @@ export declare class PerpetualsClient {
|
|
|
1795
1792
|
sizeUsd: BN;
|
|
1796
1793
|
lockedAmount: BN;
|
|
1797
1794
|
lockedUsd: BN;
|
|
1798
|
-
|
|
1795
|
+
priceImpactUsd: BN;
|
|
1799
1796
|
collateralUsd: BN;
|
|
1800
1797
|
unsettledValueUsd: BN;
|
|
1801
1798
|
unsettledFeesUsd: BN;
|
|
@@ -1805,8 +1802,7 @@ export declare class PerpetualsClient {
|
|
|
1805
1802
|
price: BN;
|
|
1806
1803
|
exponent: number;
|
|
1807
1804
|
};
|
|
1808
|
-
|
|
1809
|
-
previousPenalty: number;
|
|
1805
|
+
priceImpactSet: boolean;
|
|
1810
1806
|
sizeDecimals: number;
|
|
1811
1807
|
lockedDecimals: number;
|
|
1812
1808
|
collateralDecimals: number;
|
|
@@ -2108,7 +2104,7 @@ export declare class PerpetualsClient {
|
|
|
2108
2104
|
}[];
|
|
2109
2105
|
markets: PublicKey[];
|
|
2110
2106
|
maxAumUsd: BN;
|
|
2111
|
-
buffer: BN | number[];
|
|
2107
|
+
buffer: BN | number[] | number[];
|
|
2112
2108
|
rawAumUsd: BN;
|
|
2113
2109
|
equityUsd: BN;
|
|
2114
2110
|
totalStaked: {
|
|
@@ -2153,7 +2149,7 @@ export declare class PerpetualsClient {
|
|
|
2153
2149
|
sizeUsd: BN;
|
|
2154
2150
|
lockedAmount: BN;
|
|
2155
2151
|
lockedUsd: BN;
|
|
2156
|
-
|
|
2152
|
+
priceImpactUsd: BN;
|
|
2157
2153
|
collateralUsd: BN;
|
|
2158
2154
|
unsettledValueUsd: BN;
|
|
2159
2155
|
unsettledFeesUsd: BN;
|
|
@@ -2163,8 +2159,7 @@ export declare class PerpetualsClient {
|
|
|
2163
2159
|
price: BN;
|
|
2164
2160
|
exponent: number;
|
|
2165
2161
|
};
|
|
2166
|
-
|
|
2167
|
-
previousPenalty: number;
|
|
2162
|
+
priceImpactSet: boolean;
|
|
2168
2163
|
sizeDecimals: number;
|
|
2169
2164
|
lockedDecimals: number;
|
|
2170
2165
|
collateralDecimals: number;
|
|
@@ -2465,7 +2460,7 @@ export declare class PerpetualsClient {
|
|
|
2465
2460
|
}[];
|
|
2466
2461
|
markets: PublicKey[];
|
|
2467
2462
|
maxAumUsd: BN;
|
|
2468
|
-
buffer: BN | number[];
|
|
2463
|
+
buffer: BN | number[] | number[];
|
|
2469
2464
|
rawAumUsd: BN;
|
|
2470
2465
|
equityUsd: BN;
|
|
2471
2466
|
totalStaked: {
|
|
@@ -2510,7 +2505,7 @@ export declare class PerpetualsClient {
|
|
|
2510
2505
|
sizeUsd: BN;
|
|
2511
2506
|
lockedAmount: BN;
|
|
2512
2507
|
lockedUsd: BN;
|
|
2513
|
-
|
|
2508
|
+
priceImpactUsd: BN;
|
|
2514
2509
|
collateralUsd: BN;
|
|
2515
2510
|
unsettledValueUsd: BN;
|
|
2516
2511
|
unsettledFeesUsd: BN;
|
|
@@ -2520,8 +2515,7 @@ export declare class PerpetualsClient {
|
|
|
2520
2515
|
price: BN;
|
|
2521
2516
|
exponent: number;
|
|
2522
2517
|
};
|
|
2523
|
-
|
|
2524
|
-
previousPenalty: number;
|
|
2518
|
+
priceImpactSet: boolean;
|
|
2525
2519
|
sizeDecimals: number;
|
|
2526
2520
|
lockedDecimals: number;
|
|
2527
2521
|
collateralDecimals: number;
|
|
@@ -2822,7 +2816,7 @@ export declare class PerpetualsClient {
|
|
|
2822
2816
|
}[];
|
|
2823
2817
|
markets: PublicKey[];
|
|
2824
2818
|
maxAumUsd: BN;
|
|
2825
|
-
buffer: BN | number[];
|
|
2819
|
+
buffer: BN | number[] | number[];
|
|
2826
2820
|
rawAumUsd: BN;
|
|
2827
2821
|
equityUsd: BN;
|
|
2828
2822
|
totalStaked: {
|
|
@@ -2867,7 +2861,7 @@ export declare class PerpetualsClient {
|
|
|
2867
2861
|
sizeUsd: BN;
|
|
2868
2862
|
lockedAmount: BN;
|
|
2869
2863
|
lockedUsd: BN;
|
|
2870
|
-
|
|
2864
|
+
priceImpactUsd: BN;
|
|
2871
2865
|
collateralUsd: BN;
|
|
2872
2866
|
unsettledValueUsd: BN;
|
|
2873
2867
|
unsettledFeesUsd: BN;
|
|
@@ -2877,8 +2871,7 @@ export declare class PerpetualsClient {
|
|
|
2877
2871
|
price: BN;
|
|
2878
2872
|
exponent: number;
|
|
2879
2873
|
};
|
|
2880
|
-
|
|
2881
|
-
previousPenalty: number;
|
|
2874
|
+
priceImpactSet: boolean;
|
|
2882
2875
|
sizeDecimals: number;
|
|
2883
2876
|
lockedDecimals: number;
|
|
2884
2877
|
collateralDecimals: number;
|
|
@@ -2962,7 +2955,7 @@ export declare class PerpetualsClient {
|
|
|
2962
2955
|
sizeUsd: BN;
|
|
2963
2956
|
lockedAmount: BN;
|
|
2964
2957
|
lockedUsd: BN;
|
|
2965
|
-
|
|
2958
|
+
priceImpactUsd: BN;
|
|
2966
2959
|
collateralUsd: BN;
|
|
2967
2960
|
unsettledValueUsd: BN;
|
|
2968
2961
|
unsettledFeesUsd: BN;
|
|
@@ -2972,8 +2965,8 @@ export declare class PerpetualsClient {
|
|
|
2972
2965
|
price: BN;
|
|
2973
2966
|
exponent: number;
|
|
2974
2967
|
};
|
|
2975
|
-
|
|
2976
|
-
|
|
2968
|
+
buffer: number[];
|
|
2969
|
+
priceImpactSet: boolean;
|
|
2977
2970
|
sizeDecimals: number;
|
|
2978
2971
|
lockedDecimals: number;
|
|
2979
2972
|
collateralDecimals: number;
|
|
@@ -3231,7 +3224,7 @@ export declare class PerpetualsClient {
|
|
|
3231
3224
|
}[];
|
|
3232
3225
|
markets: PublicKey[];
|
|
3233
3226
|
maxAumUsd: BN;
|
|
3234
|
-
buffer: BN | number[];
|
|
3227
|
+
buffer: BN | number[] | number[];
|
|
3235
3228
|
rawAumUsd: BN;
|
|
3236
3229
|
equityUsd: BN;
|
|
3237
3230
|
totalStaked: {
|
|
@@ -3276,7 +3269,7 @@ export declare class PerpetualsClient {
|
|
|
3276
3269
|
sizeUsd: BN;
|
|
3277
3270
|
lockedAmount: BN;
|
|
3278
3271
|
lockedUsd: BN;
|
|
3279
|
-
|
|
3272
|
+
priceImpactUsd: BN;
|
|
3280
3273
|
collateralUsd: BN;
|
|
3281
3274
|
unsettledValueUsd: BN;
|
|
3282
3275
|
unsettledFeesUsd: BN;
|
|
@@ -3286,8 +3279,7 @@ export declare class PerpetualsClient {
|
|
|
3286
3279
|
price: BN;
|
|
3287
3280
|
exponent: number;
|
|
3288
3281
|
};
|
|
3289
|
-
|
|
3290
|
-
previousPenalty: number;
|
|
3282
|
+
priceImpactSet: boolean;
|
|
3291
3283
|
sizeDecimals: number;
|
|
3292
3284
|
lockedDecimals: number;
|
|
3293
3285
|
collateralDecimals: number;
|
|
@@ -3588,7 +3580,7 @@ export declare class PerpetualsClient {
|
|
|
3588
3580
|
}[];
|
|
3589
3581
|
markets: PublicKey[];
|
|
3590
3582
|
maxAumUsd: BN;
|
|
3591
|
-
buffer: BN | number[];
|
|
3583
|
+
buffer: BN | number[] | number[];
|
|
3592
3584
|
rawAumUsd: BN;
|
|
3593
3585
|
equityUsd: BN;
|
|
3594
3586
|
totalStaked: {
|
|
@@ -3633,7 +3625,7 @@ export declare class PerpetualsClient {
|
|
|
3633
3625
|
sizeUsd: BN;
|
|
3634
3626
|
lockedAmount: BN;
|
|
3635
3627
|
lockedUsd: BN;
|
|
3636
|
-
|
|
3628
|
+
priceImpactUsd: BN;
|
|
3637
3629
|
collateralUsd: BN;
|
|
3638
3630
|
unsettledValueUsd: BN;
|
|
3639
3631
|
unsettledFeesUsd: BN;
|
|
@@ -3643,8 +3635,7 @@ export declare class PerpetualsClient {
|
|
|
3643
3635
|
price: BN;
|
|
3644
3636
|
exponent: number;
|
|
3645
3637
|
};
|
|
3646
|
-
|
|
3647
|
-
previousPenalty: number;
|
|
3638
|
+
priceImpactSet: boolean;
|
|
3648
3639
|
sizeDecimals: number;
|
|
3649
3640
|
lockedDecimals: number;
|
|
3650
3641
|
collateralDecimals: number;
|
|
@@ -3945,7 +3936,7 @@ export declare class PerpetualsClient {
|
|
|
3945
3936
|
}[];
|
|
3946
3937
|
markets: PublicKey[];
|
|
3947
3938
|
maxAumUsd: BN;
|
|
3948
|
-
buffer: BN | number[];
|
|
3939
|
+
buffer: BN | number[] | number[];
|
|
3949
3940
|
rawAumUsd: BN;
|
|
3950
3941
|
equityUsd: BN;
|
|
3951
3942
|
totalStaked: {
|
|
@@ -3990,7 +3981,7 @@ export declare class PerpetualsClient {
|
|
|
3990
3981
|
sizeUsd: BN;
|
|
3991
3982
|
lockedAmount: BN;
|
|
3992
3983
|
lockedUsd: BN;
|
|
3993
|
-
|
|
3984
|
+
priceImpactUsd: BN;
|
|
3994
3985
|
collateralUsd: BN;
|
|
3995
3986
|
unsettledValueUsd: BN;
|
|
3996
3987
|
unsettledFeesUsd: BN;
|
|
@@ -4000,8 +3991,7 @@ export declare class PerpetualsClient {
|
|
|
4000
3991
|
price: BN;
|
|
4001
3992
|
exponent: number;
|
|
4002
3993
|
};
|
|
4003
|
-
|
|
4004
|
-
previousPenalty: number;
|
|
3994
|
+
priceImpactSet: boolean;
|
|
4005
3995
|
sizeDecimals: number;
|
|
4006
3996
|
lockedDecimals: number;
|
|
4007
3997
|
collateralDecimals: number;
|
|
@@ -4302,7 +4292,7 @@ export declare class PerpetualsClient {
|
|
|
4302
4292
|
}[];
|
|
4303
4293
|
markets: PublicKey[];
|
|
4304
4294
|
maxAumUsd: BN;
|
|
4305
|
-
buffer: BN | number[];
|
|
4295
|
+
buffer: BN | number[] | number[];
|
|
4306
4296
|
rawAumUsd: BN;
|
|
4307
4297
|
equityUsd: BN;
|
|
4308
4298
|
totalStaked: {
|
|
@@ -4347,7 +4337,7 @@ export declare class PerpetualsClient {
|
|
|
4347
4337
|
sizeUsd: BN;
|
|
4348
4338
|
lockedAmount: BN;
|
|
4349
4339
|
lockedUsd: BN;
|
|
4350
|
-
|
|
4340
|
+
priceImpactUsd: BN;
|
|
4351
4341
|
collateralUsd: BN;
|
|
4352
4342
|
unsettledValueUsd: BN;
|
|
4353
4343
|
unsettledFeesUsd: BN;
|
|
@@ -4357,8 +4347,7 @@ export declare class PerpetualsClient {
|
|
|
4357
4347
|
price: BN;
|
|
4358
4348
|
exponent: number;
|
|
4359
4349
|
};
|
|
4360
|
-
|
|
4361
|
-
previousPenalty: number;
|
|
4350
|
+
priceImpactSet: boolean;
|
|
4362
4351
|
sizeDecimals: number;
|
|
4363
4352
|
lockedDecimals: number;
|
|
4364
4353
|
collateralDecimals: number;
|
|
@@ -4659,7 +4648,7 @@ export declare class PerpetualsClient {
|
|
|
4659
4648
|
}[];
|
|
4660
4649
|
markets: PublicKey[];
|
|
4661
4650
|
maxAumUsd: BN;
|
|
4662
|
-
buffer: BN | number[];
|
|
4651
|
+
buffer: BN | number[] | number[];
|
|
4663
4652
|
rawAumUsd: BN;
|
|
4664
4653
|
equityUsd: BN;
|
|
4665
4654
|
totalStaked: {
|
|
@@ -4704,7 +4693,7 @@ export declare class PerpetualsClient {
|
|
|
4704
4693
|
sizeUsd: BN;
|
|
4705
4694
|
lockedAmount: BN;
|
|
4706
4695
|
lockedUsd: BN;
|
|
4707
|
-
|
|
4696
|
+
priceImpactUsd: BN;
|
|
4708
4697
|
collateralUsd: BN;
|
|
4709
4698
|
unsettledValueUsd: BN;
|
|
4710
4699
|
unsettledFeesUsd: BN;
|
|
@@ -4714,8 +4703,7 @@ export declare class PerpetualsClient {
|
|
|
4714
4703
|
price: BN;
|
|
4715
4704
|
exponent: number;
|
|
4716
4705
|
};
|
|
4717
|
-
|
|
4718
|
-
previousPenalty: number;
|
|
4706
|
+
priceImpactSet: boolean;
|
|
4719
4707
|
sizeDecimals: number;
|
|
4720
4708
|
lockedDecimals: number;
|
|
4721
4709
|
collateralDecimals: number;
|
|
@@ -4856,14 +4844,16 @@ export declare class PerpetualsClient {
|
|
|
4856
4844
|
getPnlSync: (positionAccount: PositionAccount, targetTokenPrice: OraclePrice, targetTokenEmaPrice: OraclePrice, targetCustodyAccount: CustodyAccount, collateralPrice: OraclePrice, collateralEmaPrice: OraclePrice, collateralCustodyAccount: CustodyAccount, currentTimestamp: BN, delay: BN, poolConfig: PoolConfig) => {
|
|
4857
4845
|
profitUsd: BN;
|
|
4858
4846
|
lossUsd: BN;
|
|
4859
|
-
|
|
4860
|
-
|
|
4847
|
+
priceImpactUsd: BN;
|
|
4848
|
+
maxPriceImpactUsd: BN;
|
|
4849
|
+
netProfitUsd: BN;
|
|
4861
4850
|
};
|
|
4862
4851
|
getPnlContractHelper: (positionAccount: PositionAccount, targetTokenPrice: OraclePrice, targetTokenEmaPrice: OraclePrice, targetCustodyAccount: CustodyAccount, collateralPrice: OraclePrice, collateralEmaPrice: OraclePrice, collateralCustodyAccount: CustodyAccount, currentTimestamp: BN, delay: BN, poolConfig: PoolConfig) => {
|
|
4863
4852
|
profitUsd: BN;
|
|
4864
4853
|
lossUsd: BN;
|
|
4865
|
-
|
|
4866
|
-
|
|
4854
|
+
priceImpactUsd: BN;
|
|
4855
|
+
maxPriceImpactUsd: BN;
|
|
4856
|
+
netProfitUsd: BN;
|
|
4867
4857
|
};
|
|
4868
4858
|
getPositionMetrics: (positionAccount: PositionAccount, targetTokenPrice: OraclePrice, targetTokenEmaPrice: OraclePrice, targetCustodyAccount: CustodyAccount, collateralPrice: OraclePrice, collateralEmaPrice: OraclePrice, collateralCustodyAccount: CustodyAccount, currentTimestamp: BN, poolConfig: PoolConfig) => PositionMetrics;
|
|
4869
4859
|
getPositionsMetricsBatch: (positions: Array<{
|
|
@@ -5147,7 +5137,7 @@ export declare class PerpetualsClient {
|
|
|
5147
5137
|
instructions: TransactionInstruction[];
|
|
5148
5138
|
additionalSigners: Signer[];
|
|
5149
5139
|
}>;
|
|
5150
|
-
|
|
5140
|
+
setPositionPriceImpact: (positionPubkey: PublicKey, priceImpactUsd: BN, penaltyAuthority: PublicKey) => Promise<{
|
|
5151
5141
|
instructions: TransactionInstruction[];
|
|
5152
5142
|
additionalSigners: Signer[];
|
|
5153
5143
|
}>;
|
package/dist/PerpetualsClient.js
CHANGED
|
@@ -701,7 +701,7 @@ var PerpetualsClient = (function () {
|
|
|
701
701
|
currentMarginUsd = positionAccount.collateralUsd.sub(lossUsd);
|
|
702
702
|
}
|
|
703
703
|
else {
|
|
704
|
-
currentMarginUsd = positionAccount.collateralUsd.add(pnl.
|
|
704
|
+
currentMarginUsd = positionAccount.collateralUsd.add(pnl.netProfitUsd).sub(lossUsd);
|
|
705
705
|
}
|
|
706
706
|
if (currentMarginUsd.gt(constants_1.BN_ZERO)) {
|
|
707
707
|
return positionAccount.sizeUsd.mul(new anchor_1.BN(constants_1.BPS_POWER)).div(currentMarginUsd);
|
|
@@ -875,7 +875,7 @@ var PerpetualsClient = (function () {
|
|
|
875
875
|
if (collateralDeltaAmount.isNeg() || sizeDeltaAmount.isNeg()) {
|
|
876
876
|
throw new Error("Delta Amounts cannot be negative ");
|
|
877
877
|
}
|
|
878
|
-
if (resultingPositionAccount.
|
|
878
|
+
if (resultingPositionAccount.collateralUsd.isNeg() || resultingPositionAccount.sizeAmount.isNeg()) {
|
|
879
879
|
throw new Error("cannot remove/close more than collateral/Size");
|
|
880
880
|
}
|
|
881
881
|
var sizeUsd = targetPrice.getAssetAmountUsd(sizeDeltaAmount, targetCustodyAccount.decimals);
|
|
@@ -1056,7 +1056,7 @@ var PerpetualsClient = (function () {
|
|
|
1056
1056
|
var totalFeesUsd = (exitFeeUsd.add(lockAndUnsettledFeeUsd));
|
|
1057
1057
|
var currentCollateralUsd = positionDelta.collateralUsd;
|
|
1058
1058
|
var liabilityUsd = newPnl.lossUsd.add(totalFeesUsd);
|
|
1059
|
-
var assetsUsd = anchor_1.BN.min(newPnl.
|
|
1059
|
+
var assetsUsd = anchor_1.BN.min(newPnl.netProfitUsd.add(currentCollateralUsd), collateralMinMaxPrice.max.getAssetAmountUsd(positionDelta.lockedAmount, collateralCustodyAccount.decimals));
|
|
1060
1060
|
if (debugLogs) {
|
|
1061
1061
|
console.log("assetsUsd.sub(liabilityUsd):", collateralCustodyAccount.decimals, assetsUsd.toString(), liabilityUsd.toString(), assetsUsd.sub(liabilityUsd).toString());
|
|
1062
1062
|
}
|
|
@@ -1190,10 +1190,11 @@ var PerpetualsClient = (function () {
|
|
|
1190
1190
|
var position = PositionAccount_1.PositionAccount.from(positionAccount.publicKey, __assign({}, positionAccount));
|
|
1191
1191
|
var collateralMinMaxPrice = _this.getMinAndMaxOraclePriceSync(collateralPrice, collateralEmaPrice, collateralCustodyAccount);
|
|
1192
1192
|
var newPnl = _this.getPnlSync(position, targetPrice, targetEmaPrice, targetCustodyAccount, collateralPrice, collateralEmaPrice, collateralCustodyAccount, currentTimestamp, targetCustodyAccount.pricing.delaySeconds, poolConfig);
|
|
1193
|
-
var
|
|
1193
|
+
var collateralAmount = collateralPrice.getTokenAmount(positionAccount.collateralUsd, collateralCustodyAccount.decimals);
|
|
1194
|
+
var exitPriceAndFee = _this.getExitPriceAndFeeSync(positionAccount, marketCorrelation, collateralAmount, positionAccount.sizeAmount, side, targetPrice, targetEmaPrice, targetCustodyAccount, collateralPrice, collateralEmaPrice, collateralCustodyAccount, currentTimestamp);
|
|
1194
1195
|
var totalFeesUsd = (exitPriceAndFee.exitFeeUsd.add(exitPriceAndFee.borrowFeeUsd));
|
|
1195
1196
|
var liabilityUsd = newPnl.lossUsd.add(totalFeesUsd);
|
|
1196
|
-
var assetsUsd = anchor_1.BN.min(newPnl.
|
|
1197
|
+
var assetsUsd = anchor_1.BN.min(newPnl.netProfitUsd.add(positionAccount.collateralUsd), collateralMinMaxPrice.max.getAssetAmountUsd(positionAccount.lockedAmount, collateralCustodyAccount.decimals));
|
|
1197
1198
|
var closeAmountUsd, feesAmountUsd;
|
|
1198
1199
|
if (assetsUsd.gt(liabilityUsd)) {
|
|
1199
1200
|
closeAmountUsd = assetsUsd.sub(liabilityUsd);
|
|
@@ -1609,8 +1610,9 @@ var PerpetualsClient = (function () {
|
|
|
1609
1610
|
return {
|
|
1610
1611
|
profitUsd: constants_1.BN_ZERO,
|
|
1611
1612
|
lossUsd: constants_1.BN_ZERO,
|
|
1612
|
-
|
|
1613
|
-
|
|
1613
|
+
priceImpactUsd: constants_1.BN_ZERO,
|
|
1614
|
+
maxPriceImpactUsd: constants_1.BN_ZERO,
|
|
1615
|
+
netProfitUsd: constants_1.BN_ZERO
|
|
1614
1616
|
};
|
|
1615
1617
|
}
|
|
1616
1618
|
var side = poolConfig.getMarketConfigByPk(positionAccount.market).side;
|
|
@@ -1674,34 +1676,28 @@ var PerpetualsClient = (function () {
|
|
|
1674
1676
|
if (!priceDiffProfit.exponent.eq(priceDiffLoss.exponent)) {
|
|
1675
1677
|
throw new Error("exponent mistach");
|
|
1676
1678
|
}
|
|
1677
|
-
var
|
|
1679
|
+
var maxPriceImpactUsd = positionAccount.priceImpactUsd;
|
|
1678
1680
|
if (priceDiffProfit.price.gt(constants_1.BN_ZERO)) {
|
|
1679
1681
|
var grossProfitUsd = priceDiffProfit.getAssetAmountUsd(positionAccount.sizeAmount, positionAccount.sizeDecimals);
|
|
1680
|
-
var
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
if (penaltyUsd.gte(grossProfitUsd)) {
|
|
1685
|
-
penaltyUsd = grossProfitUsd;
|
|
1686
|
-
finalProfitUsd = constants_1.BN_ZERO;
|
|
1687
|
-
}
|
|
1688
|
-
else {
|
|
1689
|
-
finalProfitUsd = grossProfitUsd.sub(penaltyUsd);
|
|
1690
|
-
}
|
|
1691
|
-
}
|
|
1682
|
+
var priceImpactUsd = positionAccount.priceImpactUsd.gt(constants_1.BN_ZERO)
|
|
1683
|
+
? anchor_1.BN.min(positionAccount.priceImpactUsd, grossProfitUsd)
|
|
1684
|
+
: constants_1.BN_ZERO;
|
|
1685
|
+
var netProfitUsd = grossProfitUsd.sub(priceImpactUsd);
|
|
1692
1686
|
return {
|
|
1693
1687
|
profitUsd: grossProfitUsd,
|
|
1694
1688
|
lossUsd: constants_1.BN_ZERO,
|
|
1695
|
-
|
|
1696
|
-
|
|
1689
|
+
priceImpactUsd: priceImpactUsd,
|
|
1690
|
+
maxPriceImpactUsd: maxPriceImpactUsd,
|
|
1691
|
+
netProfitUsd: netProfitUsd,
|
|
1697
1692
|
};
|
|
1698
1693
|
}
|
|
1699
1694
|
else {
|
|
1700
1695
|
return {
|
|
1701
1696
|
profitUsd: constants_1.BN_ZERO,
|
|
1702
1697
|
lossUsd: priceDiffLoss.getAssetAmountUsd(positionAccount.sizeAmount, positionAccount.sizeDecimals),
|
|
1703
|
-
|
|
1704
|
-
|
|
1698
|
+
priceImpactUsd: constants_1.BN_ZERO,
|
|
1699
|
+
maxPriceImpactUsd: maxPriceImpactUsd,
|
|
1700
|
+
netProfitUsd: constants_1.BN_ZERO,
|
|
1705
1701
|
};
|
|
1706
1702
|
}
|
|
1707
1703
|
};
|
|
@@ -1714,7 +1710,7 @@ var PerpetualsClient = (function () {
|
|
|
1714
1710
|
timestamp: constants_1.BN_ZERO
|
|
1715
1711
|
});
|
|
1716
1712
|
return {
|
|
1717
|
-
pnl: { profitUsd: constants_1.BN_ZERO, lossUsd: constants_1.BN_ZERO,
|
|
1713
|
+
pnl: { profitUsd: constants_1.BN_ZERO, lossUsd: constants_1.BN_ZERO, priceImpactUsd: constants_1.BN_ZERO, maxPriceImpactUsd: constants_1.BN_ZERO, netProfitUsd: constants_1.BN_ZERO },
|
|
1718
1714
|
leverage: constants_1.BN_ZERO,
|
|
1719
1715
|
liquidationPrice: zeroOraclePrice,
|
|
1720
1716
|
fees: { exitFeeUsd: constants_1.BN_ZERO, exitFeeAmount: constants_1.BN_ZERO, lockAndUnsettledFeeUsd: constants_1.BN_ZERO }
|
|
@@ -1734,86 +1730,18 @@ var PerpetualsClient = (function () {
|
|
|
1734
1730
|
if (!exitOraclePrice.exponent.eq(entryOraclePrice.exponent)) {
|
|
1735
1731
|
throw new Error("exponent mismatch");
|
|
1736
1732
|
}
|
|
1737
|
-
var
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
else {
|
|
1746
|
-
if (positionAccount.referencePrice.price.gt(entryOraclePrice.price)) {
|
|
1747
|
-
priceDiffProfit = new OraclePrice_1.OraclePrice({ price: positionAccount.referencePrice.price.sub(entryOraclePrice.price), exponent: entryOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1748
|
-
priceDiffLoss = new OraclePrice_1.OraclePrice({ price: constants_1.BN_ZERO, exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1749
|
-
}
|
|
1750
|
-
else {
|
|
1751
|
-
priceDiffProfit = new OraclePrice_1.OraclePrice({ price: constants_1.BN_ZERO, exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1752
|
-
priceDiffLoss = new OraclePrice_1.OraclePrice({ price: constants_1.BN_ZERO, exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1753
|
-
}
|
|
1754
|
-
}
|
|
1755
|
-
}
|
|
1756
|
-
else {
|
|
1757
|
-
priceDiffProfit = new OraclePrice_1.OraclePrice({ price: constants_1.BN_ZERO, exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1758
|
-
priceDiffLoss = new OraclePrice_1.OraclePrice({ price: entryOraclePrice.price.sub(exitOraclePrice.price), exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1759
|
-
}
|
|
1760
|
-
}
|
|
1761
|
-
else {
|
|
1762
|
-
if (exitOraclePrice.price.lt(entryOraclePrice.price)) {
|
|
1763
|
-
if (currentTimestamp.gt(positionAccount.updateTime.add(delay))) {
|
|
1764
|
-
priceDiffProfit = new OraclePrice_1.OraclePrice({ price: entryOraclePrice.price.sub(exitOraclePrice.price), exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1765
|
-
priceDiffLoss = new OraclePrice_1.OraclePrice({ price: constants_1.BN_ZERO, exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1766
|
-
}
|
|
1767
|
-
else {
|
|
1768
|
-
if (entryOraclePrice.price.gt(positionAccount.referencePrice.price)) {
|
|
1769
|
-
priceDiffProfit = new OraclePrice_1.OraclePrice({ price: entryOraclePrice.price.sub(positionAccount.referencePrice.price), exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1770
|
-
priceDiffLoss = new OraclePrice_1.OraclePrice({ price: constants_1.BN_ZERO, exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1771
|
-
}
|
|
1772
|
-
else {
|
|
1773
|
-
priceDiffProfit = new OraclePrice_1.OraclePrice({ price: constants_1.BN_ZERO, exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1774
|
-
priceDiffLoss = new OraclePrice_1.OraclePrice({ price: constants_1.BN_ZERO, exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1775
|
-
}
|
|
1776
|
-
}
|
|
1777
|
-
}
|
|
1778
|
-
else {
|
|
1779
|
-
priceDiffProfit = new OraclePrice_1.OraclePrice({ price: constants_1.BN_ZERO, exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1780
|
-
priceDiffLoss = new OraclePrice_1.OraclePrice({ price: exitOraclePrice.price.sub(entryOraclePrice.price), exponent: exitOraclePrice.exponent, confidence: constants_1.BN_ZERO, timestamp: constants_1.BN_ZERO });
|
|
1781
|
-
}
|
|
1782
|
-
}
|
|
1783
|
-
var totalPenaltyBps = positionAccount.oraclePenalty + positionAccount.previousPenalty;
|
|
1784
|
-
if (priceDiffProfit.price.gt(constants_1.BN_ZERO)) {
|
|
1785
|
-
var grossProfitUsd = priceDiffProfit.getAssetAmountUsd(positionAccount.sizeAmount, positionAccount.sizeDecimals);
|
|
1786
|
-
var penaltyUsd = constants_1.BN_ZERO;
|
|
1787
|
-
var finalProfitUsd = grossProfitUsd;
|
|
1788
|
-
if (totalPenaltyBps > 0 && grossProfitUsd.gt(constants_1.BN_ZERO)) {
|
|
1789
|
-
penaltyUsd = grossProfitUsd.muln(totalPenaltyBps).divn(constants_1.BPS_POWER);
|
|
1790
|
-
if (penaltyUsd.gte(grossProfitUsd)) {
|
|
1791
|
-
penaltyUsd = grossProfitUsd;
|
|
1792
|
-
finalProfitUsd = constants_1.BN_ZERO;
|
|
1793
|
-
}
|
|
1794
|
-
else {
|
|
1795
|
-
finalProfitUsd = grossProfitUsd.sub(penaltyUsd);
|
|
1796
|
-
}
|
|
1797
|
-
}
|
|
1798
|
-
pnl = {
|
|
1799
|
-
profitUsd: grossProfitUsd,
|
|
1800
|
-
lossUsd: constants_1.BN_ZERO,
|
|
1801
|
-
penaltyUsd: penaltyUsd,
|
|
1802
|
-
finalProfitUsd: finalProfitUsd,
|
|
1803
|
-
};
|
|
1804
|
-
}
|
|
1805
|
-
else {
|
|
1806
|
-
pnl = {
|
|
1807
|
-
profitUsd: constants_1.BN_ZERO,
|
|
1808
|
-
lossUsd: priceDiffLoss.getAssetAmountUsd(positionAccount.sizeAmount, positionAccount.sizeDecimals),
|
|
1809
|
-
penaltyUsd: constants_1.BN_ZERO,
|
|
1810
|
-
finalProfitUsd: constants_1.BN_ZERO,
|
|
1811
|
-
};
|
|
1812
|
-
}
|
|
1733
|
+
var pnlResult = _this.getPnlContractHelper(positionAccount, targetTokenPrice, targetTokenEmaPrice, targetCustodyAccount, collateralPrice, collateralEmaPrice, collateralCustodyAccount, currentTimestamp, targetCustodyAccount.pricing.delaySeconds, poolConfig);
|
|
1734
|
+
pnl = {
|
|
1735
|
+
profitUsd: pnlResult.profitUsd,
|
|
1736
|
+
lossUsd: pnlResult.lossUsd,
|
|
1737
|
+
priceImpactUsd: pnlResult.priceImpactUsd,
|
|
1738
|
+
maxPriceImpactUsd: pnlResult.maxPriceImpactUsd,
|
|
1739
|
+
netProfitUsd: pnlResult.netProfitUsd
|
|
1740
|
+
};
|
|
1813
1741
|
var liquidationPrice = _this.getLiquidationPriceContractHelper(entryOraclePrice, lockAndUnsettledFeeUsd, side, targetCustodyAccount, positionAccount);
|
|
1814
1742
|
var unsettledFeesUsd = exitFeeUsd.add(lockAndUnsettledFeeUsd);
|
|
1815
1743
|
var lossUsd = pnl.lossUsd.add(unsettledFeesUsd);
|
|
1816
|
-
var currentMarginUsd = positionAccount.collateralUsd.add(pnl.
|
|
1744
|
+
var currentMarginUsd = positionAccount.collateralUsd.add(pnl.netProfitUsd).sub(lossUsd);
|
|
1817
1745
|
var leverage;
|
|
1818
1746
|
if (currentMarginUsd.gt(constants_1.BN_ZERO)) {
|
|
1819
1747
|
leverage = positionAccount.sizeUsd.mul(new anchor_1.BN(constants_1.BPS_POWER)).div(currentMarginUsd);
|
|
@@ -7631,8 +7559,8 @@ var PerpetualsClient = (function () {
|
|
|
7631
7559
|
}
|
|
7632
7560
|
});
|
|
7633
7561
|
}); };
|
|
7634
|
-
this.
|
|
7635
|
-
var instructions, additionalSigners,
|
|
7562
|
+
this.setPositionPriceImpact = function (positionPubkey, priceImpactUsd, penaltyAuthority) { return __awaiter(_this, void 0, void 0, function () {
|
|
7563
|
+
var instructions, additionalSigners, setPositionPriceImpactIx, err_52;
|
|
7636
7564
|
return __generator(this, function (_a) {
|
|
7637
7565
|
switch (_a.label) {
|
|
7638
7566
|
case 0:
|
|
@@ -7642,23 +7570,23 @@ var PerpetualsClient = (function () {
|
|
|
7642
7570
|
case 1:
|
|
7643
7571
|
_a.trys.push([1, 3, , 4]);
|
|
7644
7572
|
return [4, this.program.methods
|
|
7645
|
-
.
|
|
7646
|
-
|
|
7573
|
+
.setPositionPriceImpact({
|
|
7574
|
+
priceImpactUsd: priceImpactUsd,
|
|
7647
7575
|
})
|
|
7648
7576
|
.accounts({
|
|
7649
|
-
authority:
|
|
7577
|
+
authority: penaltyAuthority,
|
|
7650
7578
|
position: positionPubkey,
|
|
7651
7579
|
eventAuthority: this.eventAuthority.publicKey,
|
|
7652
7580
|
program: this.program.programId,
|
|
7653
7581
|
})
|
|
7654
7582
|
.instruction()];
|
|
7655
7583
|
case 2:
|
|
7656
|
-
|
|
7657
|
-
instructions.push(
|
|
7584
|
+
setPositionPriceImpactIx = _a.sent();
|
|
7585
|
+
instructions.push(setPositionPriceImpactIx);
|
|
7658
7586
|
return [3, 4];
|
|
7659
7587
|
case 3:
|
|
7660
7588
|
err_52 = _a.sent();
|
|
7661
|
-
console.log("perpClient
|
|
7589
|
+
console.log("perpClient setPositionPriceImpact error:: ", err_52);
|
|
7662
7590
|
throw err_52;
|
|
7663
7591
|
case 4: return [2, {
|
|
7664
7592
|
instructions: __spreadArray([], instructions, true),
|