@drift-labs/sdk 2.37.1-beta.1 → 2.37.1-beta.10
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.
- package/VERSION +1 -1
- package/lib/adminClient.d.ts +1 -0
- package/lib/adminClient.js +10 -0
- package/lib/constants/perpMarkets.js +20 -0
- package/lib/idl/drift.json +73 -8
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/math/auction.js +1 -1
- package/lib/orderSubscriber/OrderSubscriber.d.ts +5 -1
- package/lib/orderSubscriber/OrderSubscriber.js +10 -0
- package/lib/orderSubscriber/types.d.ts +5 -0
- package/lib/tx/baseTxSender.d.ts +30 -0
- package/lib/tx/baseTxSender.js +176 -0
- package/lib/tx/fastSingleTxSender.d.ts +27 -0
- package/lib/tx/fastSingleTxSender.js +83 -0
- package/lib/tx/retryTxSender.d.ts +5 -14
- package/lib/tx/retryTxSender.js +7 -158
- package/lib/types.d.ts +18 -0
- package/lib/types.js +1 -0
- package/lib/user.d.ts +10 -1
- package/lib/user.js +259 -61
- package/package.json +2 -2
- package/src/adminClient.ts +18 -0
- package/src/constants/perpMarkets.ts +20 -0
- package/src/idl/drift.json +73 -8
- package/src/index.ts +1 -0
- package/src/marinade/types.ts +70 -70
- package/src/math/auction.ts +1 -1
- package/src/orderSubscriber/OrderSubscriber.ts +19 -2
- package/src/orderSubscriber/types.ts +11 -0
- package/src/tx/baseTxSender.ts +276 -0
- package/src/tx/fastSingleTxSender.ts +142 -0
- package/src/tx/retryTxSender.ts +9 -235
- package/src/types.ts +19 -0
- package/src/user.ts +441 -101
- package/tests/amm/test.ts +83 -39
- package/tests/dlob/helpers.ts +2 -0
- package/tests/dlob/test.ts +19 -17
package/src/adminClient.ts
CHANGED
|
@@ -691,6 +691,24 @@ export class AdminClient extends DriftClient {
|
|
|
691
691
|
});
|
|
692
692
|
}
|
|
693
693
|
|
|
694
|
+
public async updatePerpMarketPerLpBase(
|
|
695
|
+
perpMarketIndex: number,
|
|
696
|
+
perLpBase: number
|
|
697
|
+
): Promise<TransactionSignature> {
|
|
698
|
+
const perpMarketPublicKey = await getPerpMarketPublicKey(
|
|
699
|
+
this.program.programId,
|
|
700
|
+
perpMarketIndex
|
|
701
|
+
);
|
|
702
|
+
|
|
703
|
+
return await this.program.rpc.updatePerpMarketPerLpBase(perLpBase, {
|
|
704
|
+
accounts: {
|
|
705
|
+
admin: this.wallet.publicKey,
|
|
706
|
+
state: await this.getStatePublicKey(),
|
|
707
|
+
perpMarket: perpMarketPublicKey,
|
|
708
|
+
},
|
|
709
|
+
});
|
|
710
|
+
}
|
|
711
|
+
|
|
694
712
|
public async updatePerpMarketMaxSpread(
|
|
695
713
|
perpMarketIndex: number,
|
|
696
714
|
maxSpread: number
|
|
@@ -154,6 +154,16 @@ export const DevnetPerpMarkets: PerpMarketConfig[] = [
|
|
|
154
154
|
launchTs: 1689270550000,
|
|
155
155
|
oracleSource: OracleSource.PYTH,
|
|
156
156
|
},
|
|
157
|
+
{
|
|
158
|
+
fullName: 'HNT',
|
|
159
|
+
category: ['IoT'],
|
|
160
|
+
symbol: 'HNT-PERP',
|
|
161
|
+
baseAssetSymbol: 'HNT',
|
|
162
|
+
marketIndex: 14,
|
|
163
|
+
oracle: new PublicKey('6Eg8YdfFJQF2HHonzPUBSCCmyUEhrStg9VBLK957sBe6'),
|
|
164
|
+
launchTs: 16922949550000,
|
|
165
|
+
oracleSource: OracleSource.PYTH,
|
|
166
|
+
},
|
|
157
167
|
];
|
|
158
168
|
|
|
159
169
|
export const MainnetPerpMarkets: PerpMarketConfig[] = [
|
|
@@ -297,6 +307,16 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
|
|
|
297
307
|
launchTs: 1689270550000,
|
|
298
308
|
oracleSource: OracleSource.PYTH,
|
|
299
309
|
},
|
|
310
|
+
{
|
|
311
|
+
fullName: 'HNT',
|
|
312
|
+
category: ['IoT'],
|
|
313
|
+
symbol: 'HNT-PERP',
|
|
314
|
+
baseAssetSymbol: 'HNT',
|
|
315
|
+
marketIndex: 14,
|
|
316
|
+
oracle: new PublicKey('7moA1i5vQUpfDwSpK6Pw9s56ahB7WFGidtbL2ujWrVvm'),
|
|
317
|
+
launchTs: 16922949550000,
|
|
318
|
+
oracleSource: OracleSource.PYTH,
|
|
319
|
+
},
|
|
300
320
|
];
|
|
301
321
|
|
|
302
322
|
export const PerpMarkets: { [key in DriftEnv]: PerpMarketConfig[] } = {
|
package/src/idl/drift.json
CHANGED
|
@@ -1122,6 +1122,31 @@
|
|
|
1122
1122
|
}
|
|
1123
1123
|
]
|
|
1124
1124
|
},
|
|
1125
|
+
{
|
|
1126
|
+
"name": "updateUserReduceOnly",
|
|
1127
|
+
"accounts": [
|
|
1128
|
+
{
|
|
1129
|
+
"name": "user",
|
|
1130
|
+
"isMut": true,
|
|
1131
|
+
"isSigner": false
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
"name": "authority",
|
|
1135
|
+
"isMut": false,
|
|
1136
|
+
"isSigner": true
|
|
1137
|
+
}
|
|
1138
|
+
],
|
|
1139
|
+
"args": [
|
|
1140
|
+
{
|
|
1141
|
+
"name": "subAccountId",
|
|
1142
|
+
"type": "u16"
|
|
1143
|
+
},
|
|
1144
|
+
{
|
|
1145
|
+
"name": "reduceOnly",
|
|
1146
|
+
"type": "bool"
|
|
1147
|
+
}
|
|
1148
|
+
]
|
|
1149
|
+
},
|
|
1125
1150
|
{
|
|
1126
1151
|
"name": "deleteUser",
|
|
1127
1152
|
"accounts": [
|
|
@@ -3857,6 +3882,32 @@
|
|
|
3857
3882
|
}
|
|
3858
3883
|
]
|
|
3859
3884
|
},
|
|
3885
|
+
{
|
|
3886
|
+
"name": "updatePerpMarketPerLpBase",
|
|
3887
|
+
"accounts": [
|
|
3888
|
+
{
|
|
3889
|
+
"name": "admin",
|
|
3890
|
+
"isMut": false,
|
|
3891
|
+
"isSigner": true
|
|
3892
|
+
},
|
|
3893
|
+
{
|
|
3894
|
+
"name": "state",
|
|
3895
|
+
"isMut": false,
|
|
3896
|
+
"isSigner": false
|
|
3897
|
+
},
|
|
3898
|
+
{
|
|
3899
|
+
"name": "perpMarket",
|
|
3900
|
+
"isMut": true,
|
|
3901
|
+
"isSigner": false
|
|
3902
|
+
}
|
|
3903
|
+
],
|
|
3904
|
+
"args": [
|
|
3905
|
+
{
|
|
3906
|
+
"name": "perLpBase",
|
|
3907
|
+
"type": "i8"
|
|
3908
|
+
}
|
|
3909
|
+
]
|
|
3910
|
+
},
|
|
3860
3911
|
{
|
|
3861
3912
|
"name": "updateLpCooldownTime",
|
|
3862
3913
|
"accounts": [
|
|
@@ -6953,9 +7004,20 @@
|
|
|
6953
7004
|
],
|
|
6954
7005
|
"type": "i32"
|
|
6955
7006
|
},
|
|
7007
|
+
{
|
|
7008
|
+
"name": "perLpBase",
|
|
7009
|
+
"docs": [
|
|
7010
|
+
"expo for unit of per_lp, base 10 (if per_lp_base=X, then per_lp unit is 10^X)"
|
|
7011
|
+
],
|
|
7012
|
+
"type": "i8"
|
|
7013
|
+
},
|
|
6956
7014
|
{
|
|
6957
7015
|
"name": "padding1",
|
|
6958
|
-
"type": "
|
|
7016
|
+
"type": "u8"
|
|
7017
|
+
},
|
|
7018
|
+
{
|
|
7019
|
+
"name": "padding2",
|
|
7020
|
+
"type": "u16"
|
|
6959
7021
|
},
|
|
6960
7022
|
{
|
|
6961
7023
|
"name": "totalFeeEarnedPerLp",
|
|
@@ -7422,13 +7484,8 @@
|
|
|
7422
7484
|
"type": "u8"
|
|
7423
7485
|
},
|
|
7424
7486
|
{
|
|
7425
|
-
"name": "
|
|
7426
|
-
"type":
|
|
7427
|
-
"array": [
|
|
7428
|
-
"u8",
|
|
7429
|
-
1
|
|
7430
|
-
]
|
|
7431
|
-
}
|
|
7487
|
+
"name": "perLpBase",
|
|
7488
|
+
"type": "i8"
|
|
7432
7489
|
}
|
|
7433
7490
|
]
|
|
7434
7491
|
}
|
|
@@ -8314,6 +8371,9 @@
|
|
|
8314
8371
|
},
|
|
8315
8372
|
{
|
|
8316
8373
|
"name": "Bankrupt"
|
|
8374
|
+
},
|
|
8375
|
+
{
|
|
8376
|
+
"name": "ReduceOnly"
|
|
8317
8377
|
}
|
|
8318
8378
|
]
|
|
8319
8379
|
}
|
|
@@ -10681,6 +10741,11 @@
|
|
|
10681
10741
|
"code": 6253,
|
|
10682
10742
|
"name": "CantUpdatePerpBidAskTwap",
|
|
10683
10743
|
"msg": "CantUpdatePerpBidAskTwap"
|
|
10744
|
+
},
|
|
10745
|
+
{
|
|
10746
|
+
"code": 6254,
|
|
10747
|
+
"name": "UserReduceOnly",
|
|
10748
|
+
"msg": "UserReduceOnly"
|
|
10684
10749
|
}
|
|
10685
10750
|
]
|
|
10686
10751
|
}
|
package/src/index.ts
CHANGED
|
@@ -61,6 +61,7 @@ export * from './serum/serumSubscriber';
|
|
|
61
61
|
export * from './serum/serumFulfillmentConfigMap';
|
|
62
62
|
export * from './phoenix/phoenixSubscriber';
|
|
63
63
|
export * from './phoenix/phoenixFulfillmentConfigMap';
|
|
64
|
+
export * from './tx/fastSingleTxSender';
|
|
64
65
|
export * from './tx/retryTxSender';
|
|
65
66
|
export * from './tx/types';
|
|
66
67
|
export * from './util/computeUnits';
|