@drift-labs/sdk 0.2.0-master.13 → 0.2.0-master.16

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.
Files changed (115) hide show
  1. package/lib/accounts/bulkUserStatsSubscription.d.ts +7 -0
  2. package/lib/accounts/bulkUserStatsSubscription.js +21 -0
  3. package/lib/accounts/bulkUserSubscription.js +0 -1
  4. package/lib/accounts/fetch.d.ts +2 -1
  5. package/lib/accounts/fetch.js +9 -1
  6. package/lib/accounts/pollingUserStatsAccountSubscriber.d.ts +27 -0
  7. package/lib/accounts/pollingUserStatsAccountSubscriber.js +113 -0
  8. package/lib/accounts/types.d.ts +14 -2
  9. package/lib/accounts/webSocketUserStatsAccountSubsriber.d.ts +20 -0
  10. package/lib/accounts/webSocketUserStatsAccountSubsriber.js +47 -0
  11. package/lib/addresses/pda.d.ts +1 -0
  12. package/lib/addresses/pda.js +8 -1
  13. package/lib/admin.d.ts +2 -0
  14. package/lib/admin.js +18 -0
  15. package/lib/clearingHouse.d.ts +17 -1
  16. package/lib/clearingHouse.js +195 -14
  17. package/lib/clearingHouseConfig.d.ts +1 -0
  18. package/lib/clearingHouseUser.d.ts +5 -0
  19. package/lib/clearingHouseUser.js +97 -3
  20. package/lib/clearingHouseUserStats.d.ts +17 -0
  21. package/lib/clearingHouseUserStats.js +36 -0
  22. package/lib/clearingHouseUserStatsConfig.d.ts +14 -0
  23. package/{src/clearingHouseConfig.js → lib/clearingHouseUserStatsConfig.js} +0 -0
  24. package/lib/config.js +1 -1
  25. package/lib/factory/bigNum.js +7 -9
  26. package/lib/idl/clearing_house.json +614 -64
  27. package/lib/math/bankBalance.d.ts +4 -0
  28. package/lib/math/bankBalance.js +24 -2
  29. package/lib/math/oracles.d.ts +3 -0
  30. package/lib/math/oracles.js +25 -5
  31. package/lib/math/position.js +2 -1
  32. package/lib/math/trade.js +2 -2
  33. package/lib/types.d.ts +59 -9
  34. package/lib/types.js +6 -0
  35. package/package.json +1 -1
  36. package/src/accounts/bulkUserStatsSubscription.ts +33 -0
  37. package/src/accounts/bulkUserSubscription.ts +0 -1
  38. package/src/accounts/fetch.ts +27 -2
  39. package/src/accounts/pollingUserStatsAccountSubscriber.ts +172 -0
  40. package/src/accounts/types.ts +18 -0
  41. package/src/accounts/webSocketUserStatsAccountSubsriber.ts +80 -0
  42. package/src/addresses/pda.ts +13 -0
  43. package/src/admin.ts +29 -1
  44. package/src/clearingHouse.ts +318 -15
  45. package/src/clearingHouseConfig.ts +1 -0
  46. package/src/clearingHouseUser.ts +113 -10
  47. package/src/clearingHouseUserStats.ts +53 -0
  48. package/src/clearingHouseUserStatsConfig.ts +18 -0
  49. package/src/config.ts +1 -1
  50. package/src/factory/bigNum.ts +6 -7
  51. package/src/idl/clearing_house.json +614 -64
  52. package/src/math/bankBalance.ts +50 -1
  53. package/src/math/oracles.ts +42 -5
  54. package/src/math/position.ts +2 -1
  55. package/src/math/trade.ts +2 -2
  56. package/src/types.ts +63 -9
  57. package/tests/bn/test.ts +8 -0
  58. package/src/accounts/bulkAccountLoader.js +0 -197
  59. package/src/accounts/bulkUserSubscription.js +0 -33
  60. package/src/accounts/pollingClearingHouseAccountSubscriber.js +0 -311
  61. package/src/accounts/pollingOracleSubscriber.js +0 -93
  62. package/src/accounts/pollingTokenAccountSubscriber.js +0 -90
  63. package/src/accounts/pollingUserAccountSubscriber.js +0 -132
  64. package/src/accounts/types.js +0 -10
  65. package/src/accounts/utils.js +0 -7
  66. package/src/accounts/webSocketAccountSubscriber.js +0 -93
  67. package/src/accounts/webSocketClearingHouseAccountSubscriber.js +0 -233
  68. package/src/accounts/webSocketUserAccountSubscriber.js +0 -62
  69. package/src/addresses/marketAddresses.js +0 -26
  70. package/src/assert/assert.js +0 -9
  71. package/src/clearingHouseUserConfig.js +0 -2
  72. package/src/constants/banks.js +0 -42
  73. package/src/constants/markets.js +0 -42
  74. package/src/constants/numericConstants.js +0 -41
  75. package/src/events/eventList.js +0 -77
  76. package/src/events/eventSubscriber.js +0 -139
  77. package/src/events/fetchLogs.js +0 -50
  78. package/src/events/pollingLogProvider.js +0 -64
  79. package/src/events/sort.js +0 -44
  80. package/src/events/txEventCache.js +0 -71
  81. package/src/events/types.js +0 -20
  82. package/src/events/webSocketLogProvider.js +0 -41
  83. package/src/examples/makeTradeExample.js +0 -80
  84. package/src/factory/bigNum.js +0 -390
  85. package/src/factory/oracleClient.js +0 -20
  86. package/src/index.js +0 -69
  87. package/src/math/amm.js +0 -369
  88. package/src/math/auction.js +0 -42
  89. package/src/math/conversion.js +0 -11
  90. package/src/math/funding.js +0 -248
  91. package/src/math/oracles.js +0 -26
  92. package/src/math/repeg.js +0 -128
  93. package/src/math/state.js +0 -15
  94. package/src/math/trade.js +0 -253
  95. package/src/math/utils.js +0 -26
  96. package/src/math/utils.js.map +0 -1
  97. package/src/mockUSDCFaucet.js +0 -280
  98. package/src/oracles/oracleClientCache.js +0 -19
  99. package/src/oracles/pythClient.js +0 -46
  100. package/src/oracles/quoteAssetOracleClient.js +0 -32
  101. package/src/oracles/switchboardClient.js +0 -69
  102. package/src/oracles/types.js +0 -2
  103. package/src/orderParams.js +0 -20
  104. package/src/slot/SlotSubscriber.js +0 -39
  105. package/src/token/index.js +0 -38
  106. package/src/tokenFaucet.js +0 -189
  107. package/src/tx/types.js +0 -2
  108. package/src/tx/utils.js +0 -17
  109. package/src/types.js +0 -125
  110. package/src/userName.js +0 -20
  111. package/src/util/computeUnits.js +0 -27
  112. package/src/util/getTokenAddress.js +0 -9
  113. package/src/util/promiseTimeout.js +0 -14
  114. package/src/util/tps.js +0 -27
  115. package/src/wallet.js +0 -35
