@drift-labs/sdk 2.145.0 → 2.146.0-alpha.13
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/.env +4 -0
- package/VERSION +1 -1
- package/lib/browser/accounts/grpcMultiUserAccountSubscriber.js +8 -1
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +99 -7
- package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.js +435 -144
- package/lib/browser/adminClient.d.ts +5 -1
- package/lib/browser/adminClient.js +57 -23
- package/lib/browser/constants/numericConstants.d.ts +2 -0
- package/lib/browser/constants/numericConstants.js +5 -1
- package/lib/browser/constants/perpMarkets.js +0 -2
- package/lib/browser/decode/user.js +4 -0
- package/lib/browser/driftClient.d.ts +25 -10
- package/lib/browser/driftClient.js +238 -41
- package/lib/browser/driftClientConfig.d.ts +7 -2
- package/lib/browser/idl/drift.json +245 -22
- package/lib/browser/index.d.ts +4 -0
- package/lib/browser/index.js +9 -1
- package/lib/browser/marginCalculation.d.ts +86 -0
- package/lib/browser/marginCalculation.js +209 -0
- package/lib/browser/math/margin.d.ts +1 -1
- package/lib/browser/math/margin.js +8 -1
- package/lib/browser/math/position.d.ts +1 -0
- package/lib/browser/math/position.js +10 -2
- package/lib/browser/math/spotPosition.d.ts +1 -1
- package/lib/browser/math/spotPosition.js +3 -2
- package/lib/browser/math/superStake.d.ts +3 -2
- package/lib/browser/types.d.ts +13 -0
- package/lib/browser/types.js +12 -1
- package/lib/browser/user.d.ts +59 -11
- package/lib/browser/user.js +348 -43
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiUserAccountSubscriber.js +8 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +99 -7
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/webSocketProgramAccountSubscriberV2.js +435 -144
- package/lib/node/adminClient.d.ts +5 -1
- package/lib/node/adminClient.d.ts.map +1 -1
- package/lib/node/adminClient.js +57 -23
- package/lib/node/constants/numericConstants.d.ts +2 -0
- package/lib/node/constants/numericConstants.d.ts.map +1 -1
- package/lib/node/constants/numericConstants.js +5 -1
- package/lib/node/constants/perpMarkets.d.ts.map +1 -1
- package/lib/node/constants/perpMarkets.js +0 -2
- package/lib/node/decode/user.d.ts.map +1 -1
- package/lib/node/decode/user.js +4 -0
- package/lib/node/driftClient.d.ts +25 -10
- package/lib/node/driftClient.d.ts.map +1 -1
- package/lib/node/driftClient.js +238 -41
- package/lib/node/driftClientConfig.d.ts +7 -2
- package/lib/node/driftClientConfig.d.ts.map +1 -1
- package/lib/node/idl/drift.json +245 -22
- package/lib/node/index.d.ts +4 -0
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +9 -1
- package/lib/node/marginCalculation.d.ts +87 -0
- package/lib/node/marginCalculation.d.ts.map +1 -0
- package/lib/node/marginCalculation.js +209 -0
- package/lib/node/math/margin.d.ts +1 -1
- package/lib/node/math/margin.d.ts.map +1 -1
- package/lib/node/math/margin.js +8 -1
- package/lib/node/math/position.d.ts +1 -0
- package/lib/node/math/position.d.ts.map +1 -1
- package/lib/node/math/position.js +10 -2
- package/lib/node/math/spotPosition.d.ts +1 -1
- package/lib/node/math/spotPosition.d.ts.map +1 -1
- package/lib/node/math/spotPosition.js +3 -2
- package/lib/node/math/superStake.d.ts +3 -2
- package/lib/node/math/superStake.d.ts.map +1 -1
- package/lib/node/types.d.ts +13 -0
- package/lib/node/types.d.ts.map +1 -1
- package/lib/node/types.js +12 -1
- package/lib/node/user.d.ts +59 -11
- package/lib/node/user.d.ts.map +1 -1
- package/lib/node/user.js +348 -43
- package/package.json +1 -1
- package/scripts/deposit-isolated-positions.ts +110 -0
- package/scripts/single-grpc-client-test.ts +71 -21
- package/scripts/withdraw-isolated-positions.ts +174 -0
- package/src/accounts/grpcMultiUserAccountSubscriber.ts +8 -1
- package/src/accounts/webSocketProgramAccountSubscriberV2.ts +566 -167
- package/src/adminClient.ts +74 -25
- package/src/constants/numericConstants.ts +5 -0
- package/src/constants/perpMarkets.ts +0 -3
- package/src/decode/user.ts +7 -1
- package/src/driftClient.ts +465 -52
- package/src/driftClientConfig.ts +15 -8
- package/src/idl/drift.json +246 -23
- package/src/index.ts +4 -0
- package/src/margin/README.md +143 -0
- package/src/marginCalculation.ts +306 -0
- package/src/math/margin.ts +13 -1
- package/src/math/position.ts +12 -2
- package/src/math/spotPosition.ts +6 -2
- package/src/types.ts +16 -0
- package/src/user.ts +623 -81
- package/tests/amm/test.ts +1 -1
- package/tests/dlob/helpers.ts +6 -3
- package/tests/user/getMarginCalculation.ts +405 -0
- package/tests/user/test.ts +0 -7
package/lib/node/idl/drift.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.145.
|
|
2
|
+
"version": "2.145.1",
|
|
3
3
|
"name": "drift",
|
|
4
4
|
"instructions": [
|
|
5
5
|
{
|
|
@@ -652,6 +652,163 @@
|
|
|
652
652
|
}
|
|
653
653
|
]
|
|
654
654
|
},
|
|
655
|
+
{
|
|
656
|
+
"name": "depositIntoIsolatedPerpPosition",
|
|
657
|
+
"accounts": [
|
|
658
|
+
{
|
|
659
|
+
"name": "state",
|
|
660
|
+
"isMut": false,
|
|
661
|
+
"isSigner": false
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"name": "user",
|
|
665
|
+
"isMut": true,
|
|
666
|
+
"isSigner": false
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"name": "userStats",
|
|
670
|
+
"isMut": true,
|
|
671
|
+
"isSigner": false
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"name": "authority",
|
|
675
|
+
"isMut": false,
|
|
676
|
+
"isSigner": true
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
"name": "spotMarketVault",
|
|
680
|
+
"isMut": true,
|
|
681
|
+
"isSigner": false
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
"name": "userTokenAccount",
|
|
685
|
+
"isMut": true,
|
|
686
|
+
"isSigner": false
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
"name": "tokenProgram",
|
|
690
|
+
"isMut": false,
|
|
691
|
+
"isSigner": false
|
|
692
|
+
}
|
|
693
|
+
],
|
|
694
|
+
"args": [
|
|
695
|
+
{
|
|
696
|
+
"name": "spotMarketIndex",
|
|
697
|
+
"type": "u16"
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
"name": "perpMarketIndex",
|
|
701
|
+
"type": "u16"
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"name": "amount",
|
|
705
|
+
"type": "u64"
|
|
706
|
+
}
|
|
707
|
+
]
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
"name": "transferIsolatedPerpPositionDeposit",
|
|
711
|
+
"accounts": [
|
|
712
|
+
{
|
|
713
|
+
"name": "user",
|
|
714
|
+
"isMut": true,
|
|
715
|
+
"isSigner": false
|
|
716
|
+
},
|
|
717
|
+
{
|
|
718
|
+
"name": "userStats",
|
|
719
|
+
"isMut": true,
|
|
720
|
+
"isSigner": false
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"name": "authority",
|
|
724
|
+
"isMut": false,
|
|
725
|
+
"isSigner": true
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
"name": "state",
|
|
729
|
+
"isMut": false,
|
|
730
|
+
"isSigner": false
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
"name": "spotMarketVault",
|
|
734
|
+
"isMut": false,
|
|
735
|
+
"isSigner": false
|
|
736
|
+
}
|
|
737
|
+
],
|
|
738
|
+
"args": [
|
|
739
|
+
{
|
|
740
|
+
"name": "spotMarketIndex",
|
|
741
|
+
"type": "u16"
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"name": "perpMarketIndex",
|
|
745
|
+
"type": "u16"
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"name": "amount",
|
|
749
|
+
"type": "i64"
|
|
750
|
+
}
|
|
751
|
+
]
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
"name": "withdrawFromIsolatedPerpPosition",
|
|
755
|
+
"accounts": [
|
|
756
|
+
{
|
|
757
|
+
"name": "state",
|
|
758
|
+
"isMut": false,
|
|
759
|
+
"isSigner": false
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
"name": "user",
|
|
763
|
+
"isMut": true,
|
|
764
|
+
"isSigner": false
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"name": "userStats",
|
|
768
|
+
"isMut": true,
|
|
769
|
+
"isSigner": false
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
"name": "authority",
|
|
773
|
+
"isMut": false,
|
|
774
|
+
"isSigner": true
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"name": "spotMarketVault",
|
|
778
|
+
"isMut": true,
|
|
779
|
+
"isSigner": false
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
"name": "driftSigner",
|
|
783
|
+
"isMut": false,
|
|
784
|
+
"isSigner": false
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"name": "userTokenAccount",
|
|
788
|
+
"isMut": true,
|
|
789
|
+
"isSigner": false
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"name": "tokenProgram",
|
|
793
|
+
"isMut": false,
|
|
794
|
+
"isSigner": false
|
|
795
|
+
}
|
|
796
|
+
],
|
|
797
|
+
"args": [
|
|
798
|
+
{
|
|
799
|
+
"name": "spotMarketIndex",
|
|
800
|
+
"type": "u16"
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
"name": "perpMarketIndex",
|
|
804
|
+
"type": "u16"
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"name": "amount",
|
|
808
|
+
"type": "u64"
|
|
809
|
+
}
|
|
810
|
+
]
|
|
811
|
+
},
|
|
655
812
|
{
|
|
656
813
|
"name": "placePerpOrder",
|
|
657
814
|
"accounts": [
|
|
@@ -4453,6 +4610,37 @@
|
|
|
4453
4610
|
],
|
|
4454
4611
|
"args": []
|
|
4455
4612
|
},
|
|
4613
|
+
{
|
|
4614
|
+
"name": "resizeAmmCache",
|
|
4615
|
+
"accounts": [
|
|
4616
|
+
{
|
|
4617
|
+
"name": "admin",
|
|
4618
|
+
"isMut": true,
|
|
4619
|
+
"isSigner": true
|
|
4620
|
+
},
|
|
4621
|
+
{
|
|
4622
|
+
"name": "state",
|
|
4623
|
+
"isMut": false,
|
|
4624
|
+
"isSigner": false
|
|
4625
|
+
},
|
|
4626
|
+
{
|
|
4627
|
+
"name": "ammCache",
|
|
4628
|
+
"isMut": true,
|
|
4629
|
+
"isSigner": false
|
|
4630
|
+
},
|
|
4631
|
+
{
|
|
4632
|
+
"name": "rent",
|
|
4633
|
+
"isMut": false,
|
|
4634
|
+
"isSigner": false
|
|
4635
|
+
},
|
|
4636
|
+
{
|
|
4637
|
+
"name": "systemProgram",
|
|
4638
|
+
"isMut": false,
|
|
4639
|
+
"isSigner": false
|
|
4640
|
+
}
|
|
4641
|
+
],
|
|
4642
|
+
"args": []
|
|
4643
|
+
},
|
|
4456
4644
|
{
|
|
4457
4645
|
"name": "updateInitialAmmCacheInfo",
|
|
4458
4646
|
"accounts": [
|
|
@@ -14599,13 +14787,13 @@
|
|
|
14599
14787
|
"type": "u64"
|
|
14600
14788
|
},
|
|
14601
14789
|
{
|
|
14602
|
-
"name": "
|
|
14790
|
+
"name": "isolatedPositionScaledBalance",
|
|
14603
14791
|
"docs": [
|
|
14604
14792
|
"The last base asset amount per lp the amm had",
|
|
14605
14793
|
"Used to settle the users lp position",
|
|
14606
|
-
"precision:
|
|
14794
|
+
"precision: SPOT_BALANCE_PRECISION"
|
|
14607
14795
|
],
|
|
14608
|
-
"type": "
|
|
14796
|
+
"type": "u64"
|
|
14609
14797
|
},
|
|
14610
14798
|
{
|
|
14611
14799
|
"name": "lastQuoteAssetAmountPerLp",
|
|
@@ -14644,8 +14832,8 @@
|
|
|
14644
14832
|
"type": "u8"
|
|
14645
14833
|
},
|
|
14646
14834
|
{
|
|
14647
|
-
"name": "
|
|
14648
|
-
"type": "
|
|
14835
|
+
"name": "positionFlag",
|
|
14836
|
+
"type": "u8"
|
|
14649
14837
|
}
|
|
14650
14838
|
]
|
|
14651
14839
|
}
|
|
@@ -15118,6 +15306,9 @@
|
|
|
15118
15306
|
},
|
|
15119
15307
|
{
|
|
15120
15308
|
"name": "SafeMMOracle"
|
|
15309
|
+
},
|
|
15310
|
+
{
|
|
15311
|
+
"name": "Margin"
|
|
15121
15312
|
}
|
|
15122
15313
|
]
|
|
15123
15314
|
}
|
|
@@ -15322,6 +15513,17 @@
|
|
|
15322
15513
|
]
|
|
15323
15514
|
}
|
|
15324
15515
|
},
|
|
15516
|
+
{
|
|
15517
|
+
"name": "LiquidationBitFlag",
|
|
15518
|
+
"type": {
|
|
15519
|
+
"kind": "enum",
|
|
15520
|
+
"variants": [
|
|
15521
|
+
{
|
|
15522
|
+
"name": "IsolatedPosition"
|
|
15523
|
+
}
|
|
15524
|
+
]
|
|
15525
|
+
}
|
|
15526
|
+
},
|
|
15325
15527
|
{
|
|
15326
15528
|
"name": "SettlePnlExplanation",
|
|
15327
15529
|
"type": {
|
|
@@ -15451,13 +15653,7 @@
|
|
|
15451
15653
|
"kind": "enum",
|
|
15452
15654
|
"variants": [
|
|
15453
15655
|
{
|
|
15454
|
-
"name": "Standard"
|
|
15455
|
-
"fields": [
|
|
15456
|
-
{
|
|
15457
|
-
"name": "trackOpenOrdersFraction",
|
|
15458
|
-
"type": "bool"
|
|
15459
|
-
}
|
|
15460
|
-
]
|
|
15656
|
+
"name": "Standard"
|
|
15461
15657
|
},
|
|
15462
15658
|
{
|
|
15463
15659
|
"name": "Liquidation",
|
|
@@ -16096,6 +16292,23 @@
|
|
|
16096
16292
|
]
|
|
16097
16293
|
}
|
|
16098
16294
|
},
|
|
16295
|
+
{
|
|
16296
|
+
"name": "PositionFlag",
|
|
16297
|
+
"type": {
|
|
16298
|
+
"kind": "enum",
|
|
16299
|
+
"variants": [
|
|
16300
|
+
{
|
|
16301
|
+
"name": "IsolatedPosition"
|
|
16302
|
+
},
|
|
16303
|
+
{
|
|
16304
|
+
"name": "BeingLiquidated"
|
|
16305
|
+
},
|
|
16306
|
+
{
|
|
16307
|
+
"name": "Bankrupt"
|
|
16308
|
+
}
|
|
16309
|
+
]
|
|
16310
|
+
}
|
|
16311
|
+
},
|
|
16099
16312
|
{
|
|
16100
16313
|
"name": "ReferrerStatus",
|
|
16101
16314
|
"type": {
|
|
@@ -17060,6 +17273,11 @@
|
|
|
17060
17273
|
"defined": "SpotBankruptcyRecord"
|
|
17061
17274
|
},
|
|
17062
17275
|
"index": false
|
|
17276
|
+
},
|
|
17277
|
+
{
|
|
17278
|
+
"name": "bitFlags",
|
|
17279
|
+
"type": "u8",
|
|
17280
|
+
"index": false
|
|
17063
17281
|
}
|
|
17064
17282
|
]
|
|
17065
17283
|
},
|
|
@@ -18496,8 +18714,8 @@
|
|
|
18496
18714
|
},
|
|
18497
18715
|
{
|
|
18498
18716
|
"code": 6094,
|
|
18499
|
-
"name": "
|
|
18500
|
-
"msg": "
|
|
18717
|
+
"name": "CantUpdateSpotBalanceType",
|
|
18718
|
+
"msg": "CantUpdateSpotBalanceType"
|
|
18501
18719
|
},
|
|
18502
18720
|
{
|
|
18503
18721
|
"code": 6095,
|
|
@@ -19611,41 +19829,46 @@
|
|
|
19611
19829
|
},
|
|
19612
19830
|
{
|
|
19613
19831
|
"code": 6317,
|
|
19832
|
+
"name": "InvalidIsolatedPerpMarket",
|
|
19833
|
+
"msg": "Invalid Isolated Perp Market"
|
|
19834
|
+
},
|
|
19835
|
+
{
|
|
19836
|
+
"code": 6318,
|
|
19614
19837
|
"name": "InvalidRevenueShareResize",
|
|
19615
19838
|
"msg": "Invalid RevenueShare resize"
|
|
19616
19839
|
},
|
|
19617
19840
|
{
|
|
19618
|
-
"code":
|
|
19841
|
+
"code": 6319,
|
|
19619
19842
|
"name": "BuilderRevoked",
|
|
19620
19843
|
"msg": "Builder has been revoked"
|
|
19621
19844
|
},
|
|
19622
19845
|
{
|
|
19623
|
-
"code":
|
|
19846
|
+
"code": 6320,
|
|
19624
19847
|
"name": "InvalidBuilderFee",
|
|
19625
19848
|
"msg": "Builder fee is greater than max fee bps"
|
|
19626
19849
|
},
|
|
19627
19850
|
{
|
|
19628
|
-
"code":
|
|
19851
|
+
"code": 6321,
|
|
19629
19852
|
"name": "RevenueShareEscrowAuthorityMismatch",
|
|
19630
19853
|
"msg": "RevenueShareEscrow authority mismatch"
|
|
19631
19854
|
},
|
|
19632
19855
|
{
|
|
19633
|
-
"code":
|
|
19856
|
+
"code": 6322,
|
|
19634
19857
|
"name": "RevenueShareEscrowOrdersAccountFull",
|
|
19635
19858
|
"msg": "RevenueShareEscrow has too many active orders"
|
|
19636
19859
|
},
|
|
19637
19860
|
{
|
|
19638
|
-
"code":
|
|
19861
|
+
"code": 6323,
|
|
19639
19862
|
"name": "InvalidRevenueShareAccount",
|
|
19640
19863
|
"msg": "Invalid RevenueShareAccount"
|
|
19641
19864
|
},
|
|
19642
19865
|
{
|
|
19643
|
-
"code":
|
|
19866
|
+
"code": 6324,
|
|
19644
19867
|
"name": "CannotRevokeBuilderWithOpenOrders",
|
|
19645
19868
|
"msg": "Cannot revoke builder with open orders"
|
|
19646
19869
|
},
|
|
19647
19870
|
{
|
|
19648
|
-
"code":
|
|
19871
|
+
"code": 6325,
|
|
19649
19872
|
"name": "UnableToLoadRevenueShareAccount",
|
|
19650
19873
|
"msg": "Unable to load builder account"
|
|
19651
19874
|
},
|
package/lib/node/index.d.ts
CHANGED
|
@@ -11,6 +11,10 @@ export * from './accounts/webSocketDriftClientAccountSubscriber';
|
|
|
11
11
|
export * from './accounts/webSocketInsuranceFundStakeAccountSubscriber';
|
|
12
12
|
export * from './accounts/webSocketHighLeverageModeConfigAccountSubscriber';
|
|
13
13
|
export { WebSocketAccountSubscriberV2 } from './accounts/webSocketAccountSubscriberV2';
|
|
14
|
+
export { WebSocketProgramAccountSubscriber } from './accounts/webSocketProgramAccountSubscriber';
|
|
15
|
+
export { WebSocketProgramUserAccountSubscriber } from './accounts/websocketProgramUserAccountSubscriber';
|
|
16
|
+
export { WebSocketProgramAccountsSubscriberV2 } from './accounts/webSocketProgramAccountsSubscriberV2';
|
|
17
|
+
export { WebSocketDriftClientAccountSubscriberV2 } from './accounts/webSocketDriftClientAccountSubscriberV2';
|
|
14
18
|
export * from './accounts/bulkAccountLoader';
|
|
15
19
|
export * from './accounts/bulkUserSubscription';
|
|
16
20
|
export * from './accounts/bulkUserStatsSubscription';
|
package/lib/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/node/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.pyth = exports.PublicKey = exports.BN = exports.CustomizedCadenceBulkAccountLoader = exports.WebSocketAccountSubscriberV2 = void 0;
|
|
20
|
+
exports.pyth = exports.PublicKey = exports.BN = exports.CustomizedCadenceBulkAccountLoader = exports.WebSocketDriftClientAccountSubscriberV2 = exports.WebSocketProgramAccountsSubscriberV2 = exports.WebSocketProgramUserAccountSubscriber = exports.WebSocketProgramAccountSubscriber = exports.WebSocketAccountSubscriberV2 = void 0;
|
|
21
21
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
22
22
|
Object.defineProperty(exports, "BN", { enumerable: true, get: function () { return anchor_1.BN; } });
|
|
23
23
|
const web3_js_1 = require("@solana/web3.js");
|
|
@@ -35,6 +35,14 @@ __exportStar(require("./accounts/webSocketInsuranceFundStakeAccountSubscriber"),
|
|
|
35
35
|
__exportStar(require("./accounts/webSocketHighLeverageModeConfigAccountSubscriber"), exports);
|
|
36
36
|
var webSocketAccountSubscriberV2_1 = require("./accounts/webSocketAccountSubscriberV2");
|
|
37
37
|
Object.defineProperty(exports, "WebSocketAccountSubscriberV2", { enumerable: true, get: function () { return webSocketAccountSubscriberV2_1.WebSocketAccountSubscriberV2; } });
|
|
38
|
+
var webSocketProgramAccountSubscriber_1 = require("./accounts/webSocketProgramAccountSubscriber");
|
|
39
|
+
Object.defineProperty(exports, "WebSocketProgramAccountSubscriber", { enumerable: true, get: function () { return webSocketProgramAccountSubscriber_1.WebSocketProgramAccountSubscriber; } });
|
|
40
|
+
var websocketProgramUserAccountSubscriber_1 = require("./accounts/websocketProgramUserAccountSubscriber");
|
|
41
|
+
Object.defineProperty(exports, "WebSocketProgramUserAccountSubscriber", { enumerable: true, get: function () { return websocketProgramUserAccountSubscriber_1.WebSocketProgramUserAccountSubscriber; } });
|
|
42
|
+
var webSocketProgramAccountsSubscriberV2_1 = require("./accounts/webSocketProgramAccountsSubscriberV2");
|
|
43
|
+
Object.defineProperty(exports, "WebSocketProgramAccountsSubscriberV2", { enumerable: true, get: function () { return webSocketProgramAccountsSubscriberV2_1.WebSocketProgramAccountsSubscriberV2; } });
|
|
44
|
+
var webSocketDriftClientAccountSubscriberV2_1 = require("./accounts/webSocketDriftClientAccountSubscriberV2");
|
|
45
|
+
Object.defineProperty(exports, "WebSocketDriftClientAccountSubscriberV2", { enumerable: true, get: function () { return webSocketDriftClientAccountSubscriberV2_1.WebSocketDriftClientAccountSubscriberV2; } });
|
|
38
46
|
__exportStar(require("./accounts/bulkAccountLoader"), exports);
|
|
39
47
|
__exportStar(require("./accounts/bulkUserSubscription"), exports);
|
|
40
48
|
__exportStar(require("./accounts/bulkUserStatsSubscription"), exports);
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/// <reference types="bn.js" />
|
|
2
|
+
import { BN } from '@coral-xyz/anchor';
|
|
3
|
+
import { MarketType } from './types';
|
|
4
|
+
export type MarginCategory = 'Initial' | 'Maintenance' | 'Fill';
|
|
5
|
+
export type MarginCalculationMode = {
|
|
6
|
+
type: 'Standard';
|
|
7
|
+
} | {
|
|
8
|
+
type: 'Liquidation';
|
|
9
|
+
};
|
|
10
|
+
export declare class MarketIdentifier {
|
|
11
|
+
marketType: MarketType;
|
|
12
|
+
marketIndex: number;
|
|
13
|
+
private constructor();
|
|
14
|
+
static spot(marketIndex: number): MarketIdentifier;
|
|
15
|
+
static perp(marketIndex: number): MarketIdentifier;
|
|
16
|
+
equals(other: MarketIdentifier | undefined): boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare class MarginContext {
|
|
19
|
+
marginType: MarginCategory;
|
|
20
|
+
mode: MarginCalculationMode;
|
|
21
|
+
strict: boolean;
|
|
22
|
+
ignoreInvalidDepositOracles: boolean;
|
|
23
|
+
marginBuffer: BN;
|
|
24
|
+
marginRatioOverride?: number;
|
|
25
|
+
private constructor();
|
|
26
|
+
static standard(marginType: MarginCategory): MarginContext;
|
|
27
|
+
static liquidation(marginBuffer: BN): MarginContext;
|
|
28
|
+
strictMode(strict: boolean): this;
|
|
29
|
+
ignoreInvalidDeposits(ignore: boolean): this;
|
|
30
|
+
setMarginBuffer(buffer?: BN): this;
|
|
31
|
+
setMarginRatioOverride(ratio: number): this;
|
|
32
|
+
}
|
|
33
|
+
export declare class IsolatedMarginCalculation {
|
|
34
|
+
marginRequirement: BN;
|
|
35
|
+
totalCollateral: BN;
|
|
36
|
+
totalCollateralBuffer: BN;
|
|
37
|
+
marginRequirementPlusBuffer: BN;
|
|
38
|
+
constructor();
|
|
39
|
+
getTotalCollateralPlusBuffer(): BN;
|
|
40
|
+
meetsMarginRequirement(): boolean;
|
|
41
|
+
meetsMarginRequirementWithBuffer(): boolean;
|
|
42
|
+
marginShortage(): BN;
|
|
43
|
+
}
|
|
44
|
+
export declare class MarginCalculation {
|
|
45
|
+
context: MarginContext;
|
|
46
|
+
totalCollateral: BN;
|
|
47
|
+
totalCollateralBuffer: BN;
|
|
48
|
+
marginRequirement: BN;
|
|
49
|
+
marginRequirementPlusBuffer: BN;
|
|
50
|
+
isolatedMarginCalculations: Map<number, IsolatedMarginCalculation>;
|
|
51
|
+
numSpotLiabilities: number;
|
|
52
|
+
numPerpLiabilities: number;
|
|
53
|
+
allDepositOraclesValid: boolean;
|
|
54
|
+
allLiabilityOraclesValid: boolean;
|
|
55
|
+
withPerpIsolatedLiability: boolean;
|
|
56
|
+
withSpotIsolatedLiability: boolean;
|
|
57
|
+
totalSpotLiabilityValue: BN;
|
|
58
|
+
totalPerpLiabilityValue: BN;
|
|
59
|
+
trackedMarketMarginRequirement: BN;
|
|
60
|
+
fuelDeposits: number;
|
|
61
|
+
fuelBorrows: number;
|
|
62
|
+
fuelPositions: number;
|
|
63
|
+
constructor(context: MarginContext);
|
|
64
|
+
addCrossMarginTotalCollateral(delta: BN): void;
|
|
65
|
+
addCrossMarginRequirement(marginRequirement: BN, liabilityValue: BN): void;
|
|
66
|
+
addIsolatedMarginCalculation(marketIndex: number, depositValue: BN, pnl: BN, liabilityValue: BN, marginRequirement: BN): void;
|
|
67
|
+
addSpotLiability(): void;
|
|
68
|
+
addPerpLiability(): void;
|
|
69
|
+
addSpotLiabilityValue(spotLiabilityValue: BN): void;
|
|
70
|
+
addPerpLiabilityValue(perpLiabilityValue: BN): void;
|
|
71
|
+
updateAllDepositOraclesValid(valid: boolean): void;
|
|
72
|
+
updateAllLiabilityOraclesValid(valid: boolean): void;
|
|
73
|
+
updateWithSpotIsolatedLiability(isolated: boolean): void;
|
|
74
|
+
updateWithPerpIsolatedLiability(isolated: boolean): void;
|
|
75
|
+
validateNumSpotLiabilities(): void;
|
|
76
|
+
getNumOfLiabilities(): number;
|
|
77
|
+
getCrossTotalCollateralPlusBuffer(): BN;
|
|
78
|
+
meetsCrossMarginRequirement(): boolean;
|
|
79
|
+
meetsCrossMarginRequirementWithBuffer(): boolean;
|
|
80
|
+
meetsMarginRequirement(): boolean;
|
|
81
|
+
meetsMarginRequirementWithBuffer(): boolean;
|
|
82
|
+
getCrossFreeCollateral(): BN;
|
|
83
|
+
getIsolatedFreeCollateral(marketIndex: number): BN;
|
|
84
|
+
getIsolatedMarginCalculation(marketIndex: number): IsolatedMarginCalculation | undefined;
|
|
85
|
+
hasIsolatedMarginCalculation(marketIndex: number): boolean;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=marginCalculation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marginCalculation.d.ts","sourceRoot":"","sources":["../../src/marginCalculation.ts"],"names":[],"mappings":"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"}
|