@drift-labs/sdk 0.1.21-master.0 → 0.1.22

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 (126) hide show
  1. package/lib/accounts/bulkAccountLoader.d.ts +0 -1
  2. package/lib/accounts/bulkAccountLoader.js +4 -2
  3. package/lib/accounts/bulkUserSubscription.d.ts +0 -1
  4. package/lib/accounts/pollingClearingHouseAccountSubscriber.d.ts +5 -2
  5. package/lib/accounts/pollingClearingHouseAccountSubscriber.js +23 -1
  6. package/lib/accounts/pollingTokenAccountSubscriber.d.ts +0 -1
  7. package/lib/accounts/pollingUserAccountSubscriber.d.ts +3 -2
  8. package/lib/accounts/pollingUserAccountSubscriber.js +13 -0
  9. package/lib/accounts/types.d.ts +8 -3
  10. package/lib/accounts/utils.d.ts +0 -1
  11. package/lib/accounts/webSocketAccountSubscriber.d.ts +0 -1
  12. package/lib/accounts/webSocketClearingHouseAccountSubscriber.d.ts +5 -2
  13. package/lib/accounts/webSocketClearingHouseAccountSubscriber.js +25 -0
  14. package/lib/accounts/webSocketUserAccountSubscriber.d.ts +3 -2
  15. package/lib/accounts/webSocketUserAccountSubscriber.js +11 -0
  16. package/lib/addresses.d.ts +4 -1
  17. package/lib/addresses.js +28 -1
  18. package/lib/admin.d.ts +10 -4
  19. package/lib/admin.js +48 -3
  20. package/lib/assert/assert.d.ts +0 -1
  21. package/lib/clearingHouse.d.ts +27 -2
  22. package/lib/clearingHouse.js +307 -7
  23. package/lib/clearingHouseUser.d.ts +16 -3
  24. package/lib/clearingHouseUser.js +79 -9
  25. package/lib/config.d.ts +0 -1
  26. package/lib/constants/markets.d.ts +0 -1
  27. package/lib/constants/markets.js +8 -0
  28. package/lib/constants/numericConstants.d.ts +1 -1
  29. package/lib/constants/numericConstants.js +2 -1
  30. package/lib/examples/makeTradeExample.d.ts +0 -1
  31. package/lib/factory/clearingHouse.d.ts +0 -1
  32. package/lib/factory/clearingHouseUser.d.ts +0 -1
  33. package/lib/idl/clearing_house.json +1077 -50
  34. package/lib/index.d.ts +3 -1
  35. package/lib/index.js +3 -0
  36. package/lib/math/amm.d.ts +3 -1
  37. package/lib/math/amm.js +121 -8
  38. package/lib/math/conversion.d.ts +0 -1
  39. package/lib/math/funding.d.ts +0 -1
  40. package/lib/math/insuranceFund.d.ts +0 -1
  41. package/lib/math/market.d.ts +2 -2
  42. package/lib/math/market.js +11 -1
  43. package/lib/math/orders.d.ts +3 -0
  44. package/lib/math/orders.js +32 -0
  45. package/lib/math/position.d.ts +4 -2
  46. package/lib/math/position.js +18 -4
  47. package/lib/math/trade.d.ts +0 -1
  48. package/lib/math/utils.d.ts +0 -1
  49. package/lib/mockUSDCFaucet.d.ts +0 -1
  50. package/lib/orderParams.d.ts +7 -0
  51. package/lib/orderParams.js +108 -0
  52. package/lib/orders.d.ts +6 -0
  53. package/lib/orders.js +136 -0
  54. package/lib/pythClient.d.ts +0 -1
  55. package/lib/token/index.d.ts +0 -1
  56. package/lib/tx/defaultTxSender.d.ts +0 -1
  57. package/lib/tx/types.d.ts +0 -1
  58. package/lib/tx/utils.d.ts +0 -1
  59. package/lib/types.d.ts +145 -2
  60. package/lib/types.js +36 -1
  61. package/lib/util/computeUnits.d.ts +0 -1
  62. package/lib/util/tps.d.ts +0 -1
  63. package/lib/wallet.d.ts +0 -1
  64. package/package.json +1 -1
  65. package/src/accounts/bulkAccountLoader.ts +3 -3
  66. package/src/accounts/pollingClearingHouseAccountSubscriber.ts +33 -0
  67. package/src/accounts/pollingUserAccountSubscriber.ts +30 -2
  68. package/src/accounts/types.ts +11 -2
  69. package/src/accounts/webSocketClearingHouseAccountSubscriber.ts +47 -0
  70. package/src/accounts/webSocketUserAccountSubscriber.ts +29 -2
  71. package/src/addresses.ts +37 -0
  72. package/src/admin.ts +84 -6
  73. package/src/clearingHouse.ts +430 -5
  74. package/src/clearingHouseUser.ts +129 -12
  75. package/src/constants/markets.ts +8 -0
  76. package/src/constants/numericConstants.ts +1 -0
  77. package/src/idl/clearing_house.json +1077 -50
  78. package/src/index.ts +3 -0
  79. package/src/math/amm.ts +169 -14
  80. package/src/math/market.ts +28 -2
  81. package/src/math/orders.ts +44 -0
  82. package/src/math/position.ts +23 -3
  83. package/src/orderParams.ts +151 -0
  84. package/src/orders.ts +236 -0
  85. package/src/types.ts +129 -1
  86. package/tsconfig.json +0 -1
  87. package/lib/accounts/bulkAccountLoader.d.ts.map +0 -1
  88. package/lib/accounts/bulkUserSubscription.d.ts.map +0 -1
  89. package/lib/accounts/pollingClearingHouseAccountSubscriber.d.ts.map +0 -1
  90. package/lib/accounts/pollingTokenAccountSubscriber.d.ts.map +0 -1
  91. package/lib/accounts/pollingUserAccountSubscriber.d.ts.map +0 -1
  92. package/lib/accounts/types.d.ts.map +0 -1
  93. package/lib/accounts/utils.d.ts.map +0 -1
  94. package/lib/accounts/webSocketAccountSubscriber.d.ts.map +0 -1
  95. package/lib/accounts/webSocketClearingHouseAccountSubscriber.d.ts.map +0 -1
  96. package/lib/accounts/webSocketUserAccountSubscriber.d.ts.map +0 -1
  97. package/lib/addresses.d.ts.map +0 -1
  98. package/lib/admin.d.ts.map +0 -1
  99. package/lib/assert/assert.d.ts.map +0 -1
  100. package/lib/clearingHouse.d.ts.map +0 -1
  101. package/lib/clearingHouseUser.d.ts.map +0 -1
  102. package/lib/config.d.ts.map +0 -1
  103. package/lib/constants/markets.d.ts.map +0 -1
  104. package/lib/constants/numericConstants.d.ts.map +0 -1
  105. package/lib/examples/makeTradeExample.d.ts.map +0 -1
  106. package/lib/factory/clearingHouse.d.ts.map +0 -1
  107. package/lib/factory/clearingHouseUser.d.ts.map +0 -1
  108. package/lib/index.d.ts.map +0 -1
  109. package/lib/math/amm.d.ts.map +0 -1
  110. package/lib/math/conversion.d.ts.map +0 -1
  111. package/lib/math/funding.d.ts.map +0 -1
  112. package/lib/math/insuranceFund.d.ts.map +0 -1
  113. package/lib/math/market.d.ts.map +0 -1
  114. package/lib/math/position.d.ts.map +0 -1
  115. package/lib/math/trade.d.ts.map +0 -1
  116. package/lib/math/utils.d.ts.map +0 -1
  117. package/lib/mockUSDCFaucet.d.ts.map +0 -1
  118. package/lib/pythClient.d.ts.map +0 -1
  119. package/lib/token/index.d.ts.map +0 -1
  120. package/lib/tx/defaultTxSender.d.ts.map +0 -1
  121. package/lib/tx/types.d.ts.map +0 -1
  122. package/lib/tx/utils.d.ts.map +0 -1
  123. package/lib/types.d.ts.map +0 -1
  124. package/lib/util/computeUnits.d.ts.map +0 -1
  125. package/lib/util/tps.d.ts.map +0 -1
  126. package/lib/wallet.d.ts.map +0 -1