@@ -372,6 +372,87 @@
372
372
  ],
373
373
  "args": []
374
374
  },
375
+ {
376
+ "name": "settleLp",
377
+ "accounts": [
378
+ {
379
+ "name": "state",
380
+ "isMut": false,
381
+ "isSigner": false
382
+ },
383
+ {
384
+ "name": "user",
385
+ "isMut": true,
386
+ "isSigner": false
387
+ }
388
+ ],
389
+ "args": [
390
+ {
391
+ "name": "marketIndex",
392
+ "type": "u64"
393
+ }
394
+ ]
395
+ },
396
+ {
397
+ "name": "removeLiquidity",
398
+ "accounts": [
399
+ {
400
+ "name": "state",
401
+ "isMut": false,
402
+ "isSigner": false
403
+ },
404
+ {
405
+ "name": "user",
406
+ "isMut": true,
407
+ "isSigner": false
408
+ },
409
+ {
410
+ "name": "authority",
411
+ "isMut": false,
412
+ "isSigner": true
413
+ }
414
+ ],
415
+ "args": [
416
+ {
417
+ "name": "sharesToBurn",
418
+ "type": "u128"
419
+ },
420
+ {
421
+ "name": "marketIndex",
422
+ "type": "u64"
423
+ }
424
+ ]
425
+ },
426
+ {
427
+ "name": "addLiquidity",
428
+ "accounts": [
429
+ {
430
+ "name": "state",
431
+ "isMut": false,
432
+ "isSigner": false
433
+ },
434
+ {
435
+ "name": "user",
436
+ "isMut": true,
437
+ "isSigner": false
438
+ },
439
+ {
440
+ "name": "authority",
441
+ "isMut": false,
442
+ "isSigner": true
443
+ }
444
+ ],
445
+ "args": [
446
+ {
447
+ "name": "nShares",
448
+ "type": "u128"
449
+ },
450
+ {
451
+ "name": "marketIndex",
452
+ "type": "u64"
453
+ }
454
+ ]
455
+ },
375
456
  {
376
457
  "name": "placeOrder",
377
458
  "accounts": [
@@ -472,10 +553,20 @@
472
553
  "isMut": true,
473
554
  "isSigner": false
474
555
  },
556
+ {
557
+ "name": "fillerStats",
558
+ "isMut": true,
559
+ "isSigner": false
560
+ },
475
561
  {
476
562
  "name": "user",
477
563
  "isMut": true,
478
564
  "isSigner": false
565
+ },
566
+ {
567
+ "name": "userStats",
568
+ "isMut": true,
569
+ "isSigner": false
479
570
  }
480
571
  ],
