@drift-labs/sdk 0.2.0-master.22 → 0.2.0-master.23

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 (43) hide show
  1. package/lib/addresses/pda.d.ts +3 -0
  2. package/lib/addresses/pda.js +23 -1
  3. package/lib/admin.d.ts +3 -0
  4. package/lib/admin.js +31 -0
  5. package/lib/clearingHouse.d.ts +9 -2
  6. package/lib/clearingHouse.js +132 -4
  7. package/lib/clearingHouseUser.js +5 -5
  8. package/lib/config.js +1 -1
  9. package/lib/constants/banks.d.ts +2 -0
  10. package/lib/constants/banks.js +9 -0
  11. package/lib/constants/numericConstants.d.ts +2 -0
  12. package/lib/constants/numericConstants.js +4 -1
  13. package/lib/events/sort.js +7 -10
  14. package/lib/events/types.d.ts +2 -1
  15. package/lib/events/types.js +1 -0
  16. package/lib/idl/clearing_house.json +1007 -151
  17. package/lib/index.d.ts +1 -0
  18. package/lib/index.js +1 -0
  19. package/lib/math/insurance.d.ts +4 -0
  20. package/lib/math/insurance.js +27 -0
  21. package/lib/math/margin.d.ts +1 -1
  22. package/lib/math/margin.js +5 -7
  23. package/lib/math/position.js +1 -1
  24. package/lib/types.d.ts +56 -20
  25. package/lib/types.js +0 -3
  26. package/package.json +1 -1
  27. package/src/addresses/pda.ts +47 -0
  28. package/src/admin.ts +65 -0
  29. package/src/clearingHouse.ts +217 -9
  30. package/src/clearingHouseUser.ts +10 -6
  31. package/src/config.ts +1 -1
  32. package/src/constants/banks.ts +16 -0
  33. package/src/constants/numericConstants.ts +4 -0
  34. package/src/events/sort.ts +10 -14
  35. package/src/events/types.ts +3 -0
  36. package/src/idl/clearing_house.json +1007 -151
  37. package/src/index.ts +1 -0
  38. package/src/math/insurance.ts +35 -0
  39. package/src/math/margin.ts +3 -10
  40. package/src/math/position.ts +2 -2
  41. package/src/types.ts +64 -20
  42. package/src/events/eventSubscriber.js +0 -139
  43. package/src/events/sort.js +0 -44
@@ -76,6 +76,16 @@
76
76
  "isMut": false,
77
77
  "isSigner": false
78
78
  },
79
+ {
80
+ "name": "insuranceFundVault",
81
+ "isMut": true,
82
+ "isSigner": false
83
+ },
84
+ {
85
+ "name": "insuranceFundVaultAuthority",
86
+ "isMut": false,
87
+ "isSigner": false
88
+ },
79
89
  {
80
90
  "name": "state",
81
91
  "isMut": true,
@@ -952,9 +962,33 @@
952
962
  "name": "user",
953
963
  "isMut": true,
954
964
  "isSigner": false
965
+ },
966
+ {
967
+ "name": "bankVault",
968
+ "isMut": true,
969
+ "isSigner": false
970
+ },
971
+ {
972
+ "name": "insuranceFundVault",
973
+ "isMut": true,
974
+ "isSigner": false
975
+ },
976
+ {
977
+ "name": "insuranceFundVaultAuthority",
978
+ "isMut": true,
979
+ "isSigner": false
980
+ },
981
+ {
982
+ "name": "tokenProgram",
983
+ "isMut": false,
984
+ "isSigner": false
955
985
  }
956
986
  ],
957
987
  "args": [
988
+ {
989
+ "name": "bankIndex",
990
+ "type": "u64"
991
+ },
958
992
  {
959
993
  "name": "marketIndex",
960
994
  "type": "u64"
@@ -983,6 +1017,26 @@
983
1017
  "name": "user",
984
1018
  "isMut": true,
985
1019
  "isSigner": false
1020
+ },
1021
+ {
1022
+ "name": "bankVault",
1023
+ "isMut": true,
1024
+ "isSigner": false
1025
+ },
1026
+ {
1027
+ "name": "insuranceFundVault",
1028
+ "isMut": true,
1029
+ "isSigner": false
1030
+ },
1031
+ {
1032
+ "name": "insuranceFundVaultAuthority",
1033
+ "isMut": true,
1034
+ "isSigner": false
1035
+ },
1036
+ {
1037
+ "name": "tokenProgram",
1038
+ "isMut": false,
1039
+ "isSigner": false
986
1040
  }
987
1041
  ],
988
1042
  "args": [
@@ -1442,6 +1496,32 @@
1442
1496
  }
1443
1497
  ]
1444
1498
  },
1499
+ {
1500
+ "name": "updateMarketMaxRevenueWithdrawPerPeriod",
1501
+ "accounts": [
1502
+ {
1503
+ "name": "admin",
1504
+ "isMut": false,
1505
+ "isSigner": true
1506
+ },
1507
+ {
1508
+ "name": "state",
1509
+ "isMut": false,
1510
+ "isSigner": false
1511
+ },
1512
+ {
1513
+ "name": "market",
1514
+ "isMut": true,
1515
+ "isSigner": false
1516
+ }
1517
+ ],
1518
+ "args": [
1519
+ {
1520
+ "name": "maxRevenueWithdrawPerPeriod",
1521
+ "type": "u128"
1522
+ }
1523
+ ]
1524
+ },
1445
1525
  {
1446
1526
  "name": "updatePerpLiquidationFee",
1447
1527
  "accounts": [
@@ -1468,6 +1548,32 @@
1468
1548
  }
1469
1549
  ]