@@ -126,6 +126,47 @@
126
126
  ],
127
127
  "args": []
128
128
  },
129
+ {
130
+ "name": "initializeOrderState",
131
+ "accounts": [
132
+ {
133
+ "name": "admin",
134
+ "isMut": false,
135
+ "isSigner": true
136
+ },
137
+ {
138
+ "name": "state",
139
+ "isMut": true,
140
+ "isSigner": false
141
+ },
142
+ {
143
+ "name": "orderState",
144
+ "isMut": true,
145
+ "isSigner": false
146
+ },
147
+ {
148
+ "name": "orderHistory",
149
+ "isMut": true,
150
+ "isSigner": false
151
+ },
152
+ {
153
+ "name": "rent",
154
+ "isMut": false,
155
+ "isSigner": false
156
+ },
157
+ {
158
+ "name": "systemProgram",
159
+ "isMut": false,
160
+ "isSigner": false
161
+ }
162
+ ],
163
+ "args": [
164
+ {
165
+ "name": "orderHouseNonce",
166
+ "type": "u8"
167
+ }
168
+ ]
169
+ },
129
170
  {
130
171
  "name": "initializeMarket",
131
172
  "accounts": [
@@ -448,6 +489,335 @@
448
489
  }
449
490
  ]
450
491
  },
