@drift-labs/sdk 0.2.0-master.12 → 0.2.0-master.15

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 (117) 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 +620 -64
  27. package/lib/math/amm.js +2 -2
  28. package/lib/math/bankBalance.d.ts +4 -0
  29. package/lib/math/bankBalance.js +24 -2
  30. package/lib/math/oracles.d.ts +3 -0
  31. package/lib/math/oracles.js +25 -5
  32. package/lib/math/position.js +2 -1
  33. package/lib/math/trade.js +2 -2
  34. package/lib/types.d.ts +57 -9
  35. package/lib/types.js +6 -0
  36. package/package.json +1 -1
  37. package/src/accounts/bulkUserStatsSubscription.ts +33 -0
  38. package/src/accounts/bulkUserSubscription.ts +0 -1
  39. package/src/accounts/fetch.ts +27 -2
  40. package/src/accounts/pollingUserStatsAccountSubscriber.ts +172 -0
  41. package/src/accounts/types.ts +18 -0
  42. package/src/accounts/webSocketUserStatsAccountSubsriber.ts +80 -0
  43. package/src/addresses/pda.ts +13 -0
  44. package/src/admin.ts +29 -1
  45. package/src/clearingHouse.ts +318 -15
  46. package/src/clearingHouseConfig.ts +1 -0
  47. package/src/clearingHouseUser.ts +113 -10
  48. package/src/clearingHouseUserStats.ts +53 -0
  49. package/src/clearingHouseUserStatsConfig.ts +18 -0
  50. package/src/config.ts +1 -1
  51. package/src/factory/bigNum.ts +6 -7
  52. package/src/idl/clearing_house.json +620 -64
  53. package/src/math/amm.ts +8 -5
  54. package/src/math/bankBalance.ts +50 -1
  55. package/src/math/oracles.ts +42 -5
  56. package/src/math/position.ts +2 -1
  57. package/src/math/trade.ts +2 -2
  58. package/src/types.ts +61 -9
  59. package/tests/bn/test.ts +8 -0
  60. package/src/accounts/bulkAccountLoader.js +0 -197
  61. package/src/accounts/bulkUserSubscription.js +0 -33
  62. package/src/accounts/pollingClearingHouseAccountSubscriber.js +0 -311
  63. package/src/accounts/pollingOracleSubscriber.js +0 -93
  64. package/src/accounts/pollingTokenAccountSubscriber.js +0 -90
  65. package/src/accounts/pollingUserAccountSubscriber.js +0 -132
  66. package/src/accounts/types.js +0 -10
  67. package/src/accounts/utils.js +0 -7
  68. package/src/accounts/webSocketAccountSubscriber.js +0 -93
  69. package/src/accounts/webSocketClearingHouseAccountSubscriber.js +0 -233
  70. package/src/accounts/webSocketUserAccountSubscriber.js +0 -62
  71. package/src/addresses/marketAddresses.js +0 -26
  72. package/src/assert/assert.js +0 -9
  73. package/src/clearingHouseUserConfig.js +0 -2
  74. package/src/constants/banks.js +0 -42
  75. package/src/constants/markets.js +0 -42
  76. package/src/constants/numericConstants.js +0 -41
  77. package/src/events/eventList.js +0 -77
  78. package/src/events/eventSubscriber.js +0 -139
  79. package/src/events/fetchLogs.js +0 -50
  80. package/src/events/pollingLogProvider.js +0 -64
  81. package/src/events/sort.js +0 -44
  82. package/src/events/txEventCache.js +0 -71
  83. package/src/events/types.js +0 -20
  84. package/src/events/webSocketLogProvider.js +0 -41
  85. package/src/examples/makeTradeExample.js +0 -80
  86. package/src/factory/bigNum.js +0 -390
  87. package/src/factory/oracleClient.js +0 -20
  88. package/src/index.js +0 -69
  89. package/src/math/amm.js +0 -369
  90. package/src/math/auction.js +0 -42
  91. package/src/math/conversion.js +0 -11
  92. package/src/math/funding.js +0 -248
  93. package/src/math/oracles.js +0 -26
  94. package/src/math/repeg.js +0 -128
  95. package/src/math/state.js +0 -15
  96. package/src/math/trade.js +0 -253
  97. package/src/math/utils.js +0 -26
  98. package/src/math/utils.js.map +0 -1
  99. package/src/mockUSDCFaucet.js +0 -280
  100. package/src/oracles/oracleClientCache.js +0 -19
  101. package/src/oracles/pythClient.js +0 -46
  102. package/src/oracles/quoteAssetOracleClient.js +0 -32
  103. package/src/oracles/switchboardClient.js +0 -69
  104. package/src/oracles/types.js +0 -2
  105. package/src/orderParams.js +0 -20
  106. package/src/slot/SlotSubscriber.js +0 -39
  107. package/src/token/index.js +0 -38
  108. package/src/tokenFaucet.js +0 -189
  109. package/src/tx/types.js +0 -2
  110. package/src/tx/utils.js +0 -17
  111. package/src/types.js +0 -125
  112. package/src/userName.js +0 -20
  113. package/src/util/computeUnits.js +0 -27
  114. package/src/util/getTokenAddress.js +0 -9
  115. package/src/util/promiseTimeout.js +0 -14
  116. package/src/util/tps.js +0 -27
  117. 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": {