481
572
  "args": [
@@ -506,6 +597,11 @@
506
597
  "isMut": true,
507
598
  "isSigner": false
508
599
  },
600
+ {
601
+ "name": "userStats",
602
+ "isMut": true,
603
+ "isSigner": false
604
+ },
509
605
  {
510
606
  "name": "authority",
511
607
  "isMut": false,
@@ -540,11 +636,21 @@
540
636
  "isMut": true,
541
637
  "isSigner": false
542
638
  },
639
+ {
640
+ "name": "userStats",
641
+ "isMut": true,
642
+ "isSigner": false
643
+ },
543
644
  {
544
645
  "name": "taker",
545
646
  "isMut": true,
546
647
  "isSigner": false
547
648
  },
649
+ {
650
+ "name": "takerStats",
651
+ "isMut": true,
652
+ "isSigner": false
653
+ },
548
654
  {
549
655
  "name": "authority",
550
656
  "isMut": false,
@@ -665,10 +771,20 @@
665
771
  "isMut": true,
666
772
  "isSigner": false
667
773
  },
774
+ {
775
+ "name": "liquidatorStats",
776
+ "isMut": true,
777
+ "isSigner": false
778
+ },
668
779
  {
669
780
  "name": "user",
670
781
  "isMut": true,
671
782
  "isSigner": false
783
+ },
784
+ {
785
+ "name": "userStats",
786
+ "isMut": true,
787
+ "isSigner": false
672
788
  }
673
789
  ],
674
790
  "args": [
@@ -799,6 +915,68 @@
799
915
  }
800
916
  ]
801
917
  },
918
+ {
919
+ "name": "resolvePerpBankruptcy",
920
+ "accounts": [
921
+ {
922
+ "name": "state",
923
+ "isMut": false,
924
+ "isSigner": false
925
+ },
926
+ {
927
+ "name": "authority",
928
+ "isMut": false,
929
+ "isSigner": true
930
+ },
931
+ {
932
+ "name": "liquidator",
933
+ "isMut": true,
934
+ "isSigner": false
935
+ },
936
+ {
937
+ "name": "user",
938
+ "isMut": true,
939
+ "isSigner": false
940
+ }
941
+ ],
942
+ "args": [
943
+ {
944
+ "name": "marketIndex",
945
+ "type": "u64"
946
+ }
947
+ ]
948
+ },
949
+ {
950
+ "name": "resolveBorrowBankruptcy",
951
+ "accounts": [
952
+ {
953
+ "name": "state",
954
+ "isMut": false,
955
+ "isSigner": false
956
+ },
957
+ {
958
+ "name": "authority",
959
+ "isMut": false,
960
+ "isSigner": true
961
+ },
962
+ {
963
+ "name": "liquidator",
964
+ "isMut": true,
965
+ "isSigner": false
966
+ },
967
+ {
968
+ "name": "user",
969
+ "isMut": true,
970
+ "isSigner": false
971
+ }
972
+ ],
973
+ "args": [
974
+ {
975
+ "name": "bankIndex",
976
+ "type": "u64"
977
+ }
978
+ ]
979
+ },
802
980
  {
803
981
  "name": "moveAmmPrice",
804
982
  "accounts": [
@@ -1063,6 +1241,11 @@
1063
1241
  "isMut": true,
1064
1242
  "isSigner": false
1065
1243
  },
1244
+ {
1245
+ "name": "userStats",
1246
+ "isMut": true,
1247
+ "isSigner": false
1248
+ },
1066
1249
  {
1067
1250
  "name": "state",
1068
1251
  "isMut": false,
@@ -1105,6 +1288,42 @@
1105
1288
  }
1106
1289
  ]
1107
1290
  },
1291
+ {
1292
+ "name": "initializeUserStats",
1293
+ "accounts": [
1294
+ {
1295
+ "name": "userStats",
1296
+ "isMut": true,
1297
+ "isSigner": false
1298
+ },
1299
+ {
1300
+ "name": "state",
1301
+ "isMut": false,
1302
+ "isSigner": false
1303
+ },
1304
+ {
1305
+ "name": "authority",
1306
+ "isMut": false,
1307
+ "isSigner": true
1308
+ },
1309
+ {
1310
+ "name": "payer",
1311
+ "isMut": true,
1312
+ "isSigner": true
1313
+ },
1314
+ {
1315
+ "name": "rent",
1316
+ "isMut": false,
1317
+ "isSigner": false
1318
+ },
1319
+ {
1320
+ "name": "systemProgram",
1321
+ "isMut": false,
1322
+ "isSigner": false
1323
+ }
1324
+ ],
1325
+ "args": []
1326
+ },
1108
1327
  {
1109
1328
  "name": "settleFundingPayment",
1110
1329
  "accounts": [
@@ -1260,6 +1479,32 @@
1260
1479
  }
1261
1480
  ]
1262
1481
  },