492
+ {
493
+ "name": "placeOrder",
494
+ "accounts": [
495
+ {
496
+ "name": "state",
497
+ "isMut": false,
498
+ "isSigner": false
499
+ },
500
+ {
501
+ "name": "orderState",
502
+ "isMut": false,
503
+ "isSigner": false
504
+ },
505
+ {
506
+ "name": "user",
507
+ "isMut": false,
508
+ "isSigner": false
509
+ },
510
+ {
511
+ "name": "authority",
512
+ "isMut": false,
513
+ "isSigner": true
514
+ },
515
+ {
516
+ "name": "markets",
517
+ "isMut": false,
518
+ "isSigner": false
519
+ },
520
+ {
521
+ "name": "userPositions",
522
+ "isMut": true,
523
+ "isSigner": false
524
+ },
525
+ {
526
+ "name": "userOrders",
527
+ "isMut": true,
528
+ "isSigner": false
529
+ },
530
+ {
531
+ "name": "fundingPaymentHistory",
532
+ "isMut": true,
533
+ "isSigner": false
534
+ },
535
+ {
536
+ "name": "orderHistory",
537
+ "isMut": true,
538
+ "isSigner": false
539
+ }
540
+ ],
541
+ "args": [
542
+ {
543
+ "name": "params",
544
+ "type": {
545
+ "defined": "OrderParams"
546
+ }
547
+ }
548
+ ]
549
+ },
550
+ {
551
+ "name": "cancelOrder",
552
+ "accounts": [
553
+ {
554
+ "name": "state",
555
+ "isMut": false,
556
+ "isSigner": false
557
+ },
558
+ {
559
+ "name": "orderState",
560
+ "isMut": false,
561
+ "isSigner": false
562
+ },
563
+ {
564
+ "name": "user",
565
+ "isMut": false,
566
+ "isSigner": false
567
+ },
568
+ {
569
+ "name": "authority",
570
+ "isMut": false,
571
+ "isSigner": true
572
+ },
573
+ {
574
+ "name": "markets",
575
+ "isMut": false,
576
+ "isSigner": false
577
+ },
578
+ {
579
+ "name": "userPositions",
580
+ "isMut": true,
581
+ "isSigner": false
582
+ },
583
+ {
584
+ "name": "userOrders",
585
+ "isMut": true,
586
+ "isSigner": false
587
+ },
588
+ {
589
+ "name": "fundingPaymentHistory",
590
+ "isMut": true,
591
+ "isSigner": false
592
+ },
593
+ {
594
+ "name": "orderHistory",
595
+ "isMut": true,
596
+ "isSigner": false
597
+ }
598
+ ],
599
+ "args": [
600
+ {
601
+ "name": "orderId",
602
+ "type": "u128"
603
+ }
604
+ ]
605
+ },
606
+ {
607
+ "name": "cancelOrderByUserId",
608
+ "accounts": [
609
+ {
610
+ "name": "state",
611
+ "isMut": false,
612
+ "isSigner": false
613
+ },
614
+ {
615
+ "name": "orderState",
616
+ "isMut": false,
617
+ "isSigner": false
618
+ },
619
+ {
620
+ "name": "user",
621
+ "isMut": false,
622
+ "isSigner": false
623
+ },
624
+ {
625
+ "name": "authority",
626
+ "isMut": false,
627
+ "isSigner": true
628
+ },
629
+ {
630
+ "name": "markets",
631
+ "isMut": false,
632
+ "isSigner": false
633
+ },
634
+ {
635
+ "name": "userPositions",
636
+ "isMut": true,
637
+ "isSigner": false
638
+ },
639
+ {
640
+ "name": "userOrders",
641
+ "isMut": true,
642
+ "isSigner": false
643
+ },
644
+ {
645
+ "name": "fundingPaymentHistory",
646
+ "isMut": true,
647
+ "isSigner": false
648
+ },
649
+ {
650
+ "name": "orderHistory",
651
+ "isMut": true,
652
+ "isSigner": false
653
+ }
654
+ ],
655
+ "args": [
656
+ {
657
+ "name": "userOrderId",
658
+ "type": "u8"
659
+ }
660
+ ]
661
+ },
662
+ {
663
+ "name": "fillOrder",
664
+ "accounts": [
665
+ {
666
+ "name": "state",
667
+ "isMut": false,
668
+ "isSigner": false
669
+ },
670
+ {
671
+ "name": "orderState",
672
+ "isMut": false,
673
+ "isSigner": false
674
+ },
675
+ {
676
+ "name": "authority",
677
+ "isMut": false,
678
+ "isSigner": true
679
+ },
680
+ {
681
+ "name": "filler",
682
+ "isMut": true,
683
+ "isSigner": false
684
+ },
685
+ {
686
+ "name": "user",
687
+ "isMut": true,
688
+ "isSigner": false
689
+ },
690
+ {
691
+ "name": "markets",
692
+ "isMut": true,
693
+ "isSigner": false
694
+ },
695
+ {
696
+ "name": "userPositions",
697
+ "isMut": true,
698
+ "isSigner": false
699
+ },
700
+ {
701
+ "name": "userOrders",
702
+ "isMut": true,
703
+ "isSigner": false
704
+ },
705
+ {
706
+ "name": "tradeHistory",
707
+ "isMut": true,
708
+ "isSigner": false
709
+ },
710
+ {
711
+ "name": "fundingPaymentHistory",
712
+ "isMut": true,
713
+ "isSigner": false
714
+ },
715
+ {
716
+ "name": "fundingRateHistory",
717
+ "isMut": true,
718
+ "isSigner": false
719
+ },
720
+ {
721
+ "name": "orderHistory",
722
+ "isMut": true,
723
+ "isSigner": false
724
+ },
725
+ {
726
+ "name": "extendedCurveHistory",
727
+ "isMut": true,
728
+ "isSigner": false
729
+ },
730
+ {
731
+ "name": "oracle",
732
+ "isMut": false,
733
+ "isSigner": false
734
+ }
735
+ ],
736
+ "args": [
737
+ {
738
+ "name": "orderId",
739
+ "type": "u128"
740
+ }
741
+ ]
742
+ },
743
+ {
744
+ "name": "placeAndFillOrder",
745
+ "accounts": [
746
+ {
747
+ "name": "state",
748
+ "isMut": false,
749
+ "isSigner": false
750
+ },
751
+ {
752
+ "name": "orderState",
753
+ "isMut": false,
754
+ "isSigner": false
755
+ },
756
+ {
757
+ "name": "user",
758
+ "isMut": true,
759
+ "isSigner": false
760
+ },
761
+ {
762
+ "name": "authority",
763
+ "isMut": false,
764
+ "isSigner": true
765
+ },
766
+ {
767
+ "name": "markets",
768
+ "isMut": true,
769
+ "isSigner": false
770
+ },
771
+ {
772
+ "name": "userPositions",
773
+ "isMut": true,
774
+ "isSigner": false
775
+ },
776
+ {
777
+ "name": "userOrders",
778
+ "isMut": true,
779
+ "isSigner": false
780
+ },
781
+ {
782
+ "name": "fundingPaymentHistory",
783
+ "isMut": true,
784
+ "isSigner": false
785
+ },
786
+ {
787
+ "name": "tradeHistory",
788
+ "isMut": true,
789
+ "isSigner": false
790
+ },
791
+ {
792
+ "name": "fundingRateHistory",
793
+ "isMut": true,
794
+ "isSigner": false
795
+ },
796
+ {
797
+ "name": "orderHistory",
798
+ "isMut": true,
799
+ "isSigner": false
800
+ },
801
+ {
802
+ "name": "extendedCurveHistory",
803
+ "isMut": true,
804
+ "isSigner": false
805
+ },
806
+ {
807
+ "name": "oracle",
808
+ "isMut": false,
809
+ "isSigner": false
810
+ }
811
+ ],
812
+ "args": [
813
+ {
814
+ "name": "params",
815
+ "type": {
816
+ "defined": "OrderParams"
817
+ }
818
+ }
819
+ ]
820
+ },
451
821
  {
452
822
  "name": "liquidate",
453
823
  "accounts": [
@@ -910,6 +1280,47 @@
910
1280
  }
911
1281
  ]
