@drift-labs/sdk 0.1.18-master.3 → 0.1.18-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.
- package/lib/accounts/defaultUserAccountSubscriber.d.ts.map +1 -1
- package/lib/accounts/defaultUserAccountSubscriber.js +4 -2
- package/lib/admin.d.ts +1 -0
- package/lib/admin.d.ts.map +1 -1
- package/lib/admin.js +17 -0
- package/lib/constants/markets.d.ts.map +1 -1
- package/lib/constants/markets.js +8 -0
- package/lib/idl/clearing_house.json +75 -3
- package/package.json +1 -1
- package/src/accounts/defaultUserAccountSubscriber.ts +4 -2
- package/src/admin.ts +19 -0
- package/src/constants/markets.ts +8 -0
- package/src/idl/clearing_house.json +75 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultUserAccountSubscriber.d.ts","sourceRoot":"","sources":["../../src/accounts/defaultUserAccountSubscriber.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,iBAAiB,EAEjB,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE7D,qBAAa,4BAA6B,YAAW,qBAAqB;IACzE,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAClE,SAAS,EAAE,SAAS,CAAC;IAErB,yBAAyB,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1D,8BAA8B,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;gBAErD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;IAOnD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAsC7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"defaultUserAccountSubscriber.d.ts","sourceRoot":"","sources":["../../src/accounts/defaultUserAccountSubscriber.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,iBAAiB,EAEjB,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE7D,qBAAa,4BAA6B,YAAW,qBAAqB;IACzE,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAClE,SAAS,EAAE,SAAS,CAAC;IAErB,yBAAyB,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1D,8BAA8B,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;gBAErD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;IAOnD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAsC7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAalC,kBAAkB,IAAI,IAAI;IAQnB,cAAc,IAAI,WAAW;IAK7B,uBAAuB,IAAI,oBAAoB;CAItD"}
|
|
@@ -56,8 +56,10 @@ class DefaultUserAccountSubscriber {
|
|
|
56
56
|
if (!this.isSubscribed) {
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
-
yield
|
|
60
|
-
|
|
59
|
+
yield Promise.all([
|
|
60
|
+
this.userDataAccountSubscriber.unsubscribe(),
|
|
61
|
+
this.userPositionsAccountSubscriber.unsubscribe(),
|
|
62
|
+
]);
|
|
61
63
|
this.isSubscribed = false;
|
|
62
64
|
});
|
|
63
65
|
}
|
package/lib/admin.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare class Admin extends ClearingHouse {
|
|
|
12
12
|
updateCurveHistory(): Promise<TransactionSignature>;
|
|
13
13
|
moveAmmToPrice(marketIndex: BN, targetPrice: BN): Promise<TransactionSignature>;
|
|
14
14
|
repegAmmCurve(newPeg: BN, marketIndex: BN): Promise<TransactionSignature>;
|
|
15
|
+
updateAmmOracleTwap(marketIndex: BN): Promise<TransactionSignature>;
|
|
15
16
|
withdrawFromInsuranceVault(amount: BN, recipient: PublicKey): Promise<TransactionSignature>;
|
|
16
17
|
withdrawFees(marketIndex: BN, amount: BN, recipient: PublicKey): Promise<TransactionSignature>;
|
|
17
18
|
withdrawFromInsuranceVaultToMarket(marketIndex: BN, amount: BN): Promise<TransactionSignature>;
|
package/lib/admin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|
package/lib/admin.js
CHANGED
|
@@ -217,6 +217,23 @@ class Admin extends clearingHouse_1.ClearingHouse {
|
|
|
217
217
|
});
|
|
218
218
|
});
|
|
219
219
|
}
|
|
220
|
+
updateAmmOracleTwap(marketIndex) {
|
|
221
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
222
|
+
const state = this.getStateAccount();
|
|
223
|
+
const markets = this.getMarketsAccount();
|
|
224
|
+
const marketData = markets.markets[marketIndex.toNumber()];
|
|
225
|
+
const ammData = marketData.amm;
|
|
226
|
+
return yield this.program.rpc.updateAmmOracleTwap(marketIndex, {
|
|
227
|
+
accounts: {
|
|
228
|
+
state: yield this.getStatePublicKey(),
|
|
229
|
+
admin: this.wallet.publicKey,
|
|
230
|
+
oracle: ammData.oracle,
|
|
231
|
+
markets: state.markets,
|
|
232
|
+
curveHistory: state.extendedCurveHistory,
|
|
233
|
+
},
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
}
|
|
220
237
|
withdrawFromInsuranceVault(amount, recipient) {
|
|
221
238
|
return __awaiter(this, void 0, void 0, function* () {
|
|
222
239
|
const state = yield this.getStateAccount();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../src/constants/markets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,aAAK,MAAM,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,EAAE,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../src/constants/markets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,aAAK,MAAM,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,EAAE,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,MAAM,EAyF3B,CAAC"}
|
package/lib/constants/markets.js
CHANGED
|
@@ -86,4 +86,12 @@ exports.Markets = [
|
|
|
86
86
|
mainnetPythOracle: '3pyn4svBbxJ9Wnn3RVeafyLWfzie6yC5eTig2S62v9SC',
|
|
87
87
|
launchTs: 1643084413000,
|
|
88
88
|
},
|
|
89
|
+
{
|
|
90
|
+
symbol: 'mSOL-PERP',
|
|
91
|
+
baseAssetSymbol: 'mSOL',
|
|
92
|
+
marketIndex: new bn_js_1.default(10),
|
|
93
|
+
devnetPythOracle: '9a6RNx3tCu1TSs6TBSfV2XRXEPEZXQ6WB7jRojZRvyeZ',
|
|
94
|
+
mainnetPythOracle: 'E4v1BBgoso9s64TQvmyownAVJbhbEPGyzA3qn4n46qj9',
|
|
95
|
+
launchTs: 1643346125000,
|
|
96
|
+
},
|
|
89
97
|
];
|
|
@@ -739,6 +739,78 @@
|
|
|
739
739
|
}
|
|
740
740
|
]
|
|
741
741
|
},
|
|
742
|
+
{
|
|
743
|
+
"name": "updateAmmOracleTwap",
|
|
744
|
+
"accounts": [
|
|
745
|
+
{
|
|
746
|
+
"name": "state",
|
|
747
|
+
"isMut": false,
|
|
748
|
+
"isSigner": false
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"name": "markets",
|
|
752
|
+
"isMut": true,
|
|
753
|
+
"isSigner": false
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
"name": "oracle",
|
|
757
|
+
"isMut": false,
|
|
758
|
+
"isSigner": false
|
|
759
|
+
},
|
|
760
|
+
{
|
|
761
|
+
"name": "admin",
|
|
762
|
+
"isMut": false,
|
|
763
|
+
"isSigner": true
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
"name": "curveHistory",
|
|
767
|
+
"isMut": true,
|
|
768
|
+
"isSigner": false
|
|
769
|
+
}
|
|
770
|
+
],
|
|
771
|
+
"args": [
|
|
772
|
+
{
|
|
773
|
+
"name": "marketIndex",
|
|
774
|
+
"type": "u64"
|
|
775
|
+
}
|
|
776
|
+
]
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"name": "resetAmmOracleTwap",
|
|
780
|
+
"accounts": [
|
|
781
|
+
{
|
|
782
|
+
"name": "state",
|
|
783
|
+
"isMut": false,
|
|
784
|
+
"isSigner": false
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"name": "markets",
|
|
788
|
+
"isMut": true,
|
|
789
|
+
"isSigner": false
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"name": "oracle",
|
|
793
|
+
"isMut": false,
|
|
794
|
+
"isSigner": false
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"name": "admin",
|
|
798
|
+
"isMut": false,
|
|
799
|
+
"isSigner": true
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"name": "curveHistory",
|
|
803
|
+
"isMut": true,
|
|
804
|
+
"isSigner": false
|
|
805
|
+
}
|
|
806
|
+
],
|
|
807
|
+
"args": [
|
|
808
|
+
{
|
|
809
|
+
"name": "marketIndex",
|
|
810
|
+
"type": "u64"
|
|
811
|
+
}
|
|
812
|
+
]
|
|
813
|
+
},
|
|
742
814
|
{
|
|
743
815
|
"name": "initializeUser",
|
|
744
816
|
"accounts": [
|
|
@@ -2379,12 +2451,12 @@
|
|
|
2379
2451
|
"type": "i64"
|
|
2380
2452
|
},
|
|
2381
2453
|
{
|
|
2382
|
-
"name": "
|
|
2383
|
-
"type": "
|
|
2454
|
+
"name": "lastOraclePrice",
|
|
2455
|
+
"type": "i128"
|
|
2384
2456
|
},
|
|
2385
2457
|
{
|
|
2386
2458
|
"name": "padding1",
|
|
2387
|
-
"type": "
|
|
2459
|
+
"type": "u64"
|
|
2388
2460
|
},
|
|
2389
2461
|
{
|
|
2390
2462
|
"name": "padding2",
|
package/package.json
CHANGED
|
@@ -78,8 +78,10 @@ export class DefaultUserAccountSubscriber implements UserAccountSubscriber {
|
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
await
|
|
82
|
-
|
|
81
|
+
await Promise.all([
|
|
82
|
+
this.userDataAccountSubscriber.unsubscribe(),
|
|
83
|
+
this.userPositionsAccountSubscriber.unsubscribe(),
|
|
84
|
+
]);
|
|
83
85
|
|
|
84
86
|
this.isSubscribed = false;
|
|
85
87
|
}
|
package/src/admin.ts
CHANGED
|
@@ -319,6 +319,25 @@ export class Admin extends ClearingHouse {
|
|
|
319
319
|
});
|
|
320
320
|
}
|
|
321
321
|
|
|
322
|
+
public async updateAmmOracleTwap(
|
|
323
|
+
marketIndex: BN
|
|
324
|
+
): Promise<TransactionSignature> {
|
|
325
|
+
const state = this.getStateAccount();
|
|
326
|
+
const markets = this.getMarketsAccount();
|
|
327
|
+
const marketData = markets.markets[marketIndex.toNumber()];
|
|
328
|
+
const ammData = marketData.amm;
|
|
329
|
+
|
|
330
|
+
return await this.program.rpc.updateAmmOracleTwap(marketIndex, {
|
|
331
|
+
accounts: {
|
|
332
|
+
state: await this.getStatePublicKey(),
|
|
333
|
+
admin: this.wallet.publicKey,
|
|
334
|
+
oracle: ammData.oracle,
|
|
335
|
+
markets: state.markets,
|
|
336
|
+
curveHistory: state.extendedCurveHistory,
|
|
337
|
+
},
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
|
|
322
341
|
public async withdrawFromInsuranceVault(
|
|
323
342
|
amount: BN,
|
|
324
343
|
recipient: PublicKey
|
package/src/constants/markets.ts
CHANGED
|
@@ -90,4 +90,12 @@ export const Markets: Market[] = [
|
|
|
90
90
|
mainnetPythOracle: '3pyn4svBbxJ9Wnn3RVeafyLWfzie6yC5eTig2S62v9SC',
|
|
91
91
|
launchTs: 1643084413000,
|
|
92
92
|
},
|
|
93
|
+
{
|
|
94
|
+
symbol: 'mSOL-PERP',
|
|
95
|
+
baseAssetSymbol: 'mSOL',
|
|
96
|
+
marketIndex: new BN(10),
|
|
97
|
+
devnetPythOracle: '9a6RNx3tCu1TSs6TBSfV2XRXEPEZXQ6WB7jRojZRvyeZ',
|
|
98
|
+
mainnetPythOracle: 'E4v1BBgoso9s64TQvmyownAVJbhbEPGyzA3qn4n46qj9',
|
|
99
|
+
launchTs: 1643346125000,
|
|
100
|
+
},
|
|
93
101
|
];
|
|
@@ -739,6 +739,78 @@
|
|
|
739
739
|
}
|
|
740
740
|
]
|
|
741
741
|
},
|
|
742
|
+
{
|
|
743
|
+
"name": "updateAmmOracleTwap",
|
|
744
|
+
"accounts": [
|
|
745
|
+
{
|
|
746
|
+
"name": "state",
|
|
747
|
+
"isMut": false,
|
|
748
|
+
"isSigner": false
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"name": "markets",
|
|
752
|
+
"isMut": true,
|
|
753
|
+
"isSigner": false
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
"name": "oracle",
|
|
757
|
+
"isMut": false,
|
|
758
|
+
"isSigner": false
|
|
759
|
+
},
|
|
760
|
+
{
|
|
761
|
+
"name": "admin",
|
|
762
|
+
"isMut": false,
|
|
763
|
+
"isSigner": true
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
"name": "curveHistory",
|
|
767
|
+
"isMut": true,
|
|
768
|
+
"isSigner": false
|
|
769
|
+
}
|
|
770
|
+
],
|
|
771
|
+
"args": [
|
|
772
|
+
{
|
|
773
|
+
"name": "marketIndex",
|
|
774
|
+
"type": "u64"
|
|
775
|
+
}
|
|
776
|
+
]
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"name": "resetAmmOracleTwap",
|
|
780
|
+
"accounts": [
|
|
781
|
+
{
|
|
782
|
+
"name": "state",
|
|
783
|
+
"isMut": false,
|
|
784
|
+
"isSigner": false
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"name": "markets",
|
|
788
|
+
"isMut": true,
|
|
789
|
+
"isSigner": false
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"name": "oracle",
|
|
793
|
+
"isMut": false,
|
|
794
|
+
"isSigner": false
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"name": "admin",
|
|
798
|
+
"isMut": false,
|
|
799
|
+
"isSigner": true
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"name": "curveHistory",
|
|
803
|
+
"isMut": true,
|
|
804
|
+
"isSigner": false
|
|
805
|
+
}
|
|
806
|
+
],
|
|
807
|
+
"args": [
|
|
808
|
+
{
|
|
809
|
+
"name": "marketIndex",
|
|
810
|
+
"type": "u64"
|
|
811
|
+
}
|
|
812
|
+
]
|
|
813
|
+
},
|
|
742
814
|
{
|
|
743
815
|
"name": "initializeUser",
|
|
744
816
|
"accounts": [
|
|
@@ -2379,12 +2451,12 @@
|
|
|
2379
2451
|
"type": "i64"
|
|
2380
2452
|
},
|
|
2381
2453
|
{
|
|
2382
|
-
"name": "
|
|
2383
|
-
"type": "
|
|
2454
|
+
"name": "lastOraclePrice",
|
|
2455
|
+
"type": "i128"
|
|
2384
2456
|
},
|
|
2385
2457
|
{
|
|
2386
2458
|
"name": "padding1",
|
|
2387
|
-
"type": "
|
|
2459
|
+
"type": "u64"
|
|
2388
2460
|
},
|
|
2389
2461
|
{
|
|
2390
2462
|
"name": "padding2",
|