1482
+ {
1483
+ "name": "updateBankWithdrawGuardThreshold",
1484
+ "accounts": [
1485
+ {
1486
+ "name": "admin",
1487
+ "isMut": false,
1488
+ "isSigner": true
1489
+ },
1490
+ {
1491
+ "name": "state",
1492
+ "isMut": false,
1493
+ "isSigner": false
1494
+ },
1495
+ {
1496
+ "name": "bank",
1497
+ "isMut": true,
1498
+ "isSigner": false
1499
+ }
1500
+ ],
1501
+ "args": [
1502
+ {
1503
+ "name": "withdrawGuardThreshold",
1504
+ "type": "u128"
1505
+ }
1506
+ ]
1507
+ },
1263
1508
  {
1264
1509
  "name": "updateMarketImfFactor",
1265
1510
  "accounts": [
@@ -1342,6 +1587,32 @@
1342
1587
  }
1343
1588
  ]
1344
1589
  },
1590
+ {
1591
+ "name": "updateLpCooldownTime",
1592
+ "accounts": [
1593
+ {
1594
+ "name": "admin",
1595
+ "isMut": false,
1596
+ "isSigner": true
1597
+ },
1598
+ {
1599
+ "name": "state",
1600
+ "isMut": false,
1601
+ "isSigner": false
1602
+ },
1603
+ {
1604
+ "name": "market",
1605
+ "isMut": true,
1606
+ "isSigner": false
1607
+ }
1608
+ ],
1609
+ "args": [
1610
+ {
1611
+ "name": "lpCooldownTime",
1612
+ "type": "i64"
1613
+ }
1614
+ ]
1615
+ },
1345
1616
  {
1346
1617
  "name": "updatePartialLiquidationClosePercentage",
1347
1618
  "accounts": [
@@ -1927,6 +2198,18 @@
1927
2198
  "name": "borrowBalance",
1928
2199
  "type": "u128"
1929
2200
  },
2201
+ {
2202
+ "name": "depositTokenTwap",
2203
+ "type": "u128"
2204
+ },
2205
+ {
2206
+ "name": "borrowTokenTwap",
2207
+ "type": "u128"
2208
+ },
2209
+ {
2210
+ "name": "utilizationTwap",
2211
+ "type": "u128"
2212
+ },
1930
2213
  {
1931
2214
  "name": "cumulativeDepositInterest",
1932
2215
  "type": "u128"
@@ -1936,7 +2219,11 @@
1936
2219
  "type": "u128"
1937
2220
  },
1938
2221
  {
1939
- "name": "lastUpdated",
2222
+ "name": "lastInterestTs",
2223
+ "type": "u64"
2224
+ },
2225
+ {
2226
+ "name": "lastTwapTs",
1940
2227
  "type": "u64"
1941
2228
  },
1942
2229
  {
@@ -1962,6 +2249,10 @@
1962
2249
  {
1963
2250
  "name": "liquidationFee",
1964
2251
  "type": "u128"
2252
+ },
2253
+ {
2254
+ "name": "withdrawGuardThreshold",
2255
+ "type": "u128"
1965
2256
  }
1966
2257
  ]
1967
2258
  }
@@ -2235,6 +2526,64 @@
2235
2526
  ]
2236
2527
  }
2237
2528
  },
2529
+ {
2530
+ "name": "nextOrderId",
2531
+ "type": "u64"
2532
+ },
2533
+ {
2534
+ "name": "positions",
2535
+ "type": {
2536
+ "array": [
2537
+ {
2538
+ "defined": "MarketPosition"
2539
+ },
2540
+ 5
2541
+ ]
2542
+ }
2543
+ },
2544
+ {
2545
+ "name": "orders",
2546
+ "type": {
2547
+ "array": [
2548
+ {
2549
+ "defined": "Order"
2550
+ },
2551
+ 32
2552
+ ]
2553
+ }
2554
+ },
2555
+ {
2556
+ "name": "nextLiquidationId",
2557
+ "type": "u16"
2558
+ },
2559
+ {
2560
+ "name": "beingLiquidated",
2561
+ "type": "bool"
2562
+ },
2563
+ {
2564
+ "name": "bankrupt",
2565
+ "type": "bool"
2566
+ }
2567
+ ]
2568
+ }
2569
+ },
2570
+ {
2571
+ "name": "UserStats",
2572
+ "type": {
2573
+ "kind": "struct",
2574
+ "fields": [
2575
+ {
2576
+ "name": "authority",
2577
+ "type": "publicKey"
2578
+ },
2579
+ {
2580
+ "name": "numberOfUsers",
2581
+ "type": "u8"
2582
+ },
2583
+ {
2584
+ "name": "referrer",
2585
+ "type": "publicKey"
2586
+ },
2238
2587
  {
2239
2588
  "name": "fees",
2240
2589
  "type": {
@@ -2242,38 +2591,28 @@
2242
2591
  }
2243
2592
  },
2244
2593
  {
2245
- "name": "nextOrderId",
2594
+ "name": "makerVolume30d",
2246
2595
  "type": "u64"
2247
2596
  },
2248
2597
  {
2249
- "name": "positions",
2250
- "type": {
2251
- "array": [
2252
- {
2253
- "defined": "MarketPosition"
2254
- },
2255
- 5
2256
- ]
2257
- }
2598
+ "name": "takerVolume30d",
2599
+ "type": "u64"
2258
2600
  },
2259
2601
  {
2260
- "name": "orders",
2261
- "type": {
2262
- "array": [
2263
- {
2264
- "defined": "Order"
2265
- },
2266
- 32
2267
- ]
2268
- }
2602
+ "name": "fillerVolume30d",
2603
+ "type": "u64"
2269
2604
  },
2270
2605
  {
2271
- "name": "nextLiquidationId",
2272
- "type": "u16"
2606
+ "name": "lastMakerVolume30dTs",
2607
+ "type": "i64"
2273
2608
  },
2274
2609
  {
2275
- "name": "beingLiquidated",
2276
- "type": "bool"
2610
+ "name": "lastTakerVolume30dTs",
2611
+ "type": "i64"
2612
+ },
2613
+ {
2614
+ "name": "lastFillerVolume30dTs",
2615
+ "type": "i64"
2277
2616
  }
2278
2617
  ]
2279
2618
  }
@@ -2530,6 +2869,46 @@
2530
2869
  ]