912
1282
  },
1283
+ {
1284
+ "name": "initializeUserOrders",
1285
+ "accounts": [
1286
+ {
1287
+ "name": "user",
1288
+ "isMut": false,
1289
+ "isSigner": false
1290
+ },
1291
+ {
1292
+ "name": "userOrders",
1293
+ "isMut": true,
1294
+ "isSigner": false
1295
+ },
1296
+ {
1297
+ "name": "state",
1298
+ "isMut": false,
1299
+ "isSigner": false
1300
+ },
1301
+ {
1302
+ "name": "authority",
1303
+ "isMut": false,
1304
+ "isSigner": true
1305
+ },
1306
+ {
1307
+ "name": "rent",
1308
+ "isMut": false,
1309
+ "isSigner": false
1310
+ },
1311
+ {
1312
+ "name": "systemProgram",
1313
+ "isMut": false,
1314
+ "isSigner": false
1315
+ }
1316
+ ],
1317
+ "args": [
1318
+ {
1319
+ "name": "userOrdersNonce",
1320
+ "type": "u8"
1321
+ }
1322
+ ]
1323
+ },
913
1324
  {
914
1325
  "name": "deleteUser",
915
1326
  "accounts": [
@@ -1228,6 +1639,34 @@
1228
1639
  }
1229
1640
  ]
1230
1641
  },
1642
+ {
1643
+ "name": "updateOrderFillerRewardStructure",
1644
+ "accounts": [
1645
+ {
1646
+ "name": "admin",
1647
+ "isMut": false,
1648
+ "isSigner": true
1649
+ },
1650
+ {
1651
+ "name": "state",
1652
+ "isMut": false,
1653
+ "isSigner": false
1654
+ },
1655
+ {
1656
+ "name": "orderState",
1657
+ "isMut": true,
1658
+ "isSigner": false
1659
+ }
1660
+ ],
1661
+ "args": [
1662
+ {
1663
+ "name": "orderFillerRewardStructure",
1664
+ "type": {
1665
+ "defined": "OrderFillerRewardStructure"
1666
+ }
1667
+ }
1668
+ ]
1669
+ },
1231
1670
  {
1232
1671
  "name": "updateOracleGuardRails",
1233
1672
  "accounts": [
@@ -1244,15 +1683,51 @@
1244
1683
  ],
1245
1684
  "args": [
1246
1685
  {
1247
- "name": "oracleGuardRails",
1686
+ "name": "oracleGuardRails",
1687
+ "type": {
1688
+ "defined": "OracleGuardRails"
1689
+ }
1690
+ }
1691
+ ]
1692
+ },
1693
+ {
1694
+ "name": "updateMarketOracle",
1695
+ "accounts": [
1696
+ {
1697
+ "name": "admin",
1698
+ "isMut": false,
1699
+ "isSigner": true
1700
+ },
1701
+ {
1702
+ "name": "state",
1703
+ "isMut": false,
1704
+ "isSigner": false
1705
+ },
1706
+ {
1707
+ "name": "markets",
1708
+ "isMut": true,
1709
+ "isSigner": false
1710
+ }
1711
+ ],
1712
+ "args": [
1713
+ {
1714
+ "name": "marketIndex",
1715
+ "type": "u64"
1716
+ },
1717
+ {
1718
+ "name": "oracle",
1719
+ "type": "publicKey"
1720
+ },
1721
+ {
1722
+ "name": "oracleSource",
1248
1723
  "type": {
1249
- "defined": "OracleGuardRails"
1724
+ "defined": "OracleSource"
1250
1725
  }
1251
1726
  }
1252
1727
  ]
1253
1728
  },
1254
1729
  {
1255
- "name": "updateMarketOracle",
1730
+ "name": "updateMarketMinimumQuoteAssetTradeSize",
1256
1731
  "accounts": [
1257
1732
  {
1258
1733
  "name": "admin",
@@ -1276,19 +1751,13 @@
1276
1751
  "type": "u64"
1277
1752
  },
1278
1753
  {
1279
- "name": "oracle",
1280
- "type": "publicKey"
1281
- },
1282
- {
1283
- "name": "oracleSource",
1284
- "type": {
1285
- "defined": "OracleSource"
1286
- }
1754
+ "name": "minimumTradeSize",
1755
+ "type": "u128"
1287
1756
  }
1288
1757
  ]
1289
1758
  },