1470
1550
  },
1551
+ {
1552
+ "name": "updateBankInsuranceWithdrawEscrowPeriod",
1553
+ "accounts": [
1554
+ {
1555
+ "name": "admin",
1556
+ "isMut": false,
1557
+ "isSigner": true
1558
+ },
1559
+ {
1560
+ "name": "state",
1561
+ "isMut": false,
1562
+ "isSigner": false
1563
+ },
1564
+ {
1565
+ "name": "bank",
1566
+ "isMut": true,
1567
+ "isSigner": false
1568
+ }
1569
+ ],
1570
+ "args": [
1571
+ {
1572
+ "name": "insuranceWithdrawEscrowPeriod",
1573
+ "type": "i64"
1574
+ }
1575
+ ]
1576
+ },
1471
1577
  {
1472
1578
  "name": "updateBankLiquidationFee",
1473
1579
  "accounts": [
@@ -1520,6 +1626,70 @@
1520
1626
  }
1521
1627
  ]
1522
1628
  },
1629
+ {
1630
+ "name": "updateBankIfFactor",
1631
+ "accounts": [
1632
+ {
1633
+ "name": "admin",
1634
+ "isMut": false,
1635
+ "isSigner": true
1636
+ },
1637
+ {
1638
+ "name": "state",
1639
+ "isMut": false,
1640
+ "isSigner": false
1641
+ },
1642
+ {
1643
+ "name": "bank",
1644
+ "isMut": true,
1645
+ "isSigner": false
1646
+ }
1647
+ ],
1648
+ "args": [
1649
+ {
1650
+ "name": "bankIndex",
1651
+ "type": "u64"
1652
+ },
1653
+ {
1654
+ "name": "userIfFactor",
1655
+ "type": "u32"
1656
+ },
1657
+ {
1658
+ "name": "totalIfFactor",
1659
+ "type": "u32"
1660
+ },
1661
+ {
1662
+ "name": "liquidationIfFactor",
1663
+ "type": "u32"
1664
+ }
1665
+ ]
1666
+ },
1667
+ {
1668
+ "name": "updateBankRevenueSettlePeriod",
1669
+ "accounts": [
1670
+ {
1671
+ "name": "admin",
1672
+ "isMut": false,
1673
+ "isSigner": true
1674
+ },
1675
+ {
1676
+ "name": "state",
1677
+ "isMut": false,
1678
+ "isSigner": false
1679
+ },
1680
+ {
1681
+ "name": "bank",
1682
+ "isMut": true,
1683
+ "isSigner": false
1684
+ }
1685
+ ],
1686
+ "args": [
1687
+ {
1688
+ "name": "revenueSettlePeriod",
1689
+ "type": "i64"
1690
+ }
1691
+ ]
1692
+ },
1523
1693
  {
1524
1694
  "name": "updateMarketImfFactor",
1525
1695
  "accounts": [
@@ -1898,6 +2068,32 @@
1898
2068
  }
1899
2069
  ]
1900
2070
  },
2071
+ {
2072
+ "name": "updateAmmJitIntensity",
2073
+ "accounts": [
2074
+ {
2075
+ "name": "admin",
2076
+ "isMut": false,
2077
+ "isSigner": true
2078
+ },
2079
+ {
2080
+ "name": "state",
2081
+ "isMut": false,
2082
+ "isSigner": false
2083
+ },
2084
+ {
2085
+ "name": "market",
2086
+ "isMut": true,
2087
+ "isSigner": false
2088
+ }
2089
+ ],
2090
+ "args": [
2091
+ {
2092
+ "name": "ammJitIntensity",
2093
+ "type": "u8"
2094
+ }
2095
+ ]
2096
+ },
1901
2097
  {
1902
2098
  "name": "updateMarketMaxSpread",
1903
2099
  "accounts": [
@@ -2147,84 +2343,403 @@
2147
2343
  "type": "u8"
2148
2344
  }
2149
2345
  ]