2531
2870
  }
2532
2871
  },
2872
+ {
2873
+ "name": "PerpBankruptcyRecord",
2874
+ "type": {
2875
+ "kind": "struct",
2876
+ "fields": [
2877
+ {
2878
+ "name": "marketIndex",
2879
+ "type": "u64"
2880
+ },
2881
+ {
2882
+ "name": "pnl",
2883
+ "type": "i128"
2884
+ },
2885
+ {
2886
+ "name": "cumulativeFundingRateDelta",
2887
+ "type": "i128"
2888
+ }
2889
+ ]
2890
+ }
2891
+ },
2892
+ {
2893
+ "name": "BorrowBankruptcyRecord",
2894
+ "type": {
2895
+ "kind": "struct",
2896
+ "fields": [
2897
+ {
2898
+ "name": "bankIndex",
2899
+ "type": "u64"
2900
+ },
2901
+ {
2902
+ "name": "borrowAmount",
2903
+ "type": "u128"
2904
+ },
2905
+ {
2906
+ "name": "cumulativeDepositInterestDelta",
2907
+ "type": "u128"
2908
+ }
2909
+ ]
2910
+ }
2911
+ },
2533
2912
  {
2534
2913
  "name": "PoolBalance",
2535
2914
  "type": {
@@ -2577,6 +2956,10 @@
2577
2956
  "name": "lastOraclePriceTwap",
2578
2957
  "type": "i128"
2579
2958
  },
2959
+ {
2960
+ "name": "lastOraclePriceTwap5min",
2961
+ "type": "i128"
2962
+ },
2580
2963
  {
2581
2964
  "name": "lastOraclePriceTwapTs",
2582
2965
  "type": "i64"
@@ -2593,6 +2976,14 @@
2593
2976
  "name": "quoteAssetReserve",
2594
2977
  "type": "u128"
2595
2978
  },
2979
+ {
2980
+ "name": "minBaseAssetReserve",
2981
+ "type": "u128"
2982
+ },
2983
+ {
2984
+ "name": "maxBaseAssetReserve",
2985
+ "type": "u128"
2986
+ },
2596
2987
  {
2597
2988
  "name": "sqrtK",
2598
2989
  "type": "u128"
@@ -2625,10 +3016,36 @@
2625
3016
  "name": "quoteEntryAmountShort",
2626
3017
  "type": "i128"
2627
3018
  },
3019
+ {
3020
+ "name": "netUnsettledLpBaseAssetAmount",
3021
+ "type": "i128"
3022
+ },
3023
+ {
3024
+ "name": "lpCooldownTime",
3025
+ "type": "i64"
3026
+ },
3027
+ {
3028
+ "name": "userLpShares",
3029
+ "type": "u128"
3030
+ },
3031
+ {
3032
+ "name": "marketPositionPerLp",
3033
+ "type": {
3034
+ "defined": "MarketPosition"
3035
+ }
3036
+ },
2628
3037
  {
2629
3038
  "name": "lastFundingRate",
2630
3039
  "type": "i128"
2631
3040
  },
3041
+ {
3042
+ "name": "lastFundingRateLong",
3043
+ "type": "i128"
3044
+ },
3045
+ {
3046
+ "name": "lastFundingRateShort",
3047
+ "type": "i128"
3048
+ },
2632
3049
  {
2633
3050
  "name": "lastFundingRateTs",
2634
3051
  "type": "i64"
@@ -2645,10 +3062,6 @@
2645
3062
  "name": "cumulativeFundingRateShort",
2646
3063
  "type": "i128"
2647
3064
  },
2648
- {
2649
- "name": "cumulativeFundingRateLp",
2650
- "type": "i128"
2651
- },
2652
3065
  {
2653
3066
  "name": "cumulativeRepegRebateLong",
2654
3067
  "type": "u128"
@@ -2665,6 +3078,10 @@
2665
3078
  "name": "lastMarkPriceTwap",
2666
3079
  "type": "u128"
2667
3080
  },
3081
+ {
3082
+ "name": "lastMarkPriceTwap5min",
3083
+ "type": "u128"
3084
+ },
2668
3085
  {
2669
3086
  "name": "lastMarkPriceTwapTs",
2670
3087
  "type": "i64"
@@ -2685,6 +3102,12 @@
2685
3102
  "name": "baseAssetAmountStepSize",
2686
3103
  "type": "u128"
2687
3104
  },
3105
+ {
3106
+ "name": "marketPosition",
3107
+ "type": {
3108
+ "defined": "MarketPosition"
3109
+ }
3110
+ },
2688
3111
  {
2689
3112
  "name": "baseSpread",
2690
3113
  "type": "u16"
@@ -2779,6 +3202,10 @@
2779
3202
  "name": "lastUpdateSlot",
2780
3203
  "type": "u64"
2781
3204
  },
3205
+ {
3206
+ "name": "lastOracleValid",
3207
+ "type": "bool"
3208
+ },
2782
3209
  {
2783
3210
  "name": "padding0",
2784
3211
  "type": "u16"
@@ -3009,6 +3436,10 @@
3009
3436
  "name": "totalFeePaid",
3010
3437
  "type": "u64"
3011
3438
  },
3439
+ {
3440
+ "name": "totalLpFees",
3441
+ "type": "u128"
3442
+ },
3012
3443
  {
3013
3444
  "name": "totalFeeRebate",
3014
3445
  "type": "u64"
@@ -3095,6 +3526,26 @@
3095
3526
  "name": "openAsks",
3096
3527
  "type": "i128"
3097
3528
  },
3529
+ {
3530
+ "name": "realizedPnl",
3531
+ "type": "i64"
3532
+ },
3533
+ {
3534
+ "name": "lpShares",
3535
+ "type": "u128"
3536
+ },
3537
+ {
3538
+ "name": "lastNetBaseAssetAmountPerLp",
3539
+ "type": "i128"
3540
+ },
3541
+ {
3542
+ "name": "lastNetQuoteAssetAmountPerLp",
3543
+ "type": "i128"
3544
+ },
3545
+ {
3546
+ "name": "lastLpAddTime",
3547
+ "type": "i64"
3548
+ },
3098
3549
  {
3099
3550
  "name": "padding0",
3100
3551
  "type": "u128"
@@ -3280,24 +3731,15 @@
3280
3731
  }
3281
3732
  },