1290
1759
  {
1291
- "name": "updateMarketMinimumTradeSize",
1760
+ "name": "updateMarketMinimumBaseAssetTradeSize",
1292
1761
  "accounts": [
1293
1762
  {
1294
1763
  "name": "admin",
@@ -1618,6 +2087,64 @@
1618
2087
  ]
1619
2088
  }
1620
2089
  },
2090
+ {
2091
+ "name": "OrderHistory",
2092
+ "type": {
2093
+ "kind": "struct",
2094
+ "fields": [
2095
+ {
2096
+ "name": "head",
2097
+ "type": "u64"
2098
+ },
2099
+ {
2100
+ "name": "lastOrderId",
2101
+ "type": "u128"
2102
+ },
2103
+ {
2104
+ "name": "orderRecords",
2105
+ "type": {
2106
+ "array": [
2107
+ {
2108
+ "defined": "OrderRecord"
2109
+ },
2110
+ 1024
2111
+ ]
2112
+ }
2113
+ }
2114
+ ]
2115
+ }
2116
+ },
2117
+ {
2118
+ "name": "OrderState",
2119
+ "type": {
2120
+ "kind": "struct",
2121
+ "fields": [
2122
+ {
2123
+ "name": "orderHistory",
2124
+ "type": "publicKey"
2125
+ },
2126
+ {
2127
+ "name": "orderFillerRewardStructure",
2128
+ "type": {
2129
+ "defined": "OrderFillerRewardStructure"
2130
+ }
2131
+ },
2132
+ {
2133
+ "name": "minOrderQuoteAssetAmount",
2134
+ "type": "u128"
2135
+ },
2136
+ {
2137
+ "name": "padding",
2138
+ "type": {
2139
+ "array": [
2140
+ "u128",
2141
+ 10
2142
+ ]
2143
+ }
2144
+ }
2145
+ ]
2146
+ }
2147
+ },
1621
2148
  {
1622
2149
  "name": "State",
1623
2150
  "type": {
@@ -1767,6 +2294,10 @@
1767
2294
  "name": "extendedCurveHistory",
1768
2295
  "type": "publicKey"
1769
2296
  },
2297
+ {
2298
+ "name": "orderState",
2299
+ "type": "publicKey"
2300
+ },
1770
2301
  {
1771
2302
  "name": "padding0",
1772
2303
  "type": "u128"
@@ -1782,14 +2313,6 @@
1782
2313
  {
1783
2314
  "name": "padding3",
1784
2315
  "type": "u128"
1785
- },
1786
- {
1787
- "name": "padding4",
1788
- "type": "u128"
1789
- },
1790
- {
1791
- "name": "padding5",
1792
- "type": "u128"
1793
2316
  }
1794
2317
  ]
1795
2318
  }
@@ -1895,6 +2418,29 @@
1895
2418
  }
1896
2419
  ]
1897
2420
  }
2421
+ },
2422
+ {
2423
+ "name": "UserOrders",
2424
+ "type": {
2425
+ "kind": "struct",
2426
+ "fields": [
2427
+ {
2428
+ "name": "user",
2429
+ "type": "publicKey"
2430
+ },
2431
+ {
2432
+ "name": "orders",
2433
+ "type": {
2434
+ "array": [
2435
+ {
2436
+ "defined": "Order"
2437
+ },
2438
+ 32
2439
+ ]
2440
+ }
2441
+ }
2442
+ ]
2443
+ }
1898
2444
  }
1899
2445
  ],
1900
2446
  "types": [
@@ -1926,6 +2472,106 @@
1926
2472
  ]
1927
2473
  }
1928
2474
  },
