@drift-labs/sdk 0.1.36-master.4 → 0.1.36-master.7

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 (41) hide show
  1. package/lib/accounts/bulkAccountLoader.d.ts +1 -0
  2. package/lib/accounts/bulkAccountLoader.js +4 -0
  3. package/lib/addresses.d.ts +1 -0
  4. package/lib/addresses.js +7 -1
  5. package/lib/admin.d.ts +5 -0
  6. package/lib/admin.js +68 -0
  7. package/lib/clearingHouse.d.ts +11 -3
  8. package/lib/clearingHouse.js +130 -4
  9. package/lib/clearingHouseUser.d.ts +5 -1
  10. package/lib/clearingHouseUser.js +28 -0
  11. package/lib/idl/clearing_house.json +988 -727
  12. package/lib/index.d.ts +1 -0
  13. package/lib/index.js +1 -0
  14. package/lib/math/oracles.d.ts +3 -0
  15. package/lib/math/oracles.js +26 -0
  16. package/lib/math/position.d.ts +1 -0
  17. package/lib/math/position.js +19 -1
  18. package/lib/math/trade.d.ts +10 -6
  19. package/lib/math/trade.js +68 -13
  20. package/lib/oracles/pythClient.js +1 -0
  21. package/lib/oracles/switchboardClient.js +3 -0
  22. package/lib/oracles/types.d.ts +1 -0
  23. package/lib/settlement.d.ts +4 -0
  24. package/lib/settlement.js +10 -0
  25. package/lib/types.d.ts +11 -0
  26. package/package.json +1 -1
  27. package/src/accounts/bulkAccountLoader.ts +5 -0
  28. package/src/addresses.ts +11 -0
  29. package/src/admin.ts +83 -0
  30. package/src/clearingHouse.ts +204 -4
  31. package/src/clearingHouseUser.ts +64 -1
  32. package/src/idl/clearing_house.json +988 -727
  33. package/src/index.ts +1 -0
  34. package/src/math/oracles.ts +36 -0
  35. package/src/math/position.ts +22 -0
  36. package/src/math/trade.ts +84 -16
  37. package/src/oracles/pythClient.ts +1 -0
  38. package/src/oracles/switchboardClient.ts +5 -0
  39. package/src/oracles/types.ts +1 -0
  40. package/src/settlement.ts +9 -0
  41. package/src/types.ts +12 -0
@@ -726,7 +726,78 @@
726
726
  "isSigner": false
727
727
  }
728
728
  ],
729
- "args": []
729
+ "args": [
730
+ {
731
+ "name": "bestEffort",
732
+ "type": "bool"
733
+ }
734
+ ]
735
+ },
736
+ {
737
+ "name": "cancelOrdersByMarketAndSide",
738
+ "accounts": [
739
+ {
740
+ "name": "state",
741
+ "isMut": false,
742
+ "isSigner": false
743
+ },
744
+ {
745
+ "name": "orderState",
746
+ "isMut": false,
747
+ "isSigner": false
748
+ },
749
+ {
750
+ "name": "user",
751
+ "isMut": false,
752
+ "isSigner": false
753
+ },
754
+ {
755
+ "name": "authority",
756
+ "isMut": false,
757
+ "isSigner": true
758
+ },
759
+ {
760
+ "name": "markets",
761
+ "isMut": false,
762
+ "isSigner": false
763
+ },
764
+ {
765
+ "name": "userPositions",
766
+ "isMut": true,
767
+ "isSigner": false
768
+ },
769
+ {
770
+ "name": "userOrders",
771
+ "isMut": true,
772
+ "isSigner": false
773
+ },
774
+ {
775
+ "name": "fundingPaymentHistory",
776
+ "isMut": true,
777
+ "isSigner": false
778
+ },
779
+ {
780
+ "name": "orderHistory",
781
+ "isMut": true,
782
+ "isSigner": false
783
+ }
784
+ ],
785
+ "args": [
786
+ {
787
+ "name": "bestEffort",
788
+ "type": "bool"
789
+ },
790
+ {
791
+ "name": "marketIndexOnly",
792
+ "type": "u64"
793
+ },
794
+ {
795
+ "name": "directionOnly",
796
+ "type": {
797
+ "defined": "PositionDirection"
798
+ }
799
+ }
800
+ ]
730
801
  },
731
802
  {
732
803
  "name": "expireOrders",
@@ -2106,116 +2177,300 @@
2106
2177
  "type": "bool"
2107
2178
  }
2108
2179
  ]
2109
- }
2110
- ],
2111
- "accounts": [
2180
+ },
2112
2181
  {
2113
- "name": "CurveHistory",
2114
- "type": {
2115
- "kind": "struct",
2116
- "fields": [
2117
- {
2118
- "name": "head",
2119
- "type": "u64"
2120
- },
2121
- {
2122
- "name": "curveRecords",
2123
- "type": {
2124
- "array": [
2125
- {
2126
- "defined": "CurveRecord"
2127
- },
2128
- 32
2129
- ]
2130
- }
2131
- }
2132
- ]
2133
- }
2182
+ "name": "adminUpdateUserForgoSettlement",
2183
+ "accounts": [
2184
+ {
2185
+ "name": "admin",
2186
+ "isMut": false,
2187
+ "isSigner": true
2188
+ },
2189
+ {
2190
+ "name": "state",
2191
+ "isMut": false,
2192
+ "isSigner": false
2193
+ },
2194
+ {
2195
+ "name": "user",
2196
+ "isMut": true,
2197
+ "isSigner": false
2198
+ }
2199
+ ],
2200
+ "args": []
2134
2201
  },
2135
2202
  {
2136
- "name": "ExtendedCurveHistory",
2137
- "type": {
2138
- "kind": "struct",
2139
- "fields": [
2140
- {
2141
- "name": "head",
2142
- "type": "u64"
2143
- },
2144
- {
2145
- "name": "curveRecords",
2146
- "type": {
2147
- "array": [
2148
- {
2149
- "defined": "ExtendedCurveRecord"
2150
- },
2151
- 1024
2152
- ]
2153
- }
2154
- }
2155
- ]
2156
- }
2203
+ "name": "updateUserForgoSettlement",
2204
+ "accounts": [
2205
+ {
2206
+ "name": "authority",
2207
+ "isMut": false,
2208
+ "isSigner": true
2209
+ },
2210
+ {
2211
+ "name": "user",
2212
+ "isMut": true,
2213
+ "isSigner": false
2214
+ }
2215
+ ],
2216
+ "args": []
2157
2217
  },
2158
2218
  {
2159
- "name": "DepositHistory",
2160
- "type": {
2161
- "kind": "struct",
2162
- "fields": [
2163
- {
2164
- "name": "head",
2165
- "type": "u64"
2166
- },
2167
- {
2168
- "name": "depositRecords",
2169
- "type": {
2170
- "array": [
2171
- {
2172
- "defined": "DepositRecord"
2173
- },
2174
- 1024
2175
- ]
2176
- }
2177
- }
2178
- ]
2179
- }
2219
+ "name": "initializeSettlementState",
2220
+ "accounts": [
2221
+ {
2222
+ "name": "admin",
2223
+ "isMut": true,
2224
+ "isSigner": true
2225
+ },
2226
+ {
2227
+ "name": "state",
2228
+ "isMut": false,
2229
+ "isSigner": false
2230
+ },
2231
+ {
2232
+ "name": "settlementState",
2233
+ "isMut": true,
2234
+ "isSigner": false
2235
+ },
2236
+ {
2237
+ "name": "rent",
2238
+ "isMut": false,
2239
+ "isSigner": false
2240
+ },
2241
+ {
2242
+ "name": "systemProgram",
2243
+ "isMut": false,
2244
+ "isSigner": false
2245
+ },
2246
+ {
2247
+ "name": "collateralVault",
2248
+ "isMut": false,
2249
+ "isSigner": false
2250
+ }
2251
+ ],
2252
+ "args": [
2253
+ {
2254
+ "name": "collateralToBeSettled",
2255
+ "type": "u64"
2256
+ }
2257
+ ]
2180
2258
  },
