@drift-labs/sdk 2.86.0-beta.3 → 2.86.0-beta.31

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 (42) hide show
  1. package/VERSION +1 -1
  2. package/lib/addresses/pda.d.ts +1 -0
  3. package/lib/addresses/pda.js +8 -1
  4. package/lib/adminClient.d.ts +8 -0
  5. package/lib/adminClient.js +79 -0
  6. package/lib/bankrun/bankrunConnection.d.ts +1 -0
  7. package/lib/bankrun/bankrunConnection.js +6 -0
  8. package/lib/constants/numericConstants.d.ts +3 -0
  9. package/lib/constants/numericConstants.js +4 -1
  10. package/lib/constants/perpMarkets.js +142 -118
  11. package/lib/constants/spotMarkets.js +50 -38
  12. package/lib/driftClient.d.ts +12 -14
  13. package/lib/driftClient.js +144 -9
  14. package/lib/idl/drift.json +551 -4
  15. package/lib/idl/pyth_solana_receiver.json +628 -0
  16. package/lib/index.d.ts +1 -0
  17. package/lib/index.js +1 -0
  18. package/lib/math/fuel.d.ts +6 -0
  19. package/lib/math/fuel.js +55 -0
  20. package/lib/types.d.ts +35 -2
  21. package/lib/types.js +3 -2
  22. package/lib/user.d.ts +8 -0
  23. package/lib/user.js +64 -0
  24. package/package.json +1 -1
  25. package/src/addresses/pda.ts +15 -0
  26. package/src/adminClient.ts +208 -0
  27. package/src/bankrun/bankrunConnection.ts +13 -0
  28. package/src/constants/numericConstants.ts +4 -0
  29. package/src/constants/perpMarkets.ts +146 -118
  30. package/src/constants/spotMarkets.ts +52 -38
  31. package/src/driftClient.ts +197 -16
  32. package/src/idl/drift.json +551 -4
  33. package/src/idl/openbook.json +3854 -0
  34. package/src/idl/pyth_solana_receiver.json +628 -0
  35. package/src/index.ts +1 -0
  36. package/src/math/fuel.ts +70 -0
  37. package/src/types.ts +42 -2
  38. package/src/user.ts +177 -0
  39. package/tests/ci/verifyConstants.ts +214 -0
  40. package/tests/dlob/helpers.ts +30 -0
  41. package/tests/user/helpers.ts +1 -0
  42. package/tests/user/test.ts +2 -0
@@ -2244,6 +2244,42 @@
2244
2244
  ],
2245
2245
  "args": []
2246
2246
  },
2247
+ {
2248
+ "name": "updateUserGovTokenInsuranceStake",
2249
+ "accounts": [
2250
+ {
2251
+ "name": "state",
2252
+ "isMut": false,
2253
+ "isSigner": false
2254
+ },
2255
+ {
2256
+ "name": "spotMarket",
2257
+ "isMut": false,
2258
+ "isSigner": false
2259
+ },
2260
+ {
2261
+ "name": "insuranceFundStake",
2262
+ "isMut": true,
2263
+ "isSigner": false
2264
+ },
2265
+ {
2266
+ "name": "userStats",
2267
+ "isMut": true,
2268
+ "isSigner": false
2269
+ },
2270
+ {
2271
+ "name": "authority",
2272
+ "isMut": false,
2273
+ "isSigner": true
2274
+ },
2275
+ {
2276
+ "name": "insuranceFundVault",
2277
+ "isMut": true,
2278
+ "isSigner": false
2279
+ }
2280
+ ],
2281
+ "args": []
2282
+ },
2247
2283
  {
2248
2284
  "name": "initializeInsuranceFundStake",
2249
2285
  "accounts": [
@@ -2627,6 +2663,32 @@
2627
2663
  }
2628
2664
  ]
2629
2665
  },
2666
+ {
2667
+ "name": "postMultiPythPullOracleUpdatesAtomic",
2668
+ "accounts": [
2669
+ {
2670
+ "name": "keeper",
2671
+ "isMut": true,
2672
+ "isSigner": true
2673
+ },
2674
+ {
2675
+ "name": "pythSolanaReceiver",
2676
+ "isMut": false,
2677
+ "isSigner": false
2678
+ },
2679
+ {
2680
+ "name": "guardianSet",
2681
+ "isMut": false,
2682
+ "isSigner": false
2683
+ }
2684
+ ],
2685
+ "args": [
2686
+ {
2687
+ "name": "params",
2688
+ "type": "bytes"
2689
+ }
2690
+ ]
2691
+ },
2630
2692
  {
2631
2693
  "name": "initialize",
2632
2694
  "accounts": [
@@ -2955,6 +3017,95 @@
2955
3017
  }
2956
3018
  ]