2475
+ {
2476
+ "name": "OrderParams",
2477
+ "type": {
2478
+ "kind": "struct",
2479
+ "fields": [
2480
+ {
2481
+ "name": "orderType",
2482
+ "type": {
2483
+ "defined": "OrderType"
2484
+ }
2485
+ },
2486
+ {
2487
+ "name": "direction",
2488
+ "type": {
2489
+ "defined": "PositionDirection"
2490
+ }
2491
+ },
2492
+ {
2493
+ "name": "userOrderId",
2494
+ "type": "u8"
2495
+ },
2496
+ {
2497
+ "name": "quoteAssetAmount",
2498
+ "type": "u128"
2499
+ },
2500
+ {
2501
+ "name": "baseAssetAmount",
2502
+ "type": "u128"
2503
+ },
2504
+ {
2505
+ "name": "price",
2506
+ "type": "u128"
2507
+ },
2508
+ {
2509
+ "name": "marketIndex",
2510
+ "type": "u64"
2511
+ },
2512
+ {
2513
+ "name": "reduceOnly",
2514
+ "type": "bool"
2515
+ },
2516
+ {
2517
+ "name": "postOnly",
2518
+ "type": "bool"
2519
+ },
2520
+ {
2521
+ "name": "immediateOrCancel",
2522
+ "type": "bool"
2523
+ },
2524
+ {
2525
+ "name": "triggerPrice",
2526
+ "type": "u128"
2527
+ },
2528
+ {
2529
+ "name": "triggerCondition",
2530
+ "type": {
2531
+ "defined": "OrderTriggerCondition"
2532
+ }
2533
+ },
2534
+ {
2535
+ "name": "optionalAccounts",
2536
+ "type": {
2537
+ "defined": "OrderParamsOptionalAccounts"
2538
+ }
2539
+ },
2540
+ {
2541
+ "name": "positionLimit",
2542
+ "type": "u128"
2543
+ },
2544
+ {
2545
+ "name": "oraclePriceOffset",
2546
+ "type": "u128"
2547
+ },
2548
+ {
2549
+ "name": "padding0",
2550
+ "type": "bool"
2551
+ },
2552
+ {
2553
+ "name": "padding1",
2554
+ "type": "bool"
2555
+ }
2556
+ ]
2557
+ }
2558
+ },
2559
+ {
2560
+ "name": "OrderParamsOptionalAccounts",
2561
+ "type": {
2562
+ "kind": "struct",
2563
+ "fields": [
2564
+ {
2565
+ "name": "discountToken",
2566
+ "type": "bool"
2567
+ },
2568
+ {
2569
+ "name": "referrer",
2570
+ "type": "bool"
2571
+ }
2572
+ ]
2573
+ }
2574
+ },
1929
2575
  {
1930
2576
  "name": "CurveRecord",
1931
2577
  "type": {
@@ -2415,59 +3061,148 @@
2415
3061
  "type": "i128"
2416
3062
  },
2417
3063
  {
2418
- "name": "lastMarkPriceTwap",
3064
+ "name": "lastMarkPriceTwap",
3065
+ "type": "u128"
3066
+ },
3067
+ {
3068
+ "name": "lastMarkPriceTwapTs",
3069
+ "type": "i64"
3070
+ },
3071
+ {
3072
+ "name": "sqrtK",
3073
+ "type": "u128"
3074
+ },
3075
+ {
3076
+ "name": "pegMultiplier",
3077
+ "type": "u128"
3078
+ },
3079
+ {
3080
+ "name": "totalFee",
3081
+ "type": "u128"
3082
+ },
3083
+ {
3084
+ "name": "totalFeeMinusDistributions",
3085
+ "type": "u128"
3086
+ },
3087
+ {
3088
+ "name": "totalFeeWithdrawn",
3089
+ "type": "u128"
3090
+ },
3091
+ {
3092
+ "name": "minimumQuoteAssetTradeSize",
3093
+ "type": "u128"
3094
+ },
3095
+ {
3096
+ "name": "lastOraclePriceTwapTs",
3097
+ "type": "i64"
3098
+ },
3099
+ {
3100
+ "name": "lastOraclePrice",
3101
+ "type": "i128"
3102
+ },
3103
+ {
3104
+ "name": "minimumBaseAssetTradeSize",
3105
+ "type": "u128"
3106
+ },
3107
+ {
3108
+ "name": "padding1",
3109
+ "type": "u64"
3110
+ },
3111
+ {
3112
+ "name": "padding2",
3113
+ "type": "u128"
3114
+ },
3115
+ {
3116
+ "name": "padding3",
3117
+ "type": "u128"
3118
+ }
3119
+ ]
3120
+ }
3121
+ },
3122
+ {
3123
+ "name": "OrderRecord",
3124
+ "type": {
3125
+ "kind": "struct",
3126
+ "fields": [
3127
+ {
3128
+ "name": "ts",
3129
+ "type": "i64"
3130
+ },
3131
+ {
3132
+ "name": "recordId",
2419
3133
  "type": "u128"
2420
3134
  },
2421
3135
  {
2422
- "name": "lastMarkPriceTwapTs",
2423
- "type": "i64"
3136
+ "name": "user",
3137
+ "type": "publicKey"
2424
3138
  },
2425
3139
  {
2426
- "name": "sqrtK",
2427
- "type": "u128"
3140
+ "name": "authority",
3141
+ "type": "publicKey"
2428
3142
  },
2429
3143
  {
2430
- "name": "pegMultiplier",
2431
- "type": "u128"
3144
+ "name": "order",
3145
+ "type": {
3146
+ "defined": "Order"
3147
+ }
2432
3148
  },
2433
3149
  {
2434
- "name": "totalFee",
2435
- "type": "u128"
3150
+ "name": "action",
3151
+ "type": {
3152
+ "defined": "OrderAction"
3153
+ }
2436
3154
  },
2437
3155
  {
2438
- "name": "totalFeeMinusDistributions",
2439
- "type": "u128"
3156
+ "name": "filler",
3157
+ "type": "publicKey"
2440
3158
  },
2441
3159
  {
2442
- "name": "totalFeeWithdrawn",
3160
+ "name": "tradeRecordId",
2443
3161
  "type": "u128"
2444
3162
  },
2445
3163
  {
2446
- "name": "minimumTradeSize",
3164
+ "name": "baseAssetAmountFilled",
2447
3165
  "type": "u128"
2448
3166
  },
2449
3167
  {
2450
- "name": "lastOraclePriceTwapTs",
2451
- "type": "i64"
3168
+ "name": "quoteAssetAmountFilled",
3169
+ "type": "u128"
2452
3170
  },
2453
3171
  {
2454
- "name": "lastOraclePrice",
2455
- "type": "i128"
3172
+ "name": "fee",
3173
+ "type": "u128"
2456
3174
  },
2457
3175
  {
2458
- "name": "padding1",
2459
- "type": "u64"
3176
+ "name": "fillerReward",
3177
+ "type": "u128"
2460
3178
  },
2461
3179
  {
2462
- "name": "padding2",
3180
+ "name": "padding",
3181
+ "type": {
3182
+ "array": [
3183
+ "u64",
3184
+ 10
3185
+ ]
3186
+ }
3187
+ }
3188
+ ]
3189
+ }
3190
+ },
3191
+ {
3192
+ "name": "OrderFillerRewardStructure",
3193
+ "type": {
3194
+ "kind": "struct",
3195
+ "fields": [
3196
+ {
3197
+ "name": "rewardNumerator",
2463
3198
  "type": "u128"
2464
3199
  },
2465
3200
  {
2466
- "name": "padding3",
3201
+ "name": "rewardDenominator",
2467
3202
  "type": "u128"
2468
3203
  },
2469
3204
  {
2470
- "name": "padding4",
3205
+ "name": "timeBasedRewardLowerBound",
2471
3206
  "type": "u128"
2472
3207
  }
2473
3208
  ]
@@ -2741,32 +3476,151 @@
2741
3476
  "type": "i64"
2742
3477
  },
2743
3478
  {
2744
- "name": "stopLossPrice",
3479
+ "name": "openOrders",
2745
3480
  "type": "u128"
2746
3481
  },
2747
3482
  {
2748
- "name": "stopLossAmount",
3483
+ "name": "padding0",
2749
3484
  "type": "u128"
2750
3485
  },
2751
3486
  {
2752
- "name": "stopProfitPrice",
3487
+ "name": "padding1",
2753
3488
  "type": "u128"
2754
3489
  },
2755
3490
  {
2756
- "name": "stopProfitAmount",
3491
+ "name": "padding2",
2757
3492
  "type": "u128"
2758
3493
  },
2759
3494
  {
2760
- "name": "transferTo",
2761
- "type": "publicKey"
3495
+ "name": "padding3",
3496
+ "type": "u128"
2762
3497
  },
2763
3498
  {
2764
- "name": "padding0",
3499
+ "name": "padding4",
2765
3500
  "type": "u128"
2766
3501
  },
2767
3502
  {
2768
- "name": "padding1",
3503
+ "name": "padding5",
3504
+ "type": "u128"
3505
+ },
3506
+ {
3507
+ "name": "padding6",
3508
+ "type": "u128"
3509
+ }
3510
+ ]
3511
+ }
3512
+ },
3513
+ {
3514
+ "name": "Order",
3515
+ "type": {
3516
+ "kind": "struct",
3517
+ "fields": [
3518
+ {
3519
+ "name": "status",
3520
+ "type": {
3521
+ "defined": "OrderStatus"
3522
+ }
3523
+ },
3524
+ {
3525
+ "name": "orderType",
3526
+ "type": {
3527
+ "defined": "OrderType"
3528
+ }
3529
+ },
3530
+ {
3531
+ "name": "ts",
3532
+ "type": "i64"
3533
+ },
3534
+ {
3535
+ "name": "orderId",
3536
+ "type": "u128"
3537
+ },
3538
+ {
3539
+ "name": "userOrderId",
3540
+ "type": "u8"
3541
+ },
3542
+ {
3543
+ "name": "marketIndex",
3544
+ "type": "u64"
3545
+ },
3546
+ {
3547
+ "name": "price",
3548
+ "type": "u128"
3549
+ },
3550
+ {
3551
+ "name": "userBaseAssetAmount",
3552
+ "type": "i128"
3553
+ },
3554
+ {
3555
+ "name": "quoteAssetAmount",
3556
+ "type": "u128"
3557
+ },
3558
+ {
3559
+ "name": "baseAssetAmount",
3560
+ "type": "u128"
3561
+ },
3562
+ {
3563
+ "name": "baseAssetAmountFilled",
3564
+ "type": "u128"
3565
+ },
3566
+ {
3567
+ "name": "quoteAssetAmountFilled",
3568
+ "type": "u128"
3569
+ },
3570
+ {
3571
+ "name": "fee",
3572
+ "type": "u128"
3573
+ },
3574
+ {
3575
+ "name": "direction",
3576
+ "type": {
3577
+ "defined": "PositionDirection"
3578
+ }
3579
+ },
3580
+ {
3581
+ "name": "reduceOnly",
3582
+ "type": "bool"
3583
+ },
3584
+ {
3585
+ "name": "postOnly",
3586
+ "type": "bool"
3587
+ },
3588
+ {
3589
+ "name": "immediateOrCancel",
3590
+ "type": "bool"
3591
+ },
3592
+ {
3593
+ "name": "discountTier",
3594
+ "type": {
3595
+ "defined": "OrderDiscountTier"
3596
+ }
3597
+ },
3598
+ {
3599
+ "name": "triggerPrice",
2769
3600
  "type": "u128"
3601
+ },
3602
+ {
3603
+ "name": "triggerCondition",
3604
+ "type": {
3605
+ "defined": "OrderTriggerCondition"
3606
+ }
3607
+ },
3608
+ {
3609
+ "name": "referrer",
3610
+ "type": "publicKey"
3611
+ },
3612
+ {
3613
+ "name": "oraclePriceOffset",
3614
+ "type": "i128"
3615
+ },
3616
+ {
3617
+ "name": "padding",
3618
+ "type": {
3619
+ "array": [
3620
+ "u16",
3621
+ 3
3622
+ ]
3623
+ }
2770
3624
  }
2771
3625
  ]
2772
3626
  }
@@ -2827,6 +3681,23 @@
2827
3681
  ]