2150
- }
2151
- ],
2152
- "accounts": [
2346
+ },
2153
2347
  {
2154
- "name": "Bank",
2155
- "type": {
2156
- "kind": "struct",
2157
- "fields": [
2158
- {
2159
- "name": "bankIndex",
2160
- "type": "u64"
2161
- },
2162
- {
2163
- "name": "pubkey",
2164
- "type": "publicKey"
2165
- },
2166
- {
2167
- "name": "oracle",
2168
- "type": "publicKey"
2169
- },
2170
- {
2171
- "name": "oracleSource",
2172
- "type": {
2173
- "defined": "OracleSource"
2174
- }
2175
- },
2176
- {
2177
- "name": "mint",
2178
- "type": "publicKey"
2179
- },
2180
- {
2181
- "name": "vault",
2182
- "type": "publicKey"
2183
- },
2184
- {
2185
- "name": "vaultAuthority",
2186
- "type": "publicKey"
2187
- },
2188
- {
2189
- "name": "vaultAuthorityNonce",
2190
- "type": "u8"
2191
- },
2192
- {
2193
- "name": "decimals",
2194
- "type": "u8"
2195
- },
2196
- {
2197
- "name": "optimalUtilization",
2198
- "type": "u128"
2199
- },
2200
- {
2201
- "name": "optimalBorrowRate",
2202
- "type": "u128"
2203
- },
2204
- {
2205
- "name": "maxBorrowRate",
2206
- "type": "u128"
2207
- },
2208
- {
2209
- "name": "depositBalance",
2210
- "type": "u128"
2211
- },
2212
- {
2213
- "name": "borrowBalance",
2214
- "type": "u128"
2215
- },
2216
- {
2217
- "name": "depositTokenTwap",
2218
- "type": "u128"
2219
- },
2220
- {
2221
- "name": "borrowTokenTwap",
2222
- "type": "u128"
2223
- },
2224
- {
2225
- "name": "utilizationTwap",
2226
- "type": "u128"
2227
- },
2348
+ "name": "initializeInsuranceFundStake",
2349
+ "accounts": [
2350
+ {
2351
+ "name": "bank",
2352
+ "isMut": false,
2353
+ "isSigner": false
2354
+ },
2355
+ {
2356
+ "name": "insuranceFundStake",
2357
+ "isMut": true,
2358
+ "isSigner": false
2359
+ },
2360
+ {
2361
+ "name": "userStats",
2362
+ "isMut": true,
2363
+ "isSigner": false
2364
+ },
2365
+ {
2366
+ "name": "state",
2367
+ "isMut": false,
2368
+ "isSigner": false
2369
+ },
2370
+ {
2371
+ "name": "authority",
2372
+ "isMut": false,
2373
+ "isSigner": true
2374
+ },
2375
+ {
2376
+ "name": "payer",
2377
+ "isMut": true,
2378
+ "isSigner": true
2379
+ },
2380
+ {
2381
+ "name": "rent",
2382
+ "isMut": false,
2383
+ "isSigner": false
2384
+ },
2385
+ {
2386
+ "name": "systemProgram",
2387
+ "isMut": false,
2388
+ "isSigner": false
2389
+ }
2390
+ ],
2391
+ "args": [
2392
+ {
2393
+ "name": "bankIndex",
2394
+ "type": "u64"
2395
+ }
2396
+ ]
2397
+ },
2398
+ {
2399
+ "name": "settleRevenueToInsuranceFund",
2400
+ "accounts": [
2401
+ {
2402
+ "name": "state",
2403
+ "isMut": false,
2404
+ "isSigner": false
2405
+ },
2406
+ {
2407
+ "name": "bank",
2408
+ "isMut": false,
2409
+ "isSigner": false
2410
+ },
2411
+ {
2412
+ "name": "bankVault",
2413
+ "isMut": true,
2414
+ "isSigner": false
2415
+ },
2416
+ {
2417
+ "name": "bankVaultAuthority",
2418
+ "isMut": true,
2419
+ "isSigner": false
2420
+ },
2421
+ {
2422
+ "name": "insuranceFundVault",
2423
+ "isMut": true,
2424
+ "isSigner": false
2425
+ },
2426
+ {
2427
+ "name": "tokenProgram",
2428
+ "isMut": false,
2429
+ "isSigner": false
2430
+ }
2431
+ ],
2432
+ "args": [
2433
+ {
2434
+ "name": "bankIndex",
2435
+ "type": "u64"
2436
+ }
2437
+ ]
2438
+ },
2439
+ {
2440
+ "name": "addInsuranceFundStake",
2441
+ "accounts": [
2442
+ {
2443
+ "name": "bank",
2444
+ "isMut": false,
2445
+ "isSigner": false
2446
+ },
2447
+ {
2448
+ "name": "insuranceFundStake",
2449
+ "isMut": true,
2450
+ "isSigner": false
2451
+ },
2452
+ {
2453
+ "name": "userStats",
2454
+ "isMut": true,
2455
+ "isSigner": false
2456
+ },
2457
+ {
2458
+ "name": "authority",
2459
+ "isMut": false,
2460
+ "isSigner": true
2461
+ },
2462
+ {
2463
+ "name": "insuranceFundVault",
2464
+ "isMut": true,
2465
+ "isSigner": false
2466
+ },
2467
+ {
2468
+ "name": "userTokenAccount",
2469
+ "isMut": true,
2470
+ "isSigner": false
2471
+ },
2472
+ {
2473
+ "name": "tokenProgram",
2474
+ "isMut": false,
2475
+ "isSigner": false
2476
+ }
2477
+ ],
2478
+ "args": [
2479
+ {
2480
+ "name": "bankIndex",
2481
+ "type": "u64"
2482
+ },
2483
+ {
2484
+ "name": "amount",
2485
+ "type": "u64"
2486
+ }
2487
+ ]
2488
+ },
2489
+ {
2490
+ "name": "requestRemoveInsuranceFundStake",
2491
+ "accounts": [
2492
+ {
2493
+ "name": "bank",
2494
+ "isMut": false,
2495
+ "isSigner": false
2496
+ },
2497
+ {
2498
+ "name": "insuranceFundStake",
2499
+ "isMut": true,
2500
+ "isSigner": false
2501
+ },
2502
+ {
2503
+ "name": "userStats",
2504
+ "isMut": true,
2505
+ "isSigner": false
2506
+ },
2507
+ {
2508
+ "name": "authority",
2509
+ "isMut": false,
2510
+ "isSigner": true
2511
+ },
2512
+ {
2513
+ "name": "insuranceFundVault",
2514
+ "isMut": true,
2515
+ "isSigner": false
2516
+ }
2517
+ ],
2518
+ "args": [
2519
+ {
2520
+ "name": "bankIndex",
2521
+ "type": "u64"
2522
+ },
2523
+ {
2524
+ "name": "amount",
2525
+ "type": "u64"
2526
+ }
2527
+ ]
2528
+ },
2529
+ {
2530
+ "name": "cancelRequestRemoveInsuranceFundStake",
2531
+ "accounts": [
2532
+ {
2533
+ "name": "bank",
2534
+ "isMut": false,
2535
+ "isSigner": false
2536
+ },
2537
+ {
2538
+ "name": "insuranceFundStake",
2539
+ "isMut": true,
2540
+ "isSigner": false
2541
+ },
2542
+ {
2543
+ "name": "userStats",
2544
+ "isMut": true,
2545
+ "isSigner": false
2546
+ },
2547
+ {
2548
+ "name": "authority",
2549
+ "isMut": false,
2550
+ "isSigner": true
2551
+ },
2552
+ {
2553
+ "name": "insuranceFundVault",
2554
+ "isMut": true,
2555
+ "isSigner": false
2556
+ }
2557
+ ],
2558
+ "args": [
2559
+ {
2560
+ "name": "bankIndex",
2561
+ "type": "u64"
2562
+ }
2563
+ ]
2564
+ },
2565
+ {
2566
+ "name": "removeInsuranceFundStake",
2567
+ "accounts": [
2568
+ {
2569
+ "name": "bank",
2570
+ "isMut": false,
2571
+ "isSigner": false
2572
+ },
2573
+ {
2574
+ "name": "insuranceFundStake",
2575
+ "isMut": true,
2576
+ "isSigner": false
2577
+ },
2578
+ {
2579
+ "name": "userStats",
2580
+ "isMut": true,
2581
+ "isSigner": false
2582
+ },
2583
+ {
2584
+ "name": "authority",
2585
+ "isMut": false,
2586
+ "isSigner": true
2587
+ },
2588
+ {
2589
+ "name": "insuranceFundVault",
2590
+ "isMut": true,
2591
+ "isSigner": false
2592
+ },
2593
+ {
2594
+ "name": "insuranceFundVaultAuthority",
2595
+ "isMut": true,
2596
+ "isSigner": false
2597
+ },
2598
+ {
2599
+ "name": "userTokenAccount",
2600
+ "isMut": true,
2601
+ "isSigner": false
2602
+ },
2603
+ {
2604
+ "name": "tokenProgram",
2605
+ "isMut": false,
2606
+ "isSigner": false
2607
+ }
2608
+ ],
2609
+ "args": [
2610
+ {
2611
+ "name": "bankIndex",
2612
+ "type": "u64"
2613
+ }
2614
+ ]
2615
+ }
2616
+ ],
2617
+ "accounts": [
2618
+ {
2619
+ "name": "Bank",
2620
+ "type": {
2621
+ "kind": "struct",
2622
+ "fields": [
2623
+ {
2624
+ "name": "bankIndex",
2625
+ "type": "u64"
2626
+ },
2627
+ {
2628
+ "name": "pubkey",
2629
+ "type": "publicKey"
2630
+ },
2631
+ {
2632
+ "name": "oracle",
2633
+ "type": "publicKey"
2634
+ },
2635
+ {
2636
+ "name": "oracleSource",
2637
+ "type": {
2638
+ "defined": "OracleSource"
2639
+ }
2640
+ },
2641
+ {
2642
+ "name": "mint",
2643
+ "type": "publicKey"
2644
+ },
2645
+ {
2646
+ "name": "vault",
2647
+ "type": "publicKey"
2648
+ },
2649
+ {
2650
+ "name": "vaultAuthority",
2651
+ "type": "publicKey"
2652
+ },
2653
+ {
2654
+ "name": "vaultAuthorityNonce",
2655
+ "type": "u8"
2656
+ },
2657
+ {
2658
+ "name": "insuranceFundVault",
2659
+ "type": "publicKey"
2660
+ },
2661
+ {
2662
+ "name": "insuranceFundVaultAuthority",
2663
+ "type": "publicKey"
2664
+ },
2665
+ {
2666
+ "name": "insuranceFundVaultAuthorityNonce",
2667
+ "type": "u8"
2668
+ },
2669
+ {
2670
+ "name": "revenuePool",
2671
+ "type": {
2672
+ "defined": "PoolBalance"
2673
+ }
2674
+ },
2675
+ {
2676
+ "name": "totalIfFactor",
2677
+ "type": "u32"
2678
+ },
2679
+ {
2680
+ "name": "userIfFactor",
2681
+ "type": "u32"
2682
+ },
2683
+ {
2684
+ "name": "totalIfShares",
2685
+ "type": "u128"
2686
+ },
2687
+ {
2688
+ "name": "userIfShares",
2689
+ "type": "u128"
2690
+ },
2691
+ {
2692
+ "name": "ifSharesBase",
2693
+ "type": "u128"
2694
+ },
2695
+ {
2696
+ "name": "insuranceWithdrawEscrowPeriod",
2697
+ "type": "i64"
2698
+ },
2699
+ {
2700
+ "name": "lastRevenueSettleTs",
2701
+ "type": "i64"
2702
+ },
2703
+ {
2704
+ "name": "revenueSettlePeriod",
2705
+ "type": "i64"
2706
+ },
2707
+ {
2708
+ "name": "decimals",
2709
+ "type": "u8"
2710
+ },
2711
+ {
2712
+ "name": "optimalUtilization",
2713
+ "type": "u128"
2714
+ },
2715
+ {
2716
+ "name": "optimalBorrowRate",
2717
+ "type": "u128"
2718
+ },
2719
+ {
2720
+ "name": "maxBorrowRate",
2721
+ "type": "u128"
2722
+ },
2723
+ {
2724
+ "name": "depositBalance",
2725
+ "type": "u128"
2726
+ },
2727
+ {
2728
+ "name": "borrowBalance",
2729
+ "type": "u128"
2730
+ },
2731
+ {
2732
+ "name": "depositTokenTwap",
2733
+ "type": "u128"
2734
+ },
2735
+ {
2736
+ "name": "borrowTokenTwap",
2737
+ "type": "u128"
2738
+ },
2739
+ {
2740
+ "name": "utilizationTwap",
2741
+ "type": "u128"
2742
+ },
2228
2743
  {
2229
2744
  "name": "cumulativeDepositInterest",
2230
2745
  "type": "u128"
@@ -2265,6 +2780,10 @@
2265
2780
  "name": "liquidationFee",
2266
2781
  "type": "u128"
2267
2782
  },
2783
+ {
2784
+ "name": "liquidationIfFactor",
2785
+ "type": "u32"
2786
+ },
2268
2787
  {
2269
2788
  "name": "withdrawGuardThreshold",
2270
2789
  "type": "u128"
@@ -2272,6 +2791,50 @@
2272
2791
  ]
2273
2792
  }
2274
2793
  },
2794
+ {
2795
+ "name": "InsuranceFundStake",
2796
+ "type": {
2797
+ "kind": "struct",
2798
+ "fields": [
2799
+ {
2800
+ "name": "authority",
2801
+ "type": "publicKey"
2802
+ },
2803
+ {
2804
+ "name": "bankIndex",
2805
+ "type": "u64"
2806
+ },
2807
+ {
2808
+ "name": "ifShares",
2809
+ "type": "u128"
2810
+ },
2811
+ {
2812
+ "name": "ifBase",
2813
+ "type": "u128"
2814
+ },
2815
+ {
2816
+ "name": "lastValidTs",
2817
+ "type": "i64"
2818
+ },
2819
+ {
2820
+ "name": "lastWithdrawRequestShares",
2821
+ "type": "u128"
2822
+ },
2823
+ {
2824
+ "name": "lastWithdrawRequestValue",
2825
+ "type": "u64"
2826
+ },
2827
+ {
2828
+ "name": "lastWithdrawRequestTs",
2829
+ "type": "i64"
2830
+ },
2831
+ {
2832
+ "name": "costBasis",
2833
+ "type": "i64"
2834
+ }
2835
+ ]
2836
+ }
2837
+ },
2275
2838
  {
2276
2839
  "name": "Market",
2277
2840
  "type": {
@@ -2333,6 +2896,18 @@
2333
2896
  "defined": "PoolBalance"
2334
2897
  }
2335
2898
  },
2899
+ {
2900
+ "name": "revenueWithdrawSinceLastSettle",
2901
+ "type": "u128"
2902
+ },
2903
+ {
2904
+ "name": "maxRevenueWithdrawPerPeriod",
2905
+ "type": "u128"
2906
+ },
2907
+ {
2908
+ "name": "lastRevenueWithdrawTs",
2909
+ "type": "i64"
2910
+ },
2336
2911
  {
2337
2912
  "name": "imfFactor",
2338
2913
  "type": "u128"
@@ -2636,6 +3211,10 @@
2636
3211
  {
2637
3212
  "name": "lastFillerVolume30dTs",
2638
3213
  "type": "i64"
3214
+ },
3215
+ {
3216
+ "name": "quoteAssetInsuranceFundStake",
3217
+ "type": "u128"
2639
3218
  }
2640
3219
  ]
2641
3220
  }
@@ -2905,6 +3484,10 @@
2905
3484
  "name": "pnl",
2906
3485
  "type": "i128"
2907
3486
  },
3487
+ {
3488
+ "name": "ifPayment",
3489
+ "type": "u128"
3490
+ },
2908
3491
  {
2909
3492
  "name": "cumulativeFundingRateDelta",
2910
3493
  "type": "i128"
@@ -2925,6 +3508,10 @@
2925
3508
  "name": "borrowAmount",
2926
3509
  "type": "u128"
2927
3510
  },
3511
+ {
3512
+ "name": "ifPayment",
3513
+ "type": "u128"
3514
+ },
2928
3515
  {
2929
3516
  "name": "cumulativeDepositInterestDelta",
2930
3517
  "type": "u128"
@@ -3057,6 +3644,10 @@
3057
3644
  "defined": "MarketPosition"
3058
3645
  }
3059
3646
  },