2957
3019
  },
3020
+ {
3021
+ "name": "initializeOpenbookV2FulfillmentConfig",
3022
+ "accounts": [
3023
+ {
3024
+ "name": "baseSpotMarket",
3025
+ "isMut": false,
3026
+ "isSigner": false
3027
+ },
3028
+ {
3029
+ "name": "quoteSpotMarket",
3030
+ "isMut": false,
3031
+ "isSigner": false
3032
+ },
3033
+ {
3034
+ "name": "state",
3035
+ "isMut": true,
3036
+ "isSigner": false
3037
+ },
3038
+ {
3039
+ "name": "openbookV2Program",
3040
+ "isMut": false,
3041
+ "isSigner": false
3042
+ },
3043
+ {
3044
+ "name": "openbookV2Market",
3045
+ "isMut": false,
3046
+ "isSigner": false
3047
+ },
3048
+ {
3049
+ "name": "driftSigner",
3050
+ "isMut": false,
3051
+ "isSigner": false
3052
+ },
3053
+ {
3054
+ "name": "openbookV2FulfillmentConfig",
3055
+ "isMut": true,
3056
+ "isSigner": false
3057
+ },
3058
+ {
3059
+ "name": "admin",
3060
+ "isMut": true,
3061
+ "isSigner": true
3062
+ },
3063
+ {
3064
+ "name": "rent",
3065
+ "isMut": false,
3066
+ "isSigner": false
3067
+ },
3068
+ {
3069
+ "name": "systemProgram",
3070
+ "isMut": false,
3071
+ "isSigner": false
3072
+ }
3073
+ ],
3074
+ "args": [
3075
+ {
3076
+ "name": "marketIndex",
3077
+ "type": "u16"
3078
+ }
3079
+ ]
3080
+ },
3081
+ {
3082
+ "name": "openbookV2FulfillmentConfigStatus",
3083
+ "accounts": [
3084
+ {
3085
+ "name": "state",
3086
+ "isMut": false,
3087
+ "isSigner": false
3088
+ },
3089
+ {
3090
+ "name": "openbookV2FulfillmentConfig",
3091
+ "isMut": true,
3092
+ "isSigner": false
3093
+ },
3094
+ {
3095
+ "name": "admin",
3096
+ "isMut": true,
3097
+ "isSigner": true
3098
+ }
3099
+ ],
3100
+ "args": [
3101
+ {
3102
+ "name": "status",
3103
+ "type": {
3104
+ "defined": "SpotFulfillmentConfigStatus"
3105
+ }
3106
+ }
3107
+ ]
3108
+ },
2958
3109
  {
2959
3110
  "name": "initializePhoenixFulfillmentConfig",
2960
3111
  "accounts": [
@@ -5079,6 +5230,155 @@
5079
5230
  }
5080
5231
  ]
5081
5232
  },