3282
3733
  {
3283
- "name": "PositionUpdateType",
3734
+ "name": "TwapPeriod",
3284
3735
  "type": {
3285
3736
  "kind": "enum",
3286
3737
  "variants": [
3287
3738
  {
3288
- "name": "Open"
3289
- },
3290
- {
3291
- "name": "Increase"
3292
- },
3293
- {
3294
- "name": "Reduce"
3295
- },
3296
- {
3297
- "name": "Close"
3739
+ "name": "FundingPeriod"
3298
3740
  },
3299
3741
  {
3300
- "name": "Flip"
3742
+ "name": "FiveMin"
3301
3743
  }
3302
3744
  ]
3303
3745
  }
@@ -3330,6 +3772,29 @@
3330
3772
  ]
3331
3773
  }
3332
3774
  },
3775
+ {
3776
+ "name": "PositionUpdateType",
3777
+ "type": {
3778
+ "kind": "enum",
3779
+ "variants": [
3780
+ {
3781
+ "name": "Open"
3782
+ },
3783
+ {
3784
+ "name": "Increase"
3785
+ },
3786
+ {
3787
+ "name": "Reduce"
3788
+ },
3789
+ {
3790
+ "name": "Close"
3791
+ },
3792
+ {
3793
+ "name": "Flip"
3794
+ }
3795
+ ]
3796
+ }
3797
+ },
3333
3798
  {
3334
3799
  "name": "BankBalanceType",
3335
3800
  "type": {
@@ -3429,6 +3894,12 @@
3429
3894
  },
3430
3895
  {
3431
3896
  "name": "LiquidatePerpPnlForDeposit"
3897
+ },
3898
+ {
3899
+ "name": "PerpBankruptcy"
3900
+ },
3901
+ {
3902
+ "name": "BorrowBankruptcy"
3432
3903
  }
3433
3904
  ]
