@drift-labs/sdk 0.2.0-master.29 → 0.2.0-master.30

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 (106) hide show
  1. package/README.md +13 -13
  2. package/lib/accounts/pollingClearingHouseAccountSubscriber.d.ts +10 -11
  3. package/lib/accounts/pollingClearingHouseAccountSubscriber.js +4 -4
  4. package/lib/accounts/types.d.ts +4 -6
  5. package/lib/accounts/webSocketClearingHouseAccountSubscriber.d.ts +10 -11
  6. package/lib/accounts/webSocketClearingHouseAccountSubscriber.js +6 -8
  7. package/lib/addresses/marketAddresses.d.ts +1 -3
  8. package/lib/addresses/pda.d.ts +5 -5
  9. package/lib/addresses/pda.js +5 -5
  10. package/lib/admin.d.ts +27 -28
  11. package/lib/admin.js +12 -37
  12. package/lib/clearingHouse.d.ts +61 -62
  13. package/lib/clearingHouse.js +92 -110
  14. package/lib/clearingHouseConfig.d.ts +2 -4
  15. package/lib/clearingHouseUser.d.ts +16 -16
  16. package/lib/clearingHouseUser.js +16 -16
  17. package/lib/config.d.ts +2 -4
  18. package/lib/config.js +1 -1
  19. package/lib/constants/numericConstants.d.ts +7 -8
  20. package/lib/constants/numericConstants.js +17 -18
  21. package/lib/constants/perpMarkets.d.ts +2 -3
  22. package/lib/constants/perpMarkets.js +3 -3
  23. package/lib/constants/spotMarkets.d.ts +2 -1
  24. package/lib/constants/spotMarkets.js +6 -4
  25. package/lib/dlob/DLOB.d.ts +13 -13
  26. package/lib/dlob/DLOB.js +36 -40
  27. package/lib/dlob/DLOBNode.js +2 -2
  28. package/lib/events/sort.js +1 -1
  29. package/lib/examples/makeTradeExample.js +3 -3
  30. package/lib/idl/clearing_house.json +359 -310
  31. package/lib/math/amm.d.ts +2 -2
  32. package/lib/math/amm.js +10 -10
  33. package/lib/math/conversion.js +1 -1
  34. package/lib/math/funding.js +9 -9
  35. package/lib/math/margin.js +3 -3
  36. package/lib/math/market.d.ts +4 -4
  37. package/lib/math/market.js +7 -7
  38. package/lib/math/oracles.js +6 -8
  39. package/lib/math/position.d.ts +2 -2
  40. package/lib/math/position.js +9 -9
  41. package/lib/math/repeg.js +7 -6
  42. package/lib/math/spotBalance.js +5 -5
  43. package/lib/math/spotPosition.js +2 -2
  44. package/lib/math/trade.d.ts +6 -6
  45. package/lib/math/trade.js +15 -19
  46. package/lib/oracles/pythClient.js +1 -1
  47. package/lib/oracles/quoteAssetOracleClient.js +1 -1
  48. package/lib/oracles/switchboardClient.js +1 -1
  49. package/lib/types.d.ts +63 -51
  50. package/lib/types.js +1 -1
  51. package/package.json +2 -1
  52. package/src/accounts/pollingClearingHouseAccountSubscriber.ts +15 -15
  53. package/src/accounts/types.ts +4 -5
  54. package/src/accounts/webSocketClearingHouseAccountSubscriber.ts +17 -25
  55. package/src/addresses/marketAddresses.ts +1 -2
  56. package/src/addresses/pda.ts +10 -10
  57. package/src/admin.ts +42 -79
  58. package/src/clearingHouse.ts +164 -212
  59. package/src/clearingHouseConfig.ts +2 -3
  60. package/src/clearingHouseUser.ts +35 -35
  61. package/src/config.ts +3 -4
  62. package/src/constants/numericConstants.ts +19 -21
  63. package/src/constants/perpMarkets.ts +5 -5
  64. package/src/constants/spotMarkets.ts +8 -5
  65. package/src/dlob/DLOB.ts +54 -70
  66. package/src/dlob/DLOBNode.ts +5 -6
  67. package/src/events/sort.ts +1 -1
  68. package/src/examples/makeTradeExample.js +2 -2
  69. package/src/examples/makeTradeExample.ts +5 -8
  70. package/src/idl/clearing_house.json +359 -310
  71. package/src/math/amm.ts +14 -11
  72. package/src/math/conversion.ts +2 -2
  73. package/src/math/funding.ts +13 -11
  74. package/src/math/margin.ts +4 -5
  75. package/src/math/market.ts +5 -5
  76. package/src/math/oracles.ts +9 -9
  77. package/src/math/position.ts +11 -19
  78. package/src/math/repeg.ts +8 -7
  79. package/src/math/spotBalance.ts +6 -6
  80. package/src/math/spotPosition.ts +2 -2
  81. package/src/math/trade.ts +17 -21
  82. package/src/oracles/pythClient.ts +2 -2
  83. package/src/oracles/quoteAssetOracleClient.ts +2 -2
  84. package/src/oracles/switchboardClient.ts +2 -2
  85. package/src/types.ts +69 -51
  86. package/tests/dlob/helpers.ts +56 -4
  87. package/src/addresses/marketAddresses.js +0 -26
  88. package/src/constants/banks.js +0 -42
  89. package/src/constants/markets.js +0 -42
  90. package/src/events/txEventCache.js +0 -71
  91. package/src/factory/bigNum.js +0 -390
  92. package/src/factory/oracleClient.js +0 -20
  93. package/src/math/auction.js +0 -42
  94. package/src/math/conversion.js +0 -11
  95. package/src/math/funding.js +0 -248
  96. package/src/math/repeg.js +0 -128
  97. package/src/math/trade.js +0 -253
  98. package/src/math/utils.js +0 -26
  99. package/src/math/utils.js.map +0 -1
  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/userName.js +0 -20
  106. package/src/wallet.js +0 -35