3647
+ {
3648
+ "name": "ammJitIntensity",
3649
+ "type": "u8"
3650
+ },
3060
3651
  {
3061
3652
  "name": "lastFundingRate",
3062
3653
  "type": "i128"
@@ -3193,11 +3784,11 @@
3193
3784
  },
3194
3785
  {
3195
3786
  "name": "totalFee",
3196
- "type": "u128"
3787
+ "type": "i128"
3197
3788
  },
3198
3789
  {
3199
3790
  "name": "totalMmFee",
3200
- "type": "u128"
3791
+ "type": "i128"
3201
3792
  },
3202
3793
  {
3203
3794
  "name": "totalExchangeFee",
@@ -3864,7 +4455,7 @@
3864
4455
  "name": "None"
3865
4456
  },
3866
4457
  {
3867
- "name": "BreachedMarginRequirement"
4458
+ "name": "InsufficientFreeCollateral"
3868
4459
  },
3869
4460
  {
3870
4461
  "name": "OraclePriceBreachedLimitPrice"
@@ -3913,6 +4504,26 @@
3913
4504
  ]
3914
4505
  }
3915
4506
  },
4507
+ {
4508
+ "name": "StakeAction",
4509
+ "type": {
4510
+ "kind": "enum",
4511
+ "variants": [
4512
+ {
4513
+ "name": "Stake"
4514
+ },
4515
+ {
4516
+ "name": "UnstakeRequest"
4517
+ },
4518
+ {
4519
+ "name": "UnstakeCancelRequest"
4520
+ },
4521
+ {
4522
+ "name": "Unstake"
4523
+ }
4524
+ ]
4525
+ }
4526
+ },
3916
4527
  {
3917
4528
  "name": "FulfillmentMethod",
3918
4529
  "type": {
@@ -4179,6 +4790,16 @@
4179
4790
  "type": "i128",
4180
4791
  "index": false
4181
4792
  },
4793
+ {
4794
+ "name": "fundingRateLong",
4795
+ "type": "i128",
4796
+ "index": false
4797
+ },
4798
+ {
4799
+ "name": "fundingRateShort",
4800
+ "type": "i128",
4801
+ "index": false
4802
+ },
4182
4803
  {
4183
4804
  "name": "cumulativeFundingRateLong",
4184
4805
  "type": "i128",
@@ -4198,6 +4819,21 @@
4198
4819
  "name": "markPriceTwap",
4199
4820
  "type": "u128",
4200
4821
  "index": false
4822
+ },
4823
+ {
4824
+ "name": "periodRevenue",
4825
+ "type": "i64",
4826
+ "index": false
4827
+ },
4828
+ {
4829
+ "name": "netBaseAssetAmount",
4830
+ "type": "i128",
4831
+ "index": false
4832
+ },
4833
+ {
4834
+ "name": "netUnsettledLpBaseAssetAmount",
4835
+ "type": "i128",
4836
+ "index": false
4201
4837
  }
4202
4838
  ]