2181
2259
  {
2182
- "name": "FundingPaymentHistory",
2183
- "type": {
2184
- "kind": "struct",
2185
- "fields": [
2186
- {
2187
- "name": "head",
2188
- "type": "u64"
2189
- },
2190
- {
2191
- "name": "fundingPaymentRecords",
2192
- "type": {
2193
- "array": [
2194
- {
2195
- "defined": "FundingPaymentRecord"
2196
- },
2197
- 1024
2198
- ]
2199
- }
2200
- }
2201
- ]
2202
- }
2260
+ "name": "updateSettlementState",
2261
+ "accounts": [
2262
+ {
2263
+ "name": "admin",
2264
+ "isMut": false,
2265
+ "isSigner": true
2266
+ },
2267
+ {
2268
+ "name": "state",
2269
+ "isMut": false,
2270
+ "isSigner": false
2271
+ },
2272
+ {
2273
+ "name": "settlementState",
2274
+ "isMut": true,
2275
+ "isSigner": false
2276
+ },
2277
+ {
2278
+ "name": "collateralVault",
2279
+ "isMut": false,
2280
+ "isSigner": false
2281
+ }
2282
+ ],
2283
+ "args": []
2203
2284
  },
2204
2285
  {
2205
- "name": "FundingRateHistory",
2206
- "type": {
2207
- "kind": "struct",
2208
- "fields": [
2209
- {
2210
- "name": "head",
2211
- "type": "u64"
2212
- },
2213
- {
2214
- "name": "fundingRateRecords",
2215
- "type": {
2286
+ "name": "updateSettlementStateEnabled",
2287
+ "accounts": [
2288
+ {
2289
+ "name": "admin",
2290
+ "isMut": true,
2291
+ "isSigner": true
2292
+ },
2293
+ {
2294
+ "name": "state",
2295
+ "isMut": false,
2296
+ "isSigner": false
2297
+ },
2298
+ {
2299
+ "name": "settlementState",
2300
+ "isMut": true,
2301
+ "isSigner": false
2302
+ }
2303
+ ],
2304
+ "args": [
2305
+ {
2306
+ "name": "enabled",
2307
+ "type": "bool"
2308
+ }
2309
+ ]
2310
+ },
2311
+ {
2312
+ "name": "settlePosition",
2313
+ "accounts": [
2314
+ {
2315
+ "name": "state",
2316
+ "isMut": false,
2317
+ "isSigner": false
2318
+ },
2319
+ {
2320
+ "name": "settlementState",
2321
+ "isMut": true,
2322
+ "isSigner": false
2323
+ },
2324
+ {
2325
+ "name": "user",
2326
+ "isMut": true,
2327
+ "isSigner": false
2328
+ },
2329
+ {
2330
+ "name": "authority",
2331
+ "isMut": false,
2332
+ "isSigner": true
2333
+ },
2334
+ {
2335
+ "name": "userPositions",
2336
+ "isMut": true,
2337
+ "isSigner": false
2338
+ },
2339
+ {
2340
+ "name": "markets",
2341
+ "isMut": false,
2342
+ "isSigner": false
2343
+ },
2344
+ {
2345
+ "name": "fundingPaymentHistory",
2346
+ "isMut": true,
2347
+ "isSigner": false
2348
+ }
2349
+ ],
2350
+ "args": []
2351
+ },
2352
+ {
2353
+ "name": "claimCollateral",
2354
+ "accounts": [
2355
+ {
2356
+ "name": "state",
2357
+ "isMut": false,
2358
+ "isSigner": false
2359
+ },
2360
+ {
2361
+ "name": "settlementState",
2362
+ "isMut": true,
2363
+ "isSigner": false
2364
+ },
2365
+ {
2366
+ "name": "user",
2367
+ "isMut": true,
2368
+ "isSigner": false
2369
+ },
2370
+ {
2371
+ "name": "authority",
2372
+ "isMut": false,
2373
+ "isSigner": true
2374
+ },
2375
+ {
2376
+ "name": "collateralVault",
2377
+ "isMut": true,
2378
+ "isSigner": false
2379
+ },
2380
+ {
2381
+ "name": "collateralVaultAuthority",
2382
+ "isMut": false,
2383
+ "isSigner": false
2384
+ },
2385
+ {
2386
+ "name": "userCollateralAccount",
2387
+ "isMut": true,
2388
+ "isSigner": false
2389
+ },
2390
+ {
2391
+ "name": "tokenProgram",
2392
+ "isMut": false,
2393
+ "isSigner": false
2394
+ }
2395
+ ],
2396
+ "args": []
2397
+ },
2398
+ {
2399
+ "name": "transferFromInsuranceVaultToCollateralVault",
2400
+ "accounts": [
2401
+ {
2402
+ "name": "state",
2403
+ "isMut": false,
2404
+ "isSigner": false
2405
+ },
2406
+ {
2407
+ "name": "admin",
2408
+ "isMut": false,
2409
+ "isSigner": true
2410
+ },
2411
+ {
2412
+ "name": "collateralVault",
2413
+ "isMut": true,
2414
+ "isSigner": false
2415
+ },
2416
+ {
2417
+ "name": "insuranceVault",
2418
+ "isMut": true,
2419
+ "isSigner": false
2420
+ },
2421
+ {
2422
+ "name": "insuranceVaultAuthority",
2423
+ "isMut": false,
2424
+ "isSigner": false
2425
+ },
2426
+ {
2427
+ "name": "tokenProgram",
2428
+ "isMut": false,
2429
+ "isSigner": false
2430
+ }
2431
+ ],
2432
+ "args": []
2433
+ }
2434
+ ],
2435
+ "accounts": [
2436
+ {
2437
+ "name": "CurveHistory",
2438
+ "type": {
2439
+ "kind": "struct",
2440
+ "fields": [
2441
+ {
2442
+ "name": "head",
2443
+ "type": "u64"
2444
+ },
2445
+ {
2446
+ "name": "curveRecords",
2447
+ "type": {
2216
2448
  "array": [
2217
2449
  {
2218
- "defined": "FundingRateRecord"
2450
+ "defined": "CurveRecord"
2451
+ },
2452
+ 32
2453
+ ]
2454
+ }
2455
+ }
2456
+ ]
2457
+ }
2458
+ },
2459
+ {
2460
+ "name": "ExtendedCurveHistory",
2461
+ "type": {
2462
+ "kind": "struct",
2463
+ "fields": [
2464
+ {
2465
+ "name": "head",
2466
+ "type": "u64"
2467
+ },
2468
+ {
2469
+ "name": "curveRecords",
2470
+ "type": {
2471
+ "array": [
2472
+ {
2473
+ "defined": "ExtendedCurveRecord"
2219
2474
  },
2220
2475
  1024
2221
2476
  ]
@@ -2225,7 +2480,7 @@
2225
2480
  }
2226
2481
  },
2227
2482
  {
2228
- "name": "LiquidationHistory",
2483
+ "name": "DepositHistory",
2229
2484
  "type": {
2230
2485
  "kind": "struct",
2231
2486
  "fields": [
@@ -2234,11 +2489,11 @@
2234
2489
  "type": "u64"
2235
2490
  },
2236
2491
  {
2237
- "name": "liquidationRecords",
2492
+ "name": "depositRecords",
2238
2493
  "type": {
2239
2494
  "array": [
2240
2495
  {
2241
- "defined": "LiquidationRecord"
2496
+ "defined": "DepositRecord"
2242
2497
  },
2243
2498
  1024
2244
2499
  ]
@@ -2248,7 +2503,7 @@
2248
2503
  }
2249
2504
  },
2250
2505
  {
2251
- "name": "OrderHistory",
2506
+ "name": "FundingPaymentHistory",
2252
2507
  "type": {
2253
2508
  "kind": "struct",
2254
2509
  "fields": [
@@ -2257,15 +2512,34 @@
2257
2512
  "type": "u64"
2258
2513
  },
2259
2514
  {
2260
- "name": "lastOrderId",
2261
- "type": "u128"
2515
+ "name": "fundingPaymentRecords",
2516
+ "type": {
2517
+ "array": [
2518
+ {
2519
+ "defined": "FundingPaymentRecord"
2520
+ },
2521
+ 1024
2522
+ ]
2523
+ }
2524
+ }
2525
+ ]
2526
+ }
2527
+ },
2528
+ {
2529
+ "name": "FundingRateHistory",
2530
+ "type": {
2531
+ "kind": "struct",
2532
+ "fields": [
2533
+ {
2534
+ "name": "head",
2535
+ "type": "u64"
2262
2536
  },
2263
2537
  {
2264
- "name": "orderRecords",
2538
+ "name": "fundingRateRecords",
2265
2539
  "type": {
2266
2540
  "array": [
2267
2541
  {
2268
- "defined": "OrderRecord"
2542
+ "defined": "FundingRateRecord"
2269
2543
  },
2270
2544
  1024
2271
2545
  ]
@@ -2275,7 +2549,7 @@
2275
2549
  }
2276
2550
  },
2277
2551
  {
2278
- "name": "TradeHistory",
2552
+ "name": "LiquidationHistory",
2279
2553
  "type": {
2280
2554
  "kind": "struct",
2281
2555
  "fields": [
@@ -2284,11 +2558,11 @@
2284
2558
  "type": "u64"
2285
2559
  },
2286
2560
  {
2287
- "name": "tradeRecords",
2561
+ "name": "liquidationRecords",
2288
2562
  "type": {
2289
2563
  "array": [
2290
2564
  {
2291
- "defined": "TradeRecord"
2565
+ "defined": "LiquidationRecord"
2292
2566
  },
2293
2567
  1024
2294
2568
  ]
@@ -2316,6 +2590,33 @@
2316
2590
  ]
2317
2591
  }
2318
2592
  },
2593
+ {
2594
+ "name": "OrderHistory",
2595
+ "type": {
2596
+ "kind": "struct",
2597
+ "fields": [
2598
+ {
2599
+ "name": "head",
2600
+ "type": "u64"
2601
+ },
2602
+ {
2603
+ "name": "lastOrderId",
2604
+ "type": "u128"
2605
+ },
2606
+ {
2607
+ "name": "orderRecords",
2608
+ "type": {
2609
+ "array": [
2610
+ {
2611
+ "defined": "OrderRecord"
2612
+ },
2613
+ 1024
2614
+ ]
2615
+ }
2616
+ }
2617
+ ]
2618
+ }
2619
+ },
2319
2620
  {
2320
2621
  "name": "OrderState",
2321
2622
  "type": {
@@ -2348,21 +2649,45 @@
2348
2649
  }
2349
2650
  },
2350
2651
  {
2351
- "name": "State",
2652
+ "name": "SettlementState",
2352
2653
  "type": {
2353
2654
  "kind": "struct",
2354
2655
  "fields": [
2355
2656
  {
2356
- "name": "admin",
2357
- "type": "publicKey"
2657
+ "name": "totalSettlementValue",
2658
+ "type": "u64"
2358
2659
  },
2359
2660
  {
2360
- "name": "exchangePaused",
2361
- "type": "bool"
2661
+ "name": "collateralAvailableToClaim",
2662
+ "type": "u64"
2362
2663
  },
2363
2664
  {
2364
- "name": "fundingPaused",
2365
- "type": "bool"
2665
+ "name": "collateralClaimed",
2666
+ "type": "u64"
2667
+ },
2668
+ {
2669
+ "name": "enabled",
2670
+ "type": "bool"
2671
+ }
2672
+ ]
2673
+ }
2674
+ },
2675
+ {
2676
+ "name": "State",
2677
+ "type": {
2678
+ "kind": "struct",
2679
+ "fields": [
2680
+ {
2681
+ "name": "admin",
2682
+ "type": "publicKey"
2683
+ },
2684
+ {
2685
+ "name": "exchangePaused",
2686
+ "type": "bool"
2687
+ },
2688
+ {
2689
+ "name": "fundingPaused",
2690
+ "type": "bool"
2366
2691
  },
2367
2692
  {
2368
2693
  "name": "adminControlsPrices",
@@ -2520,22 +2845,22 @@
2520
2845
  }
2521
2846
  },
2522
2847
  {
2523
- "name": "UserOrders",
2848
+ "name": "TradeHistory",
2524
2849
  "type": {
2525
2850
  "kind": "struct",
2526
2851
  "fields": [
2527
2852
  {
2528
- "name": "user",
2529
- "type": "publicKey"
2853
+ "name": "head",
2854
+ "type": "u64"
2530
2855
  },
2531
2856
  {
2532
- "name": "orders",
2857
+ "name": "tradeRecords",
2533
2858
  "type": {
2534
2859
  "array": [
2535
2860
  {
2536
- "defined": "Order"
2861
+ "defined": "TradeRecord"
2537
2862
  },
2538
- 32
2863
+ 1024
2539
2864
  ]
2540
2865
  }
2541
2866
  }
@@ -2584,20 +2909,37 @@
2584
2909
  "type": "publicKey"
2585
2910
  },
2586
2911
  {
2587
- "name": "padding0",
2912
+ "name": "settledPositionValue",
2588
2913
  "type": "u128"
2589
2914
  },
2590
2915
  {
2591
- "name": "padding1",
2592
- "type": "u128"
2916
+ "name": "collateralClaimed",
2917
+ "type": "u64"
2593
2918
  },
2594
2919
  {
2595
- "name": "padding2",
2596
- "type": "u128"
2920
+ "name": "lastCollateralAvailableToClaim",
2921
+ "type": "u64"
2597
2922
  },
2598
2923
  {
2599
- "name": "padding3",
2924
+ "name": "forgoPositionSettlement",
2925
+ "type": "u8"
2926
+ },
2927
+ {
2928
+ "name": "hasSettledPosition",
2929
+ "type": "u8"
2930
+ },
2931
+ {
2932
+ "name": "padding1",
2600
2933
  "type": "u128"
2934
+ },
2935
+ {
2936
+ "name": "padding2",
2937
+ "type": {
2938
+ "array": [
2939
+ "u8",
2940
+ 14
2941
+ ]
2942
+ }
2601
2943
  }
2602
2944
  ]
2603
2945
  }
@@ -2624,6 +2966,29 @@
2624
2966
  }
2625
2967
  ]
2626
2968
  }
2969
+ },
2970
+ {
2971
+ "name": "UserOrders",
2972
+ "type": {
2973
+ "kind": "struct",
2974
+ "fields": [
2975
+ {
2976
+ "name": "user",
2977
+ "type": "publicKey"
2978
+ },
2979
+ {
2980
+ "name": "orders",
2981
+ "type": {
2982
+ "array": [
2983
+ {
2984
+ "defined": "Order"
2985
+ },
2986
+ 32
2987
+ ]
2988
+ }
2989
+ }
2990
+ ]
2991
+ }
2627
2992
  }
2628
2993
  ],
2629
2994
  "types": [
@@ -3134,153 +3499,6 @@
3134
3499
  ]
3135
3500
  }
3136
3501
  },
3137
- {
3138
- "name": "OrderRecord",
3139
- "type": {
3140
- "kind": "struct",
3141
- "fields": [
3142
- {
3143
- "name": "ts",
3144
- "type": "i64"
3145
- },
3146
- {
3147
- "name": "recordId",
3148
- "type": "u128"
3149
- },
3150
- {
3151
- "name": "user",
3152
- "type": "publicKey"
3153
- },
3154
- {
3155
- "name": "authority",
3156
- "type": "publicKey"
3157
- },
3158
- {
3159
- "name": "order",
3160
- "type": {
3161
- "defined": "Order"
3162
- }
3163
- },
3164
- {
3165
- "name": "action",
3166
- "type": {
3167
- "defined": "OrderAction"
3168
- }
3169
- },
3170
- {
3171
- "name": "filler",
3172
- "type": "publicKey"
3173
- },
3174
- {
3175
- "name": "tradeRecordId",
3176
- "type": "u128"
3177
- },
3178
- {
3179
- "name": "baseAssetAmountFilled",
3180
- "type": "u128"
3181
- },
3182
- {
3183
- "name": "quoteAssetAmountFilled",
3184
- "type": "u128"
3185
- },
3186
- {
3187
- "name": "fee",
3188
- "type": "i128"
3189
- },
3190
- {
3191
- "name": "fillerReward",
3192
- "type": "u128"
3193
- },
3194
- {
3195
- "name": "quoteAssetAmountSurplus",
3196
- "type": "u128"
3197
- },
3198
- {
3199
- "name": "padding",
3200
- "type": {
3201
- "array": [
3202
- "u64",
3203
- 8
3204
- ]
3205
- }
3206
- }
3207
- ]
3208
- }
3209
- },
3210
- {
3211
- "name": "TradeRecord",
3212
- "type": {
3213
- "kind": "struct",
3214
- "fields": [
3215
- {
3216
- "name": "ts",
3217
- "type": "i64"
3218
- },
3219
- {
3220
- "name": "recordId",
3221
- "type": "u128"
3222
- },
3223
- {
3224
- "name": "userAuthority",
3225
- "type": "publicKey"
3226
- },
3227
- {
3228
- "name": "user",
3229
- "type": "publicKey"
3230
- },
3231
- {
3232
- "name": "direction",
3233
- "type": {
3234
- "defined": "PositionDirection"
3235
- }
3236
- },
3237
- {
3238
- "name": "baseAssetAmount",
3239
- "type": "u128"
3240
- },
3241
- {
3242
- "name": "quoteAssetAmount",
3243
- "type": "u128"
3244
- },
3245
- {
3246
- "name": "markPriceBefore",
3247
- "type": "u128"
3248
- },
3249
- {
3250
- "name": "markPriceAfter",
3251
- "type": "u128"
3252
- },
3253
- {
3254
- "name": "fee",
3255
- "type": "i128"
3256
- },
3257
- {
3258
- "name": "quoteAssetAmountSurplus",
3259
- "type": "u128"
3260
- },
3261
- {
3262
- "name": "refereeDiscount",
3263
- "type": "u128"
3264
- },
3265
- {
3266
- "name": "tokenDiscount",
3267
- "type": "u128"
3268
- },
3269
- {
3270
- "name": "liquidation",
3271
- "type": "bool"
3272
- },
3273
- {
3274
- "name": "marketIndex",
3275
- "type": "u64"
3276
- },
3277
- {
3278
- "name": "oraclePrice",
3279
- "type": "i128"
3280
- }
3281
- ]
3282
- }
3283
- },
3284
3502
  {
3285
3503
  "name": "Market",
3286
3504
  "type": {
@@ -3470,35 +3688,108 @@
3470
3688
  }
3471
3689
  },
3472
3690
  {
3473
- "name": "OrderFillerRewardStructure",
3691
+ "name": "OrderRecord",
3474
3692
  "type": {
3475
3693
  "kind": "struct",
3476
3694
  "fields": [
3477
3695
  {
3478
- "name": "rewardNumerator",
3479
- "type": "u128"
3696
+ "name": "ts",
3697
+ "type": "i64"
3480
3698
  },
3481
3699
  {
3482
- "name": "rewardDenominator",
3700
+ "name": "recordId",
3483
3701
  "type": "u128"
3484
3702
  },
3485
3703
  {
3486
- "name": "timeBasedRewardLowerBound",
3487
- "type": "u128"
3488
- }
3489
- ]
3490
- }
3491
- },
3492
- {
3493
- "name": "OracleGuardRails",
3494
- "type": {
3495
- "kind": "struct",
3496
- "fields": [
3704
+ "name": "user",
3705
+ "type": "publicKey"
3706
+ },
3497
3707
  {
3498
- "name": "priceDivergence",
3499
- "type": {
3500
- "defined": "PriceDivergenceGuardRails"
3501
- }
3708
+ "name": "authority",
3709
+ "type": "publicKey"
3710
+ },
3711
+ {
3712
+ "name": "order",
3713
+ "type": {
3714
+ "defined": "Order"
3715
+ }
3716
+ },
3717
+ {
3718
+ "name": "action",
3719
+ "type": {
3720
+ "defined": "OrderAction"
3721
+ }
3722
+ },
3723
+ {
3724
+ "name": "filler",
3725
+ "type": "publicKey"
3726
+ },
3727
+ {
3728
+ "name": "tradeRecordId",
3729
+ "type": "u128"
3730
+ },
3731
+ {
3732
+ "name": "baseAssetAmountFilled",
3733
+ "type": "u128"
3734
+ },
3735
+ {
3736
+ "name": "quoteAssetAmountFilled",
3737
+ "type": "u128"
3738
+ },
3739
+ {
3740
+ "name": "fee",
3741
+ "type": "i128"
3742
+ },
3743
+ {
3744
+ "name": "fillerReward",
3745
+ "type": "u128"
3746
+ },
3747
+ {
3748
+ "name": "quoteAssetAmountSurplus",
3749
+ "type": "u128"
3750
+ },
3751
+ {
3752
+ "name": "padding",
3753
+ "type": {
3754
+ "array": [
3755
+ "u64",
3756
+ 8
3757
+ ]
3758
+ }
3759
+ }
3760
+ ]
3761
+ }
3762
+ },
3763
+ {
3764
+ "name": "OrderFillerRewardStructure",
3765
+ "type": {
3766
+ "kind": "struct",
3767
+ "fields": [
3768
+ {
3769
+ "name": "rewardNumerator",
3770
+ "type": "u128"
3771
+ },
3772
+ {
3773
+ "name": "rewardDenominator",
3774
+ "type": "u128"
3775
+ },
3776
+ {
3777
+ "name": "timeBasedRewardLowerBound",
3778
+ "type": "u128"
3779
+ }
3780
+ ]
3781
+ }
3782
+ },
3783
+ {
3784
+ "name": "OracleGuardRails",
3785
+ "type": {
3786
+ "kind": "struct",
3787
+ "fields": [
3788
+ {
3789
+ "name": "priceDivergence",
3790
+ "type": {
3791
+ "defined": "PriceDivergenceGuardRails"
3792
+ }
3502
3793
  },
3503
3794
  {
3504
3795
  "name": "validity",
@@ -3653,6 +3944,144 @@
3653
3944
  ]
3654
3945
  }
3655
3946
  },
3947
+ {
3948
+ "name": "TradeRecord",
3949
+ "type": {
3950
+ "kind": "struct",
3951
+ "fields": [
3952
+ {
3953
+ "name": "ts",
3954
+ "type": "i64"
3955
+ },
3956
+ {
3957
+ "name": "recordId",
3958
+ "type": "u128"
3959
+ },
3960
+ {
3961
+ "name": "userAuthority",
3962
+ "type": "publicKey"
3963
+ },
3964
+ {
3965
+ "name": "user",
3966
+ "type": "publicKey"
3967
+ },
3968
+ {
3969
+ "name": "direction",
3970
+ "type": {
3971
+ "defined": "PositionDirection"
3972
+ }
3973
+ },
3974
+ {
3975
+ "name": "baseAssetAmount",
3976
+ "type": "u128"
3977
+ },
3978
+ {
3979
+ "name": "quoteAssetAmount",
3980
+ "type": "u128"
3981
+ },
3982
+ {
3983
+ "name": "markPriceBefore",
3984
+ "type": "u128"
3985
+ },
3986
+ {
3987
+ "name": "markPriceAfter",
3988
+ "type": "u128"
3989
+ },
3990
+ {
3991
+ "name": "fee",
3992
+ "type": "i128"
3993
+ },
3994
+ {
3995
+ "name": "quoteAssetAmountSurplus",
3996
+ "type": "u128"
3997
+ },
3998
+ {
3999
+ "name": "refereeDiscount",
4000
+ "type": "u128"
4001
+ },
4002
+ {
4003
+ "name": "tokenDiscount",
4004
+ "type": "u128"
4005
+ },
4006
+ {
4007
+ "name": "liquidation",
4008
+ "type": "bool"
4009
+ },
4010
+ {
4011
+ "name": "marketIndex",
4012
+ "type": "u64"
4013
+ },
4014
+ {
4015
+ "name": "oraclePrice",
4016
+ "type": "i128"
4017
+ }
4018
+ ]
4019
+ }
4020
+ },
4021
+ {
4022
+ "name": "MarketPosition",
4023
+ "type": {
4024
+ "kind": "struct",
4025
+ "fields": [
4026
+ {
4027
+ "name": "marketIndex",
4028
+ "type": "u64"
4029
+ },
4030
+ {
4031
+ "name": "baseAssetAmount",
4032
+ "type": "i128"
4033
+ },
4034
+ {
4035
+ "name": "quoteAssetAmount",
4036
+ "type": "u128"
4037
+ },
4038
+ {
4039
+ "name": "lastCumulativeFundingRate",
4040
+ "type": "i128"
4041
+ },
4042
+ {
4043
+ "name": "lastCumulativeRepegRebate",
4044
+ "type": "u128"
4045
+ },
4046
+ {
4047
+ "name": "lastFundingRateTs",
4048
+ "type": "i64"
4049
+ },
4050
+ {
4051
+ "name": "openOrders",
4052
+ "type": "u128"
4053
+ },
4054
+ {
4055
+ "name": "padding0",
4056
+ "type": "u128"
4057
+ },
4058
+ {
4059
+ "name": "padding1",
4060
+ "type": "u128"
4061
+ },
4062
+ {
4063
+ "name": "padding2",
4064
+ "type": "u128"
4065
+ },
4066
+ {
4067
+ "name": "padding3",
4068
+ "type": "u128"
4069
+ },
4070
+ {
4071
+ "name": "padding4",
4072
+ "type": "u128"
4073
+ },
4074
+ {
4075
+ "name": "padding5",
4076
+ "type": "u128"
4077
+ },
4078
+ {
4079
+ "name": "padding6",
4080
+ "type": "u128"
4081
+ }
4082
+ ]
4083
+ }
4084
+ },
3656
4085
  {
3657
4086
  "name": "Order",
3658
4087
  "type": {
@@ -3687,175 +4116,328 @@
3687
4116
  "type": "u64"
3688
4117
  },
3689
4118
  {
3690
- "name": "price",
3691
- "type": "u128"
4119
+ "name": "price",
4120
+ "type": "u128"
4121
+ },
4122
+ {
4123
+ "name": "userBaseAssetAmount",
4124
+ "type": "i128"
4125
+ },
4126
+ {
4127
+ "name": "quoteAssetAmount",
4128
+ "type": "u128"
4129
+ },
4130
+ {
4131
+ "name": "baseAssetAmount",
4132
+ "type": "u128"
4133
+ },
4134
+ {
4135
+ "name": "baseAssetAmountFilled",
4136
+ "type": "u128"
4137
+ },
4138
+ {
4139
+ "name": "quoteAssetAmountFilled",
4140
+ "type": "u128"
4141
+ },
4142
+ {
4143
+ "name": "fee",
4144
+ "type": "i128"
4145
+ },
4146
+ {
4147
+ "name": "direction",
4148
+ "type": {
4149
+ "defined": "PositionDirection"
4150
+ }
4151
+ },
4152
+ {
4153
+ "name": "reduceOnly",
4154
+ "type": "bool"
4155
+ },
4156
+ {
4157
+ "name": "postOnly",
4158
+ "type": "bool"
4159
+ },
4160
+ {
4161
+ "name": "immediateOrCancel",
4162
+ "type": "bool"
4163
+ },
4164
+ {
4165
+ "name": "discountTier",
4166
+ "type": {
4167
+ "defined": "OrderDiscountTier"
4168
+ }
4169
+ },
4170
+ {
4171
+ "name": "triggerPrice",
4172
+ "type": "u128"
4173
+ },
4174
+ {
4175
+ "name": "triggerCondition",
4176
+ "type": {
4177
+ "defined": "OrderTriggerCondition"
4178
+ }
4179
+ },
4180
+ {
4181
+ "name": "referrer",
4182
+ "type": "publicKey"
4183
+ },
4184
+ {
4185
+ "name": "oraclePriceOffset",
4186
+ "type": "i128"
4187
+ },
4188
+ {
4189
+ "name": "padding",
4190
+ "type": {
4191
+ "array": [
4192
+ "u16",
4193
+ 3
4194
+ ]
4195
+ }
4196
+ }
4197
+ ]
4198
+ }
4199
+ },
4200
+ {
4201
+ "name": "SwapDirection",
4202
+ "type": {
4203
+ "kind": "enum",
4204
+ "variants": [
4205
+ {
4206
+ "name": "Add"
4207
+ },
4208
+ {
4209
+ "name": "Remove"
4210
+ }
4211
+ ]
4212
+ }
4213
+ },
4214
+ {
4215
+ "name": "Type",
4216
+ "type": {
4217
+ "kind": "enum",
4218
+ "variants": [
4219
+ {
4220
+ "name": "Repeg"
4221
+ },
4222
+ {
4223
+ "name": "UpdateK"
4224
+ }
4225
+ ]
4226
+ }
4227
+ },
4228
+ {
4229
+ "name": "DepositDirection",
4230
+ "type": {
4231
+ "kind": "enum",
4232
+ "variants": [
4233
+ {
4234
+ "name": "DEPOSIT"
4235
+ },
4236
+ {
4237
+ "name": "WITHDRAW"
4238
+ }
4239
+ ]
4240
+ }
4241
+ },
4242
+ {
4243
+ "name": "ErrorCode",
4244
+ "type": {
4245
+ "kind": "enum",
4246
+ "variants": [
4247
+ {
4248
+ "name": "InvalidCollateralAccountAuthority"
4249
+ },
4250
+ {
4251
+ "name": "InvalidInsuranceAccountAuthority"
4252
+ },
4253
+ {
4254
+ "name": "InsufficientDeposit"
4255
+ },
4256
+ {
4257
+ "name": "InsufficientCollateral"
4258
+ },
4259
+ {
4260
+ "name": "SufficientCollateral"
4261
+ },
4262
+ {
4263
+ "name": "MaxNumberOfPositions"
4264
+ },
4265
+ {
4266
+ "name": "AdminControlsPricesDisabled"
4267
+ },
4268
+ {
4269
+ "name": "MarketIndexNotInitialized"
4270
+ },
4271
+ {
4272
+ "name": "MarketIndexAlreadyInitialized"
4273
+ },
4274
+ {
4275
+ "name": "UserAccountAndUserPositionsAccountMismatch"
4276
+ },
4277
+ {
4278
+ "name": "UserHasNoPositionInMarket"
4279
+ },
4280
+ {
4281
+ "name": "InvalidInitialPeg"
4282
+ },
4283
+ {
4284
+ "name": "InvalidRepegRedundant"
4285
+ },
4286
+ {
4287
+ "name": "InvalidRepegDirection"
4288
+ },
4289
+ {
4290
+ "name": "InvalidRepegProfitability"
4291
+ },
4292
+ {
4293
+ "name": "SlippageOutsideLimit"
4294
+ },
4295
+ {
4296
+ "name": "TradeSizeTooSmall"
4297
+ },
4298
+ {
4299
+ "name": "InvalidUpdateK"
4300
+ },
4301
+ {
4302
+ "name": "AdminWithdrawTooLarge"
4303
+ },
4304
+ {
4305
+ "name": "MathError"
4306
+ },
4307
+ {
4308
+ "name": "BnConversionError"
4309
+ },
4310
+ {
4311
+ "name": "ClockUnavailable"
4312
+ },
4313
+ {
4314
+ "name": "UnableToLoadOracle"
4315
+ },
4316
+ {
4317
+ "name": "OracleMarkSpreadLimit"
4318
+ },
4319
+ {
4320
+ "name": "HistoryAlreadyInitialized"
4321
+ },
4322
+ {
4323
+ "name": "ExchangePaused"
4324
+ },
4325
+ {
4326
+ "name": "InvalidWhitelistToken"
4327
+ },
4328
+ {
4329
+ "name": "WhitelistTokenNotFound"
4330
+ },
4331
+ {
4332
+ "name": "InvalidDiscountToken"
4333
+ },
4334
+ {
4335
+ "name": "DiscountTokenNotFound"
4336
+ },
4337
+ {
4338
+ "name": "InvalidReferrer"
3692
4339
  },
3693
4340
  {
3694
- "name": "userBaseAssetAmount",
3695
- "type": "i128"
4341
+ "name": "ReferrerNotFound"
3696
4342
  },
3697
4343
  {
3698
- "name": "quoteAssetAmount",
3699
- "type": "u128"
4344
+ "name": "InvalidOracle"
3700
4345
  },
3701
4346
  {
3702
- "name": "baseAssetAmount",
3703
- "type": "u128"
4347
+ "name": "OracleNotFound"
3704
4348
  },
3705
4349
  {
3706
- "name": "baseAssetAmountFilled",
3707
- "type": "u128"
4350
+ "name": "LiquidationsBlockedByOracle"
3708
4351
  },
3709
4352
  {
3710
- "name": "quoteAssetAmountFilled",
3711
- "type": "u128"
4353
+ "name": "UserMaxDeposit"
3712
4354
  },
3713
4355
  {
3714
- "name": "fee",
3715
- "type": "i128"
4356
+ "name": "CantDeleteUserWithCollateral"
3716
4357
  },
3717
4358
  {
3718
- "name": "direction",
3719
- "type": {
3720
- "defined": "PositionDirection"
3721
- }
4359
+ "name": "InvalidFundingProfitability"
3722
4360
  },
3723
4361
  {
3724
- "name": "reduceOnly",
3725
- "type": "bool"
4362
+ "name": "CastingFailure"
3726
4363
  },
3727
4364
  {
3728
- "name": "postOnly",
3729
- "type": "bool"
4365
+ "name": "InvalidOrder"
3730
4366
  },
3731
4367
  {
3732
- "name": "immediateOrCancel",
3733
- "type": "bool"
4368
+ "name": "UserHasNoOrder"
3734
4369
  },
3735
4370
  {
3736
- "name": "discountTier",
3737
- "type": {
3738
- "defined": "OrderDiscountTier"
3739
- }
4371
+ "name": "OrderAmountTooSmall"
3740
4372
  },
3741
4373
  {
3742
- "name": "triggerPrice",
3743
- "type": "u128"
4374
+ "name": "MaxNumberOfOrders"
3744
4375
  },
3745
4376
  {
3746
- "name": "triggerCondition",
3747
- "type": {
3748
- "defined": "OrderTriggerCondition"
3749
- }
4377
+ "name": "OrderDoesNotExist"
3750
4378
  },
3751
4379
  {
3752
- "name": "referrer",
3753
- "type": "publicKey"
4380
+ "name": "OrderNotOpen"
3754
4381
  },
3755
4382
  {
3756
- "name": "oraclePriceOffset",
3757
- "type": "i128"
4383
+ "name": "CouldNotFillOrder"
3758
4384
  },
3759
4385
  {
3760
- "name": "padding",
3761
- "type": {
3762
- "array": [
3763
- "u16",
3764
- 3
3765
- ]
3766
- }
3767
- }
3768
- ]
3769
- }
3770
- },
3771
- {
3772
- "name": "MarketPosition",
3773
- "type": {
3774
- "kind": "struct",
3775
- "fields": [
4386
+ "name": "ReduceOnlyOrderIncreasedRisk"
4387
+ },
3776
4388
  {
3777
- "name": "marketIndex",
3778
- "type": "u64"
4389
+ "name": "OrderStateAlreadyInitialized"
3779
4390
  },
3780
4391
  {
3781
- "name": "baseAssetAmount",
3782
- "type": "i128"
4392
+ "name": "UnableToLoadAccountLoader"
3783
4393
  },
3784
4394
  {
3785
- "name": "quoteAssetAmount",
3786
- "type": "u128"
4395
+ "name": "TradeSizeTooLarge"
3787
4396
  },
3788
4397
  {
3789
- "name": "lastCumulativeFundingRate",
3790
- "type": "i128"
4398
+ "name": "UnableToWriteToRemainingAccount"
3791
4399
  },
3792
4400
  {
3793
- "name": "lastCumulativeRepegRebate",
3794
- "type": "u128"
4401
+ "name": "UserCantReferThemselves"
3795
4402
  },
3796
4403
  {
3797
- "name": "lastFundingRateTs",
3798
- "type": "i64"
4404
+ "name": "DidNotReceiveExpectedReferrer"
3799
4405
  },
3800
4406
  {
3801
- "name": "openOrders",
3802
- "type": "u128"
4407
+ "name": "CouldNotDeserializeReferrer"
3803
4408
  },
3804
4409
  {
3805
- "name": "padding0",
3806
- "type": "u128"
4410
+ "name": "MarketOrderMustBeInPlaceAndFill"
3807
4411
  },
3808
4412
  {
3809
- "name": "padding1",
3810
- "type": "u128"
4413
+ "name": "UserOrderIdAlreadyInUse"
3811
4414
  },
3812
4415
  {
3813
- "name": "padding2",
3814
- "type": "u128"
4416
+ "name": "NoPositionsLiquidatable"
3815
4417
  },
3816
4418
  {
3817
- "name": "padding3",
3818
- "type": "u128"
4419
+ "name": "InvalidMarginRatio"
3819
4420
  },
3820
4421
  {
3821
- "name": "padding4",
3822
- "type": "u128"
4422
+ "name": "CantCancelPostOnlyOrder"
3823
4423
  },
3824
4424
  {
3825
- "name": "padding5",
3826
- "type": "u128"
4425
+ "name": "InvalidOracleOffset"
3827
4426
  },
3828
4427
  {
3829
- "name": "padding6",
3830
- "type": "u128"
3831
- }
3832
- ]
3833
- }
3834
- },
3835
- {
3836
- "name": "SwapDirection",
3837
- "type": {
3838
- "kind": "enum",
3839
- "variants": [
4428
+ "name": "CantExpireOrders"
4429
+ },
3840
4430
  {
3841
- "name": "Add"
4431
+ "name": "UserMustForgoSettlement"
3842
4432
  },
3843
4433
  {
3844
- "name": "Remove"
3845
- }
3846
- ]
3847
- }
3848
- },
3849
- {
3850
- "name": "PositionDirection",
3851
- "type": {
3852
- "kind": "enum",
3853
- "variants": [
4434
+ "name": "NoAvailableCollateralToBeClaimed"
4435
+ },
3854
4436
  {
3855
- "name": "Long"
4437
+ "name": "SettlementNotEnabled"
3856
4438
  },
3857
4439
  {
3858
- "name": "Short"
4440
+ "name": "MustCallSettlePositionFirst"
3859
4441
  }
3860
4442
  ]
3861
4443
  }
@@ -3895,29 +4477,15 @@
3895
4477
  }
3896
4478
  },
3897
4479
  {
3898
- "name": "Type",
3899
- "type": {
3900
- "kind": "enum",
3901
- "variants": [
3902
- {
3903
- "name": "Repeg"
3904
- },
3905
- {
3906
- "name": "UpdateK"
3907
- }
3908
- ]
3909
- }
3910
- },
3911
- {
3912
- "name": "DepositDirection",
4480
+ "name": "OracleSource",
3913
4481
  "type": {
3914
4482
  "kind": "enum",
3915
4483
  "variants": [
3916
4484
  {
3917
- "name": "DEPOSIT"
4485
+ "name": "Pyth"
3918
4486
  },
3919
4487
  {
3920
- "name": "WITHDRAW"
4488
+ "name": "Switchboard"
3921
4489
  }
3922
4490
  ]
3923
4491
  }
@@ -3943,15 +4511,15 @@
3943
4511
  }
3944
4512
  },