@@ -3403,6 +3868,12 @@
3403
3868
  },
3404
3869
  {
3405
3870
  "name": "CanceledForLiquidation"
3871
+ },
3872
+ {
3873
+ "name": "OrderFilledWithAMM"
3874
+ },
3875
+ {
3876
+ "name": "OrderFilledWithMatch"
3406
3877
  }
3407
3878
  ]
3408
3879
  }
@@ -3423,6 +3894,12 @@
3423
3894
  },
3424
3895
  {
3425
3896
  "name": "LiquidatePerpPnlForDeposit"
3897
+ },
3898
+ {
3899
+ "name": "PerpBankruptcy"
3900
+ },
3901
+ {
3902
+ "name": "BorrowBankruptcy"
3426
3903
  }
3427
3904
  ]
3428
3905
  }
@@ -3951,6 +4428,11 @@
3951
4428
  "type": "u16",
3952
4429
  "index": false
3953
4430
  },
4431
+ {
4432
+ "name": "bankrupt",
4433
+ "type": "bool",
4434
+ "index": false
4435
+ },
3954
4436
  {
3955
4437
  "name": "liquidatePerp",
3956
4438
  "type": {
@@ -3978,6 +4460,20 @@
3978
4460
  "defined": "LiquidatePerpPnlForDepositRecord"
3979
4461
  },
3980
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
3981
4477
  }
3982
4478
  ]
3983
4479
  },
@@ -3989,6 +4485,11 @@
3989
4485
  "type": "i64",
3990
4486
  "index": false
3991
4487
  },
4488
+ {
4489
+ "name": "user",
4490
+ "type": "publicKey",
4491
+ "index": false
4492
+ },
3992
4493
  {
3993
4494
  "name": "marketIndex",
3994
4495
  "type": "u64",
@@ -4015,7 +4516,7 @@
4015
4516
  "index": false
4016
4517
  },
4017
4518
  {
4018
- "name": "oraclePrice",
4519
+ "name": "settlePrice",
4019
4520
  "type": "i128",
4020
4521
  "index": false
4021
4522
  }
@@ -4420,123 +4921,178 @@
4420
4921
  },
4421
4922
  {
4422
4923
  "code": 6079,
4924
+ "name": "MakerStatsNotFound",
4925
+ "msg": "MakerNotFound"
4926
+ },
4927
+ {
4928
+ "code": 6080,
4423
4929
  "name": "MakerMustBeWritable",
4424
4930
  "msg": "MakerMustBeWritable"
4425
4931
  },
4426
4932
  {
4427
- "code": 6080,
4933
+ "code": 6081,
4934
+ "name": "MakerStatsMustBeWritable",
4935
+ "msg": "MakerMustBeWritable"
4936
+ },
4937
+ {
4938
+ "code": 6082,
4428
4939
  "name": "MakerOrderNotFound",
4429
4940
  "msg": "MakerOrderNotFound"
4430
4941
  },
4431
4942
  {
4432
- "code": 6081,
4943
+ "code": 6083,
4433
4944
  "name": "CouldNotDeserializeMaker",
4434
4945
  "msg": "CouldNotDeserializeMaker"
4435
4946
  },
4436
4947
  {
4437
- "code": 6082,
4948
+ "code": 6084,
4949
+ "name": "CouldNotDeserializeMakerStats",
4950
+ "msg": "CouldNotDeserializeMaker"
4951
+ },
4952
+ {
4953
+ "code": 6085,
4438
4954
  "name": "AuctionPriceDoesNotSatisfyMaker",
4439
4955
  "msg": "AuctionPriceDoesNotSatisfyMaker"
4440
4956
  },
4441
4957
  {
4442
- "code": 6083,
4958
+ "code": 6086,
4443
4959
  "name": "MakerCantFulfillOwnOrder",
4444
4960
  "msg": "MakerCantFulfillOwnOrder"
4445
4961
  },