5233
+ {
5234
+ "name": "updatePerpMarketFuel",
5235
+ "accounts": [
5236
+ {
5237
+ "name": "admin",
5238
+ "isMut": false,
5239
+ "isSigner": true
5240
+ },
5241
+ {
5242
+ "name": "state",
5243
+ "isMut": false,
5244
+ "isSigner": false
5245
+ },
5246
+ {
5247
+ "name": "perpMarket",
5248
+ "isMut": true,
5249
+ "isSigner": false
5250
+ }
5251
+ ],
5252
+ "args": [
5253
+ {
5254
+ "name": "fuelBoostTaker",
5255
+ "type": {
5256
+ "option": "u8"
5257
+ }
5258
+ },
5259
+ {
5260
+ "name": "fuelBoostMaker",
5261
+ "type": {
5262
+ "option": "u8"
5263
+ }
5264
+ },
5265
+ {
5266
+ "name": "fuelBoostPosition",
5267
+ "type": {
5268
+ "option": "u8"
5269
+ }
5270
+ }
5271
+ ]
5272
+ },
5273
+ {
5274
+ "name": "updateSpotMarketFuel",
5275
+ "accounts": [
5276
+ {
5277
+ "name": "admin",
5278
+ "isMut": false,
5279
+ "isSigner": true
5280
+ },
5281
+ {
5282
+ "name": "state",
5283
+ "isMut": false,
5284
+ "isSigner": false
5285
+ },
5286
+ {
5287
+ "name": "spotMarket",
5288
+ "isMut": true,
5289
+ "isSigner": false
5290
+ }
5291
+ ],
5292
+ "args": [
5293
+ {
5294
+ "name": "fuelBoostDeposits",
5295
+ "type": {
5296
+ "option": "u8"
5297
+ }
5298
+ },
5299
+ {
5300
+ "name": "fuelBoostBorrows",
5301
+ "type": {
5302
+ "option": "u8"
5303
+ }
5304
+ },
5305
+ {
5306
+ "name": "fuelBoostTaker",
5307
+ "type": {
5308
+ "option": "u8"
5309
+ }
5310
+ },
5311
+ {
5312
+ "name": "fuelBoostMaker",
5313
+ "type": {
5314
+ "option": "u8"
5315
+ }
5316
+ },
5317
+ {
5318
+ "name": "fuelBoostInsurance",
5319
+ "type": {
5320
+ "option": "u8"
5321
+ }
5322
+ }
5323
+ ]
5324
+ },
5325
+ {
5326
+ "name": "initUserFuel",
5327
+ "accounts": [
5328
+ {
5329
+ "name": "admin",
5330
+ "isMut": false,
5331
+ "isSigner": true
5332
+ },
5333
+ {
5334
+ "name": "state",
5335
+ "isMut": false,
5336
+ "isSigner": false
5337
+ },
5338
+ {
5339
+ "name": "user",
5340
+ "isMut": true,
5341
+ "isSigner": false
5342
+ },
5343
+ {
5344
+ "name": "userStats",
5345
+ "isMut": true,
5346
+ "isSigner": false
5347
+ }
5348
+ ],
5349
+ "args": [
5350
+ {
5351
+ "name": "fuelBoostDeposits",
5352
+ "type": {
5353
+ "option": "u32"
5354
+ }
5355
+ },
5356
+ {
5357
+ "name": "fuelBoostBorrows",
5358
+ "type": {
5359
+ "option": "u32"
5360
+ }
5361
+ },
5362
+ {
5363
+ "name": "fuelBoostTaker",
5364
+ "type": {
5365
+ "option": "u32"
5366
+ }
5367
+ },
5368
+ {
5369
+ "name": "fuelBoostMaker",
5370
+ "type": {
5371
+ "option": "u32"
5372
+ }
5373
+ },
5374
+ {
5375
+ "name": "fuelBoostInsurance",
5376
+ "type": {
5377
+ "option": "u32"
5378
+ }
5379
+ }
5380
+ ]
5381
+ },
5082
5382
  {
5083
5383
  "name": "updateAdmin",
5084
5384
  "accounts": [
@@ -5420,6 +5720,75 @@
5420
5720
  }
5421
5721
  ],