@@ -20,11 +20,6 @@
20
20
  "isMut": false,
21
21
  "isSigner": false
22
22
  },
23
- {
24
- "name": "insuranceVault",
25
- "isMut": true,
26
- "isSigner": false
27
- },
28
23
  {
29
24
  "name": "clearingHouseSigner",
30
25
  "isMut": false,
@@ -157,6 +152,27 @@
157
152
  }
158
153
  ]
159
154
  },
155
+ {
156
+ "name": "updateSerumVault",
157
+ "accounts": [
158
+ {
159
+ "name": "state",
160
+ "isMut": true,
161
+ "isSigner": false
162
+ },
163
+ {
164
+ "name": "admin",
165
+ "isMut": true,
166
+ "isSigner": true
167
+ },
168
+ {
169
+ "name": "srmVault",
170
+ "isMut": false,
171
+ "isSigner": false
172
+ }
173
+ ],
174
+ "args": []
175
+ },
160
176
  {
161
177
  "name": "initializeSerumFulfillmentConfig",
162
178
  "accounts": [
@@ -219,7 +235,7 @@
219
235
  "args": [
220
236
  {
221
237
  "name": "marketIndex",
222
- "type": "u64"
238
+ "type": "u16"
223
239
  }
224
240
  ]
225
241
  },
@@ -336,7 +352,7 @@
336
352
  "args": [
337
353
  {
338
354
  "name": "marketIndex",
339
- "type": "u64"
355
+ "type": "u16"
340
356
  },
341
357
  {
342
358
  "name": "amount",
@@ -395,7 +411,7 @@
395
411
  "args": [
396
412
  {
397
413
  "name": "marketIndex",
398
- "type": "u64"
414
+ "type": "u16"
399
415
  },
400
416
  {
401
417
  "name": "amount",
@@ -439,7 +455,7 @@
439
455
  "args": [
440
456
  {
441
457
  "name": "marketIndex",
442
- "type": "u64"
458
+ "type": "u16"
443
459
  },
444
460
  {
445
461
  "name": "amount",
@@ -491,7 +507,7 @@
491
507
  "args": [
492
508
  {
493
509
  "name": "marketIndex",
494
- "type": "u64"
510
+ "type": "u16"
495
511
  }
496
512
  ]
497
513
  },
@@ -521,7 +537,7 @@
521
537
  },
522
538
  {
523
539
  "name": "marketIndex",
524
- "type": "u64"
540
+ "type": "u16"
525
541
  }
526
542
  ]
527
543
  },
@@ -551,7 +567,7 @@
551
567
  },
552
568
  {
553
569
  "name": "marketIndex",
554
- "type": "u64"
570
+ "type": "u16"
555
571
  }
556
572
  ]
557
573
  },
@@ -938,7 +954,7 @@
938
954
  "name": "marketIndexes",
939
955
  "type": {
940
956
  "array": [
941
- "u64",
957
+ "u16",
942
958
  5
943
959
  ]
944
960
  }
@@ -967,7 +983,7 @@
967
983
  "args": [
968
984
  {
969
985
  "name": "marketIndex",
970
- "type": "u64"
986
+ "type": "u16"
971
987
  }
972
988
  ]
973
989
  },
@@ -988,7 +1004,7 @@
988
1004
  "args": [
989
1005
  {
990
1006
  "name": "marketIndex",
991
- "type": "u64"
1007
+ "type": "u16"
992
1008
  }
993
1009
  ]
994
1010
  },
@@ -1014,7 +1030,7 @@
1014
1030
  "args": [
1015
1031
  {
1016
1032
  "name": "marketIndex",
1017
- "type": "u64"
1033
+ "type": "u16"
1018
1034
  }
1019
1035
  ]
1020
1036
  },