4446
4962
  {
4447
- "code": 6084,
4963
+ "code": 6087,
4448
4964
  "name": "MakerOrderMustBePostOnly",
4449
4965
  "msg": "MakerOrderMustBePostOnly"
4450
4966
  },
4451
4967
  {
4452
- "code": 6085,
4968
+ "code": 6088,
4453
4969
  "name": "CantMatchTwoPostOnlys",
4454
4970
  "msg": "CantMatchTwoPostOnlys"
4455
4971
  },
4456
4972
  {
4457
- "code": 6086,
4973
+ "code": 6089,
4458
4974
  "name": "OrderBreachesOraclePriceLimits",
4459
4975
  "msg": "OrderBreachesOraclePriceLimits"
4460
4976
  },
4461
4977
  {
4462
- "code": 6087,
4978
+ "code": 6090,
4463
4979
  "name": "OrderMustBeTriggeredFirst",
4464
4980
  "msg": "OrderMustBeTriggeredFirst"
4465
4981
  },
4466
4982
  {
4467
- "code": 6088,
4983
+ "code": 6091,
4468
4984
  "name": "OrderNotTriggerable",
4469
4985
  "msg": "OrderNotTriggerable"
4470
4986
  },
4471
4987
  {
4472
- "code": 6089,
4988
+ "code": 6092,
4473
4989
  "name": "OrderDidNotSatisfyTriggerCondition",
4474
4990
  "msg": "OrderDidNotSatisfyTriggerCondition"
4475
4991
  },
4476
4992
  {
4477
- "code": 6090,
4993
+ "code": 6093,
4478
4994
  "name": "PositionAlreadyBeingLiquidated",
4479
4995
  "msg": "PositionAlreadyBeingLiquidated"
4480
4996
  },
4481
4997
  {
4482
- "code": 6091,
4998
+ "code": 6094,
4483
4999
  "name": "PositionDoesntHaveOpenPositionOrOrders",
4484
5000
  "msg": "PositionDoesntHaveOpenPositionOrOrders"
4485
5001
  },
4486
5002
  {
4487
- "code": 6092,
5003
+ "code": 6095,
4488
5004
  "name": "AllOrdersAreAlreadyLiquidations",
4489
5005
  "msg": "AllOrdersAreAlreadyLiquidations"
4490
5006
  },
4491
5007
  {
4492
- "code": 6093,
5008
+ "code": 6096,
4493
5009
  "name": "CantCancelLiquidationOrder",
4494
5010
  "msg": "CantCancelLiquidationOrder"
4495
5011
  },
4496
5012
  {
4497
- "code": 6094,
5013
+ "code": 6097,
4498
5014
  "name": "UserIsBeingLiquidated",
4499
5015
  "msg": "UserIsBeingLiquidated"
4500
5016
  },
4501
5017
  {
4502
- "code": 6095,
5018
+ "code": 6098,
4503
5019
  "name": "LiquidationsOngoing",
4504
5020
  "msg": "LiquidationsOngoing"
4505
5021
  },
4506
5022
  {
4507
- "code": 6096,
5023
+ "code": 6099,
4508
5024
  "name": "WrongBankBalanceType",
4509
5025
  "msg": "WrongBankBalanceType"
4510
5026
  },
4511
5027
  {
4512
- "code": 6097,
5028
+ "code": 6100,
4513
5029
  "name": "UserCantLiquidateThemself",
4514
5030
  "msg": "UserCantLiquidateThemself"
4515
5031
  },
4516
5032
  {
4517
- "code": 6098,
5033
+ "code": 6101,
4518
5034
  "name": "InvalidPerpPositionToLiquidate",
4519
5035
  "msg": "InvalidPerpPositionToLiquidate"
4520
5036
  },
4521
5037
  {
4522
- "code": 6099,
5038
+ "code": 6102,
4523
5039
  "name": "InvalidBaseAssetAmountForLiquidatePerp",
4524
5040
  "msg": "InvalidBaseAssetAmountForLiquidatePerp"
4525
5041
  },
4526
5042
  {
4527
- "code": 6100,
5043
+ "code": 6103,
4528
5044
  "name": "InvalidPositionLastFundingRate",
4529
5045
  "msg": "InvalidPositionLastFundingRate"
4530
5046
  },
4531
5047
  {
4532
- "code": 6101,
5048
+ "code": 6104,
4533
5049
  "name": "InvalidPositionDelta",
4534
5050
  "msg": "InvalidPositionDelta"
4535
5051
  },
4536
5052
  {
4537
- "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,
4538
5074
  "name": "DefaultError",
4539
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"
4540
5096
  }
4541
5097
  ]
4542
5098
  }