5422
5722
  "accounts": [
5723
+ {
5724
+ "name": "OpenbookV2FulfillmentConfig",
5725
+ "type": {
5726
+ "kind": "struct",
5727
+ "fields": [
5728
+ {
5729
+ "name": "pubkey",
5730
+ "type": "publicKey"
5731
+ },
5732
+ {
5733
+ "name": "openbookV2ProgramId",
5734
+ "type": "publicKey"
5735
+ },
5736
+ {
5737
+ "name": "openbookV2Market",
5738
+ "type": "publicKey"
5739
+ },
5740
+ {
5741
+ "name": "openbookV2MarketAuthority",
5742
+ "type": "publicKey"
5743
+ },
5744
+ {
5745
+ "name": "openbookV2EventHeap",
5746
+ "type": "publicKey"
5747
+ },
5748
+ {
5749
+ "name": "openbookV2Bids",
5750
+ "type": "publicKey"
5751
+ },
5752
+ {
5753
+ "name": "openbookV2Asks",
5754
+ "type": "publicKey"
5755
+ },
5756
+ {
5757
+ "name": "openbookV2BaseVault",
5758
+ "type": "publicKey"
5759
+ },
5760
+ {
5761
+ "name": "openbookV2QuoteVault",
5762
+ "type": "publicKey"
5763
+ },
5764
+ {
5765
+ "name": "marketIndex",
5766
+ "type": "u16"
5767
+ },
5768
+ {
5769
+ "name": "fulfillmentType",
5770
+ "type": {
5771
+ "defined": "SpotFulfillmentType"
5772
+ }
5773
+ },
5774
+ {
5775
+ "name": "status",
5776
+ "type": {
5777
+ "defined": "SpotFulfillmentConfigStatus"
5778
+ }
5779
+ },
5780
+ {
5781
+ "name": "padding",
5782
+ "type": {
5783
+ "array": [
5784
+ "u8",
5785
+ 4
5786
+ ]
5787
+ }
5788
+ }
5789
+ ]
5790
+ }
5791
+ },
5423
5792
  {
5424
5793
  "name": "PhoenixV1FulfillmentConfig",
5425
5794
  "type": {
@@ -5918,12 +6287,36 @@
5918
6287
  ],
5919
6288
  "type": "i16"
5920
6289
  },
6290
+ {
6291
+ "name": "fuelBoostPosition",
6292
+ "docs": [
6293
+ "fuel multiplier for perp funding",
6294
+ "precision: 10"
6295
+ ],
6296
+ "type": "u8"
6297
+ },
6298
+ {
6299
+ "name": "fuelBoostTaker",
6300
+ "docs": [
6301
+ "fuel multiplier for perp taker",
6302
+ "precision: 10"
6303
+ ],
6304
+ "type": "u8"
6305
+ },
6306
+ {
6307
+ "name": "fuelBoostMaker",
6308
+ "docs": [
6309
+ "fuel multiplier for perp maker",
6310
+ "precision: 10"
6311
+ ],
6312
+ "type": "u8"
6313
+ },
5921
6314
  {
5922
6315
  "name": "padding",
5923
6316
  "type": {
5924
6317
  "array": [
5925
6318
  "u8",
5926
- 46
6319
+ 43
5927
6320
  ]
5928
6321
  }
5929
6322
  }
@@ -6376,12 +6769,52 @@
6376
6769
  ],
6377
6770
  "type": "u8"
6378
6771
  },
6772
+ {
6773
+ "name": "fuelBoostDeposits",
6774
+ "docs": [
6775
+ "fuel multiplier for spot deposits",
6776
+ "precision: 10"
6777
+ ],
6778
+ "type": "u8"
6779
+ },
6780
+ {
6781
+ "name": "fuelBoostBorrows",
6782
+ "docs": [
6783
+ "fuel multiplier for spot borrows",
6784
+ "precision: 10"
6785
+ ],
6786
+ "type": "u8"
6787
+ },
6788
+ {
6789
+ "name": "fuelBoostTaker",
6790
+ "docs": [
6791
+ "fuel multiplier for spot taker",
6792
+ "precision: 10"
6793
+ ],
6794
+ "type": "u8"
6795
+ },
6796
+ {
6797
+ "name": "fuelBoostMaker",
6798
+ "docs": [
6799
+ "fuel multiplier for spot maker",
6800
+ "precision: 10"
6801
+ ],
6802
+ "type": "u8"
6803
+ },
6804
+ {
6805
+ "name": "fuelBoostInsurance",
6806
+ "docs": [
6807
+ "fuel multiplier for spot insurance stake",
6808
+ "precision: 10"
6809
+ ],
6810
+ "type": "u8"
6811
+ },
6379
6812
  {
6380
6813
  "name": "padding",
6381
6814
  "type": {
6382
6815
  "array": [
6383
6816
  "u8",
6384
- 47
6817
+ 42
6385
6818
  ]
6386
6819
  }
6387
6820
  }
@@ -6729,12 +7162,25 @@
6729
7162
  ],
6730
7163
  "type": "bool"
6731
7164
  },
7165
+ {
7166
+ "name": "padding1",
7167
+ "type": {
7168
+ "array": [
7169
+ "u8",
7170
+ 5
7171
+ ]
7172
+ }
7173
+ },
7174
+ {
7175
+ "name": "lastFuelBonusUpdateTs",
7176
+ "type": "u32"
7177
+ },
6732
7178
  {
6733
7179
  "name": "padding",
6734
7180
  "type": {
6735
7181
  "array": [
6736
7182
  "u8",
6737
- 21
7183
+ 12
6738
7184
  ]
6739
7185
  }
6740
7186
  }
@@ -6855,12 +7301,77 @@
6855
7301
  "name": "disableUpdatePerpBidAskTwap",
6856
7302
  "type": "bool"
6857
7303
  },