@@ -1055,7 +1071,7 @@
1055
1071
  "args": [
1056
1072
  {
1057
1073
  "name": "marketIndex",
1058
- "type": "u64"
1074
+ "type": "u16"
1059
1075
  },
1060
1076
  {
1061
1077
  "name": "liquidatorMaxBaseAssetAmount",
@@ -1090,11 +1106,11 @@
1090
1106
  "args": [
1091
1107
  {
1092
1108
  "name": "assetMarketIndex",
1093
- "type": "u64"
1109
+ "type": "u16"
1094
1110
  },
1095
1111
  {
1096
1112
  "name": "liabilityMarketIndex",
1097
- "type": "u64"
1113
+ "type": "u16"
1098
1114
  },
1099
1115
  {
1100
1116
  "name": "liquidatorMaxLiabilityTransfer",
@@ -1129,11 +1145,11 @@
1129
1145
  "args": [
1130
1146
  {
1131
1147
  "name": "perpMarketIndex",
1132
- "type": "u64"
1148
+ "type": "u16"
1133
1149
  },
1134
1150
  {
1135
1151
  "name": "spotMarketIndex",
1136
- "type": "u64"
1152
+ "type": "u16"
1137
1153
  },
1138
1154
  {
1139
1155
  "name": "liquidatorMaxLiabilityTransfer",
@@ -1168,11 +1184,11 @@
1168
1184
  "args": [
1169
1185
  {
1170
1186
  "name": "perpMarketIndex",
1171
- "type": "u64"
1187
+ "type": "u16"
1172
1188
  },
1173
1189
  {
1174
1190
  "name": "spotMarketIndex",
1175
- "type": "u64"
1191
+ "type": "u16"
1176
1192
  },
1177
1193
  {
1178
1194
  "name": "liquidatorMaxPnlTransfer",
@@ -1217,11 +1233,11 @@
1217
1233
  "args": [
1218
1234
  {
1219
1235
  "name": "spotMarketIndex",
1220
- "type": "u64"
1236
+ "type": "u16"
1221
1237
  },
1222
1238
  {
1223
1239
  "name": "perpMarketIndex",
1224
- "type": "u64"
1240
+ "type": "u16"
1225
1241
  }
1226
1242
  ]
1227
1243
  },
@@ -1272,11 +1288,11 @@
1272
1288
  "args": [
1273
1289
  {
1274
1290
  "name": "quoteSpotMarketIndex",
1275
- "type": "u64"
1291
+ "type": "u16"
1276
1292
  },
1277
1293
  {
1278
1294
  "name": "marketIndex",
1279
- "type": "u64"
1295
+ "type": "u16"
1280
1296
  }
1281
1297
  ]
1282
1298
  },
@@ -1327,7 +1343,7 @@
1327
1343
  "args": [
1328
1344
  {
1329
1345
  "name": "marketIndex",
1330
- "type": "u64"
1346
+ "type": "u16"
1331
1347
  }
1332
1348
  ]
1333
1349
  },
@@ -1409,128 +1425,16 @@
1409
1425
  "isMut": true,
1410
1426
  "isSigner": false
1411
1427
  },
1412
- {
1413
- "name": "spotMarketVault",
1414
- "isMut": true,
1415
- "isSigner": false
1416
- },
1417
- {
1418
- "name": "clearingHouseSigner",
1419
- "isMut": false,
1420
- "isSigner": false
1421
- },
1422
1428
  {
1423
1429
  "name": "perpMarket",
1424
1430
  "isMut": true,
1425
1431
  "isSigner": false
1426
- },
1427
- {
1428
- "name": "recipient",
1429
- "isMut": true,
1430
- "isSigner": false
1431
- },
1432
- {
1433
- "name": "tokenProgram",
1434
- "isMut": false,
1435
- "isSigner": false
1436
1432
  }
1437
1433
  ],
1438
1434
  "args": []
1439
1435
  },
1440
1436
  {
1441
- "name": "withdrawFromMarketToInsuranceVault",
1442
- "accounts": [
1443
- {
1444
- "name": "state",
1445
- "isMut": false,
1446
- "isSigner": false
1447
- },
1448
- {
1449
- "name": "admin",
1450
- "isMut": false,
1451
- "isSigner": true
1452
- },
1453
- {
1454
- "name": "spotMarket",
1455
- "isMut": true,
1456
- "isSigner": false
1457
- },
1458
- {
1459
- "name": "spotMarketVault",
1460
- "isMut": true,
1461
- "isSigner": false
1462
- },
1463
- {
1464
- "name": "clearingHouseSigner",
1465
- "isMut": false,
1466
- "isSigner": false
1467
- },
1468
- {
1469
- "name": "perpMarket",
1470
- "isMut": true,
1471
- "isSigner": false
1472
- },
1473
- {
1474
- "name": "recipient",
1475
- "isMut": true,
1476
- "isSigner": false
1477
- },
1478
- {
1479
- "name": "tokenProgram",
1480
- "isMut": false,
1481
- "isSigner": false
1482
- }
1483
- ],
1484
- "args": [
1485
- {
1486
- "name": "amount",
1487
- "type": "u64"
1488
- }
1489
- ]
1490
- },
1491
- {
1492
- "name": "withdrawFromInsuranceVault",
1493
- "accounts": [
1494
- {
1495
- "name": "state",
1496
- "isMut": false,
1497
- "isSigner": false
1498
- },
1499
- {
1500
- "name": "admin",
1501
- "isMut": false,
1502
- "isSigner": true
1503
- },
1504
- {
1505
- "name": "insuranceVault",
1506
- "isMut": true,
1507
- "isSigner": false
1508
- },
1509
- {
1510
- "name": "clearingHouseSigner",
1511
- "isMut": false,
1512
- "isSigner": false
1513
- },
1514
- {
1515
- "name": "recipient",
1516
- "isMut": true,
1517
- "isSigner": false
1518
- },
1519
- {
1520
- "name": "tokenProgram",
1521
- "isMut": false,
1522
- "isSigner": false
1523
- }
1524
- ],
1525
- "args": [
1526
- {
1527
- "name": "amount",
1528
- "type": "u64"
1529
- }
1530
- ]
1531
- },
1532
- {
1533
- "name": "withdrawFromInsuranceVaultToMarket",
1437
+ "name": "depositIntoMarketFeePool",
1534
1438
  "accounts": [
1535
1439
  {
1536
1440
  "name": "state",
@@ -1548,7 +1452,7 @@
1548
1452
  "isSigner": true
1549
1453
  },
1550
1454
  {
1551
- "name": "insuranceVault",
1455
+ "name": "sourceVault",
1552
1456
  "isMut": true,
1553
1457
  "isSigner": false
1554
1458
  },
@@ -1872,7 +1776,7 @@
1872
1776
  "args": [
1873
1777
  {
1874
1778
  "name": "marketIndex",
1875
- "type": "u64"
1779
+ "type": "u16"
1876
1780
  }
1877
1781
  ]
1878
1782
  },
@@ -2105,7 +2009,7 @@
2105
2009
  "args": [
2106
2010
  {
2107
2011
  "name": "spotMarketIndex",
2108
- "type": "u64"
2012
+ "type": "u16"
2109
2013
  },
2110
2014
  {
2111
2015
  "name": "userIfFactor",
@@ -2770,7 +2674,7 @@
2770
2674
  "args": [
2771
2675
  {
2772
2676
  "name": "marketIndex",
2773
- "type": "u64"
2677
+ "type": "u16"
2774
2678
  }
2775
2679
  ]
2776
2680
  },
@@ -2811,7 +2715,7 @@
2811
2715
  "args": [
2812
2716
  {
2813
2717
  "name": "marketIndex",
2814
- "type": "u64"
2718
+ "type": "u16"
2815
2719
  }
2816
2720
  ]
2817
2721
  },
@@ -2857,7 +2761,7 @@
2857
2761
  "args": [
2858
2762
  {
2859
2763
  "name": "marketIndex",
2860
- "type": "u64"
2764
+ "type": "u16"
2861
2765
  },
2862
2766
  {
2863
2767
  "name": "amount",
@@ -2897,7 +2801,7 @@
2897
2801
  "args": [
2898
2802
  {
2899
2803
  "name": "marketIndex",
2900
- "type": "u64"
2804
+ "type": "u16"
2901
2805
  },
2902
2806
  {
2903
2807
  "name": "amount",
@@ -2937,7 +2841,7 @@
2937
2841
  "args": [
2938
2842
  {
2939
2843
  "name": "marketIndex",
2940
- "type": "u64"
2844
+ "type": "u16"
2941
2845
  }
2942
2846
  ]
2943
2847
  },
@@ -2993,6 +2897,56 @@
2993
2897
  "args": [
2994
2898
  {
2995
2899
  "name": "marketIndex",
2900
+ "type": "u16"
2901
+ }
2902
+ ]
2903
+ },
2904
+ {
2905
+ "name": "adminRemoveInsuranceFundStake",
2906
+ "accounts": [
2907
+ {
2908
+ "name": "admin",
2909
+ "isMut": false,
2910
+ "isSigner": true
2911
+ },
2912
+ {
2913
+ "name": "state",
2914
+ "isMut": false,
2915
+ "isSigner": false
2916
+ },
2917
+ {
2918
+ "name": "spotMarket",
2919
+ "isMut": false,
2920
+ "isSigner": false
2921
+ },
2922
+ {
2923
+ "name": "insuranceFundVault",
2924
+ "isMut": true,
2925
+ "isSigner": false
2926
+ },
2927
+ {
2928
+ "name": "clearingHouseSigner",
2929
+ "isMut": false,
2930
+ "isSigner": false
2931
+ },
2932
+ {
2933
+ "name": "adminTokenAccount",
2934
+ "isMut": true,
2935
+ "isSigner": false
2936
+ },
2937
+ {
2938
+ "name": "tokenProgram",
2939
+ "isMut": false,
2940
+ "isSigner": false
2941
+ }
2942
+ ],
2943
+ "args": [
2944
+ {
2945
+ "name": "marketIndex",
2946
+ "type": "u16"
2947
+ },
2948
+ {
2949
+ "name": "amount",
2996
2950
  "type": "u64"
2997
2951
  }
2998
2952
  ]
@@ -3046,7 +3000,7 @@
3046
3000
  },
3047
3001
  {
3048
3002
  "name": "marketIndex",
3049
- "type": "u64"
3003
+ "type": "u16"
3050
3004
  },
3051
3005
  {
3052
3006
  "name": "ifShares",
@@ -3086,7 +3040,7 @@
3086
3040
  "fields": [
3087
3041
  {
3088
3042
  "name": "marketIndex",
3089
- "type": "u64"
3043
+ "type": "u16"
3090
3044
  },
3091
3045
  {
3092
3046
  "name": "pubkey",
@@ -3234,7 +3188,7 @@
3234
3188
  "fields": [
3235
3189
  {
3236
3190
  "name": "marketIndex",
3237
- "type": "u64"
3191
+ "type": "u16"
3238
3192
  },
3239
3193
  {
3240
3194
  "name": "pubkey",
@@ -3260,6 +3214,18 @@
3260
3214
  "defined": "OracleSource"
3261
3215
  }
3262
3216
  },
3217
+ {
3218
+ "name": "historicalOracleData",
3219
+ "type": {
3220
+ "defined": "HistoricalOracleData"
3221
+ }
3222
+ },
3223
+ {
3224
+ "name": "historicalIndexData",
3225
+ "type": {
3226
+ "defined": "HistoricalIndexData"
3227
+ }
3228
+ },
3263
3229
  {
3264
3230
  "name": "mint",
3265
3231
  "type": "publicKey"
@@ -3438,7 +3404,7 @@
3438
3404
  },
3439
3405
  {
3440
3406
  "name": "marketIndex",
3441
- "type": "u64"
3407
+ "type": "u16"
3442
3408
  },
3443
3409
  {
3444
3410
  "name": "serumProgramId",
@@ -3504,10 +3470,6 @@
3504
3470
  "name": "adminControlsPrices",
3505
3471
  "type": "bool"
3506
3472
  },
3507
- {
3508
- "name": "insuranceVault",
3509
- "type": "publicKey"
3510
- },
3511
3473
  {
3512
3474
  "name": "whitelistMint",
3513
3475
  "type": "publicKey"
@@ -3524,11 +3486,11 @@
3524
3486
  },
3525
3487
  {
3526
3488
  "name": "numberOfMarkets",
3527
- "type": "u64"
3489
+ "type": "u16"
3528
3490
  },
3529
3491
  {
3530
3492
  "name": "numberOfSpotMarkets",
3531
- "type": "u64"
3493
+ "type": "u16"
3532
3494
  },
3533
3495
  {
3534
3496
  "name": "minOrderQuoteAssetAmount",
@@ -3562,6 +3524,10 @@
3562
3524
  "name": "signerNonce",
3563
3525
  "type": "u8"
3564
3526
  },
3527
+ {
3528
+ "name": "srmVault",
3529
+ "type": "publicKey"
3530
+ },
3565
3531
  {
3566
3532
  "name": "perpFeeStructure",
3567
3533
  "type": {
@@ -3768,7 +3734,7 @@
3768
3734
  },
3769
3735
  {
3770
3736
  "name": "marketIndex",
3771
- "type": "u64"
3737
+ "type": "u16"
3772
3738
  },
3773
3739
  {
3774
3740
  "name": "reduceOnly",
@@ -3824,7 +3790,7 @@
3824
3790
  "fields": [
3825
3791
  {
3826
3792
  "name": "marketIndex",
3827
- "type": "u64"
3793
+ "type": "u16"
3828
3794
  },
3829
3795
  {
3830
3796
  "name": "oraclePrice",
@@ -3876,7 +3842,7 @@
3876
3842
  "fields": [
3877
3843
  {
3878
3844
  "name": "assetMarketIndex",
3879
- "type": "u64"
3845
+ "type": "u16"
3880
3846
  },
3881
3847
  {
3882
3848
  "name": "assetPrice",
@@ -3888,7 +3854,7 @@
3888
3854
  },
3889
3855
  {
3890
3856
  "name": "liabilityMarketIndex",
3891
- "type": "u64"
3857
+ "type": "u16"
3892
3858
  },
3893
3859
  {
3894
3860
  "name": "liabilityPrice",
@@ -3912,7 +3878,7 @@
3912
3878
  "fields": [
3913
3879
  {
3914
3880
  "name": "perpMarketIndex",
3915
- "type": "u64"
3881
+ "type": "u16"
3916
3882
  },
3917
3883
  {
3918
3884
  "name": "marketOraclePrice",
@@ -3924,7 +3890,7 @@
3924
3890
  },
3925
3891
  {
3926
3892
  "name": "liabilityMarketIndex",
3927
- "type": "u64"
3893
+ "type": "u16"
3928
3894
  },
3929
3895
  {
3930
3896
  "name": "liabilityPrice",
@@ -3944,7 +3910,7 @@
3944
3910
  "fields": [
3945
3911
  {
3946
3912
  "name": "perpMarketIndex",
3947
- "type": "u64"
3913
+ "type": "u16"
3948
3914
  },
3949
3915
  {
3950
3916
  "name": "marketOraclePrice",
@@ -3956,7 +3922,7 @@
3956
3922
  },
3957
3923
  {
3958
3924
  "name": "assetMarketIndex",
3959
- "type": "u64"
3925
+ "type": "u16"
3960
3926
  },
3961
3927
  {
3962
3928
  "name": "assetPrice",
@@ -3976,7 +3942,7 @@
3976
3942
  "fields": [
3977
3943
  {
3978
3944
  "name": "marketIndex",
3979
- "type": "u64"
3945
+ "type": "u16"
3980
3946
  },
3981
3947
  {
3982
3948
  "name": "pnl",
@@ -4000,7 +3966,7 @@
4000
3966
  "fields": [
4001
3967
  {
4002
3968
  "name": "marketIndex",
4003
- "type": "u64"
3969
+ "type": "u16"
4004
3970
  },
4005
3971
  {
4006
3972
  "name": "borrowAmount",
@@ -4045,35 +4011,29 @@
4045
4011
  }
4046
4012
  },
4047
4013
  {
4048
- "name": "lastOraclePrice",
4049
- "type": "i128"
4050
- },
4051
- {
4052
- "name": "lastOracleConfPct",
4053
- "type": "u64"
4014
+ "name": "historicalOracleData",
4015
+ "type": {
4016
+ "defined": "HistoricalOracleData"
4017
+ }
4054
4018
  },
4055
4019
  {
4056
- "name": "lastOracleDelay",
4057
- "type": "i64"
4020
+ "name": "lastOracleValid",
4021
+ "type": "bool"
4058
4022
  },
4059
4023
  {
4060
- "name": "lastOracleNormalisedPrice",
4061
- "type": "i128"
4024
+ "name": "lastUpdateSlot",
4025
+ "type": "u64"
4062
4026
  },
4063
4027
  {
4064
- "name": "lastOraclePriceTwap",
4065
- "type": "i128"
4028
+ "name": "lastOracleConfPct",
4029
+ "type": "u64"
4066
4030
  },
4067
4031
  {
4068
- "name": "lastOraclePriceTwap5min",
4032
+ "name": "lastOracleNormalisedPrice",
4069
4033
  "type": "i128"
4070
4034
  },
4071
4035
  {
4072
- "name": "lastOraclePriceTwapTs",
4073
- "type": "i64"
4074
- },
4075
- {
4076
- "name": "lastOracleMarkSpreadPct",
4036
+ "name": "lastOracleReservePriceSpreadPct",
4077
4037
  "type": "i128"
4078
4038
  },
4079
4039
  {
@@ -4162,6 +4122,10 @@
4162
4122
  "name": "lastFundingRateShort",
4163
4123
  "type": "i128"
4164
4124
  },
4125
+ {
4126
+ "name": "last24hAvgFundingRate",
4127
+ "type": "i128"
4128
+ },
4165
4129
  {
4166
4130
  "name": "lastFundingRateTs",
4167
4131
  "type": "i64"
@@ -4178,34 +4142,10 @@
4178
4142
  "name": "cumulativeFundingRateShort",
4179
4143
  "type": "i128"
4180
4144
  },
4181
- {
4182
- "name": "cumulativeRepegRebateLong",
4183
- "type": "u128"
4184
- },
4185
- {
4186
- "name": "cumulativeRepegRebateShort",
4187
- "type": "u128"
4188
- },
4189
4145
  {
4190
4146
  "name": "cumulativeSocialLoss",
4191
4147
  "type": "i128"
4192
4148
  },
4193
- {
4194
- "name": "markStd",
4195
- "type": "u64"
4196
- },
4197
- {
4198
- "name": "lastMarkPriceTwap",
4199
- "type": "u128"
4200
- },
4201
- {
4202
- "name": "lastMarkPriceTwap5min",
4203
- "type": "u128"
4204
- },
4205
- {
4206
- "name": "lastMarkPriceTwapTs",
4207
- "type": "i64"
4208
- },
4209
4149
  {
4210
4150
  "name": "minimumQuoteAssetTradeSize",
4211
4151
  "type": "u128"
@@ -4261,12 +4201,8 @@
4261
4201
  "type": "u128"
4262
4202
  },
4263
4203
  {
4264
- "name": "lastBidPriceTwap",
4265
- "type": "u128"
4266
- },
4267
- {
4268
- "name": "lastAskPriceTwap",
4269
- "type": "u128"
4204
+ "name": "volume24h",
4205
+ "type": "u64"
4270
4206
  },
4271
4207
  {
4272
4208
  "name": "longIntensityCount",
@@ -4288,6 +4224,34 @@
4288
4224
  "name": "curveUpdateIntensity",
4289
4225
  "type": "u8"
4290
4226
  },
4227
+ {
4228
+ "name": "lastTradeTs",
4229
+ "type": "i64"
4230
+ },
4231
+ {
4232
+ "name": "markStd",
4233
+ "type": "u64"
4234
+ },
4235
+ {
4236
+ "name": "lastBidPriceTwap",
4237
+ "type": "u128"
4238
+ },
4239
+ {
4240
+ "name": "lastAskPriceTwap",
4241
+ "type": "u128"
4242
+ },
4243
+ {
4244
+ "name": "lastMarkPriceTwap",
4245
+ "type": "u128"
4246
+ },
4247
+ {
4248
+ "name": "lastMarkPriceTwap5min",
4249
+ "type": "u128"
4250
+ },
4251
+ {
4252
+ "name": "lastMarkPriceTwapTs",
4253
+ "type": "i64"
4254
+ },
4291
4255
  {
4292
4256
  "name": "totalFee",
4293
4257
  "type": "i128"
@@ -4322,14 +4286,6 @@
4322
4286
  "defined": "PoolBalance"
4323
4287
  }
4324
4288
  },
4325
- {
4326
- "name": "lastUpdateSlot",
4327
- "type": "u64"
4328
- },
4329
- {
4330
- "name": "lastOracleValid",
4331
- "type": "bool"
4332
- },
4333
4289
  {
4334
4290
  "name": "padding0",
4335
4291
  "type": "u16"
@@ -4349,6 +4305,66 @@
4349
4305
  ]
4350
4306
  }
4351
4307
  },
4308
+ {
4309
+ "name": "HistoricalOracleData",
4310
+ "type": {
4311
+ "kind": "struct",
4312
+ "fields": [
4313
+ {
4314
+ "name": "lastOraclePrice",
4315
+ "type": "i128"
4316
+ },
4317
+ {
4318
+ "name": "lastOracleConf",
4319
+ "type": "u128"
4320
+ },
4321
+ {
4322
+ "name": "lastOracleDelay",
4323
+ "type": "i64"
4324
+ },
4325
+ {
4326
+ "name": "lastOraclePriceTwap",
4327
+ "type": "i128"
4328
+ },
4329
+ {
4330
+ "name": "lastOraclePriceTwap5min",
4331
+ "type": "i128"
4332
+ },
4333
+ {
4334
+ "name": "lastOraclePriceTwapTs",
4335
+ "type": "i64"
4336
+ }
4337
+ ]
4338
+ }
4339
+ },
4340
+ {
4341
+ "name": "HistoricalIndexData",
4342
+ "type": {
4343
+ "kind": "struct",
4344
+ "fields": [
4345
+ {
4346
+ "name": "lastIndexBidPrice",
4347
+ "type": "u128"
4348
+ },
4349
+ {
4350
+ "name": "lastIndexAskPrice",
4351
+ "type": "u128"
4352
+ },
4353
+ {
4354
+ "name": "lastIndexPriceTwap",
4355
+ "type": "u128"
4356
+ },
4357
+ {
4358
+ "name": "lastIndexPriceTwap5min",
4359
+ "type": "u128"
4360
+ },
4361
+ {
4362
+ "name": "lastIndexPriceTwapTs",
4363
+ "type": "i64"
4364
+ }
4365
+ ]
4366
+ }
4367
+ },
4352
4368
  {
4353
4369
  "name": "OracleGuardRails",
4354
4370
  "type": {
@@ -4395,7 +4411,11 @@
4395
4411
  "kind": "struct",
4396
4412
  "fields": [
4397
4413
  {
4398
- "name": "slotsBeforeStale",
4414
+ "name": "slotsBeforeStaleForAmm",
4415
+ "type": "i64"
4416
+ },
4417
+ {
4418
+ "name": "slotsBeforeStaleForMargin",
4399
4419
  "type": "i64"
4400
4420
  },
4401
4421
  {
@@ -4489,11 +4509,11 @@
4489
4509
  "fields": [
4490
4510
  {
4491
4511
  "name": "rewardNumerator",
4492
- "type": "u128"
4512
+ "type": "u32"
4493
4513
  },
4494
4514
  {
4495
4515
  "name": "rewardDenominator",
4496
- "type": "u128"
4516
+ "type": "u32"
4497
4517
  },
4498
4518
  {
4499
4519
  "name": "timeBasedRewardLowerBound",
@@ -4537,7 +4557,7 @@
4537
4557
  "fields": [
4538
4558
  {
4539
4559
  "name": "marketIndex",
4540
- "type": "u64"
4560
+ "type": "u16"
4541
4561
  },
4542
4562
  {
4543
4563
  "name": "balanceType",
@@ -4575,7 +4595,7 @@
4575
4595
  "fields": [
4576
4596
  {
4577
4597
  "name": "marketIndex",
4578
- "type": "u64"
4598
+ "type": "u16"
4579
4599
  },
4580
4600
  {
4581
4601
  "name": "baseAssetAmount",
@@ -4593,17 +4613,13 @@
4593
4613
  "name": "lastCumulativeFundingRate",
4594
4614
  "type": "i128"
4595
4615
  },
4596
- {
4597
- "name": "lastCumulativeRepegRebate",
4598
- "type": "u128"
4599
- },
4600
4616
  {
4601
4617
  "name": "lastFundingRateTs",
4602
4618
  "type": "i64"
4603
4619
  },
4604
4620
  {
4605
4621
  "name": "openOrders",
4606
- "type": "u128"
4622
+ "type": "u8"
4607
4623
  },
4608
4624
  {
4609
4625
  "name": "openBids",
@@ -4636,26 +4652,6 @@
4636
4652
  {
4637
4653
  "name": "lastLpAddTime",
4638
4654
  "type": "i64"
4639
- },
4640
- {
4641
- "name": "padding0",
4642
- "type": "u128"
4643
- },
4644
- {
4645
- "name": "padding1",
4646
- "type": "u128"
4647
- },
4648
- {
4649
- "name": "padding2",
4650
- "type": "u128"
4651
- },
4652
- {
4653
- "name": "padding3",
4654
- "type": "u128"
4655
- },
4656
- {
4657
- "name": "padding4",
4658
- "type": "u128"
4659
4655
  }
4660
4656
  ]
4661
4657
  }
@@ -4701,7 +4697,7 @@
4701
4697
  },
4702
4698
  {
4703
4699
  "name": "marketIndex",
4704
- "type": "u64"
4700
+ "type": "u16"
4705
4701
  },
4706
4702
  {
4707
4703
  "name": "price",
@@ -4868,6 +4864,67 @@
4868
4864
  ]
4869
4865
  }
4870
4866
  },
4867
+ {
4868
+ "name": "OracleValidity",
4869
+ "type": {
4870
+ "kind": "enum",
4871
+ "variants": [
4872
+ {
4873
+ "name": "Invalid"
4874
+ },
4875
+ {
4876
+ "name": "TooVolatile"
4877
+ },
4878
+ {
4879
+ "name": "StaleForMargin"
4880
+ },
4881
+ {
4882
+ "name": "InsufficientDataPoints"
4883
+ },
4884
+ {
4885
+ "name": "StaleForAMM"
4886
+ },
4887
+ {
4888
+ "name": "Valid"
4889
+ }
4890
+ ]
4891
+ }
4892
+ },
4893
+ {
4894
+ "name": "DriftAction",
4895
+ "type": {
4896
+ "kind": "enum",
4897
+ "variants": [
4898
+ {
4899
+ "name": "UpdateFunding"
4900
+ },
4901
+ {
4902
+ "name": "SettlePnl"
4903
+ },
4904
+ {
4905
+ "name": "TriggerOrder"
4906
+ },
4907
+ {
4908
+ "name": "FillOrderMatch"
4909
+ },
4910
+ {
4911
+ "name": "FillOrderAmm"
4912
+ },
4913
+ {
4914
+ "name": "Liquidate"
4915
+ },
4916
+ {
4917
+ "name": "MarginCalc"
4918
+ },
4919
+ {
4920
+ "name": "UpdateTwap"
4921
+ },
4922
+ {
4923
+ "name": "UpdateAMMCurve"
4924
+ }
4925
+ ]
4926
+ }
4927
+ },
4871
4928
  {
4872
4929
  "name": "PositionUpdateType",
4873
4930
  "type": {
@@ -5286,7 +5343,7 @@
5286
5343
  },
5287
5344
  {
5288
5345
  "name": "marketIndex",
5289
- "type": "u64",
5346
+ "type": "u16",
5290
5347
  "index": false
5291
5348
  },
5292
5349
  {
@@ -5335,7 +5392,7 @@
5335
5392
  },
5336
5393
  {
5337
5394
  "name": "marketIndex",
5338
- "type": "u64",
5395
+ "type": "u16",
5339
5396
  "index": false
5340
5397
  },
5341
5398
  {
@@ -5385,7 +5442,7 @@
5385
5442
  },
5386
5443
  {
5387
5444
  "name": "marketIndex",
5388
- "type": "u64",
5445
+ "type": "u16",
5389
5446
  "index": false
5390
5447
  },
5391
5448
  {
@@ -5455,7 +5512,7 @@
5455
5512
  },
5456
5513
  {
5457
5514
  "name": "marketIndex",
5458
- "type": "u64",
5515
+ "type": "u16",
5459
5516
  "index": false
5460
5517
  },
5461
5518
  {
@@ -5591,7 +5648,7 @@
5591
5648
  },
5592
5649
  {
5593
5650
  "name": "marketIndex",
5594
- "type": "u64",
5651
+ "type": "u16",
5595
5652
  "index": false
5596
5653
  },
5597
5654
  {
@@ -5622,13 +5679,6 @@
5622
5679
  },
5623
5680
  "index": false
5624
5681
  },
5625
- {
5626
- "name": "referrer",
5627
- "type": {
5628
- "option": "publicKey"
5629
- },
5630
- "index": false
5631
- },
5632
5682
  {
5633
5683
  "name": "baseAssetAmountFilled",
5634
5684
  "type": {
@@ -5643,20 +5693,6 @@
5643
5693
  },
5644
5694
  "index": false
5645
5695
  },
5646
- {
5647
- "name": "takerPnl",
5648
- "type": {
5649
- "option": "i64"
5650
- },
5651
- "index": false
5652
- },
5653
- {
5654
- "name": "makerPnl",
5655
- "type": {
5656
- "option": "i64"
5657
- },
5658
- "index": false
5659
- },
5660
5696
  {
5661
5697
  "name": "takerFee",
5662
5698
  "type": {
@@ -5665,30 +5701,30 @@
5665
5701
  "index": false
5666
5702
  },
5667
5703
  {
5668
- "name": "makerRebate",
5704
+ "name": "makerFee",
5669
5705
  "type": {
5670
- "option": "u64"
5706
+ "option": "i64"
5671
5707
  },
5672
5708
  "index": false
5673
5709
  },
5674
5710
  {
5675
5711
  "name": "referrerReward",
5676
5712
  "type": {
5677
- "option": "u64"
5713
+ "option": "u32"
5678
5714
  },
5679
5715
  "index": false
5680
5716
  },
5681
5717
  {
5682
- "name": "refereeDiscount",
5718
+ "name": "quoteAssetAmountSurplus",
5683
5719
  "type": {
5684
- "option": "u64"
5720
+ "option": "i64"
5685
5721
  },
5686
5722
  "index": false
5687
5723
  },
5688
5724
  {
5689
- "name": "quoteAssetAmountSurplus",
5725
+ "name": "spotFulfillmentMethodFee",
5690
5726
  "type": {
5691
- "option": "i64"
5727
+ "option": "u64"
5692
5728
  },
5693
5729
  "index": false
5694
5730
  },
@@ -5723,14 +5759,14 @@
5723
5759
  "index": false
5724
5760
  },
5725
5761
  {
5726
- "name": "takerOrderBaseAssetAmountFilled",
5762
+ "name": "takerOrderCumulativeBaseAssetAmountFilled",
5727
5763
  "type": {
5728
5764
  "option": "u128"
5729
5765
  },
5730
5766
  "index": false
5731
5767
  },
5732
5768
  {
5733
- "name": "takerOrderQuoteAssetAmountFilled",
5769
+ "name": "takerOrderCumulativeQuoteAssetAmountFilled",
5734
5770
  "type": {
5735
5771
  "option": "u64"
5736
5772
  },
@@ -5743,13 +5779,6 @@
5743
5779
  },
5744
5780
  "index": false
5745
5781
  },
5746
- {
5747
- "name": "spotFulfillmentMethodFee",
5748
- "type": {
5749
- "option": "u64"
5750
- },
5751
- "index": false
5752
- },
5753
5782
  {
5754
5783
  "name": "maker",
5755
5784
  "type": {
@@ -5781,14 +5810,14 @@
5781
5810
  "index": false
5782
5811
  },
5783
5812
  {
5784
- "name": "makerOrderBaseAssetAmountFilled",
5813
+ "name": "makerOrderCumulativeBaseAssetAmountFilled",
5785
5814
  "type": {
5786
5815
  "option": "u128"
5787
5816
  },
5788
5817
  "index": false
5789
5818
  },
5790
5819
  {
5791
- "name": "makerOrderQuoteAssetAmountFilled",
5820
+ "name": "makerOrderCumulativeQuoteAssetAmountFilled",
5792
5821
  "type": {
5793
5822
  "option": "u64"
5794
5823
  },
@@ -5835,7 +5864,7 @@
5835
5864
  },
5836
5865
  {
5837
5866
  "name": "marketIndex",
5838
- "type": "u64",
5867
+ "type": "u16",
5839
5868
  "index": false
5840
5869
  },
5841
5870
  {
@@ -5966,7 +5995,7 @@
5966
5995
  },
5967
5996
  {
5968
5997
  "name": "marketIndex",
5969
- "type": "u64",
5998
+ "type": "u16",
5970
5999
  "index": false
5971
6000
  },
5972
6001
  {
@@ -6006,12 +6035,12 @@
6006
6035
  },
6007
6036
  {
6008
6037
  "name": "spotMarketIndex",
6009
- "type": "u64",
6038
+ "type": "u16",
6010
6039
  "index": false
6011
6040
  },
6012
6041
  {
6013
6042
  "name": "perpMarketIndex",
6014
- "type": "u64",
6043
+ "type": "u16",
6015
6044
  "index": false
6016
6045
  },
6017
6046
  {
@@ -6078,7 +6107,7 @@
6078
6107
  },
6079
6108
  {
6080
6109
  "name": "marketIndex",
6081
- "type": "u64",
6110
+ "type": "u16",
6082
6111
  "index": false
6083
6112
  },
6084
6113
  {
@@ -6237,8 +6266,8 @@
6237
6266
  },
6238
6267
  {
6239
6268
  "code": 6023,
6240
- "name": "OracleMarkSpreadLimit",
6241
- "msg": "Oracle/Mark Spread Too Large"
6269
+ "name": "PriceBandsBreached",
6270
+ "msg": "Price Bands Breached"
6242
6271
  },
6243
6272
  {
6244
6273
  "code": 6024,
@@ -6737,23 +6766,43 @@
6737
6766
  },
6738
6767
  {
6739
6768
  "code": 6123,
6769
+ "name": "InvalidSerumBids",
6770
+ "msg": "InvalidSerumBids"
6771
+ },
6772
+ {
6773
+ "code": 6124,
6774
+ "name": "InvalidSerumAsks",
6775
+ "msg": "InvalidSerumAsks"
6776
+ },
6777
+ {
6778
+ "code": 6125,
6740
6779
  "name": "InvalidSerumOpenOrders",
6741
6780
  "msg": "InvalidSerumOpenOrders"
6742
6781
  },
6743
6782
  {
6744
- "code": 6124,
6783
+ "code": 6126,
6745
6784
  "name": "FailedSerumCPI",
6746
6785
  "msg": "FailedSerumCPI"
6747
6786
  },
6748
6787
  {
6749
- "code": 6125,
6788
+ "code": 6127,
6750
6789
  "name": "FailedToFillOnSerum",
6751
6790
  "msg": "FailedToFillOnSerum"
6752
6791
  },
6753
6792
  {
6754
- "code": 6126,
6793
+ "code": 6128,
6755
6794
  "name": "InvalidSerumFulfillmentConfig",
6756
6795
  "msg": "InvalidSerumFulfillmentConfig"
6796
+ },
6797
+ {
6798
+ "code": 6129,
6799
+ "name": "InvalidFeeStructure",
6800
+ "msg": "InvalidFeeStructure"
6801
+ },
6802
+ {
6803
+ "code": 6130,
6804
+ "name": "InsufficientIFShares",
6805
+ "msg": "Insufficient IF shares"
6757
6806
  }
6758
6807
  ]
6759
6808
  }