3434
3905
  }
@@ -3957,6 +4428,11 @@
3957
4428
  "type": "u16",
3958
4429
  "index": false
3959
4430
  },
4431
+ {
4432
+ "name": "bankrupt",
4433
+ "type": "bool",
4434
+ "index": false
4435
+ },
3960
4436
  {
3961
4437
  "name": "liquidatePerp",
3962
4438
  "type": {
@@ -3984,6 +4460,20 @@
3984
4460
  "defined": "LiquidatePerpPnlForDepositRecord"
3985
4461
  },
3986
4462
  "index": false
4463
+ },
4464
+ {
4465
+ "name": "perpBankruptcy",
4466
+ "type": {
4467
+ "defined": "PerpBankruptcyRecord"
4468
+ },
4469
+ "index": false
4470
+ },
4471
+ {
4472
+ "name": "borrowBankruptcy",
4473
+ "type": {
4474
+ "defined": "BorrowBankruptcyRecord"
4475
+ },
4476
+ "index": false
3987
4477
  }
3988
4478
  ]
3989
4479
  },
@@ -3995,6 +4485,11 @@
3995
4485
  "type": "i64",
3996
4486
  "index": false
3997
4487
  },
4488
+ {
4489
+ "name": "user",
4490
+ "type": "publicKey",
4491
+ "index": false
4492
+ },
3998
4493
  {
3999
4494
  "name": "marketIndex",
4000
4495
  "type": "u64",
@@ -4021,7 +4516,7 @@
4021
4516
  "index": false
4022
4517
  },
4023
4518
  {
4024
- "name": "oraclePrice",
4519
+ "name": "settlePrice",
4025
4520
  "type": "i128",
4026
4521
  "index": false
4027
4522
  }
@@ -4426,123 +4921,178 @@
4426
4921
  },
4427
4922
  {
4428
4923
  "code": 6079,
4924
+ "name": "MakerStatsNotFound",
4925
+ "msg": "MakerNotFound"
4926
+ },
4927
+ {
4928
+ "code": 6080,
4429
4929
  "name": "MakerMustBeWritable",
4430
4930
  "msg": "MakerMustBeWritable"
4431
4931
  },
4432
4932
  {
4433
- "code": 6080,
4933
+ "code": 6081,
4934
+ "name": "MakerStatsMustBeWritable",
4935
+ "msg": "MakerMustBeWritable"
4936
+ },
4937
+ {
4938
+ "code": 6082,
4434
4939
  "name": "MakerOrderNotFound",
4435
4940
  "msg": "MakerOrderNotFound"
4436
4941
  },
4437
4942
  {
4438
- "code": 6081,
4943
+ "code": 6083,
4439
4944
  "name": "CouldNotDeserializeMaker",
4440
4945
  "msg": "CouldNotDeserializeMaker"
4441
4946
  },
4442
4947
  {
4443
- "code": 6082,
4948
+ "code": 6084,
4949
+ "name": "CouldNotDeserializeMakerStats",
4950
+ "msg": "CouldNotDeserializeMaker"
4951
+ },
4952
+ {
4953
+ "code": 6085,
4444
4954
  "name": "AuctionPriceDoesNotSatisfyMaker",
4445
4955
  "msg": "AuctionPriceDoesNotSatisfyMaker"
4446
4956
  },
4447
4957
  {
4448
- "code": 6083,
4958
+ "code": 6086,
4449
4959
  "name": "MakerCantFulfillOwnOrder",
4450
4960
  "msg": "MakerCantFulfillOwnOrder"
4451
4961
  },
4452
4962
  {
4453
- "code": 6084,
4963
+ "code": 6087,
4454
4964
  "name": "MakerOrderMustBePostOnly",
4455
4965
  "msg": "MakerOrderMustBePostOnly"
4456
4966
  },
4457
4967
  {
4458
- "code": 6085,
4968
+ "code": 6088,
4459
4969
  "name": "CantMatchTwoPostOnlys",
4460
4970
  "msg": "CantMatchTwoPostOnlys"
4461
4971
  },
4462
4972
  {
4463
- "code": 6086,
4973
+ "code": 6089,
4464
4974
  "name": "OrderBreachesOraclePriceLimits",
4465
4975
  "msg": "OrderBreachesOraclePriceLimits"
4466
4976
  },
4467
4977
  {
4468
- "code": 6087,
4978
+ "code": 6090,
4469
4979
  "name": "OrderMustBeTriggeredFirst",
4470
4980
  "msg": "OrderMustBeTriggeredFirst"
4471
4981
  },
4472
4982
  {
4473
- "code": 6088,
4983
+ "code": 6091,
4474
4984
  "name": "OrderNotTriggerable",
4475
4985
  "msg": "OrderNotTriggerable"
4476
4986
  },