7304
+ {
7305
+ "name": "padding1",
7306
+ "type": {
7307
+ "array": [
7308
+ "u8",
7309
+ 2
7310
+ ]
7311
+ }
7312
+ },
7313
+ {
7314
+ "name": "fuelInsurance",
7315
+ "docs": [
7316
+ "accumulated fuel for token amounts of insurance"
7317
+ ],
7318
+ "type": "u32"
7319
+ },
7320
+ {
7321
+ "name": "fuelDeposits",
7322
+ "docs": [
7323
+ "accumulated fuel for notional of deposits"
7324
+ ],
7325
+ "type": "u32"
7326
+ },
7327
+ {
7328
+ "name": "fuelBorrows",
7329
+ "docs": [
7330
+ "accumulate fuel bonus for notional of borrows"
7331
+ ],
7332
+ "type": "u32"
7333
+ },
7334
+ {
7335
+ "name": "fuelPositions",
7336
+ "docs": [
7337
+ "accumulated fuel for perp open interest"
7338
+ ],
7339
+ "type": "u32"
7340
+ },
7341
+ {
7342
+ "name": "fuelTaker",
7343
+ "docs": [
7344
+ "accumulate fuel bonus for taker volume"
7345
+ ],
7346
+ "type": "u32"
7347
+ },
7348
+ {
7349
+ "name": "fuelMaker",
7350
+ "docs": [
7351
+ "accumulate fuel bonus for maker volume"
7352
+ ],
7353
+ "type": "u32"
7354
+ },
7355
+ {
7356
+ "name": "ifStakedGovTokenAmount",
7357
+ "docs": [
7358
+ "The amount of tokens staked in the governance spot markets if"
7359
+ ],
7360
+ "type": "u64"
7361
+ },
7362
+ {
7363
+ "name": "lastFuelIfBonusUpdateTs",
7364
+ "docs": [
7365
+ "last unix ts user stats data was used to update if fuel (u32 to save space)"
7366
+ ],
7367
+ "type": "u32"
7368
+ },
6858
7369
  {
6859
7370
  "name": "padding",
6860
7371
  "type": {
6861
7372
  "array": [
6862
7373
  "u8",
6863
- 50
7374
+ 12
6864
7375
  ]
6865
7376
  }
6866
7377
  }
@@ -8916,6 +9427,9 @@
8916
9427
  },
8917
9428
  {
8918
9429
  "name": "PhoenixV1"
9430
+ },
9431
+ {
9432
+ "name": "OpenbookV2"
8919
9433
  }
8920
9434
  ]
8921
9435
  }
@@ -9187,6 +9701,9 @@
9187
9701
  },
9188
9702
  {
9189
9703
  "name": "DeriskLp"
9704
+ },
9705
+ {
9706
+ "name": "OrderFilledWithOpenbookV2"
9190
9707
  }
9191
9708
  ]
9192
9709
  }
@@ -12185,6 +12702,36 @@
12185
12702
  "code": 6275,
12186
12703
  "name": "OracleWrongVaaOwner",
12187
12704
  "msg": "Oracle vaa owner must be wormhole program"
12705
+ },
12706
+ {
12707
+ "code": 6276,
12708
+ "name": "OracleTooManyPriceAccountUpdates",
12709
+ "msg": "Multi updates must have 2 or fewer accounts passed in remaining accounts"
12710
+ },
12711
+ {
12712
+ "code": 6277,
12713
+ "name": "OracleMismatchedVaaAndPriceUpdates",
12714
+ "msg": "Don't have the same remaining accounts number and merkle price updates left"
12715
+ },
12716
+ {
12717
+ "code": 6278,
12718
+ "name": "OracleBadRemainingAccountPublicKey",
12719
+ "msg": "Remaining account passed is not a valid pda"
12720
+ },
12721
+ {
12722
+ "code": 6279,
12723
+ "name": "FailedOpenbookV2CPI",
12724
+ "msg": "FailedOpenbookV2CPI"
12725
+ },
12726
+ {
12727
+ "code": 6280,
12728
+ "name": "InvalidOpenbookV2Program",
12729
+ "msg": "InvalidOpenbookV2Program"
12730
+ },
12731
+ {
12732
+ "code": 6281,
12733
+ "name": "InvalidOpenbookV2Market",
12734
+ "msg": "InvalidOpenbookV2Market"
12188
12735
  }
12189
12736
  ],
12190
12737
  "metadata": {