2828
3682
  }
2829
3683
  },
3684
+ {
3685
+ "name": "OrderAction",
3686
+ "type": {
3687
+ "kind": "enum",
3688
+ "variants": [
3689
+ {
3690
+ "name": "Place"
3691
+ },
3692
+ {
3693
+ "name": "Cancel"
3694
+ },
3695
+ {
3696
+ "name": "Fill"
3697
+ }
3698
+ ]
3699
+ }
3700
+ },
2830
3701
  {
2831
3702
  "name": "PositionDirection",
2832
3703
  "type": {
@@ -2840,6 +3711,77 @@
2840
3711
  }
2841
3712
  ]
2842
3713
  }
3714
+ },
3715
+ {
3716
+ "name": "OrderStatus",
3717
+ "type": {
3718
+ "kind": "enum",
3719
+ "variants": [
3720
+ {
3721
+ "name": "Init"
3722
+ },
3723
+ {
3724
+ "name": "Open"
3725
+ }
3726
+ ]
3727
+ }
3728
+ },
3729
+ {
3730
+ "name": "OrderType",
3731
+ "type": {
3732
+ "kind": "enum",
3733
+ "variants": [
3734
+ {
3735
+ "name": "Market"
3736
+ },
3737
+ {
3738
+ "name": "Limit"
3739
+ },
3740
+ {
3741
+ "name": "TriggerMarket"
3742
+ },
3743
+ {
3744
+ "name": "TriggerLimit"
3745
+ }
3746
+ ]
3747
+ }
3748
+ },
3749
+ {
3750
+ "name": "OrderDiscountTier",
3751
+ "type": {
3752
+ "kind": "enum",
3753
+ "variants": [
3754
+ {
3755
+ "name": "None"
3756
+ },
3757
+ {
3758
+ "name": "First"
3759
+ },
3760
+ {
3761
+ "name": "Second"
3762
+ },
3763
+ {
3764
+ "name": "Third"
3765
+ },
3766
+ {
3767
+ "name": "Fourth"
3768
+ }
3769
+ ]
3770
+ }
3771
+ },
3772
+ {
3773
+ "name": "OrderTriggerCondition",
3774
+ "type": {
3775
+ "kind": "enum",
3776
+ "variants": [
3777
+ {
3778
+ "name": "Above"
3779
+ },
3780
+ {
3781
+ "name": "Below"
3782
+ }
3783
+ ]
3784
+ }
2843
3785
  }