4477
4987
  {
4478
- "code": 6089,
4988
+ "code": 6092,
4479
4989
  "name": "OrderDidNotSatisfyTriggerCondition",
4480
4990
  "msg": "OrderDidNotSatisfyTriggerCondition"
4481
4991
  },
4482
4992
  {
4483
- "code": 6090,
4993
+ "code": 6093,
4484
4994
  "name": "PositionAlreadyBeingLiquidated",
4485
4995
  "msg": "PositionAlreadyBeingLiquidated"
4486
4996
  },
4487
4997
  {
4488
- "code": 6091,
4998
+ "code": 6094,
4489
4999
  "name": "PositionDoesntHaveOpenPositionOrOrders",
4490
5000
  "msg": "PositionDoesntHaveOpenPositionOrOrders"
4491
5001
  },
4492
5002
  {
4493
- "code": 6092,
5003
+ "code": 6095,
4494
5004
  "name": "AllOrdersAreAlreadyLiquidations",
4495
5005
  "msg": "AllOrdersAreAlreadyLiquidations"
4496
5006
  },
4497
5007
  {
4498
- "code": 6093,
5008
+ "code": 6096,
4499
5009
  "name": "CantCancelLiquidationOrder",
4500
5010
  "msg": "CantCancelLiquidationOrder"
4501
5011
  },
4502
5012
  {
4503
- "code": 6094,
5013
+ "code": 6097,
4504
5014
  "name": "UserIsBeingLiquidated",
4505
5015
  "msg": "UserIsBeingLiquidated"
4506
5016
  },
4507
5017
  {
4508
- "code": 6095,
5018
+ "code": 6098,
4509
5019
  "name": "LiquidationsOngoing",
4510
5020
  "msg": "LiquidationsOngoing"
4511
5021
  },
4512
5022
  {
4513
- "code": 6096,
5023
+ "code": 6099,
4514
5024
  "name": "WrongBankBalanceType",
4515
5025
  "msg": "WrongBankBalanceType"
4516
5026
  },
4517
5027
  {
4518
- "code": 6097,
5028
+ "code": 6100,
4519
5029
  "name": "UserCantLiquidateThemself",
4520
5030
  "msg": "UserCantLiquidateThemself"
4521
5031
  },
4522
5032
  {
4523
- "code": 6098,
5033
+ "code": 6101,
4524
5034
  "name": "InvalidPerpPositionToLiquidate",
4525
5035
  "msg": "InvalidPerpPositionToLiquidate"
4526
5036
  },
4527
5037
  {
4528
- "code": 6099,
5038
+ "code": 6102,
4529
5039
  "name": "InvalidBaseAssetAmountForLiquidatePerp",
4530
5040
  "msg": "InvalidBaseAssetAmountForLiquidatePerp"
4531
5041
  },
4532
5042
  {
4533
- "code": 6100,
5043
+ "code": 6103,
4534
5044
  "name": "InvalidPositionLastFundingRate",
4535
5045
  "msg": "InvalidPositionLastFundingRate"
4536
5046
  },
4537
5047
  {
4538
- "code": 6101,
5048
+ "code": 6104,
4539
5049
  "name": "InvalidPositionDelta",
4540
5050
  "msg": "InvalidPositionDelta"
4541
5051
  },
4542
5052
  {
4543
- "code": 6102,
5053
+ "code": 6105,
5054
+ "name": "UserBankrupt",
5055
+ "msg": "UserBankrupt"
5056
+ },
5057
+ {
5058
+ "code": 6106,
5059
+ "name": "UserNotBankrupt",
5060
+ "msg": "UserNotBankrupt"
5061
+ },
5062
+ {
5063
+ "code": 6107,
5064
+ "name": "UserHasInvalidBorrow",
5065
+ "msg": "UserHasInvalidBorrow"
5066
+ },
5067
+ {
5068
+ "code": 6108,
5069
+ "name": "BankDailyWithdrawLimit",
5070
+ "msg": "BankDailyWithdrawLimit"
5071
+ },
5072
+ {
5073
+ "code": 6109,
4544
5074
  "name": "DefaultError",
4545
5075
  "msg": "DefaultError"
5076
+ },
5077
+ {
5078
+ "code": 6110,
5079
+ "name": "InsufficientLPTokens",
5080
+ "msg": "Insufficient LP tokens"
5081
+ },
5082
+ {
5083
+ "code": 6111,
5084
+ "name": "CantLPWithMarketPosition",
5085
+ "msg": "Cant LP with a market position"
5086
+ },
5087
+ {
5088
+ "code": 6112,
5089
+ "name": "UnableToBurnLPTokens",
5090
+ "msg": "Unable to burn LP tokens"
5091
+ },
5092
+ {
5093
+ "code": 6113,
5094
+ "name": "TryingToRemoveLiquidityTooFast",
5095
+ "msg": "Trying to remove liqudity too fast after adding it"
4546
5096
  }
4547
5097
  ]
4548
5098
  }