4203
4839
  },
@@ -4263,168 +4899,271 @@
4263
4899
  "name": "baseAssetAmountLong",
4264
4900
  "type": "u128",
4265
4901
  "index": false
4266
- },
4902
+ },
4903
+ {
4904
+ "name": "baseAssetAmountShort",
4905
+ "type": "u128",
4906
+ "index": false
4907
+ },
4908
+ {
4909
+ "name": "netBaseAssetAmount",
4910
+ "type": "i128",
4911
+ "index": false
4912
+ },
4913
+ {
4914
+ "name": "openInterest",
4915
+ "type": "u128",
4916
+ "index": false
4917
+ },
4918
+ {
4919
+ "name": "totalFee",
4920
+ "type": "i128",
4921
+ "index": false
4922
+ },
4923
+ {
4924
+ "name": "totalFeeMinusDistributions",
4925
+ "type": "i128",
4926
+ "index": false
4927
+ },
4928
+ {
4929
+ "name": "adjustmentCost",
4930
+ "type": "i128",
4931
+ "index": false
4932
+ },
4933
+ {
4934
+ "name": "oraclePrice",
4935
+ "type": "i128",
4936
+ "index": false
4937
+ },
4938
+ {
4939
+ "name": "fillRecord",
4940
+ "type": "u128",
4941
+ "index": false
4942
+ }
4943
+ ]
4944
+ },
4945
+ {
4946
+ "name": "OrderRecord",
4947
+ "fields": [
4948
+ {
4949
+ "name": "ts",
4950
+ "type": "i64",
4951
+ "index": false
4952
+ },
4953
+ {
4954
+ "name": "user",
4955
+ "type": "publicKey",
4956
+ "index": false
4957
+ },
4958
+ {
4959
+ "name": "order",
4960
+ "type": {
4961
+ "defined": "Order"
4962
+ },
4963
+ "index": false
4964
+ }
4965
+ ]
4966
+ },
4967
+ {
4968
+ "name": "OrderActionRecord",
4969
+ "fields": [
4267
4970
  {
4268
- "name": "baseAssetAmountShort",
4269
- "type": "u128",
4971
+ "name": "ts",
4972
+ "type": "i64",
4270
4973
  "index": false
4271
4974
  },
4272
4975
  {
4273
- "name": "netBaseAssetAmount",
4274
- "type": "i128",
4976
+ "name": "action",
4977
+ "type": {
4978
+ "defined": "OrderAction"
4979
+ },
4275
4980
  "index": false
4276
4981
  },
4277
4982
  {
4278
- "name": "openInterest",
4279
- "type": "u128",
4983
+ "name": "actionExplanation",
4984
+ "type": {
4985
+ "defined": "OrderActionExplanation"
4986
+ },
4280
4987
  "index": false
4281
4988
  },
4282
4989
  {
4283
- "name": "totalFee",
4284
- "type": "u128",
4990
+ "name": "marketIndex",
4991
+ "type": "u64",
4285
4992
  "index": false
4286
4993
  },
4287
4994
  {
4288
- "name": "totalFeeMinusDistributions",
4289
- "type": "i128",
4995
+ "name": "filler",
4996
+ "type": {
4997
+ "option": "publicKey"
4998
+ },
4290
4999
  "index": false
4291
5000
  },
4292
5001
  {
4293
- "name": "adjustmentCost",
4294
- "type": "i128",
5002
+ "name": "fillerReward",
5003
+ "type": {
5004
+ "option": "u64"
5005
+ },
4295
5006
  "index": false
4296
5007
  },
4297
5008
  {
4298
- "name": "oraclePrice",
4299
- "type": "i128",
5009
+ "name": "fillRecordId",
5010
+ "type": {
5011
+ "option": "u64"
5012
+ },
4300
5013
  "index": false
4301
5014
  },
4302
5015
  {
4303
- "name": "fillRecord",
4304
- "type": "u128",
4305
- "index": false
4306
- }
4307
- ]
4308
- },
4309
- {
4310
- "name": "OrderRecord",
4311
- "fields": [
4312
- {
4313
- "name": "ts",
4314
- "type": "i64",
5016
+ "name": "referrer",
5017
+ "type": {
5018
+ "option": "publicKey"
5019
+ },
4315
5020
  "index": false
4316
5021
  },
4317
5022
  {
4318
- "name": "slot",
4319
- "type": "u64",
5023
+ "name": "baseAssetAmountFilled",
5024
+ "type": {
5025
+ "option": "u128"
5026
+ },
4320
5027
  "index": false
4321
5028
  },
4322
5029
  {
4323
- "name": "taker",
4324
- "type": "publicKey",
5030
+ "name": "quoteAssetAmountFilled",
5031
+ "type": {
5032
+ "option": "u64"
5033
+ },
4325
5034
  "index": false
4326
5035
  },
4327
5036
  {
4328
- "name": "maker",
4329
- "type": "publicKey",
5037
+ "name": "takerPnl",
5038
+ "type": {
5039
+ "option": "i64"
5040
+ },
4330
5041
  "index": false
4331
5042
  },
4332
5043
  {
4333
- "name": "takerOrder",
5044
+ "name": "makerPnl",
4334
5045
  "type": {
4335
- "defined": "Order"
5046
+ "option": "i64"
4336
5047
  },
4337
5048
  "index": false
4338
5049
  },
4339
5050
  {
4340
- "name": "makerOrder",
5051
+ "name": "takerFee",
4341
5052
  "type": {
4342
- "defined": "Order"
5053
+ "option": "u64"
4343
5054
  },
4344
5055
  "index": false
4345
5056
  },
4346
5057
  {
4347
- "name": "makerPnl",
4348
- "type": "i128",
5058
+ "name": "makerRebate",
5059
+ "type": {
5060
+ "option": "u64"
5061
+ },
4349
5062
  "index": false
4350
5063
  },
4351
5064
  {
4352
- "name": "takerPnl",
4353
- "type": "i128",
5065
+ "name": "referrerReward",
5066
+ "type": {
5067
+ "option": "u64"
5068
+ },
4354
5069
  "index": false
4355
5070
  },
4356
5071
  {
4357
- "name": "action",
5072
+ "name": "refereeDiscount",
4358
5073
  "type": {
4359
- "defined": "OrderAction"
5074
+ "option": "u64"
4360
5075
  },
4361
5076
  "index": false
4362
5077
  },
4363
5078
  {
4364
- "name": "actionExplanation",
5079
+ "name": "quoteAssetAmountSurplus",
4365
5080
  "type": {
4366
- "defined": "OrderActionExplanation"
5081
+ "option": "i64"
4367
5082
  },
4368
5083
  "index": false
4369
5084
  },
4370
5085
  {
4371
- "name": "filler",
4372
- "type": "publicKey",
5086
+ "name": "taker",
5087
+ "type": {
5088
+ "option": "publicKey"
5089
+ },
4373
5090
  "index": false
4374
5091
  },
4375
5092
  {
4376
- "name": "fillRecordId",
4377
- "type": "u64",
5093
+ "name": "takerOrderId",
5094
+ "type": {
5095
+ "option": "u64"
5096
+ },
4378
5097
  "index": false
4379
5098
  },
4380
5099
  {
4381
- "name": "marketIndex",
4382
- "type": "u64",
5100
+ "name": "takerOrderBaseAssetAmount",
5101
+ "type": {
5102
+ "option": "u128"
5103
+ },
4383
5104
  "index": false
4384
5105
  },
4385
5106
  {
4386
- "name": "baseAssetAmountFilled",
4387
- "type": "u128",
5107
+ "name": "takerOrderBaseAssetAmountFilled",
5108
+ "type": {
5109
+ "option": "u128"
5110
+ },
4388
5111
  "index": false
4389
5112
  },
4390
5113
  {
4391
- "name": "quoteAssetAmountFilled",
4392
- "type": "u128",
5114
+ "name": "takerOrderQuoteAssetAmountFilled",
5115
+ "type": {
5116
+ "option": "u64"
5117
+ },
4393
5118
  "index": false
4394
5119
  },
4395
5120
  {
4396
- "name": "makerRebate",
4397
- "type": "u128",
5121
+ "name": "takerOrderFee",
5122
+ "type": {
5123
+ "option": "i64"
5124
+ },
4398
5125
  "index": false
4399
5126
  },
4400
5127
  {
4401
- "name": "takerFee",
4402
- "type": "u128",
5128
+ "name": "maker",
5129
+ "type": {
5130
+ "option": "publicKey"
5131
+ },
4403
5132
  "index": false
4404
5133
  },
4405
5134
  {
4406
- "name": "fillerReward",
4407
- "type": "u128",
5135
+ "name": "makerOrderId",
5136
+ "type": {
5137
+ "option": "u64"
5138
+ },
4408
5139
  "index": false
4409
5140
  },
4410
5141
  {
4411
- "name": "referrer",
4412
- "type": "publicKey",
5142
+ "name": "makerOrderBaseAssetAmount",
5143
+ "type": {
5144
+ "option": "u128"
5145
+ },
4413
5146
  "index": false
4414
5147
  },
4415
5148
  {
4416
- "name": "referrerReward",
4417
- "type": "u128",
5149
+ "name": "makerOrderBaseAssetAmountFilled",
5150
+ "type": {
5151
+ "option": "u128"
5152
+ },
4418
5153
  "index": false
4419
5154
  },
4420
5155
  {
4421
- "name": "refereeDiscount",
4422
- "type": "u128",
5156
+ "name": "makerOrderQuoteAssetAmountFilled",
5157
+ "type": {
5158
+ "option": "u64"
5159
+ },
4423
5160
  "index": false
4424
5161
  },
4425
5162
  {
4426
- "name": "quoteAssetAmountSurplus",
4427
- "type": "u128",
5163
+ "name": "makerOrderFee",
5164
+ "type": {
5165
+ "option": "i64"
5166
+ },
4428
5167
  "index": false
4429
5168
  },
4430
5169
  {
@@ -4567,6 +5306,123 @@
4567
5306
  "index": false
4568
5307
  }
4569
5308
  ]
5309
+ },
5310
+ {
5311
+ "name": "InsuranceFundRecord",
5312
+ "fields": [
5313
+ {
5314
+ "name": "ts",
5315
+ "type": "i64",
5316
+ "index": false
5317
+ },
5318
+ {
5319
+ "name": "bankIndex",
5320
+ "type": "u64",
5321
+ "index": false
5322
+ },
5323
+ {
5324
+ "name": "userIfFactor",
5325
+ "type": "u32",
5326
+ "index": false
5327
+ },
5328
+ {
5329
+ "name": "totalIfFactor",
5330
+ "type": "u32",
5331
+ "index": false
5332
+ },
5333
+ {
5334
+ "name": "bankVaultAmountBefore",
5335
+ "type": "u64",
5336
+ "index": false
5337
+ },
5338
+ {
5339
+ "name": "insuranceVaultAmountBefore",
5340
+ "type": "u64",
5341
+ "index": false
5342
+ },
5343
+ {
5344
+ "name": "totalIfSharesBefore",
5345
+ "type": "u128",
5346
+ "index": false
5347
+ },
5348
+ {
5349
+ "name": "totalIfSharesAfter",
5350
+ "type": "u128",
5351
+ "index": false
5352
+ },
5353
+ {
5354
+ "name": "amount",
5355
+ "type": "u64",
5356
+ "index": false
5357
+ }
5358
+ ]
5359
+ },
5360
+ {
5361
+ "name": "InsuranceFundStakeRecord",
5362
+ "fields": [
5363
+ {
5364
+ "name": "ts",
5365
+ "type": "i64",
5366
+ "index": false
5367
+ },
5368
+ {
5369
+ "name": "userAuthority",
5370
+ "type": "publicKey",
5371
+ "index": false
5372
+ },
5373
+ {
5374
+ "name": "action",
5375
+ "type": {
5376
+ "defined": "StakeAction"
5377
+ },
5378
+ "index": false
5379
+ },
5380
+ {
5381
+ "name": "amount",
5382
+ "type": "u64",
5383
+ "index": false
5384
+ },
5385
+ {
5386
+ "name": "bankIndex",
5387
+ "type": "u64",
5388
+ "index": false
5389
+ },
5390
+ {
5391
+ "name": "insuranceVaultAmountBefore",
5392
+ "type": "u64",
5393
+ "index": false
5394
+ },
5395
+ {
5396
+ "name": "ifSharesBefore",
5397
+ "type": "u128",
5398
+ "index": false
5399
+ },
5400
+ {
5401
+ "name": "userIfSharesBefore",
5402
+ "type": "u128",
5403
+ "index": false
5404
+ },
5405
+ {
5406
+ "name": "totalIfSharesBefore",
5407
+ "type": "u128",
5408
+ "index": false
5409
+ },
5410
+ {
5411
+ "name": "ifSharesAfter",
5412
+ "type": "u128",
5413
+ "index": false
5414
+ },
5415
+ {
5416
+ "name": "userIfSharesAfter",
5417
+ "type": "u128",
5418
+ "index": false
5419
+ },
5420
+ {
5421
+ "name": "totalIfSharesAfter",
5422
+ "type": "u128",
5423
+ "index": false
5424
+ }
5425
+ ]
4570
5426
  }
4571
5427
  ],
4572
5428
  "errors": [
@@ -4577,8 +5433,8 @@
4577
5433
  },
4578
5434
  {
4579
5435
  "code": 6001,
4580
- "name": "InvalidInsuranceAccountAuthority",
4581
- "msg": "Clearing house not insurance account owner"
5436
+ "name": "InvalidInsuranceFundAuthority",
5437
+ "msg": "Clearing house not insurance fund authority"
4582
5438
  },
4583
5439
  {
4584
5440
  "code": 6002,