3945
4513
  {
3946
- "name": "OracleSource",
4514
+ "name": "PositionDirection",
3947
4515
  "type": {
3948
4516
  "kind": "enum",
3949
4517
  "variants": [
3950
4518
  {
3951
- "name": "Pyth"
4519
+ "name": "Long"
3952
4520
  },
3953
4521
  {
3954
- "name": "Switchboard"
4522
+ "name": "Short"
3955
4523
  }
3956
4524
  ]
3957
4525
  }
@@ -4027,312 +4595,5 @@
4027
4595
  ]
4028
4596
  }
4029
4597
  }
4030
- ],
4031
- "errors": [
4032
- {
4033
- "code": 6000,
4034
- "name": "InvalidCollateralAccountAuthority",
4035
- "msg": "Clearing house not collateral account owner"
4036
- },
4037
- {
4038
- "code": 6001,
4039
- "name": "InvalidInsuranceAccountAuthority",
4040
- "msg": "Clearing house not insurance account owner"
4041
- },
4042
- {
4043
- "code": 6002,
4044
- "name": "InsufficientDeposit",
4045
- "msg": "Insufficient deposit"
4046
- },
4047
- {
4048
- "code": 6003,
4049
- "name": "InsufficientCollateral",
4050
- "msg": "Insufficient collateral"
4051
- },
4052
- {
4053
- "code": 6004,
4054
- "name": "SufficientCollateral",
4055
- "msg": "Sufficient collateral"
4056
- },
4057
- {
4058
- "code": 6005,
4059
- "name": "MaxNumberOfPositions",
4060
- "msg": "Max number of positions taken"
4061
- },
4062
- {
4063
- "code": 6006,
4064
- "name": "AdminControlsPricesDisabled",
4065
- "msg": "Admin Controls Prices Disabled"
4066
- },
4067
- {
4068
- "code": 6007,
4069
- "name": "MarketIndexNotInitialized",
4070
- "msg": "Market Index Not Initialized"
4071
- },
4072
- {
4073
- "code": 6008,
4074
- "name": "MarketIndexAlreadyInitialized",
4075
- "msg": "Market Index Already Initialized"
4076
- },
4077
- {
4078
- "code": 6009,
4079
- "name": "UserAccountAndUserPositionsAccountMismatch",
4080
- "msg": "User Account And User Positions Account Mismatch"
4081
- },
4082
- {
4083
- "code": 6010,
4084
- "name": "UserHasNoPositionInMarket",
4085
- "msg": "User Has No Position In Market"
4086
- },
4087
- {
4088
- "code": 6011,
4089
- "name": "InvalidInitialPeg",
4090
- "msg": "Invalid Initial Peg"
4091
- },
4092
- {
4093
- "code": 6012,
4094
- "name": "InvalidRepegRedundant",
4095
- "msg": "AMM repeg already configured with amt given"
4096
- },
4097
- {
4098
- "code": 6013,
4099
- "name": "InvalidRepegDirection",
4100
- "msg": "AMM repeg incorrect repeg direction"
4101
- },
4102
- {
4103
- "code": 6014,
4104
- "name": "InvalidRepegProfitability",
4105
- "msg": "AMM repeg out of bounds pnl"
4106
- },
4107
- {
4108
- "code": 6015,
4109
- "name": "SlippageOutsideLimit",
4110
- "msg": "Slippage Outside Limit Price"
4111
- },
4112
- {
4113
- "code": 6016,
4114
- "name": "TradeSizeTooSmall",
4115
- "msg": "Trade Size Too Small"
4116
- },
4117
- {
4118
- "code": 6017,
4119
- "name": "InvalidUpdateK",
4120
- "msg": "Price change too large when updating K"
4121
- },
4122
- {
4123
- "code": 6018,
4124
- "name": "AdminWithdrawTooLarge",
4125
- "msg": "Admin tried to withdraw amount larger than fees collected"
4126
- },
4127
- {
4128
- "code": 6019,
4129
- "name": "MathError",
4130
- "msg": "Math Error"
4131
- },
4132
- {
4133
- "code": 6020,
4134
- "name": "BnConversionError",
4135
- "msg": "Conversion to u128/u64 failed with an overflow or underflow"
4136
- },
4137
- {
4138
- "code": 6021,
4139
- "name": "ClockUnavailable",
4140
- "msg": "Clock unavailable"
4141
- },
4142
- {
4143
- "code": 6022,
4144
- "name": "UnableToLoadOracle",
4145
- "msg": "Unable To Load Oracles"
4146
- },
4147
- {
4148
- "code": 6023,
4149
- "name": "OracleMarkSpreadLimit",
4150
- "msg": "Oracle/Mark Spread Too Large"
4151
- },
4152
- {
4153
- "code": 6024,
4154
- "name": "HistoryAlreadyInitialized",
4155
- "msg": "Clearing House history already initialized"
4156
- },
4157
- {
4158
- "code": 6025,
4159
- "name": "ExchangePaused",
4160
- "msg": "Exchange is paused"
4161
- },
4162
- {
4163
- "code": 6026,
4164
- "name": "InvalidWhitelistToken",
4165
- "msg": "Invalid whitelist token"
4166
- },
4167
- {
4168
- "code": 6027,
4169
- "name": "WhitelistTokenNotFound",
4170
- "msg": "Whitelist token not found"
4171
- },
4172
- {
4173
- "code": 6028,
4174
- "name": "InvalidDiscountToken",
4175
- "msg": "Invalid discount token"
4176
- },
4177
- {
4178
- "code": 6029,
4179
- "name": "DiscountTokenNotFound",
4180
- "msg": "Discount token not found"
4181
- },
4182
- {
4183
- "code": 6030,
4184
- "name": "InvalidReferrer",
4185
- "msg": "Invalid referrer"
4186
- },
4187
- {
4188
- "code": 6031,
4189
- "name": "ReferrerNotFound",
4190
- "msg": "Referrer not found"
4191
- },
4192
- {
4193
- "code": 6032,
4194
- "name": "InvalidOracle",
4195
- "msg": "InvalidOracle"
4196
- },
4197
- {
4198
- "code": 6033,
4199
- "name": "OracleNotFound",
4200
- "msg": "OracleNotFound"
4201
- },
4202
- {
4203
- "code": 6034,
4204
- "name": "LiquidationsBlockedByOracle",
4205
- "msg": "Liquidations Blocked By Oracle"
4206
- },
4207
- {
4208
- "code": 6035,
4209
- "name": "UserMaxDeposit",
4210
- "msg": "Can not deposit more than max deposit"
4211
- },
4212
- {
4213
- "code": 6036,
4214
- "name": "CantDeleteUserWithCollateral",
4215
- "msg": "Can not delete user that still has collateral"
4216
- },
4217
- {
4218
- "code": 6037,
4219
- "name": "InvalidFundingProfitability",
4220
- "msg": "AMM funding out of bounds pnl"
4221
- },
4222
- {
4223
- "code": 6038,
4224
- "name": "CastingFailure",
4225
- "msg": "Casting Failure"
4226
- },
4227
- {
4228
- "code": 6039,
4229
- "name": "InvalidOrder",
4230
- "msg": "Invalid Order"
4231
- },
4232
- {
4233
- "code": 6040,
4234
- "name": "UserHasNoOrder",
4235
- "msg": "User has no order"
4236
- },
4237
- {
4238
- "code": 6041,
4239
- "name": "OrderAmountTooSmall",
4240
- "msg": "Order Amount Too Small"
4241
- },
4242
- {
4243
- "code": 6042,
4244
- "name": "MaxNumberOfOrders",
4245
- "msg": "Max number of orders taken"
4246
- },
4247
- {
4248
- "code": 6043,
4249
- "name": "OrderDoesNotExist",
4250
- "msg": "Order does not exist"
4251
- },
4252
- {
4253
- "code": 6044,
4254
- "name": "OrderNotOpen",
4255
- "msg": "Order not open"
4256
- },
4257
- {
4258
- "code": 6045,
4259
- "name": "CouldNotFillOrder",
4260
- "msg": "CouldNotFillOrder"
4261
- },
4262
- {
4263
- "code": 6046,
4264
- "name": "ReduceOnlyOrderIncreasedRisk",
4265
- "msg": "Reduce only order increased risk"
4266
- },
4267
- {
4268
- "code": 6047,
4269
- "name": "OrderStateAlreadyInitialized",
4270
- "msg": "Order state already initialized"
4271
- },
4272
- {
4273
- "code": 6048,
4274
- "name": "UnableToLoadAccountLoader",
4275
- "msg": "Unable to load AccountLoader"
4276
- },
4277
- {
4278
- "code": 6049,
4279
- "name": "TradeSizeTooLarge",
4280
- "msg": "Trade Size Too Large"
4281
- },
4282
- {
4283
- "code": 6050,
4284
- "name": "UnableToWriteToRemainingAccount",
4285
- "msg": "Unable to write to remaining account"
4286
- },
4287
- {
4288
- "code": 6051,
4289
- "name": "UserCantReferThemselves",
4290
- "msg": "User cant refer themselves"
4291
- },
4292
- {
4293
- "code": 6052,
4294
- "name": "DidNotReceiveExpectedReferrer",
4295
- "msg": "Did not receive expected referrer"
4296
- },
4297
- {
4298
- "code": 6053,
4299
- "name": "CouldNotDeserializeReferrer",
4300
- "msg": "Could not deserialize referrer"
4301
- },
4302
- {
4303
- "code": 6054,
4304
- "name": "MarketOrderMustBeInPlaceAndFill",
4305
- "msg": "Market order must be in place and fill"
4306
- },
4307
- {
4308
- "code": 6055,
4309
- "name": "UserOrderIdAlreadyInUse",
4310
- "msg": "User Order Id Already In Use"
4311
- },
4312
- {
4313
- "code": 6056,
4314
- "name": "NoPositionsLiquidatable",
4315
- "msg": "No positions liquidatable"
4316
- },
4317
- {
4318
- "code": 6057,
4319
- "name": "InvalidMarginRatio",
4320
- "msg": "Invalid Margin Ratio"
4321
- },
4322
- {
4323
- "code": 6058,
4324
- "name": "CantCancelPostOnlyOrder",
4325
- "msg": "Cant Cancel Post Only Order"
4326
- },
4327
- {
4328
- "code": 6059,
4329
- "name": "InvalidOracleOffset",
4330
- "msg": "InvalidOracleOffset"
4331
- },
4332
- {
4333
- "code": 6060,
4334
- "name": "CantExpireOrders",
4335
- "msg": "CantExpireOrders"
4336
- }
4337
4598
  ]
4338
4599
  }