2844
3786
  ],
2845
3787
  "errors": [
@@ -3037,6 +3979,91 @@
3037
3979
  "code": 6038,
3038
3980
  "name": "CastingFailure",
3039
3981
  "msg": "Casting Failure"
3982
+ },
3983
+ {
3984
+ "code": 6039,
3985
+ "name": "InvalidOrder",
3986
+ "msg": "Invalid Order"
3987
+ },
3988
+ {
3989
+ "code": 6040,
3990
+ "name": "UserHasNoOrder",
3991
+ "msg": "User has no order"
3992
+ },
3993
+ {
3994
+ "code": 6041,
3995
+ "name": "OrderAmountTooSmall",
3996
+ "msg": "Order Amount Too Small"
3997
+ },
3998
+ {
3999
+ "code": 6042,
4000
+ "name": "MaxNumberOfOrders",
4001
+ "msg": "Max number of orders taken"
4002
+ },
4003
+ {
4004
+ "code": 6043,
4005
+ "name": "OrderDoesNotExist",
4006
+ "msg": "Order does not exist"
4007
+ },
4008
+ {
4009
+ "code": 6044,
4010
+ "name": "OrderNotOpen",
4011
+ "msg": "Order not open"
4012
+ },
4013
+ {
4014
+ "code": 6045,
4015
+ "name": "CouldNotFillOrder",
4016
+ "msg": "CouldNotFillOrder"
4017
+ },
4018
+ {
4019
+ "code": 6046,
4020
+ "name": "ReduceOnlyOrderIncreasedRisk",
4021
+ "msg": "Reduce only order increased risk"
4022
+ },
4023
+ {
4024
+ "code": 6047,
4025
+ "name": "OrderStateAlreadyInitialized",
4026
+ "msg": "Order state already initialized"
4027
+ },
4028
+ {
4029
+ "code": 6048,
4030
+ "name": "UnableToLoadAccountLoader",
4031
+ "msg": "Unable to load AccountLoader"
4032
+ },
4033
+ {
4034
+ "code": 6049,
4035
+ "name": "TradeSizeTooLarge",
4036
+ "msg": "Trade Size Too Large"
4037
+ },
4038
+ {
4039
+ "code": 6050,
4040
+ "name": "UnableToWriteToRemainingAccount",
4041
+ "msg": "Unable to write to remaining account"
4042
+ },
4043
+ {
4044
+ "code": 6051,
4045
+ "name": "UserCantReferThemselves",
4046
+ "msg": "User cant refer themselves"
4047
+ },
4048
+ {
4049
+ "code": 6052,
4050
+ "name": "DidNotReceiveExpectedReferrer",
4051
+ "msg": "Did not receive expected referrer"
4052
+ },
4053
+ {
4054
+ "code": 6053,
4055
+ "name": "CouldNotDeserializeReferrer",
4056
+ "msg": "Could not deserialize referrer"
4057
+ },
4058
+ {
4059
+ "code": 6054,
4060
+ "name": "MarketOrderMustBeInPlaceAndFill",
4061
+ "msg": "Market order must be in place and fill"
4062
+ },
4063
+ {
4064
+ "code": 6055,
4065
+ "name": "UserOrderIdAlreadyInUse",
4066
+ "msg": "User Order Id Already In Use"
3040
4067
  }
3041
4068
  ]
3042
4069
  }